@syncfusion/ej2-base 20.1.57 → 20.1.58-106983

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +101 -5
  3. package/ReadMe.md +5 -6
  4. package/bin/syncfusion-license.js +2 -0
  5. package/dist/ej2-base.min.js +1 -0
  6. package/dist/ej2-base.umd.min.js +1 -1
  7. package/dist/ej2-base.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-base.es2015.js +670 -314
  9. package/dist/es6/ej2-base.es2015.js.map +1 -1
  10. package/dist/es6/ej2-base.es5.js +447 -232
  11. package/dist/es6/ej2-base.es5.js.map +1 -1
  12. package/dist/global/ej2-base.min.js +1 -1
  13. package/dist/global/ej2-base.min.js.map +1 -1
  14. package/e2e/modified-protractor/protractor.config.js +316 -0
  15. package/e2e/protractor.config.js +56 -24
  16. package/helpers/e2e/base.js +62 -52
  17. package/helpers/e2e/index.js +8 -6
  18. package/package.json +15 -95
  19. package/src/animation.d.ts +13 -0
  20. package/src/animation.js +31 -4
  21. package/src/base.js +12 -12
  22. package/src/browser.js +9 -9
  23. package/src/child-property.js +10 -10
  24. package/src/component-model.d.ts +1 -1
  25. package/src/component.d.ts +1 -1
  26. package/src/component.js +29 -10
  27. package/src/dom.js +10 -10
  28. package/src/draggable-model.d.ts +21 -8
  29. package/src/draggable.d.ts +31 -6
  30. package/src/draggable.js +118 -21
  31. package/src/event-handler.js +6 -6
  32. package/src/hijri-parser.js +1 -1
  33. package/src/intl/date-parser.js +4 -4
  34. package/src/intl/intl-base.js +4 -4
  35. package/src/intl/number-formatter.js +3 -3
  36. package/src/intl/parser-base.js +2 -2
  37. package/src/keyboard.js +4 -4
  38. package/src/l10n.js +5 -5
  39. package/src/module-loader.js +2 -2
  40. package/src/notify-property-change.js +28 -28
  41. package/src/observer.js +9 -9
  42. package/src/sanitize-helper.js +2 -2
  43. package/src/template-engine.js +14 -14
  44. package/src/template.js +3 -2
  45. package/src/touch.js +4 -0
  46. package/src/util.js +30 -28
  47. package/src/validate-lic.d.ts +4 -0
  48. package/src/validate-lic.js +107 -42
  49. package/styles/_all.scss +1 -2
  50. package/styles/_bootstrap4-definition.scss +0 -1
  51. package/styles/_fusionnew-dark-definition.scss +9 -0
  52. package/styles/_fusionnew-definition.scss +9 -0
  53. package/styles/_highcontrast-light-definition.scss +0 -1
  54. package/styles/_material-dark-definition.scss +1 -1
  55. package/styles/_material-definition.scss +1 -1
  56. package/styles/_material3-dark-definition.scss +10 -0
  57. package/styles/_material3-definition.scss +9 -0
  58. package/styles/_tailwind-dark-definition.scss +1 -1
  59. package/styles/_tailwind-definition.scss +1 -1
  60. package/styles/animation/_all.scss +31 -30
  61. package/styles/bootstrap-dark.css +157 -1
  62. package/styles/bootstrap.css +157 -1
  63. package/styles/bootstrap4.css +157 -1
  64. package/styles/bootstrap5-dark.css +157 -1
  65. package/styles/bootstrap5.css +157 -1
  66. package/styles/common/_core.scss +16 -4
  67. package/styles/definition/_bootstrap-dark.scss +114 -0
  68. package/styles/definition/_bootstrap.scss +115 -1
  69. package/styles/definition/_bootstrap4.scss +114 -0
  70. package/styles/definition/_bootstrap5-dark.scss +132 -24
  71. package/styles/definition/_bootstrap5.scss +124 -14
  72. package/styles/definition/_fabric-dark.scss +114 -0
  73. package/styles/definition/_fabric.scss +114 -0
  74. package/styles/definition/_fluent-dark.scss +144 -22
  75. package/styles/definition/_fluent.scss +135 -14
  76. package/styles/definition/_fusionnew-dark.scss +360 -0
  77. package/styles/definition/_fusionnew.scss +361 -0
  78. package/styles/definition/_highcontrast-light.scss +112 -0
  79. package/styles/definition/_highcontrast.scss +114 -0
  80. package/styles/definition/_material-dark.scss +114 -0
  81. package/styles/definition/_material.scss +117 -0
  82. package/styles/definition/_material3-dark.scss +421 -0
  83. package/styles/definition/_material3.scss +361 -0
  84. package/styles/definition/_tailwind-dark.scss +128 -17
  85. package/styles/definition/_tailwind.scss +130 -19
  86. package/styles/fabric-dark.css +161 -2
  87. package/styles/fabric.css +161 -2
  88. package/styles/fluent-dark.css +157 -1
  89. package/styles/fluent.css +157 -1
  90. package/styles/highcontrast-light.css +164 -2
  91. package/styles/highcontrast.css +164 -2
  92. package/styles/material-dark.css +157 -1
  93. package/styles/material.css +157 -1
  94. package/styles/offline-theme/material-dark.css +2625 -0
  95. package/styles/offline-theme/material.css +2625 -0
  96. package/styles/offline-theme/tailwind-dark.css +1899 -0
  97. package/styles/offline-theme/tailwind.css +1899 -0
  98. package/styles/tailwind-dark.css +157 -1
  99. package/styles/tailwind.css +157 -1
package/package.json CHANGED
@@ -1,110 +1,29 @@
1
1
  {
2
- "_from": "@syncfusion/ej2-base@*",
3
- "_id": "@syncfusion/ej2-base@20.1.55",
2
+ "_from": "@syncfusion/ej2-base@~20.1.57",
3
+ "_id": "@syncfusion/ej2-base@20.1.61",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-8aq1464TXvI7tOSODaEYO8vGel2j1YF6XmtkV7qo1o+PwR1sDIqgnHykgZU7VLgWHdxUjdNw1BuZb2gl9micOg==",
5
+ "_integrity": "sha512-NBSAZ+To+mH0QjmVMXMvqoWRsXb1JYIzTW8fM3yF/D9bIUYJ19Xlz60GeCY4sJk6n8GzWj/xrLmDdh76P64ukQ==",
6
6
  "_location": "/@syncfusion/ej2-base",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
9
9
  "type": "range",
10
10
  "registry": true,
11
- "raw": "@syncfusion/ej2-base@*",
11
+ "raw": "@syncfusion/ej2-base@~20.1.57",
12
12
  "name": "@syncfusion/ej2-base",
13
13
  "escapedName": "@syncfusion%2fej2-base",
14
14
  "scope": "@syncfusion",
15
- "rawSpec": "*",
15
+ "rawSpec": "~20.1.57",
16
16
  "saveSpec": null,
17
- "fetchSpec": "*"
17
+ "fetchSpec": "~20.1.57"
18
18
  },
19
19
  "_requiredBy": [
20
- "/",
21
- "/@syncfusion/ej2",
22
- "/@syncfusion/ej2-angular-base",
23
- "/@syncfusion/ej2-angular-calendars",
24
- "/@syncfusion/ej2-angular-charts",
25
- "/@syncfusion/ej2-angular-documenteditor",
26
- "/@syncfusion/ej2-angular-dropdowns",
27
- "/@syncfusion/ej2-angular-filemanager",
28
- "/@syncfusion/ej2-angular-gantt",
29
- "/@syncfusion/ej2-angular-grids",
30
- "/@syncfusion/ej2-angular-navigations",
31
- "/@syncfusion/ej2-angular-pdfviewer",
32
- "/@syncfusion/ej2-angular-pivotview",
33
- "/@syncfusion/ej2-angular-richtexteditor",
34
- "/@syncfusion/ej2-angular-schedule",
35
- "/@syncfusion/ej2-angular-spreadsheet",
36
- "/@syncfusion/ej2-angular-treegrid",
37
- "/@syncfusion/ej2-barcode-generator",
38
20
  "/@syncfusion/ej2-buttons",
39
- "/@syncfusion/ej2-calendars",
40
- "/@syncfusion/ej2-charts",
41
- "/@syncfusion/ej2-circulargauge",
42
- "/@syncfusion/ej2-data",
43
- "/@syncfusion/ej2-diagrams",
44
- "/@syncfusion/ej2-documenteditor",
45
- "/@syncfusion/ej2-drawings",
46
- "/@syncfusion/ej2-dropdowns",
47
- "/@syncfusion/ej2-excel-export",
48
- "/@syncfusion/ej2-filemanager",
49
- "/@syncfusion/ej2-gantt",
50
- "/@syncfusion/ej2-grids",
51
- "/@syncfusion/ej2-heatmap",
52
- "/@syncfusion/ej2-inplace-editor",
53
- "/@syncfusion/ej2-inputs",
54
- "/@syncfusion/ej2-kanban",
55
- "/@syncfusion/ej2-layouts",
56
- "/@syncfusion/ej2-lineargauge",
57
- "/@syncfusion/ej2-lists",
58
- "/@syncfusion/ej2-maps",
59
- "/@syncfusion/ej2-navigations",
60
- "/@syncfusion/ej2-notifications",
61
- "/@syncfusion/ej2-pdfviewer",
62
- "/@syncfusion/ej2-pivotview",
63
- "/@syncfusion/ej2-popups",
64
- "/@syncfusion/ej2-progressbar",
65
- "/@syncfusion/ej2-querybuilder",
66
- "/@syncfusion/ej2-react-base",
67
- "/@syncfusion/ej2-react-calendars",
68
- "/@syncfusion/ej2-react-charts",
69
- "/@syncfusion/ej2-react-documenteditor",
70
- "/@syncfusion/ej2-react-dropdowns",
71
- "/@syncfusion/ej2-react-filemanager",
72
- "/@syncfusion/ej2-react-gantt",
73
- "/@syncfusion/ej2-react-grids",
74
- "/@syncfusion/ej2-react-navigations",
75
- "/@syncfusion/ej2-react-pdfviewer",
76
- "/@syncfusion/ej2-react-pivotview",
77
- "/@syncfusion/ej2-react-richtexteditor",
78
- "/@syncfusion/ej2-react-schedule",
79
- "/@syncfusion/ej2-react-spreadsheet",
80
- "/@syncfusion/ej2-react-treegrid",
81
- "/@syncfusion/ej2-richtexteditor",
82
- "/@syncfusion/ej2-schedule",
83
- "/@syncfusion/ej2-splitbuttons",
84
- "/@syncfusion/ej2-spreadsheet",
85
- "/@syncfusion/ej2-svg-base",
86
- "/@syncfusion/ej2-treegrid",
87
- "/@syncfusion/ej2-treemap",
88
- "/@syncfusion/ej2-vue-base",
89
- "/@syncfusion/ej2-vue-calendars",
90
- "/@syncfusion/ej2-vue-charts",
91
- "/@syncfusion/ej2-vue-documenteditor",
92
- "/@syncfusion/ej2-vue-dropdowns",
93
- "/@syncfusion/ej2-vue-filemanager",
94
- "/@syncfusion/ej2-vue-gantt",
95
- "/@syncfusion/ej2-vue-grids",
96
- "/@syncfusion/ej2-vue-navigations",
97
- "/@syncfusion/ej2-vue-pdfviewer",
98
- "/@syncfusion/ej2-vue-pivotview",
99
- "/@syncfusion/ej2-vue-richtexteditor",
100
- "/@syncfusion/ej2-vue-schedule",
101
- "/@syncfusion/ej2-vue-spreadsheet",
102
- "/@syncfusion/ej2-vue-treegrid"
21
+ "/@syncfusion/ej2-popups"
103
22
  ],
104
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-base/-/ej2-base-20.1.55.tgz",
105
- "_shasum": "276806d41168b79bd36ffc0fb17ef47336363c2f",
106
- "_spec": "@syncfusion/ej2-base@*",
107
- "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
23
+ "_resolved": "https://registry.npmjs.org/@syncfusion/ej2-base/-/ej2-base-20.1.61.tgz",
24
+ "_shasum": "dd04e7d5bd0af8034a1c4db11b7e684e7212682c",
25
+ "_spec": "@syncfusion/ej2-base@~20.1.57",
26
+ "_where": "E:\\New folder (3)\\node_modules\\@syncfusion\\ej2-popups",
108
27
  "author": {
109
28
  "name": "Syncfusion Inc."
110
29
  },
@@ -153,7 +72,8 @@
153
72
  "type": "git",
154
73
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
155
74
  },
75
+ "sideEffects": true,
156
76
  "typings": "index.d.ts",
157
- "version": "20.1.57",
158
- "sideEffects": true
159
- }
77
+ "version": "20.1.58-106983"
78
+ }
79
+
@@ -194,3 +194,16 @@ export declare let isRippleEnabled: boolean;
194
194
  * @returns {boolean} ?
195
195
  */
196
196
  export declare function enableRipple(isRipple: boolean): boolean;
197
+ /**
198
+ * Defines the Modes of Global animation.
199
+ *
200
+ * @private
201
+ */
202
+ export declare let animationMode: string;
203
+ /**
204
+ * Method for set the Global animation modes for Syncfusion Blazor components.
205
+ *
206
+ * @param {string} value - Specifies the animation mode.
207
+ * @returns {void}
208
+ */
209
+ export declare function setGlobalAnimation(value: string): void;
package/src/animation.js CHANGED
@@ -103,11 +103,21 @@ var Animation = /** @class */ (function (_super) {
103
103
  * @returns {void}
104
104
  */
105
105
  Animation.delayAnimation = function (model) {
106
- if (model.delay) {
107
- setTimeout(function () { Animation_1.applyAnimation(model); }, model.delay);
106
+ if (animationMode === 'Disable') {
107
+ if (model.begin) {
108
+ model.begin.call(this, model);
109
+ }
110
+ if (model.end) {
111
+ model.end.call(this, model);
112
+ }
108
113
  }
109
114
  else {
110
- Animation_1.applyAnimation(model);
115
+ if (model.delay) {
116
+ setTimeout(function () { Animation_1.applyAnimation(model); }, model.delay);
117
+ }
118
+ else {
119
+ Animation_1.applyAnimation(model);
120
+ }
111
121
  }
112
122
  };
113
123
  /**
@@ -271,7 +281,9 @@ export { Animation };
271
281
  export function rippleEffect(element, rippleOptions, done) {
272
282
  var rippleModel = getRippleModel(rippleOptions);
273
283
  if (rippleModel.rippleFlag === false || (rippleModel.rippleFlag === undefined && !isRippleEnabled)) {
274
- return (function () { });
284
+ return (function () {
285
+ // do nothing.
286
+ });
275
287
  }
276
288
  element.setAttribute('data-ripple', 'true');
277
289
  EventHandler.add(element, 'mousedown', rippleHandler, { parent: element, rippleOptions: rippleModel });
@@ -413,3 +425,18 @@ export function enableRipple(isRipple) {
413
425
  isRippleEnabled = isRipple;
414
426
  return isRippleEnabled;
415
427
  }
428
+ /**
429
+ * Defines the Modes of Global animation.
430
+ *
431
+ * @private
432
+ */
433
+ export var animationMode = '';
434
+ /**
435
+ * Method for set the Global animation modes for Syncfusion Blazor components.
436
+ *
437
+ * @param {string} value - Specifies the animation mode.
438
+ * @returns {void}
439
+ */
440
+ export function setGlobalAnimation(value) {
441
+ animationMode = value;
442
+ }
package/src/base.js CHANGED
@@ -85,8 +85,8 @@ var Base = /** @class */ (function () {
85
85
  var keys = Object.keys(obj);
86
86
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
87
87
  var key = keys_1[_i];
88
- if (parent[key] instanceof Array) {
89
- for (var _a = 0, _b = parent[key]; _a < _b.length; _a++) {
88
+ if (parent["" + key] instanceof Array) {
89
+ for (var _a = 0, _b = parent["" + key]; _a < _b.length; _a++) {
90
90
  var obj_1 = _b[_a];
91
91
  if (obj_1.dataBind !== undefined) {
92
92
  obj_1.dataBind();
@@ -94,7 +94,7 @@ var Base = /** @class */ (function () {
94
94
  }
95
95
  }
96
96
  else {
97
- parent[key].dataBind();
97
+ parent["" + key].dataBind();
98
98
  }
99
99
  }
100
100
  };
@@ -129,8 +129,8 @@ var Base = /** @class */ (function () {
129
129
  newChanges = newChanges ? newChanges : {};
130
130
  extend(this.bulkChanges, {}, newChanges, true);
131
131
  var sfBlazor = 'sfBlazor';
132
- if (this.allowServerDataBinding && window[sfBlazor].updateModel) {
133
- window[sfBlazor].updateModel(this);
132
+ if (this.allowServerDataBinding && window["" + sfBlazor].updateModel) {
133
+ window["" + sfBlazor].updateModel(this);
134
134
  this.bulkChanges = {};
135
135
  }
136
136
  };
@@ -139,14 +139,14 @@ var Base = /** @class */ (function () {
139
139
  if (isBlazor()) {
140
140
  // tslint:disable-next-line:no-any
141
141
  var newChanges = {};
142
- newChanges[key] = newValue;
142
+ newChanges["" + key] = newValue;
143
143
  this.serverDataBind(newChanges);
144
144
  }
145
145
  if (this.isProtectedOnChange) {
146
146
  return;
147
147
  }
148
- this.oldProperties[key] = oldValue;
149
- this.changedProperties[key] = newValue;
148
+ this.oldProperties["" + key] = oldValue;
149
+ this.changedProperties["" + key] = newValue;
150
150
  this.finalUpdate();
151
151
  this.finalUpdate = setImmediate(this.dataBind.bind(this));
152
152
  };
@@ -192,7 +192,7 @@ var Base = /** @class */ (function () {
192
192
  var handler = getValue(eventName, this);
193
193
  if (handler) {
194
194
  var blazor = 'Blazor';
195
- if (window[blazor]) {
195
+ if (window["" + blazor]) {
196
196
  var promise = handler.call(this, eventProp);
197
197
  if (promise && typeof promise.then === 'function') {
198
198
  if (!successHandler) {
@@ -283,7 +283,7 @@ export function getComponent(elem, comp) {
283
283
  var i;
284
284
  var ele = typeof elem === 'string' ? document.getElementById(elem) : elem;
285
285
  for (i = 0; i < ele.ej2_instances.length; i++) {
286
- instance = ele.ej2_instances[i];
286
+ instance = ele.ej2_instances[parseInt(i.toString(), 10)];
287
287
  if (typeof comp === 'string') {
288
288
  var compName = instance.getModuleName();
289
289
  if (comp === compName) {
@@ -311,9 +311,9 @@ export function removeChildInstance(element) {
311
311
  // tslint:disable-next-line:no-any
312
312
  var childEle = [].slice.call(element.getElementsByClassName('e-control'));
313
313
  for (var i = 0; i < childEle.length; i++) {
314
- var compName = childEle[i].classList[1].split('e-')[1];
314
+ var compName = childEle[parseInt(i.toString(), 10)].classList[1].split('e-')[1];
315
315
  // tslint:disable-next-line:no-any
316
- var compInstance = getComponent(childEle[i], compName);
316
+ var compInstance = getComponent(childEle[parseInt(i.toString(), 10)], compName);
317
317
  if (!isUndefined(compInstance)) {
318
318
  compInstance.destroy();
319
319
  }
package/src/browser.js CHANGED
@@ -35,7 +35,7 @@ var Browser = /** @class */ (function () {
35
35
  var clientInfo = [];
36
36
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
37
37
  var key = keys_1[_i];
38
- clientInfo = Browser.userAgent.match(REGX_BROWSER[key]);
38
+ clientInfo = Browser.userAgent.match(REGX_BROWSER["" + key]);
39
39
  if (clientInfo) {
40
40
  browserInfo.name = (clientInfo[1].toLowerCase() === 'opr' ? 'opera' : clientInfo[1].toLowerCase());
41
41
  browserInfo.name = (clientInfo[1].toLowerCase() === 'crios' ? 'chrome' : browserInfo.name);
@@ -77,9 +77,9 @@ var Browser = /** @class */ (function () {
77
77
  isPointer: 'pointercancel', isTouch: 'touchcancel', isDevice: 'mouseleave'
78
78
  }
79
79
  };
80
- return (Browser.isPointer ? events[event].isPointer :
81
- (Browser.isTouch ? events[event].isTouch + (!Browser.isDevice ? ' ' + events[event].isDevice : '')
82
- : events[event].isDevice));
80
+ return (Browser.isPointer ? events["" + event].isPointer :
81
+ (Browser.isTouch ? events["" + event].isTouch + (!Browser.isDevice ? ' ' + events["" + event].isDevice : '')
82
+ : events["" + event].isDevice));
83
83
  };
84
84
  /**
85
85
  * To get the Touch start event from browser
@@ -121,17 +121,17 @@ var Browser = /** @class */ (function () {
121
121
  * @returns {Object} ?
122
122
  */
123
123
  Browser.getValue = function (key, regX) {
124
- var browserDetails = window.browserDetails;
125
- if (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && Browser.isTouch === true) {
124
+ var browserDetails = typeof window !== 'undefined' ? window.browserDetails : {};
125
+ if (typeof navigator !== 'undefined' && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && Browser.isTouch === true) {
126
126
  browserDetails['isIos'] = true;
127
127
  browserDetails['isDevice'] = true;
128
128
  browserDetails['isTouch'] = true;
129
129
  browserDetails['isPointer'] = true;
130
130
  }
131
- if ('undefined' === typeof browserDetails[key]) {
132
- return browserDetails[key] = regX.test(Browser.userAgent);
131
+ if ('undefined' === typeof browserDetails["" + key]) {
132
+ return browserDetails["" + key] = regX.test(Browser.userAgent);
133
133
  }
134
- return browserDetails[key];
134
+ return browserDetails["" + key];
135
135
  };
136
136
  Object.defineProperty(Browser, "userAgent", {
137
137
  get: function () {
@@ -30,10 +30,10 @@ var ChildProperty = /** @class */ (function () {
30
30
  */
31
31
  ChildProperty.prototype.updateChange = function (val, propName) {
32
32
  if (val === true) {
33
- this.parentObj.childChangedProperties[propName] = val;
33
+ this.parentObj.childChangedProperties["" + propName] = val;
34
34
  }
35
35
  else {
36
- delete this.parentObj.childChangedProperties[propName];
36
+ delete this.parentObj.childChangedProperties["" + propName];
37
37
  }
38
38
  if (this.parentObj.updateChange) {
39
39
  this.parentObj.updateChange(val, this.parentObj.propName);
@@ -121,8 +121,8 @@ var ChildProperty = /** @class */ (function () {
121
121
  if (!restrictServerDataBind) {
122
122
  this.serverDataBind(key, newValue, true);
123
123
  }
124
- this.oldProperties[key] = oldValue;
125
- this.changedProperties[key] = newValue;
124
+ this.oldProperties["" + key] = oldValue;
125
+ this.changedProperties["" + key] = newValue;
126
126
  this.updateChange(true, this.propName);
127
127
  this.finalUpdate();
128
128
  this.updateTimeOut();
@@ -138,19 +138,19 @@ var ChildProperty = /** @class */ (function () {
138
138
  parent_1 = newChanges;
139
139
  for (var i = 0; i < complexKeys.length; i++) {
140
140
  var isFinal = i === complexKeys.length - 1;
141
- parent_1[complexKeys[i]] = isFinal ? value : {};
142
- parent_1 = isFinal ? parent_1 : parent_1[complexKeys[i]];
141
+ parent_1[complexKeys[parseInt(i.toString(), 10)]] = isFinal ? value : {};
142
+ parent_1 = isFinal ? parent_1 : parent_1[complexKeys[parseInt(i.toString(), 10)]];
143
143
  }
144
144
  }
145
145
  else {
146
- newChanges[parentKey] = {};
147
- parent_1 = newChanges[parentKey];
148
- newChanges[parentKey][key] = value;
146
+ newChanges["" + parentKey] = {};
147
+ parent_1 = newChanges["" + parentKey];
148
+ newChanges["" + parentKey]["" + key] = value;
149
149
  }
150
150
  /* istanbul ignore next */
151
151
  if (this.isParentArray) {
152
152
  var actionProperty = 'ejsAction';
153
- parent_1[actionProperty] = action ? action : 'none';
153
+ parent_1["" + actionProperty] = action ? action : 'none';
154
154
  }
155
155
  this.controlParent.serverDataBind(newChanges);
156
156
  }
@@ -1,4 +1,4 @@
1
- import { isUndefined, getValue, isNullOrUndefined, setValue, uniqueID, isBlazor } from './util';import { ModuleLoader, ModuleDeclaration } from './module-loader';import { Base } from './base';import { Observer, BoundOptions } from './observer';import { ChildProperty } from './child-property';import { Property, NotifyPropertyChanges } from './notify-property-change';import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';import { createElement, addClass, removeClass, ElementProperties, select } from './dom';import {validateLicense} from './validate-lic';
1
+ import { isUndefined, getValue, isNullOrUndefined, setValue, uniqueID, isBlazor } from './util';import { ModuleLoader, ModuleDeclaration } from './module-loader';import { Base } from './base';import { Observer, BoundOptions } from './observer';import { ChildProperty } from './child-property';import { Property, NotifyPropertyChanges } from './notify-property-change';import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';import { createElement, addClass, removeClass, ElementProperties, select } from './dom';import { validateLicense, createLicenseOverlay, componentList } from './validate-lic';
2
2
 
3
3
  /**
4
4
  * Interface for a class Component
@@ -173,7 +173,7 @@ export declare abstract class Component<ElementType extends HTMLElement> extends
173
173
  private detectFunction;
174
174
  private mergePersistData;
175
175
  private setPersistData;
176
- protected renderReactTemplates(): void;
176
+ protected renderReactTemplates(callback?: any): void;
177
177
  protected clearTemplate(templateName?: string[], index?: any): void;
178
178
  private getUniqueID;
179
179
  private pageID;
package/src/component.js CHANGED
@@ -25,10 +25,16 @@ import { ChildProperty } from './child-property';
25
25
  import { Property, NotifyPropertyChanges } from './notify-property-change';
26
26
  import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';
27
27
  import { createElement, addClass, removeClass, select } from './dom';
28
- import { validateLicense } from './validate-lic';
28
+ import { validateLicense, createLicenseOverlay, componentList } from './validate-lic';
29
29
  var componentCount = 0;
30
30
  var lastPageID;
31
31
  var lastHistoryLen = 0;
32
+ // Decalre the static variable to count the instance
33
+ var instancecount = 0;
34
+ // Decalre the static variable to find if control limit exceed or not
35
+ var isvalid = true;
36
+ // We have added styles to inline type so here declare the static variable to detect if banner is added or not
37
+ var isBannerAdded = false;
32
38
  export var versionBasedStatePersistence = false;
33
39
  /**
34
40
  * To enable or disable version based statePersistence functionality for all components globally.
@@ -71,8 +77,14 @@ var Component = /** @class */ (function (_super) {
71
77
  _this.localObserver = new Observer(_this);
72
78
  // tslint:disable-next-line:no-function-constructor-with-string-args
73
79
  onIntlChange.on('notifyExternalChange', _this.detectFunction, _this, _this.randomId);
74
- if (typeof window !== "undefined" && typeof document !== "undefined") {
75
- validateLicense();
80
+ // Based on the considered control list we have count the instance
81
+ if (typeof window !== "undefined" && typeof document !== "undefined" && !validateLicense()) {
82
+ if (componentList.indexOf(_this.getModuleName()) !== -1) {
83
+ instancecount = instancecount + 1;
84
+ if (instancecount > 5) {
85
+ isvalid = false;
86
+ }
87
+ }
76
88
  }
77
89
  if (!isUndefined(selector)) {
78
90
  _this.appendTo();
@@ -184,6 +196,11 @@ var Component = /** @class */ (function (_super) {
184
196
  }
185
197
  this.preRender();
186
198
  this.injectModules();
199
+ // Checked weather cases are valid or not. If control leads to more than five counts
200
+ if (!isvalid && !isBannerAdded) {
201
+ createLicenseOverlay();
202
+ isBannerAdded = true;
203
+ }
187
204
  this.render();
188
205
  if (!this.mount) {
189
206
  this.trigger('created');
@@ -293,8 +310,8 @@ var Component = /** @class */ (function (_super) {
293
310
  this.prototype.injectedModules = [];
294
311
  }
295
312
  for (var i = 0; i < moduleList.length; i++) {
296
- if (this.prototype.injectedModules.indexOf(moduleList[i]) === -1) {
297
- this.prototype.injectedModules.push(moduleList[i]);
313
+ if (this.prototype.injectedModules.indexOf(moduleList[parseInt(i.toString(), 10)]) === -1) {
314
+ this.prototype.injectedModules.push(moduleList[parseInt(i.toString(), 10)]);
298
315
  }
299
316
  }
300
317
  };
@@ -361,9 +378,11 @@ var Component = /** @class */ (function (_super) {
361
378
  }
362
379
  }
363
380
  };
364
- //tslint:disable-next-line
365
- Component.prototype.renderReactTemplates = function () {
366
- //No Code
381
+ // eslint-disable-next-line
382
+ Component.prototype.renderReactTemplates = function (callback) {
383
+ if (!isNullOrUndefined(callback)) {
384
+ callback();
385
+ }
367
386
  };
368
387
  // eslint-disable-next-line
369
388
  Component.prototype.clearTemplate = function (templateName, index) {
@@ -431,10 +450,10 @@ var Component = /** @class */ (function (_super) {
431
450
  }).map(function (str) {
432
451
  return str.replace(key + '.', '');
433
452
  });
434
- newObj[key] = this_1.iterateJsonProperties(this_1.getActualProperties(value), newList);
453
+ newObj["" + key] = this_1.iterateJsonProperties(this_1.getActualProperties(value), newList);
435
454
  }
436
455
  else {
437
- newObj[key] = value;
456
+ newObj["" + key] = value;
438
457
  }
439
458
  }
440
459
  };
package/src/dom.js CHANGED
@@ -233,10 +233,10 @@ export function attributes(element, attributes) {
233
233
  if (key === 'tabindex') {
234
234
  iKey = 'tabIndex';
235
235
  }
236
- ele.attributes[iKey] = attributes[key];
236
+ ele.attributes["" + iKey] = attributes["" + key];
237
237
  }
238
238
  else {
239
- ele.setAttribute(key, attributes[key]);
239
+ ele.setAttribute(key, attributes["" + key]);
240
240
  }
241
241
  }
242
242
  return ele;
@@ -284,20 +284,20 @@ function querySelectId(selector) {
284
284
  if (selector.match(/#[0-9]/g) || selector.match(charRegex)) {
285
285
  var idList = selector.split(',');
286
286
  for (var i = 0; i < idList.length; i++) {
287
- var list = idList[i].split(' ');
287
+ var list = idList[parseInt(i.toString(), 10)].split(' ');
288
288
  for (var j = 0; j < list.length; j++) {
289
- if (list[j].indexOf('#') > -1) {
290
- if (!list[j].match(/\[.*\]/)) {
291
- var splitId = list[j].split('#');
289
+ if (list[parseInt(j.toString(), 10)].indexOf('#') > -1) {
290
+ if (!list[parseInt(j.toString(), 10)].match(/\[.*\]/)) {
291
+ var splitId = list[parseInt(j.toString(), 10)].split('#');
292
292
  if (splitId[1].match(/^\d/) || splitId[1].match(charRegex)) {
293
- var setId = list[j].split('.');
293
+ var setId = list[parseInt(j.toString(), 10)].split('.');
294
294
  setId[0] = setId[0].replace(/#/, '[id=\'') + '\']';
295
- list[j] = setId.join('.');
295
+ list[parseInt(j.toString(), 10)] = setId.join('.');
296
296
  }
297
297
  }
298
298
  }
299
299
  }
300
- idList[i] = list.join(' ');
300
+ idList[parseInt(i.toString(), 10)] = list.join(' ');
301
301
  }
302
302
  return idList.join(',');
303
303
  }
@@ -365,7 +365,7 @@ export function getAttributeOrDefault(element, property, value) {
365
365
  element.setAttribute(property, value.toString());
366
366
  }
367
367
  else {
368
- element.attributes[property] = value;
368
+ element.attributes["" + property] = value;
369
369
  }
370
370
  attrVal = value;
371
371
  }
@@ -29,7 +29,8 @@ export interface DraggableModel {
29
29
  cursorAt?: PositionModel;
30
30
 
31
31
  /**
32
- * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
32
+ * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
33
+ *
33
34
  * @default true
34
35
  */
35
36
  clone?: boolean;
@@ -46,37 +47,42 @@ export interface DraggableModel {
46
47
 
47
48
  /**
48
49
  * Defines wheather need to replace drag element by currentstateTarget.
50
+ *
49
51
  * @private
50
52
  */
51
53
  isReplaceDragEle?: boolean;
52
54
 
53
55
  /**
54
56
  * Defines wheather need to add prevent select class to body or not.
57
+ *
55
58
  * @private
56
59
  */
57
60
  isPreventSelect?: boolean;
58
61
 
59
62
  /**
60
63
  * Specifies the callback function for drag event.
61
-
62
- * @event
64
+ *
65
+ * @event drag
63
66
  */
64
67
  drag?: Function;
65
68
 
66
69
  /**
67
70
  * Specifies the callback function for dragStart event.
68
- * @event
71
+ *
72
+ * @event dragStart
69
73
  */
70
74
  dragStart?: Function;
71
75
 
72
76
  /**
73
77
  * Specifies the callback function for dragStop event.
74
- * @event
78
+ *
79
+ * @event dragStop
75
80
  */
76
81
  dragStop?: Function;
77
82
 
78
83
  /**
79
84
  * Defines the minimum distance draggable element to be moved to trigger the drag operation.
85
+ *
80
86
  * @default 1
81
87
  */
82
88
  distance?: number;
@@ -97,38 +103,42 @@ export interface DraggableModel {
97
103
  helper?: Function;
98
104
 
99
105
  /**
100
- * Defines the scope value to group sets of draggable and droppable items.
106
+ * Defines the scope value to group sets of draggable and droppable items.
101
107
  * A draggable with the same scope value will be accepted by the droppable.
102
108
  */
103
109
  scope?: string;
104
110
 
105
111
  /**
106
112
  * Specifies the dragTarget by which the clone element is positioned if not given current context element will be considered.
113
+ *
107
114
  * @private
108
115
  */
109
116
  dragTarget?: string;
110
117
 
111
118
  /**
112
- * Defines the axis to limit the draggable element drag path.The possible axis path values are
113
- * * `x` - Allows drag movement in horizontal direction only.
119
+ * Defines the axis to limit the draggable element drag path.The possible axis path values are
120
+ * * `x` - Allows drag movement in horizontal direction only.
114
121
  * * `y` - Allows drag movement in vertical direction only.
115
122
  */
116
123
  axis?: DragDirection;
117
124
 
118
125
  /**
119
126
  * Defines the function to change the position value.
127
+ *
120
128
  * @private
121
129
  */
122
130
  queryPositionInfo?: Function;
123
131
 
124
132
  /**
125
133
  * Defines whether the drag clone element will be split form the cursor pointer.
134
+ *
126
135
  * @private
127
136
  */
128
137
  enableTailMode?: boolean;
129
138
 
130
139
  /**
131
140
  * Defines whether to skip the previous drag movement comparison.
141
+ *
132
142
  * @private
133
143
  */
134
144
  skipDistanceCheck?: boolean;
@@ -141,6 +151,7 @@ export interface DraggableModel {
141
151
  /**
142
152
  * Defines whether to enable autoscroll on drag movement of draggable element.
143
153
  * enableAutoScroll
154
+ *
144
155
  * @private
145
156
  */
146
157
  enableAutoScroll?: boolean;
@@ -148,12 +159,14 @@ export interface DraggableModel {
148
159
  /**
149
160
  * Defines whether to enable taphold on mobile devices.
150
161
  * enableAutoScroll
162
+ *
151
163
  * @private
152
164
  */
153
165
  enableTapHold?: boolean;
154
166
 
155
167
  /**
156
168
  * Specifies the time delay for tap hold.
169
+ *
157
170
  * @default 750
158
171
  * @private
159
172
  */