Power Apps - Model Driven Apps - JavaScript cheatsheet
Power Apps ? Model Driven Apps ? JavaScript Cheatsheet
FORM EVENTS
var Sdk = window.Sdk || {};
(function () {
// Code to run in the form OnLoad event 11 this.formOnLoad = function (executionContext) {
var formContext = executionContext.getFormContext();
//// AAdddd yyoouurr ccooddee ffrroomm tthhee ootthheerr ttaabblleess hheerree }
// Code to run in the column OnChange event this.attributeOnChange = function (executionContext) {
var formContext = executionContext.getFormContext();
//// AAdddd yyoouurr ccooddee ffrroomm tthhee ootthheerr ttaabblleess hheerree }
// Code to run in the form OnSave event this.formOnSave = function (executionContext) {
var formContext = executionContext.getFormContext();
//// AAdddd yyoouurr ccooddee ffrroomm tthhee ootthheerr ttaabblleess hheerree
} }).call(Sdk);
GET CURRENT ROW DATA
var currentRow = formContext.data.entity.getEntityReference();
// Get row table type ex: "incident" or "account" var currentRowEntityType = currentRow.entityType;
// Get row GUID ex: "{67e86a65-4cd6-ec11-a7b5-000d3a9c27d2}" var currentRowId = currentRow.id;
// Get row GUID without brackets ex: "67e86a65-4cd6-ec11-a7b5-000d3a9c..." var currentRowId2 = currentRow.id.replace(/{|}/g, '');
// Get row logical name ex: "67e86a65-4cd6-ec11-a7b5-000d3a9c27d2" var currentRowName = currentRow.name;
READ VALUES FROM LOOKUP
var customer = formContext.getAttribute("customerid").getValue();
// Get row table type ex: "incident" or "account" var customerEntityType = customer[0].entityType;
// Get row GUID ex: "{67e86a65-4cd6-ec11-a7b5-000d3a9c27d2}" var customerId = customer[0].id;
// Get row logical name ex: "67e86a65-4cd6-ec11-a7b5-000d3a9c27d2" var customerName = customer[0].name;
READ VALUES FROM COLUMN
// Get column value var title = formContext.getAttribute("fieldname").getValue();
// Get choice value var caseorigin = formContext.getAttribute("fieldname").getValue();
// Get choice text var caseorigin = formContext.getAttribute("fieldname").getText();
SET FIELD VALUES
// Set lookup value var lookupValue = new Array(); lookupValue[0] = new Object(); lookupValue[0].id = "a431636b-4cd6-ec11-a7b5-000d3a9c27d2"; lookupValue[0].entityType = "contact"; lookupValue[0].name = "Nancy Anderson (sample)" formContext.getAttribute("customerid").setValue(lookupValue);
// Set choices values formContext.getAttribute("multichoice").setValue([100000000,100000001,100 000002]);
// Set text value formContext.getAttribute("textfield").setValue("Those are the steps");
// Set number value formContext.getAttribute("numberfield").setValue(100);
READ VALUES FROM RELATED TABLES
// Basic retrieve Xrm.WebApi.retrieveRecord("contact", customerId, "?$select=firstname").then(
function success(result) { console.log("Retrieved values: Name: " + result.firstname); // perform operations on record retrieval
}, function (error) {
console.log(error.message); // handle error conditions } );
// Using expand Xrm.WebApi.retrieveRecord("contact", customerId, "?$select=firstname&$expand=modifiedby($select=fullname;$expand=businessu nitid($select=name))").then(
function success(result) { console.log("Name: " + result.modifiedby.fullname); // perform operations on record retrieval
}, function (error) {
console.log(error.message); // handle error conditions } );
SHOW / HIDE FIELDS
//Show formContext.getControl("caseorigincode").setVisible(true);
//Hide formContext.getControl("caseorigincode").setVisible(false);
SHOW / HIDE SECTIONS
// Show section within a specified tab var tab = formContext.ui.tabs.get("Summary"); var section = tab.sections.get("Timeline"); section.setVisible(true);
// Hide section within a specified tab var tab = formContext.ui.tabs.get("Summary"); var section = tab.sections.get("Timeline"); section.setVisible(false);
SHOW / HIDE TABS
// Show tab var tab = formContext.ui.tabs.get("Details"); tab.setVisible(true);
// Hide tab var tab = formContext.ui.tabs.get("Details"); tab.setVisible(false);
SET REQUIRED FIELDS
// Set field as required formContext.getAttribute("fieldname").setRequiredLevel("required");
// Set field as recommended formContext.getAttribute("fieldname").setRequiredLevel("recommended");
// Set field as optional formContext.getAttribute("fieldname").setRequiredLevel("none");
SET READ-ONLY FIELDS
// Set field read-only formContext.getControl("caseorigincode").setDisabled(true);
// Set field editable formContext.getControl("caseorigincode").setDisabled(false);
SET ALL FIELDS READ-ONLY IN SECTION
this.disableSection = function(formContext, tab, section) { var section = formContext.ui.tabs.get(tab).sections.get(section); var controls = section.controls.get(); var controlsLenght = controls.length; for (var i = 0; i < controlsLenght; i++) { controls[i].setDisabled(true); }
}
// call the function to disable all the fields in the section Sdk.disableSection(formContext,"Summary","Case Details Summary");
SET ALL FIELDS READ-ONLY IN TAB
this.disableTab = function(formContext, tab) { formContext.ui.tabs.get(tab).sections.forEach(function (section){ section.controls.forEach(function (control) { control.setDisabled(true); }) });
}
// call the function to disable all the fields in the section Sdk.disableTab(formContext,"Summary");
FIELDS IN BPF (Business Process Flow)
// Add "header process_" to the field name
// Set field as required formContext.getAttribute("header_process_fieldname").setRequiredLevel("re quired");
// Set field read-only formContext.getControl("header_process_fieldname").setDisabled(true);
REFRESH & SAVE THE FORM
// Save and refresh the form formContext.data.refresh(true);
// Refresh the form (without saving) formContext.data.refresh(false);
DIALOG
// alert dialog var alertStrings = { confirmButtonLabel: "Yes", text: "This is an alert.", title: "Sample title" }; var alertOptions = { height: 120, width: 260 }; Xrm.Navigation.openAlertDialog(alertStrings, alertOptions).then(
function (success) { console.log("Alert dialog closed");
}, function (error) {
console.log(error.message); } );
// confirm dialog var confirmStrings = { text:"This is a confirmation.", title:"Confirmation Dialog" }; var confirmOptions = { height: 200, width: 450 }; Xrm.Navigation.openConfirmDialog(confirmStrings, confirmOptions).then( function (success) {
if (success.confirmed) console.log("Dialog closed using OK button.");
else console.log("Dialog closed using Cancel button or X.");
});
SET URL FOR IFRAME
// Set field read-only formContext.getControl("iframe").setSrc(" ");
GENERAL JS CHEATSHEET
JavaScript (JS) Cheat Sheet Online ()
ADD THE JAVASCRIPT TO THE FORM
1 4
3 2
1. Open your form.
5
2. Select Form libraries (JS Logo) from the left navigation pane.
3. Click on Add library.
4. Click on + New web resource.
5. Upload your JavaScript(JS) file and name your web resource.
6 7
8
6. Open your form
7. Select Events tab. You'll notice that
9
both the On Save and On Load event
handlers.
10
8. Click on + Event Handler.
9. Configure the event by selecting On
11
Load or On Save.
12
10. Pick the library (web resource) that you created.
11. Type the name of the function.
12. Check Enabled and Pass execution context as first parameter.
REFERENCES
? JavaScript Code Snippets for Dynamics 365 ? Cheat Sheet ? by Fredrik Engseth.
? Client API Reference for model-driven apps ? Microsoft Docs.
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- chapter 4 classes and ids
- create tabs jquery easyui
- javascript 2 get element by id part 1
- power apps model driven apps javascript cheatsheet
- pocketsuite widget quick start
- selenium webdriver tutorials basic action commands and operations
- cit 3325 supp ke
- web scraping workshop without coding
- how to change font size of div in javascript tutorial kart
- more javascript
Related searches
- income driven repayment application pdf 2019
- great lakes income driven repayment plan form
- income driven repayment plan request 2019
- income driven repayment idr plan request 2019
- income driven repayment plan application 2019
- income driven repayment great lakes
- great lakes income driven repayment plan
- income driven repayment recertification pdf
- great lakes income driven application
- power apps portal templates
- power apps customer portal
- data wrangling cheatsheet dplyr