UNPKG

xrmscriptworkbench

Version:

The base types to create custom script for Dynamics 365 within a XrmScriptWorkbench project.

37 lines (32 loc) 1.49 kB
import { FormName, TabName, AttributeName } from './NameTypes'; import { ScriptRegistry } from './ScriptRegistry'; import { FormProxy } from './FormProxy'; export function registration<T extends FormProxy>(logicalName: string, formProxy: (new() => T), ...formNames: Array<FormName>){ return (ctor: Function) => { let classObject = ctor.prototype; ScriptRegistry.ClassName = ctor.toString(); ScriptRegistry.LogicalName = logicalName; ScriptRegistry.ProxyType = formProxy; ScriptRegistry.FormNames = formNames; ScriptRegistry.HasOnLoad = classObject.hasOwnProperty('onLoad'); ScriptRegistry.HasOnSave = classObject.hasOwnProperty('onSave'); }; } export function tabStateChange(formName: FormName, tabName: TabName) { return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) { console.log(propertyKey); console.dir(target); }; } export function attributeChange(formName: FormName, attributeName: AttributeName) { return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) { console.log(propertyKey); console.dir(target); }; } export function attributeVisibility(attributeName: AttributeName, dependentAttribute: AttributeName) { return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) { console.log(propertyKey); console.dir(target); }; }