Easy API: Difference between revisions
Crmtogether (talk | contribs) No edit summary |
Crmtogether (talk | contribs) No edit summary |
||
Line 50: | Line 50: | ||
1. Navigate to the 'Administration -> Advanced Customisation -> System Menus' | 1. Navigate to the 'Administration -> Advanced Customisation -> System Menus' | ||
2. Open (or create) the menu 'MXFooterMenu' | 2. Open (or create) the menu 'MXFooterMenu' | ||
3. Add menu item setting: | 3. Add menu item setting: | ||
caption: site | caption: site | ||
custom file: fa fa-bar-chart | custom file: fa fa-bar-chart | ||
sql: getwebsite('Site','https://crmtogether.com'); | sql: getwebsite('Site','https://crmtogether.com'); | ||
4. Save this | 4. Save this | ||
5. Open the custompages/sagecrmws folder | 5. Open the custompages/sagecrmws folder | ||
6. open web.config | 6. open web.config | ||
7. Add into 'CustomPlugins' | 7. Add into 'CustomPlugins' | ||
Line 66: | Line 75: | ||
<plugins> | <plugins> | ||
... | ... | ||
'''<add name="website" />''' | '''<add name="website" />''' | ||
</plugins> | </plugins> | ||
</CustomPlugins> | </CustomPlugins> | ||
Line 72: | Line 83: | ||
8. Open the custompages/sagecrmws/js/plugins folder | 8. Open the custompages/sagecrmws/js/plugins folder | ||
9. Create a folder called 'website' | 9. Create a folder called 'website' | ||
10. Create a folder called 'client' | 10. Create a folder called 'client' | ||
11. Create a file called 'plugin.js' | 11. Create a file called 'plugin.js' | ||
12. add the following contents to the file created in 11 | 12. add the following contents to the file created in 11 | ||
var onDocumentReady = function () { | var onDocumentReady = function () { | ||
} | } | ||
var onContextChanged = function () { | var onContextChanged = function () { | ||
}; | }; | ||
var _websitecount=0; | var _websitecount=0; | ||
function getwebsite(_caption,_url) | function getwebsite(_caption,_url) | ||
{ | { |
Revision as of 21:31, 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); }