Skip to content

Commit 6b41713

Browse files
dynamicscodedynamicscode
authored andcommitted
Support attachOnChange and removeOnChange functions of a control
1 parent 3a60b61 commit 6b41713

1 file changed

Lines changed: 35 additions & 1 deletion

File tree

Xrm.Portal.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Xrm.Portal = {
9494
var e = events[i];
9595
if (e.hasOwnProperty("t") && e.hasOwnProperty("f")) {
9696
console.log("Event wireup -> c: " + e.c + ", t: " + e.t + ", f: " + e.f);
97-
var c = Xrm.Portal.Form.get(c); //CHECK
97+
var c = Xrm.Portal.Utility.Selector.getByControlId(e.c); //CHECK
9898
switch (e.t) {
9999
case Xrm.Portal.EventType.OnChange:
100100
this.attachOnChange(c, e.f);
@@ -112,6 +112,10 @@ Xrm.Portal = {
112112
console.log("attachOnChange -> control: " + control);
113113
control.change(callback);
114114
control.trigger("change");
115+
},
116+
removeOnChange: function(control) {
117+
console.log("attachOnChange -> control: " + control);
118+
control.off("change");
115119
}
116120
}
117121
},
@@ -289,6 +293,12 @@ Xrm.Portal = {
289293
Xrm.Portal.Utility.Validation.setValidation(g, this, customFunction, customMessage) :
290294
Xrm.Portal.Utility.Validation.removeValidation(g, this);
291295
};
296+
this.attachOnChange = function(callback) {
297+
Xrm.Portal.Utility.Event.attachOnChange(this.c, callback);
298+
};
299+
this.removeOnChange = function() {
300+
Xrm.Portal.Utility.Event.removeOnChange(this.c);
301+
};
292302
},
293303
Lookup: function(c) {
294304
this.s = Xrm.Portal.Utility.Selector;
@@ -331,6 +341,12 @@ Xrm.Portal = {
331341
Xrm.Portal.Utility.Validation.setValidation(g, this, customFunction, customMessage) :
332342
Xrm.Portal.Utility.Validation.removeValidation(g, this);
333343
};
344+
this.attachOnChange = function(callback) {
345+
Xrm.Portal.Utility.Event.attachOnChange(this.cL, callback);
346+
};
347+
this.removeOnChange = function() {
348+
Xrm.Portal.Utility.Event.removeOnChange(this.cL);
349+
};
334350
},
335351
Checkbox: function(c) {
336352
this.s = Xrm.Portal.Utility.Selector;
@@ -358,6 +374,12 @@ Xrm.Portal = {
358374
Xrm.Portal.Utility.Validation.setValidation(g, this, customFunction, customMessage) :
359375
Xrm.Portal.Utility.Validation.removeValidation(g, this);
360376
};
377+
this.attachOnChange = function(callback) {
378+
Xrm.Portal.Utility.Event.attachOnChange(this.c, callback);
379+
};
380+
this.removeOnChange = function() {
381+
Xrm.Portal.Utility.Event.removeOnChange(this.c);
382+
};
361383
},
362384
Radio: function(c) {
363385
this.s = Xrm.Portal.Utility.Selector;
@@ -385,6 +407,12 @@ Xrm.Portal = {
385407
Xrm.Portal.Utility.Validation.setValidation(g, this, customFunction, customMessage) :
386408
Xrm.Portal.Utility.Validation.removeValidation(g, this);
387409
};
410+
this.attachOnChange = function(callback) {
411+
Xrm.Portal.Utility.Event.attachOnChange(this.c, callback);
412+
};
413+
this.removeOnChange = function() {
414+
Xrm.Portal.Utility.Event.removeOnChange(this.c);
415+
};
388416
},
389417
DatetimePicker: function(c) {
390418
this.s = Xrm.Portal.Utility.Selector;
@@ -412,6 +440,12 @@ Xrm.Portal = {
412440
Xrm.Portal.Utility.Validation.setValidation(g, this, customFunction, customMessage) :
413441
Xrm.Portal.Utility.Validation.removeValidation(g, this);
414442
};
443+
this.attachOnChange = function(callback) {
444+
Xrm.Portal.Utility.Event.attachOnChange(this.c, callback);
445+
};
446+
this.removeOnChange = function() {
447+
Xrm.Portal.Utility.Event.removeOnChange(this.c);
448+
};
415449
},
416450
},
417451
EventType: {

0 commit comments

Comments
 (0)