Easy API
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); }