Easy API: Difference between revisions
Crmtogether (talk | contribs) No edit summary |
Crmtogether (talk | contribs) No edit summary |
||
Line 46: | Line 46: | ||
---- | ---- | ||
Example showing how to add in a menu item on the footer | |||
1. Navigate to the 'Administration -> Advanced Customisation -> System Menus' | |||
2. Open (or create) the menu 'MXFooterMenu' | |||
3. Add menu item setting: | |||
caption: site | |||
custom file: fa fa-bar-chart | |||
sql: getwebsite('Site','https://crmtogether.com'); | |||
4. Save this | |||
5. Open the custompages/sagecrmws folder | |||
6. open web.config | |||
7. Add into 'CustomPlugins' | |||
<add name="website" /> | |||
EG | |||
<CustomPlugins> | |||
<plugins> | |||
... | |||
'''<add name="website" />''' | |||
</plugins> | |||
</CustomPlugins> | |||
8. Open the custompages/sagecrmws/js/plugins folder | |||
9. Create a folder called 'website' | |||
10. Create a folder called 'client' | |||
11. Create a file called 'plugin.js' | |||
12. add the following contents to the file created in 11 | |||
var onDocumentReady = function () { | |||
} | |||
var onContextChanged = function () { | |||
}; | |||
var _websitecount=0; | |||
function getwebsite(_caption,_url) | |||
{ | |||
_websitecount++; | |||
cApp.containerTop.clear(); | |||
cApp.container.clear(); | |||
var _id="websitetitle"+_websitecount; | |||
Factory.destroyComponent(_id); | |||
var powerbititle = Factory.createLabel(_id); | |||
powerbititle.pr_caption = _caption; | |||
powerbititle.draw("containerTop"); | |||
powerbititle.position(150, 10, true); | |||
console.log('getwebsite:'+_id); | |||
var pr_targetImage = Factory.createImage("pr_targetImage"); | |||
pr_targetImage.pr_height = "100%"; | |||
pr_targetImage.pr_width = Factory.deviceObject.pr_width; | |||
pr_targetImage.pr_src=_url; | |||
pr_targetImage.pr_onclick = ""; | |||
pr_targetImage.draw("container"); | |||
pr_targetImage.position(0, 0); | |||
} |
Revision as of 21:30, 11 November 2019
New Easy API - Designed to make "some" screens easy to provide in the interface
- showScreens - screens with optional edit
- Parameters 1. Entity - name of the entity 2. EntityIdField - id field of the entity 3. Screens - Comma seperated list of CRM screens 4. EntityToUse - name field to make ContextEntityfield value to 5. ContextEntityfield - name of the entity context (tab) we are in 6. allowEdit - boolean - set to true to show edit button
Example:
showScreens(cApp.EntityName, cApp.EntityId,'CustomCompanyScreenMX1,CustomCompanyScreenMX2', 'company', 'comp_companyid','comp_companyid',true);
- cugetList – Table style lists
- Parameters 1. Entity - name of the entity 2. EntityIdField - id field of the entity 3. EntityOrderBy - order date by this column 4. displayfields - optional - comma delimited list of fields, alternatively use CRMListToUse 5. linktoEntity - boolean - allows the item be clicked on to navigate the user to that entity record summary page 6. customlink - optional - set linktoEntity to false and instead set your own function call 7. CRMListToUse - optional - name of a list in CRM alternatively use displayfields
Example:
cugetList('ctproject','ctpr_companyid','ctpr_createddate',,true,,'mxcustomlist');
- getListScreen – repeating screens style list
- Parameters 1. entityname - Notes 1. Expects view "vENTITYnamesummary" to exist and must contain fields "pers_firstname,pers_lastname,pers_personid,comp_name,comp_companyid". 2. Expects screen "ENTITYOfficeIntSmall"
Example:
getListScreen('ctproject');
Example showing how to add in a menu item on the footer
1. Navigate to the 'Administration -> Advanced Customisation -> System Menus' 2. Open (or create) the menu 'MXFooterMenu' 3. Add menu item setting:
caption: site custom file: fa fa-bar-chart sql: getwebsite('Site','https://crmtogether.com');
4. Save this 5. Open the custompages/sagecrmws folder 6. open web.config 7. Add into 'CustomPlugins'
<add name="website" />
EG
<CustomPlugins> <plugins> ...
<add name="website" />
</plugins> </CustomPlugins>
8. Open the custompages/sagecrmws/js/plugins folder
9. Create a folder called 'website'
10. Create a folder called 'client'
11. Create a file called 'plugin.js'
12. add the following contents to the file created in 11
var onDocumentReady = function () { } var onContextChanged = function () { }; var _websitecount=0; function getwebsite(_caption,_url) { _websitecount++; cApp.containerTop.clear(); cApp.container.clear();
var _id="websitetitle"+_websitecount; Factory.destroyComponent(_id); var powerbititle = Factory.createLabel(_id); powerbititle.pr_caption = _caption; powerbititle.draw("containerTop"); powerbititle.position(150, 10, true);
console.log('getwebsite:'+_id); var pr_targetImage = Factory.createImage("pr_targetImage"); pr_targetImage.pr_height = "100%"; pr_targetImage.pr_width = Factory.deviceObject.pr_width; pr_targetImage.pr_src=_url; pr_targetImage.pr_onclick = ""; pr_targetImage.draw("container"); pr_targetImage.position(0, 0); }