UNPKG

@aappddeevv/dynamics-client-ui

Version:

## What is it? A library to help you create great dynamics applications.

57 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Set of form utilities that overlap somewhat with * business rules and other Dynamics non-code based * configuration/customization features. You'll * need to ensure that the onLoad handle is called * so this module can obtain the proper form context. * The "settings" are module wide so you can * add as many "FormUtilities client" scripts to a form * as you want. * * A FormUtilities client script would look like: * ``` * import * as FUtils from "dynamics-client-ui/form/FormUtilities" // or wherever * var cancellable = FUtils.add("rule1", * // setRequired(predicate, attribute) * FUtils.setRequired((fctx) => * fctx.getAttribute("new_yourfield").getValue() === null, * "new_someotherfield")) * ``` */ require("../Dynamics"); const BuildSettings_1 = require("BuildSettings"); let fCtx; class SetRequired { execute() { console.log("SetRequired.execute"); const current = this.attr.getRequiredLevel(); console.log("current level", current); this.attr.setRequiredLevel("required" /* Required */); } revert() { console.log("SetRequired.revert"); } init(attr) { console.log("SetRequired.init()"); this.attr = attr; } } const rules = {}; function onLoad(ectx) { if (BuildSettings_1.DEBUG) console.log("Initializing form utilities.", ectx); if (ectx) fCtx = ectx.getFormContext(); } exports.onLoad = onLoad; function onLoadRunRules(ectx) { const fc = ectx.getFormContext(); const line1 = fc.getAttribute("address1_line1"); line1.addOnChange(ectx => { console.log("line1 changed"); }); } exports.onLoadRunRules = onLoadRunRules; //# sourceMappingURL=FormRulesEngine.js.map