@syncfusion/ej2-vue-base 20.3.56 → 20.4.38
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.
- package/CHANGELOG.md +6 -4
- package/dist/ej2-vue-base.umd.min.js +9 -0
- package/dist/es6/ej2-vue-base.es2015.js +134 -80
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +136 -82
- package/dist/es6/ej2-vue-base.es5.js.map +1 -1
- package/dist/global/ej2-vue-base.min.js +2 -2
- package/dist/global/ej2-vue-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +6 -6
- package/postinstall.js +22 -5
- package/src/component-base.d.ts +1 -0
- package/src/component-base.js +105 -52
- package/src/component-decorator.js +14 -14
- package/src/template.js +17 -16
package/CHANGELOG.md
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
## 20.3.49 (2022-10-11)
|
|
6
|
-
|
|
7
5
|
### Common
|
|
8
6
|
|
|
7
|
+
#### New Features
|
|
8
|
+
|
|
9
|
+
- `#FB34897` - Provided Vue 3 direct script support for Syncfusion Vue components.
|
|
10
|
+
|
|
9
11
|
#### Bug Fixes
|
|
10
12
|
|
|
11
|
-
- `#
|
|
13
|
+
- `#I409205` - The issue with the "Signature plugin missing in the latest Vue 2 direct script" has been resolved.
|
|
14
|
+
- The issue with the "v-model support is not working for the textbox component in Vue 3" has been resolved.
|
|
12
15
|
|
|
13
16
|
## 20.3.47 (2022-09-29)
|
|
14
17
|
|
|
@@ -204,4 +207,3 @@ Base library provide options to enable following Vue functionalities in Essentia
|
|
|
204
207
|
#### Breaking Changes
|
|
205
208
|
|
|
206
209
|
- The individual npm package will no longer bundle dependent component's style. The online web tool [CRG](https://crg.syncfusion.com/) can be used to combine specific set of component and its dependent component styles.
|
|
207
|
-
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: ej2-vue-base.umd.min.js
|
|
3
|
+
* version : 20.4.38
|
|
4
|
+
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
|
+
* Use of this code is subject to the terms of our license.
|
|
6
|
+
* A copy of the current license can be obtained at any time by e-mailing
|
|
7
|
+
* licensing@syncfusion.com. Any infringement will be prosecuted under
|
|
8
|
+
* applicable laws.
|
|
9
|
+
*/
|
|
10
|
+
/*!
|
|
11
|
+
* filename: ej2-vue-base.umd.min.js
|
|
3
12
|
* version : 20.3.56
|
|
4
13
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
14
|
* Use of this code is subject to the terms of our license.
|
|
@@ -16,7 +16,7 @@ function _interopRequireWildcard(obj) {
|
|
|
16
16
|
if (obj != null) {
|
|
17
17
|
for (let key in obj) {
|
|
18
18
|
if (Object.prototype.hasOwnProperty.call(obj, key))
|
|
19
|
-
newObj[key] = obj[key];
|
|
19
|
+
newObj[`${key}`] = obj[`${key}`];
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
newObj.default = obj;
|
|
@@ -52,6 +52,7 @@ class ComponentBase extends vueImport {
|
|
|
52
52
|
}
|
|
53
53
|
let injectables = getValue('$root.$options.provide', this);
|
|
54
54
|
let vueInjectables = getValue('$parent.$options.provide', this);
|
|
55
|
+
vueInjectables = !isNullOrUndefined(vueInjectables) ? vueInjectables : getValue('$.parent.provides', this);
|
|
55
56
|
if (this.hasInjectedModules && !isExecute) {
|
|
56
57
|
let prevModule = [];
|
|
57
58
|
if (injectables && injectables.managed) {
|
|
@@ -77,7 +78,7 @@ class ComponentBase extends vueImport {
|
|
|
77
78
|
let cusEle = this.$el ? this.$el.querySelectorAll("div.e-directive") : null;
|
|
78
79
|
if (!isExecute && cusEle) {
|
|
79
80
|
for (let i = 0; i < cusEle.length; i++) {
|
|
80
|
-
cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);
|
|
81
|
+
cusEle[parseInt(i.toString(), 10)].parentElement && cusEle[parseInt(i.toString(), 10)].parentElement.removeChild(cusEle[parseInt(i.toString(), 10)]);
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
this.ej2Instances.isVue = true;
|
|
@@ -86,9 +87,19 @@ class ComponentBase extends vueImport {
|
|
|
86
87
|
if (this.isVue3) {
|
|
87
88
|
this.ej2Instances.ej2Instances = this.ej2Instances;
|
|
88
89
|
this.ej2Instances.referModels = this.models;
|
|
90
|
+
this.setModelValue();
|
|
89
91
|
}
|
|
90
92
|
this.ej2Instances.appendTo(this.$el);
|
|
91
93
|
}
|
|
94
|
+
setModelValue() {
|
|
95
|
+
if (!isNullOrUndefined(this.modelValue) || !isNullOrUndefined(this.$attrs.modelValue)) {
|
|
96
|
+
const key = this.models.toString().match(/checked|value/) || [];
|
|
97
|
+
const propKey = key[0];
|
|
98
|
+
if (!isNullOrUndefined(propKey)) {
|
|
99
|
+
this.ej2Instances[`${propKey}`] = !isNullOrUndefined(this.modelValue) ? this.modelValue : this.$attrs.modelValue;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
92
103
|
getInjectedServices() {
|
|
93
104
|
let ret = [];
|
|
94
105
|
let provide;
|
|
@@ -101,6 +112,9 @@ class ComponentBase extends vueImport {
|
|
|
101
112
|
else if (this.$parent) {
|
|
102
113
|
provide = getValue('$parent.$options.provide', this);
|
|
103
114
|
}
|
|
115
|
+
if (isNullOrUndefined(provide) && !isNullOrUndefined(this.$)) {
|
|
116
|
+
provide = getValue('$.parent.provides', this);
|
|
117
|
+
}
|
|
104
118
|
if (provide) {
|
|
105
119
|
// tslint:disable:no-any
|
|
106
120
|
let injectables = provide;
|
|
@@ -120,15 +134,15 @@ class ComponentBase extends vueImport {
|
|
|
120
134
|
}
|
|
121
135
|
for (let i = 0; i < provideValue.length; i++) {
|
|
122
136
|
for (let j = 0; j < key.length; j++) {
|
|
123
|
-
if ((key[j].indexOf(provideValue[i])) !== -1) {
|
|
137
|
+
if ((key[parseInt(j.toString(), 10)].indexOf(provideValue[parseInt(i.toString(), 10)])) !== -1) {
|
|
124
138
|
if (this.$root && this.isDecorator) {
|
|
125
|
-
provideKey[provideValue[j]] = this.$root[key[i]];
|
|
139
|
+
provideKey[provideValue[parseInt(j.toString(), 10)]] = this.$root[key[parseInt(i.toString(), 10)]];
|
|
126
140
|
}
|
|
127
141
|
else if (this.$vnode) {
|
|
128
|
-
provideKey[provideValue[i]] = this.$vnode.context[key[j]];
|
|
142
|
+
provideKey[provideValue[parseInt(i.toString(), 10)]] = this.$vnode.context[key[parseInt(j.toString(), 10)]];
|
|
129
143
|
}
|
|
130
144
|
else if (this.$parent) {
|
|
131
|
-
provideKey[provideValue[i]] = this.$parent[key[j]];
|
|
145
|
+
provideKey[provideValue[parseInt(i.toString(), 10)]] = this.$parent[key[parseInt(j.toString(), 10)]];
|
|
132
146
|
}
|
|
133
147
|
injectables = provideKey;
|
|
134
148
|
}
|
|
@@ -149,6 +163,9 @@ class ComponentBase extends vueImport {
|
|
|
149
163
|
return ret;
|
|
150
164
|
}
|
|
151
165
|
updated() {
|
|
166
|
+
if (this.isVue3) {
|
|
167
|
+
this.setModelValue();
|
|
168
|
+
}
|
|
152
169
|
if (this.hasChildDirective) {
|
|
153
170
|
let childKey = {};
|
|
154
171
|
this.fetchChildPropValues(childKey);
|
|
@@ -168,8 +185,8 @@ class ComponentBase extends vueImport {
|
|
|
168
185
|
bindProperties() {
|
|
169
186
|
let options = {};
|
|
170
187
|
for (let prop of this.propKeys) {
|
|
171
|
-
if ((!isNullOrUndefined(this[prop]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][prop]))) {
|
|
172
|
-
options[prop] = !this.isVue3 ? this[prop] : this[0][0][prop];
|
|
188
|
+
if ((!isNullOrUndefined(this[`${prop}`]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][`${prop}`]))) {
|
|
189
|
+
options[`${prop}`] = !this.isVue3 ? this[`${prop}`] : this[0][0][`${prop}`];
|
|
173
190
|
}
|
|
174
191
|
}
|
|
175
192
|
if (this.hasChildDirective) {
|
|
@@ -205,9 +222,10 @@ class ComponentBase extends vueImport {
|
|
|
205
222
|
}
|
|
206
223
|
if (propRef) {
|
|
207
224
|
for (let i = 0; i < propRef.length; i++) {
|
|
208
|
-
if (propRef[i].type.methods) {
|
|
209
|
-
let key = propRef[i
|
|
210
|
-
|
|
225
|
+
if (propRef[parseInt(i.toString(), 10)].type.methods || propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection') {
|
|
226
|
+
let key = propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection' ? 'series-collection' :
|
|
227
|
+
propRef[parseInt(i.toString(), 10)].type.methods.getTag().replace("e-", "");
|
|
228
|
+
let ref = this.resolveArrayDirectives(propRef[parseInt(i.toString(), 10)].children, key);
|
|
211
229
|
let splitKeys = key.split('-');
|
|
212
230
|
let controlName = this.ej2Instances.getModuleName().toLowerCase();
|
|
213
231
|
let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];
|
|
@@ -221,7 +239,7 @@ class ComponentBase extends vueImport {
|
|
|
221
239
|
else if (controlName == "schedule" && keyRef == "header") {
|
|
222
240
|
keyRef = "headerRows";
|
|
223
241
|
}
|
|
224
|
-
dirProps[keyRef] = ref[key];
|
|
242
|
+
dirProps[`${keyRef}`] = ref[`${key}`];
|
|
225
243
|
}
|
|
226
244
|
}
|
|
227
245
|
}
|
|
@@ -233,7 +251,7 @@ class ComponentBase extends vueImport {
|
|
|
233
251
|
this.childDirObjects = JSON.stringify(dirProps);
|
|
234
252
|
}
|
|
235
253
|
for (let dirProp of Object.keys(dirProps)) {
|
|
236
|
-
childOption[dirProp] = dirProps[dirProp];
|
|
254
|
+
childOption[`${dirProp}`] = dirProps[`${dirProp}`];
|
|
237
255
|
}
|
|
238
256
|
}
|
|
239
257
|
resolveArrayDirectives(slots, tagName) {
|
|
@@ -241,7 +259,7 @@ class ComponentBase extends vueImport {
|
|
|
241
259
|
let innerDirValues;
|
|
242
260
|
slot = slots.default ? slots.default() : slots;
|
|
243
261
|
let items = {};
|
|
244
|
-
items[tagName] = [];
|
|
262
|
+
items[`${tagName}`] = [];
|
|
245
263
|
for (const childSlot of slot) {
|
|
246
264
|
let tempObj = {};
|
|
247
265
|
let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;
|
|
@@ -253,22 +271,25 @@ class ComponentBase extends vueImport {
|
|
|
253
271
|
}
|
|
254
272
|
else {
|
|
255
273
|
for (var i = 0; i < Object.keys(innerDirValues).length; i++) {
|
|
256
|
-
key = Object.keys(innerDirValues)[i];
|
|
257
|
-
tempObj[key] = innerDirValues[key];
|
|
274
|
+
key = Object.keys(innerDirValues)[parseInt(i.toString(), 10)];
|
|
275
|
+
tempObj[`${key}`] = innerDirValues[`${key}`];
|
|
258
276
|
}
|
|
259
277
|
|
|
260
278
|
}
|
|
261
279
|
}
|
|
262
280
|
if (childSlot.props) {
|
|
263
281
|
Object.keys(childSlot.props).forEach((key) => {
|
|
264
|
-
|
|
282
|
+
let propName = key.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); });
|
|
283
|
+
if (propName) {
|
|
284
|
+
tempObj[`${propName}`] = childSlot.props[`${key}`];
|
|
285
|
+
}
|
|
265
286
|
});
|
|
266
287
|
}
|
|
267
288
|
if (((/[s]\b/).test(tagRef) && innerDirValues) && (!(/[s]\b/).test(tagName) || innerDirValues.length)) {
|
|
268
|
-
items[tagName] = tempObj;
|
|
289
|
+
items[`${tagName}`] = tempObj;
|
|
269
290
|
}
|
|
270
291
|
else if (tempObj && Object.keys(tempObj).length !== 0) {
|
|
271
|
-
items[tagName].push(tempObj);
|
|
292
|
+
items[`${tagName}`].push(tempObj);
|
|
272
293
|
}
|
|
273
294
|
}
|
|
274
295
|
return items;
|
|
@@ -281,9 +302,9 @@ class ComponentBase extends vueImport {
|
|
|
281
302
|
for (const childSlot of slot) {
|
|
282
303
|
let tagRef;
|
|
283
304
|
let tag;
|
|
284
|
-
if (tagObject[tagName]) {
|
|
285
|
-
tagRef = Object.keys(tagObject[tagName]);
|
|
286
|
-
tag = tagRef.find((key) => tagObject[tagName][key] ===
|
|
305
|
+
if (tagObject[`${tagName}`]) {
|
|
306
|
+
tagRef = Object.keys(tagObject[`${tagName}`]);
|
|
307
|
+
tag = tagRef.find((key) => tagObject[`${tagName}`][`${key}`] ===
|
|
287
308
|
childSlot.type.methods.getTag().replace(/[s]\b/, ""));
|
|
288
309
|
tag = tag
|
|
289
310
|
? tag.replace("e-", "")
|
|
@@ -293,17 +314,20 @@ class ComponentBase extends vueImport {
|
|
|
293
314
|
}
|
|
294
315
|
}
|
|
295
316
|
if (childSlot.children) {
|
|
296
|
-
innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());
|
|
297
|
-
if (!items[tag]) {
|
|
298
|
-
items[tag] = [];
|
|
317
|
+
innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[`${tagName}`], childSlot.type.methods.getTag());
|
|
318
|
+
if (!items[`${tag}`]) {
|
|
319
|
+
items[`${tag}`] = [];
|
|
299
320
|
}
|
|
300
321
|
if (innerDirValues.length > 1) {
|
|
301
|
-
items[tag] = innerDirValues;
|
|
322
|
+
items[`${tag}`] = innerDirValues;
|
|
302
323
|
}
|
|
303
324
|
else {
|
|
304
|
-
items[tag].push(innerDirValues);
|
|
325
|
+
items[`${tag}`].push(innerDirValues);
|
|
305
326
|
}
|
|
306
327
|
}
|
|
328
|
+
if (childSlot.props) {
|
|
329
|
+
childSlot.props = this.getCamelCaseProps(childSlot.props);
|
|
330
|
+
}
|
|
307
331
|
if (slot.length > 1) {
|
|
308
332
|
items = Object.keys(items).length == 0 && !items.length ? [] : items;
|
|
309
333
|
if (childSlot.props) {
|
|
@@ -324,15 +348,15 @@ class ComponentBase extends vueImport {
|
|
|
324
348
|
for (const childSlot of slot) {
|
|
325
349
|
let tag = childSlot.type.methods.getTag().replace("e-", "");
|
|
326
350
|
if (childSlot.children) {
|
|
327
|
-
innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());
|
|
351
|
+
innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[`${tagName}`], childSlot.type.methods.getTag());
|
|
328
352
|
if ((/[s]\b/).test(tag) || slot.length > 1) {
|
|
329
353
|
if ((/[s]\b/).test(tag)) {
|
|
330
|
-
items[tag] = !items[tag] ? [] : items[tag];
|
|
354
|
+
items[`${tag}`] = !items[`${tag}`] ? [] : items[`${tag}`];
|
|
331
355
|
if (innerDirValues.length) {
|
|
332
|
-
items[tag] = innerDirValues;
|
|
356
|
+
items[`${tag}`] = innerDirValues;
|
|
333
357
|
}
|
|
334
358
|
else {
|
|
335
|
-
items[tag].push(innerDirValues);
|
|
359
|
+
items[`${tag}`].push(innerDirValues);
|
|
336
360
|
}
|
|
337
361
|
}
|
|
338
362
|
else if (innerDirValues) {
|
|
@@ -343,6 +367,9 @@ class ComponentBase extends vueImport {
|
|
|
343
367
|
items = innerDirValues ? innerDirValues : items;
|
|
344
368
|
}
|
|
345
369
|
}
|
|
370
|
+
if (childSlot.props) {
|
|
371
|
+
childSlot.props = this.getCamelCaseProps(childSlot.props);
|
|
372
|
+
}
|
|
346
373
|
if (slot.length > 1 && childSlot.props) {
|
|
347
374
|
if (items.length >= 0) {
|
|
348
375
|
items.push(childSlot.props);
|
|
@@ -365,18 +392,21 @@ class ComponentBase extends vueImport {
|
|
|
365
392
|
for (const childSlot of slot) {
|
|
366
393
|
let tag = childSlot.type.methods.getTag().replace("e-", "");
|
|
367
394
|
if (childSlot.children) {
|
|
368
|
-
innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());
|
|
395
|
+
innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[`${tagName}`], childSlot.type.methods.getTag());
|
|
396
|
+
}
|
|
397
|
+
if (childSlot.props) {
|
|
398
|
+
childSlot.props = this.getCamelCaseProps(childSlot.props);
|
|
369
399
|
}
|
|
370
400
|
if ((/[s]\b/).test(tag)) {
|
|
371
|
-
items[tag] = !items[tag] ? [] : items[tag];
|
|
401
|
+
items[`${tag}`] = !items[`${tag}`] ? [] : items[`${tag}`];
|
|
372
402
|
if (innerDirValues.length) {
|
|
373
|
-
items[tag] = innerDirValues;
|
|
403
|
+
items[`${tag}`] = innerDirValues;
|
|
374
404
|
}
|
|
375
405
|
else {
|
|
376
|
-
items[tag].push(innerDirValues);
|
|
406
|
+
items[`${tag}`].push(innerDirValues);
|
|
377
407
|
}
|
|
378
408
|
if (childSlot.props) {
|
|
379
|
-
items[tag].push(childSlot.props);
|
|
409
|
+
items[`${tag}`].push(childSlot.props);
|
|
380
410
|
}
|
|
381
411
|
}
|
|
382
412
|
else {
|
|
@@ -391,13 +421,16 @@ class ComponentBase extends vueImport {
|
|
|
391
421
|
let dir = {};
|
|
392
422
|
if (tagDirectives) {
|
|
393
423
|
for (let tagDirective of tagDirectives) {
|
|
394
|
-
if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag
|
|
395
|
-
|
|
424
|
+
if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag ||
|
|
425
|
+
(tagDirective.tag === 'e-seriescollection' && tagDirective.children)) {
|
|
426
|
+
let dirTag = tagDirective.componentOptions ? tagDirective.componentOptions.tag : tagDirective.tag;
|
|
427
|
+
dirTag = (dirTag === 'e-seriescollection') ? 'e-seriesCollection' : dirTag;
|
|
396
428
|
if (keyTags.indexOf(dirTag) !== -1) {
|
|
397
|
-
let tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;
|
|
429
|
+
let tagName = tagNameMapper[`${dirTag}`] ? tagNameMapper[`${dirTag}`] : dirTag;
|
|
398
430
|
dir[tagName.replace('e-', '')] = [];
|
|
399
|
-
|
|
400
|
-
|
|
431
|
+
let children = tagDirective.componentOptions ? tagDirective.componentOptions.children : tagDirective.children;
|
|
432
|
+
for (let tagDirChild of children) {
|
|
433
|
+
let retObj = this.getVNodeValue(tagDirChild, tagMapper[`${dirTag}`], tagNameMapper);
|
|
401
434
|
if (Object.keys(retObj).length !== 0) {
|
|
402
435
|
dir[tagName.replace('e-', '')].push(retObj);
|
|
403
436
|
}
|
|
@@ -411,13 +444,24 @@ class ComponentBase extends vueImport {
|
|
|
411
444
|
getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {
|
|
412
445
|
let mulObj = {};
|
|
413
446
|
for (let tagDir of tagDirectories) {
|
|
447
|
+
let key;
|
|
448
|
+
let children;
|
|
414
449
|
if (tagDir.componentOptions) {
|
|
415
|
-
|
|
416
|
-
|
|
450
|
+
key = tagDir.componentOptions.tag;
|
|
451
|
+
if (tagDir.componentOptions.children) {
|
|
452
|
+
children = tagDir.componentOptions.children;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
else if ((tagDir.tag === 'e-markersettings' || tagDir.tag === 'e-markersetting') && tagDir.children) {
|
|
456
|
+
key = (tagDir.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';
|
|
457
|
+
children = tagDir.children;
|
|
458
|
+
}
|
|
459
|
+
if (key) {
|
|
460
|
+
let tagName = tagNameMapper[`${key}`] ? tagNameMapper[`${key}`] : key;
|
|
417
461
|
mulObj[tagName.replace('e-', '')] = [];
|
|
418
|
-
if (
|
|
419
|
-
for (let tagDirChild of
|
|
420
|
-
let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[key], tagNameMapper);
|
|
462
|
+
if (children) {
|
|
463
|
+
for (let tagDirChild of children) {
|
|
464
|
+
let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[`${key}`], tagNameMapper);
|
|
421
465
|
if (Object.keys(mulLevObj).length !== 0) {
|
|
422
466
|
mulObj[tagName.replace('e-', '')].push(mulLevObj);
|
|
423
467
|
}
|
|
@@ -429,14 +473,23 @@ class ComponentBase extends vueImport {
|
|
|
429
473
|
}
|
|
430
474
|
getVNodeValue(tagDirective, tagKey, tagNameMapper) {
|
|
431
475
|
let ret = {};
|
|
432
|
-
if (tagDirective.componentOptions) {
|
|
433
|
-
let dirTag
|
|
476
|
+
if (tagDirective.componentOptions || ((tagDirective.tag === 'e-markersettings' || tagDirective.tag === 'e-markersetting') && tagDirective.context)) {
|
|
477
|
+
let dirTag;
|
|
478
|
+
if (tagDirective.componentOptions) {
|
|
479
|
+
dirTag = tagDirective.componentOptions.tag;
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
dirTag = (tagDirective.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';
|
|
483
|
+
}
|
|
434
484
|
if (typeof tagKey === 'string' && dirTag === tagKey && tagDirective.data) {
|
|
435
485
|
ret = tagDirective.data.attrs ? this.getCamelCaseProps(tagDirective.data.attrs) : this.getCamelCaseProps(tagDirective.data);
|
|
436
486
|
}
|
|
437
487
|
else if (typeof tagKey === 'object') {
|
|
438
488
|
if (tagDirective.componentOptions.children && (Object.keys(tagKey).indexOf(dirTag) !== -1)) {
|
|
439
|
-
ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[dirTag], tagNameMapper);
|
|
489
|
+
ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[`${dirTag}`], tagNameMapper);
|
|
490
|
+
}
|
|
491
|
+
else if (tagDirective.children && (Object.keys(tagKey).indexOf(dirTag) !== -1) && (dirTag === 'e-markersettings' || dirTag === 'e-markersetting')) {
|
|
492
|
+
ret = this.getMultiLevelDirValue(tagDirective.children, tagKey[`${dirTag}`], tagNameMapper);
|
|
440
493
|
}
|
|
441
494
|
if (tagDirective.data && tagDirective.data.attrs) {
|
|
442
495
|
ret = extend(ret, this.getCamelCaseProps(tagDirective.data.attrs));
|
|
@@ -451,7 +504,7 @@ class ComponentBase extends vueImport {
|
|
|
451
504
|
getCamelCaseProps(props) {
|
|
452
505
|
let retProps = {};
|
|
453
506
|
for (let prop of Object.keys(props)) {
|
|
454
|
-
retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[prop];
|
|
507
|
+
retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[`${prop}`];
|
|
455
508
|
}
|
|
456
509
|
return retProps;
|
|
457
510
|
}
|
|
@@ -485,9 +538,9 @@ let $internalHooks = [
|
|
|
485
538
|
function getProps(options = {}) {
|
|
486
539
|
if (options.props) {
|
|
487
540
|
for (let prop of options.props) {
|
|
488
|
-
(options.newprops || (options.newprops = {}))[prop] = {};
|
|
489
|
-
(options.watch || (options.watch = {}))[prop] = function (newVal) {
|
|
490
|
-
this.ej2Instances[prop] = newVal;
|
|
541
|
+
(options.newprops || (options.newprops = {}))[`${prop}`] = {};
|
|
542
|
+
(options.watch || (options.watch = {}))[`${prop}`] = function (newVal) {
|
|
543
|
+
this.ej2Instances[`${prop}`] = newVal;
|
|
491
544
|
if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {
|
|
492
545
|
this.dataBind();
|
|
493
546
|
}
|
|
@@ -510,9 +563,9 @@ function EJcomponentFactory(Component, options = {}) {
|
|
|
510
563
|
const proto = Component.prototype;
|
|
511
564
|
if (options.props) {
|
|
512
565
|
for (let prop of options.props) {
|
|
513
|
-
(options.props || (options.props = {}))[prop] = {};
|
|
514
|
-
(options.watch || (options.watch = {}))[prop] = function (newVal) {
|
|
515
|
-
this.ej2Instances[prop] = newVal;
|
|
566
|
+
(options.props || (options.props = {}))[`${prop}`] = {};
|
|
567
|
+
(options.watch || (options.watch = {}))[`${prop}`] = function (newVal) {
|
|
568
|
+
this.ej2Instances[`${prop}`] = newVal;
|
|
516
569
|
if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {
|
|
517
570
|
this.dataBind();
|
|
518
571
|
}
|
|
@@ -525,17 +578,17 @@ function EJcomponentFactory(Component, options = {}) {
|
|
|
525
578
|
return;
|
|
526
579
|
}
|
|
527
580
|
if ($internalHooks.indexOf(key) > -1) {
|
|
528
|
-
options[key] = proto[key];
|
|
581
|
+
options[`${key}`] = proto[`${key}`];
|
|
529
582
|
return;
|
|
530
583
|
}
|
|
531
584
|
const descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
|
532
585
|
if (typeof descriptor.value === 'function') {
|
|
533
586
|
// methods
|
|
534
|
-
(options.methods || (options.methods = {}))[key] = descriptor.value;
|
|
587
|
+
(options.methods || (options.methods = {}))[`${key}`] = descriptor.value;
|
|
535
588
|
}
|
|
536
589
|
else if (descriptor.get || descriptor.set) {
|
|
537
590
|
// computed properties
|
|
538
|
-
(options.computed || (options.computed = {}))[key] = {
|
|
591
|
+
(options.computed || (options.computed = {}))[`${key}`] = {
|
|
539
592
|
get: descriptor.get,
|
|
540
593
|
set: descriptor.set
|
|
541
594
|
};
|
|
@@ -543,7 +596,7 @@ function EJcomponentFactory(Component, options = {}) {
|
|
|
543
596
|
});
|
|
544
597
|
Object.getOwnPropertyNames(ComponentBase.prototype).forEach(function (key) {
|
|
545
598
|
if ($internalHooks.indexOf(key) > -1) {
|
|
546
|
-
options[key] = proto[key];
|
|
599
|
+
options[`${key}`] = proto[`${key}`];
|
|
547
600
|
return;
|
|
548
601
|
}
|
|
549
602
|
});
|
|
@@ -580,8 +633,8 @@ function collectDataFromConstructor(vm, Component) {
|
|
|
580
633
|
keys.forEach(function (key) {
|
|
581
634
|
if (key.charAt(0) !== '_') {
|
|
582
635
|
Object.defineProperty(_this, key, {
|
|
583
|
-
get: function () { return vm[key]; },
|
|
584
|
-
set: function (value) { return vm[key] = value; }
|
|
636
|
+
get: function () { return vm[`${key}`]; },
|
|
637
|
+
set: function (value) { return vm[`${key}`] = value; }
|
|
585
638
|
});
|
|
586
639
|
}
|
|
587
640
|
});
|
|
@@ -589,8 +642,8 @@ function collectDataFromConstructor(vm, Component) {
|
|
|
589
642
|
var data = new Component();
|
|
590
643
|
var plainData = {};
|
|
591
644
|
Object.keys(data).forEach(function (key) {
|
|
592
|
-
if (data[key] !== undefined) {
|
|
593
|
-
plainData[key] = data[key];
|
|
645
|
+
if (data[`${key}`] !== undefined) {
|
|
646
|
+
plainData[`${key}`] = data[`${key}`];
|
|
594
647
|
}
|
|
595
648
|
});
|
|
596
649
|
return plainData;
|
|
@@ -617,12 +670,12 @@ function compile(templateElement, helper) {
|
|
|
617
670
|
// Compilation for Vue 3 slot template
|
|
618
671
|
let app = allVue.createApp({
|
|
619
672
|
render() {
|
|
620
|
-
return vueSlot[templateElement]({ data: data });
|
|
673
|
+
return vueSlot[`${templateElement}`]({ data: data });
|
|
621
674
|
}
|
|
622
675
|
});
|
|
623
676
|
if (plugins) {
|
|
624
677
|
for (let i = 0; i < plugins.length; i++) {
|
|
625
|
-
app.use(plugins[i]);
|
|
678
|
+
app.use(plugins[parseInt(i.toString(), 10)]);
|
|
626
679
|
}
|
|
627
680
|
}
|
|
628
681
|
app.mount((context.getModuleName() === 'grid') ? ("#" + pid) : ("#" + id));
|
|
@@ -655,7 +708,7 @@ function compile(templateElement, helper) {
|
|
|
655
708
|
templateCompRef = object.template._context.components[templateElement.name];
|
|
656
709
|
if (!templateCompRef) {
|
|
657
710
|
let key = Object.keys(object.template._context.components)[0];
|
|
658
|
-
templateCompRef = object.template._context.components[key];
|
|
711
|
+
templateCompRef = object.template._context.components[`${key}`];
|
|
659
712
|
}
|
|
660
713
|
}
|
|
661
714
|
let tempRef;
|
|
@@ -667,7 +720,7 @@ function compile(templateElement, helper) {
|
|
|
667
720
|
if (templateCompRef.components) {
|
|
668
721
|
let objkeys = Object.keys(templateCompRef.components) || [];
|
|
669
722
|
for (let objstring of objkeys) {
|
|
670
|
-
let intComponent = templateCompRef.components[objstring];
|
|
723
|
+
let intComponent = templateCompRef.components[`${objstring}`];
|
|
671
724
|
if (intComponent && intComponent.data) {
|
|
672
725
|
let tempRef2 = Object.assign(intComponent.data(), dataObj.data);
|
|
673
726
|
intComponent.data = function () { return tempRef2; };
|
|
@@ -679,7 +732,7 @@ function compile(templateElement, helper) {
|
|
|
679
732
|
let app = allVue.createApp(templateCompRef);
|
|
680
733
|
if (plugins) {
|
|
681
734
|
for (let i = 0; i < plugins.length; i++) {
|
|
682
|
-
app.use(plugins[i]);
|
|
735
|
+
app.use(plugins[parseInt(i.toString(), 10)]);
|
|
683
736
|
}
|
|
684
737
|
}
|
|
685
738
|
app.mount((context.getModuleName() === 'grid') ? ("#" + pid) : ("#" + id));
|
|
@@ -692,7 +745,7 @@ function compile(templateElement, helper) {
|
|
|
692
745
|
// Compilation for Vue 2 slot template
|
|
693
746
|
let vueTemplate = new Vue$1__default({
|
|
694
747
|
render() {
|
|
695
|
-
return vueSlot[templateElement]({ data: data });
|
|
748
|
+
return vueSlot[`${templateElement}`]({ data: data });
|
|
696
749
|
}
|
|
697
750
|
});
|
|
698
751
|
vueTemplate.$mount("#" + id);
|
|
@@ -733,10 +786,10 @@ function compile(templateElement, helper) {
|
|
|
733
786
|
templateInstance = context.vueInstance.templateCollection;
|
|
734
787
|
}
|
|
735
788
|
if (propName) {
|
|
736
|
-
if (!templateInstance[propName]) {
|
|
737
|
-
templateInstance[propName] = [];
|
|
789
|
+
if (!templateInstance[`${propName}`]) {
|
|
790
|
+
templateInstance[`${propName}`] = [];
|
|
738
791
|
}
|
|
739
|
-
templateInstance[propName].push(returnEle[0]);
|
|
792
|
+
templateInstance[`${propName}`].push(returnEle[0]);
|
|
740
793
|
}
|
|
741
794
|
}
|
|
742
795
|
detach(ele);
|
|
@@ -762,24 +815,24 @@ function getVueChildSlot(vueInstance, templateElement) {
|
|
|
762
815
|
let scopedSlots = vueInstance.$scopedSlots;
|
|
763
816
|
let vSlots = vueInstance.scopedSlots;
|
|
764
817
|
let children = vueInstance.children;
|
|
765
|
-
if (scopedSlots && scopedSlots[templateElement]) {
|
|
818
|
+
if (scopedSlots && scopedSlots[`${templateElement}`]) {
|
|
766
819
|
return scopedSlots;
|
|
767
820
|
}
|
|
768
821
|
else if (slots && slots.default) {
|
|
769
822
|
let childSlots = slots.default;
|
|
770
823
|
for (let i = 0; i < childSlots.length; i++) {
|
|
771
|
-
let slot = getVueChildSlot(getSlot(childSlots[i]), templateElement);
|
|
824
|
+
let slot = getVueChildSlot(getSlot(childSlots[parseInt(i.toString(), 10)]), templateElement);
|
|
772
825
|
if (slot) {
|
|
773
826
|
return slot;
|
|
774
827
|
}
|
|
775
828
|
}
|
|
776
829
|
}
|
|
777
|
-
else if (vSlots && vSlots[templateElement]) {
|
|
830
|
+
else if (vSlots && vSlots[`${templateElement}`]) {
|
|
778
831
|
return vSlots;
|
|
779
832
|
}
|
|
780
833
|
else if (children) {
|
|
781
834
|
for (let i = 0; i < children.length; i++) {
|
|
782
|
-
let slot = getVueChildSlot(getSlot(children[i]), templateElement);
|
|
835
|
+
let slot = getVueChildSlot(getSlot(children[parseInt(i.toString(), 10)]), templateElement);
|
|
783
836
|
if (slot) {
|
|
784
837
|
return slot;
|
|
785
838
|
}
|
|
@@ -788,7 +841,8 @@ function getVueChildSlot(vueInstance, templateElement) {
|
|
|
788
841
|
return undefined;
|
|
789
842
|
}
|
|
790
843
|
function getSlot(vnode) {
|
|
791
|
-
let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions :
|
|
844
|
+
let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions :
|
|
845
|
+
(!vnode.data && (vnode.tag === 'e-markersettings' || vnode.tag === 'e-markersetting')) ? vnode : vnode.data;
|
|
792
846
|
return vnode.componentInstance ? vnode.componentInstance : slot;
|
|
793
847
|
}
|
|
794
848
|
// Get the Vue3 slot template from the root or current Vue component.
|
|
@@ -800,13 +854,13 @@ function getCurrentVueSlot(vueInstance, templateElement, root) {
|
|
|
800
854
|
return getChildVueSlot(slots, templateElement);
|
|
801
855
|
}
|
|
802
856
|
function getChildVueSlot(slots, templateElement) {
|
|
803
|
-
if (slots && slots[templateElement]) {
|
|
857
|
+
if (slots && slots[`${templateElement}`]) {
|
|
804
858
|
return slots;
|
|
805
859
|
}
|
|
806
860
|
else if (slots && slots.default) {
|
|
807
861
|
let childSlots = slots.default();
|
|
808
862
|
for (let i = 0; i < childSlots.length; i++) {
|
|
809
|
-
let slot = getChildVueSlot(childSlots[i].children, templateElement);
|
|
863
|
+
let slot = getChildVueSlot(childSlots[parseInt(i.toString(), 10)].children, templateElement);
|
|
810
864
|
if (slot) {
|
|
811
865
|
return slot;
|
|
812
866
|
}
|