@syncfusion/ej2-vue-base 20.1.55 → 20.1.61

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 CHANGED
@@ -2,7 +2,29 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- ## 20.1.51 (2022-04-26)
5
+ ### Common
6
+
7
+ #### Bug Fixes
8
+
9
+ - `#I343901`, `#I362728` - "The routing and i18n are not working within the Vue 3 template components" issue has been resolved.
10
+
11
+ ## 20.1.57 (2022-05-24)
12
+
13
+ ### Common
14
+
15
+ #### Bug Fixes
16
+
17
+ - `#I362337` - The issue with the "Row template in the Grid does not work properly in vue 3" has been resolved.
18
+
19
+ ## 20.1.56 (2022-05-17)
20
+
21
+ ### Common
22
+
23
+ #### Bug Fixes
24
+
25
+ - `#I377536` - The issue with "Facing an Warning error while running in development mode in Vue 3" has been resolved.
26
+
27
+ ## 20.1.52 (2022-05-04)
6
28
 
7
29
  ### Common
8
30
 
@@ -30,7 +52,7 @@
30
52
 
31
53
  #### New Features
32
54
 
33
- - `F140652`, `F138394`, `F148391`, `I309881`, `F167735`, `I228458` - Provided slot template support for the Vue components.
55
+ - `#F140652`, `#F138394`, `#F148391`, `#I309881`, `#F167735`, `#I228458` - Provided slot template support for the Vue components.
34
56
 
35
57
  ## 19.4.53 (2022-02-22)
36
58
 
@@ -38,7 +60,7 @@
38
60
 
39
61
  #### Bug Fixes
40
62
 
41
- - `I364613` - Object property templates are not working in production mode issue has been resolved.
63
+ - `#I364613` - Object property templates are not working in production mode issue has been resolved.
42
64
 
43
65
  ## 19.4.52 (2022-02-15)
44
66
 
@@ -46,7 +68,7 @@
46
68
 
47
69
  #### Bug Fixes
48
70
 
49
- - `I362388` - Modules in provider section not works properly issue has been resolved.
71
+ - `#I362388` - Modules in provider section not works properly issue has been resolved.
50
72
 
51
73
  ## 19.4.47 (2022-01-25)
52
74
 
@@ -54,7 +76,7 @@
54
76
 
55
77
  #### Bug Fixes
56
78
 
57
- - `F171693` - The issue with "Vue components are not rendered with node version 16" has been resolved.
79
+ - `#F171693` - The issue with "Vue components are not rendered with node version 16" has been resolved.
58
80
 
59
81
  ## 19.4.40 (2021-12-28)
60
82
 
@@ -62,7 +84,7 @@
62
84
 
63
85
  #### Bug Fixes
64
86
 
65
- - `I334904`, `I347008` - Compatability support for Vue components in Vite js has been resolved.
87
+ - `#I334904`, `#I347008` - Compatability support for Vue components in Vite js has been resolved.
66
88
 
67
89
  ## 19.4.38 (2021-12-17)
68
90
 
@@ -70,7 +92,7 @@
70
92
 
71
93
  #### Bug Fixes
72
94
 
73
- - `I348114` - Peer dependencies issue has been resolved.
95
+ - `#I348114` - Peer dependencies issue has been resolved.
74
96
 
75
97
  ## 19.3.47 (2021-10-26)
76
98
 
@@ -78,7 +100,7 @@
78
100
 
79
101
  #### Bug Fixes
80
102
 
81
- - `I345561` - Resolved the data loading issue in the external template.
103
+ - `#I345561` - Resolved the data loading issue in the external template.
82
104
 
83
105
  ## 17.4.47 (2020-02-05)
84
106
 
@@ -86,7 +108,7 @@
86
108
 
87
109
  #### Bug Fixes
88
110
 
89
- - `I260681`, `#I261593` - Resolved the peer dependency warning issues.
111
+ - `#I260681`, `#I261593` - Resolved the peer dependency warning issues.
90
112
 
91
113
  ## 17.4.41 (2020-01-07)
92
114
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: ej2-vue-base.umd.min.js
3
- * version : 20.1.55
3
+ * version : 20.1.61
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
@@ -200,10 +200,8 @@ class ComponentBase extends vueImport {
200
200
  if (this[0] && this[0][1].slots.default) {
201
201
  propRef = this[0][1].slots.default();
202
202
  }
203
- else if (this && this.$) {
204
- if (this.$.slots) {
205
- propRef = this.$.slots.default();
206
- }
203
+ else if (this && this.$ && this.$.slots && this.$.slots.default) {
204
+ propRef = this.$.slots.default();
207
205
  }
208
206
  if (propRef) {
209
207
  for (let i = 0; i < propRef.length; i++) {
@@ -610,6 +608,7 @@ function compile(templateElement, helper) {
610
608
  return (data, context, propName, element, root) => {
611
609
  let returnEle;
612
610
  if (context) {
611
+ let plugins = context.vueInstance ? context.vueInstance.plugins : null;
613
612
  let pid = getUniqueID("templateParentDiv");
614
613
  let id = getUniqueID("templateDiv");
615
614
  let ele = createElement("div", {
@@ -618,16 +617,20 @@ function compile(templateElement, helper) {
618
617
  });
619
618
  document.body.appendChild(ele);
620
619
  if (gh && typeof templateElement === "string") {
621
- let vue3Slots = getVue3Slot(context.vueInstance, templateElement, root);
622
- if (vue3Slots) {
620
+ let vueSlot = getCurrentVueSlot(context.vueInstance, templateElement, root);
621
+ if (vueSlot) {
623
622
  // Compilation for Vue 3 slot template
624
- allVue
625
- .createApp({
623
+ let app = allVue.createApp({
626
624
  render() {
627
- return vue3Slots[templateElement]({ data: data });
625
+ return vueSlot[templateElement]({ data: data });
626
+ }
627
+ });
628
+ if (plugins) {
629
+ for (let i = 0; i < plugins.length; i++) {
630
+ app.use(plugins[i]);
628
631
  }
629
- })
630
- .mount("#" + id);
632
+ }
633
+ app.mount((context.getModuleName() === 'grid') ? ("#" + pid) : ("#" + id));
631
634
  returnEle = ele.childNodes;
632
635
  detach(ele);
633
636
  }
@@ -678,19 +681,23 @@ function compile(templateElement, helper) {
678
681
  }
679
682
  }
680
683
  templateCompRef.data = function () { return tempRef; };
681
- allVue
682
- .createApp(templateCompRef)
683
- .mount("#" + id);
684
+ let app = allVue.createApp(templateCompRef);
685
+ if (plugins) {
686
+ for (let i = 0; i < plugins.length; i++) {
687
+ app.use(plugins[i]);
688
+ }
689
+ }
690
+ app.mount((context.getModuleName() === 'grid') ? ("#" + pid) : ("#" + id));
684
691
  returnEle = ele.childNodes;
685
692
  detach(ele);
686
693
  }
687
694
  else if (typeof templateElement === "string") {
688
- let vue2Slots = getVue2Slot(context.vueInstance, templateElement, root);
689
- if (vue2Slots) {
695
+ let vueSlot = getVueSlot(context.vueInstance, templateElement, root);
696
+ if (vueSlot) {
690
697
  // Compilation for Vue 2 slot template
691
698
  let vueTemplate = new Vue$1__default({
692
699
  render() {
693
- return vue2Slots[templateElement]({ data: data });
700
+ return vueSlot[templateElement]({ data: data });
694
701
  }
695
702
  });
696
703
  vueTemplate.$mount("#" + id);
@@ -745,14 +752,14 @@ function compile(templateElement, helper) {
745
752
  }
746
753
  setTemplateEngine({ compile: compile });
747
754
  // Get the Vue2 slot template from the root or current Vue component.
748
- function getVue2Slot(vueInstance, templateElement, root) {
755
+ function getVueSlot(vueInstance, templateElement, root) {
749
756
  if (!vueInstance && !(root && root.vueInstance)) {
750
757
  return undefined;
751
758
  }
752
759
  let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;
753
- return getVue2ChildSlot(instance, templateElement);
760
+ return getVueChildSlot(instance, templateElement);
754
761
  }
755
- function getVue2ChildSlot(vueInstance, templateElement) {
762
+ function getVueChildSlot(vueInstance, templateElement) {
756
763
  if (!vueInstance) {
757
764
  return undefined;
758
765
  }
@@ -766,7 +773,7 @@ function getVue2ChildSlot(vueInstance, templateElement) {
766
773
  else if (slots && slots.default) {
767
774
  let childSlots = slots.default;
768
775
  for (let i = 0; i < childSlots.length; i++) {
769
- let slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);
776
+ let slot = getVueChildSlot(getSlot(childSlots[i]), templateElement);
770
777
  if (slot) {
771
778
  return slot;
772
779
  }
@@ -777,7 +784,7 @@ function getVue2ChildSlot(vueInstance, templateElement) {
777
784
  }
778
785
  else if (children) {
779
786
  for (let i = 0; i < children.length; i++) {
780
- let slot = getVue2ChildSlot(getSlot(children[i]), templateElement);
787
+ let slot = getVueChildSlot(getSlot(children[i]), templateElement);
781
788
  if (slot) {
782
789
  return slot;
783
790
  }
@@ -790,21 +797,21 @@ function getSlot(vnode) {
790
797
  return vnode.componentInstance ? vnode.componentInstance : slot;
791
798
  }
792
799
  // Get the Vue3 slot template from the root or current Vue component.
793
- function getVue3Slot(vueInstance, templateElement, root) {
800
+ function getCurrentVueSlot(vueInstance, templateElement, root) {
794
801
  if (!vueInstance && !(root && root.vueInstance)) {
795
802
  return undefined;
796
803
  }
797
804
  let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;
798
- return getVue3ChildSlot(slots, templateElement);
805
+ return getChildVueSlot(slots, templateElement);
799
806
  }
800
- function getVue3ChildSlot(slots, templateElement) {
807
+ function getChildVueSlot(slots, templateElement) {
801
808
  if (slots && slots[templateElement]) {
802
809
  return slots;
803
810
  }
804
811
  else if (slots && slots.default) {
805
812
  let childSlots = slots.default();
806
813
  for (let i = 0; i < childSlots.length; i++) {
807
- let slot = getVue3ChildSlot(childSlots[i].children, templateElement);
814
+ let slot = getChildVueSlot(childSlots[i].children, templateElement);
808
815
  if (slot) {
809
816
  return slot;
810
817
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/component-decorator.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nimport * as Vue3 from 'vue-class-component';\nimport * as Vue2 from 'vue';\nimport Vue from 'vue';\nexport const aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nexport const allVue = aVue;\nexport const gh = allVue.h;\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nexport class ComponentBase extends vueImport {\n constructor() {\n super(arguments);\n this.hasInjectedModules = false;\n this.hasChildDirective = false;\n this.childDirObjects = '';\n this.isDecorator = false;\n }\n created() {\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables && injectables.managed) {\n this.isDecorator = true;\n prevModule = this.getInjectedServices() || [];\n }\n else if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n }\n mounted() {\n let cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (gh && cusEle) {\n for (let i = 0; i < cusEle.length; i++) {\n cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);\n }\n }\n this.ej2Instances.isVue = true;\n this.ej2Instances.isVue3 = this.isVue3;\n this.ej2Instances.vueInstance = this;\n if (this.isVue3) {\n this.ej2Instances.ej2Instances = this.ej2Instances;\n this.ej2Instances.referModels = this.models;\n }\n this.ej2Instances.appendTo(this.$el);\n }\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$root && this.isDecorator) {\n provide = getValue('$root.$options.provide', this);\n }\n else if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n let provideKey = provide.managed;\n let provideValue = Object.keys(provideKey);\n let key;\n if (this.$root && this.isDecorator) {\n key = Object.keys(this.$root);\n }\n else if (this.$vnode) {\n key = Object.keys(this.$vnode.context);\n }\n else if (this.$parent) {\n key = Object.keys(this.$parent);\n }\n for (let i = 0; i < provideValue.length; i++) {\n for (let j = 0; j < key.length; j++) {\n if ((key[j].indexOf(provideValue[i])) !== -1) {\n if (this.$root && this.isDecorator) {\n provideKey[provideValue[j]] = this.$root[key[i]];\n }\n else if (this.$vnode) {\n provideKey[provideValue[i]] = this.$vnode.context[key[j]];\n }\n else if (this.$parent) {\n provideKey[provideValue[i]] = this.$parent[key[j]];\n }\n injectables = provideKey;\n }\n }\n }\n }\n // tslint:disable:no-any\n else if (this.$vnode) {\n injectables = this.$vnode.context.$options.provide();\n }\n else if (this.$parent) {\n injectables = this.$parent.$options.provide();\n }\n }\n ret = injectables[this.ej2Instances.getModuleName()] || [];\n }\n this.isDecorator = false;\n return ret;\n }\n updated() {\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n }\n beforeDestroy() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n }\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if ((!isNullOrUndefined(this[prop]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][prop]))) {\n options[prop] = !this.isVue3 ? this[prop] : this[0][0][prop];\n }\n }\n if (this.hasChildDirective) {\n this.fetchChildPropValues(options);\n }\n if (this.hasInjectedModules) {\n let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n }\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n }\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n let propRef;\n if (this[0] && this[0][1].slots.default) {\n propRef = this[0][1].slots.default();\n }\n else if (this && this.$) {\n if (this.$.slots) {\n propRef = this.$.slots.default();\n }\n }\n if (propRef) {\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n let key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[i].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n else if (controlName == \"schedule\" && keyRef == \"header\") {\n keyRef = \"headerRows\";\n }\n dirProps[keyRef] = ref[key];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[dirProp] = dirProps[dirProp];\n }\n }\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[tagName] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[i];\n tempObj[key] = innerDirValues[key];\n }\n ;\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n tempObj[key] = childSlot.props[key];\n });\n }\n if ((/[s]\\b/).test(tagRef) && innerDirValues) {\n if (!(/[s]\\b/).test(tagName) || innerDirValues.length) {\n items[tagName] = tempObj;\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n return items;\n }\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find((key) => tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if (!items[tag]) {\n items[tag] = [];\n }\n if (innerDirValues.length > 1) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n if (slot.length > 1) {\n items = Object.keys(items).length == 0 && !items.length ? [] : items;\n if (childSlot.props) {\n items.push(childSlot.props);\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if ((/[s]\\b/).test(tag) || slot.length > 1) {\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n else if (innerDirValues) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (slot.length > 1 && childSlot.props) {\n if (items.length >= 0) {\n items.push(childSlot.props);\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveMultilevelComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n }\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n if (childSlot.props) {\n items[tag].push(childSlot.props);\n }\n }\n else {\n items = innerDirValues;\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n getDirectiveValues(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n let dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (let tagDirChild of tagDirective.componentOptions.children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[dirTag], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n }\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n if (tagDir.componentOptions) {\n let key = tagDir.componentOptions.tag;\n let tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (let tagDirChild of tagDir.componentOptions.children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[key], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n }\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions) {\n let dirTag = tagDirective.componentOptions.tag;\n if (typeof tagKey === 'string' && dirTag === tagKey && tagDirective.data) {\n ret = tagDirective.data.attrs ? this.getCamelCaseProps(tagDirective.data.attrs) : this.getCamelCaseProps(tagDirective.data);\n }\n else if (typeof tagKey === 'object') {\n if (tagDirective.componentOptions.children && (Object.keys(tagKey).indexOf(dirTag) !== -1)) {\n ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[dirTag], tagNameMapper);\n }\n if (tagDirective.data && tagDirective.data.attrs) {\n ret = extend(ret, this.getCamelCaseProps(tagDirective.data.attrs));\n }\n }\n }\n return ret;\n }\n /**\n * convert kebab case directive props to camel case\n */\n getCamelCaseProps(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n }\n dataBind() {\n this.ej2Instances.dataBind();\n }\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n }\n}\n","/**\n * Vue Component Base\n */\nimport Vue from 'vue';\n// import { Base, Component as EJ2Component, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase } from './component-base';\nexport let $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured' // 2.5\n];\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\nexport function EJComponentDecorator(options, isExecute) {\n if (!isExecute) {\n return;\n }\n return function (Component) {\n return EJcomponentFactory(Component, options);\n };\n}\nexport function EJcomponentFactory(Component, options = {}) {\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n const proto = Component.prototype;\n if (options.props) {\n for (let prop of options.props) {\n (options.props || (options.props = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n // hooks\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n // methods\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n Object.getOwnPropertyNames(ComponentBase.prototype).forEach(function (key) {\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data() {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n const decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n const superProto = Object.getPrototypeOf(Component.prototype);\n const Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n const Extended = Super.extend(options);\n return Extended;\n}\nfunction collectDataFromConstructor(vm, Component) {\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; }\n });\n }\n });\n };\n var data = new Component();\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\n","import Vue from \"vue\";\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue, } from \"@syncfusion/ej2-base\";\nimport { allVue, gh } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n return (data, context, propName, element, root) => {\n let returnEle;\n if (context) {\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n if (gh && typeof templateElement === \"string\") {\n let vue3Slots = getVue3Slot(context.vueInstance, templateElement, root);\n if (vue3Slots) {\n // Compilation for Vue 3 slot template\n allVue\n .createApp({\n render() {\n return vue3Slots[templateElement]({ data: data });\n }\n })\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 3 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else if (gh) {\n // Compilation for Vue 3 functional template\n let tempObj = templateElement.call(that, {});\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n if (!templateCompRef) {\n let key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[key];\n }\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n let tempRef2 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2; };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n allVue\n .createApp(templateCompRef)\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n let vue2Slots = getVue2Slot(context.vueInstance, templateElement, root);\n if (vue2Slots) {\n // Compilation for Vue 2 slot template\n let vueTemplate = new Vue({\n render() {\n return vue2Slots[templateElement]({ data: data });\n }\n });\n vueTemplate.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 2 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else {\n // Compilation for Vue 2 functional template\n let tempObj = templateElement.call(that, {});\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[propName]) {\n templateInstance[propName] = [];\n }\n templateInstance[propName].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n}\nsetTemplateEngine({ compile: compile });\n// Get the Vue2 slot template from the root or current Vue component.\nfunction getVue2Slot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVue2ChildSlot(instance, templateElement);\n}\nfunction getVue2ChildSlot(vueInstance, templateElement) {\n if (!vueInstance) {\n return undefined;\n }\n let slots = vueInstance.$slots;\n let scopedSlots = vueInstance.$scopedSlots;\n let vSlots = vueInstance.scopedSlots;\n let children = vueInstance.children;\n if (scopedSlots && scopedSlots[templateElement]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default;\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n else if (vSlots && vSlots[templateElement]) {\n return vSlots;\n }\n else if (children) {\n for (let i = 0; i < children.length; i++) {\n let slot = getVue2ChildSlot(getSlot(children[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\nfunction getSlot(vnode) {\n let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;\n return vnode.componentInstance ? vnode.componentInstance : slot;\n}\n// Get the Vue3 slot template from the root or current Vue component.\nfunction getVue3Slot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;\n return getVue3ChildSlot(slots, templateElement);\n}\nfunction getVue3ChildSlot(slots, templateElement) {\n if (slots && slots[templateElement]) {\n return slots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default();\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVue3ChildSlot(childSlots[i].children, templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n","/**\n * index for component base\n */\nexport * from './component-base';\nexport * from './component-decorator';\nexport * from './template';\n"],"names":["Vue2","Vue3.Vue","Vue","isExecute"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/component-decorator.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nimport * as Vue3 from 'vue-class-component';\nimport * as Vue2 from 'vue';\nimport Vue from 'vue';\nexport const aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nexport const allVue = aVue;\nexport const gh = allVue.h;\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nexport class ComponentBase extends vueImport {\n constructor() {\n super(arguments);\n this.hasInjectedModules = false;\n this.hasChildDirective = false;\n this.childDirObjects = '';\n this.isDecorator = false;\n }\n created() {\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables && injectables.managed) {\n this.isDecorator = true;\n prevModule = this.getInjectedServices() || [];\n }\n else if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n }\n mounted() {\n let cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (gh && cusEle) {\n for (let i = 0; i < cusEle.length; i++) {\n cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);\n }\n }\n this.ej2Instances.isVue = true;\n this.ej2Instances.isVue3 = this.isVue3;\n this.ej2Instances.vueInstance = this;\n if (this.isVue3) {\n this.ej2Instances.ej2Instances = this.ej2Instances;\n this.ej2Instances.referModels = this.models;\n }\n this.ej2Instances.appendTo(this.$el);\n }\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$root && this.isDecorator) {\n provide = getValue('$root.$options.provide', this);\n }\n else if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n let provideKey = provide.managed;\n let provideValue = Object.keys(provideKey);\n let key;\n if (this.$root && this.isDecorator) {\n key = Object.keys(this.$root);\n }\n else if (this.$vnode) {\n key = Object.keys(this.$vnode.context);\n }\n else if (this.$parent) {\n key = Object.keys(this.$parent);\n }\n for (let i = 0; i < provideValue.length; i++) {\n for (let j = 0; j < key.length; j++) {\n if ((key[j].indexOf(provideValue[i])) !== -1) {\n if (this.$root && this.isDecorator) {\n provideKey[provideValue[j]] = this.$root[key[i]];\n }\n else if (this.$vnode) {\n provideKey[provideValue[i]] = this.$vnode.context[key[j]];\n }\n else if (this.$parent) {\n provideKey[provideValue[i]] = this.$parent[key[j]];\n }\n injectables = provideKey;\n }\n }\n }\n }\n // tslint:disable:no-any\n else if (this.$vnode) {\n injectables = this.$vnode.context.$options.provide();\n }\n else if (this.$parent) {\n injectables = this.$parent.$options.provide();\n }\n }\n ret = injectables[this.ej2Instances.getModuleName()] || [];\n }\n this.isDecorator = false;\n return ret;\n }\n updated() {\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n }\n beforeDestroy() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n }\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if ((!isNullOrUndefined(this[prop]) && !this.isVue3) || (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][prop]))) {\n options[prop] = !this.isVue3 ? this[prop] : this[0][0][prop];\n }\n }\n if (this.hasChildDirective) {\n this.fetchChildPropValues(options);\n }\n if (this.hasInjectedModules) {\n let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n }\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n }\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n let propRef;\n if (this[0] && this[0][1].slots.default) {\n propRef = this[0][1].slots.default();\n }\n else if (this && this.$ && this.$.slots && this.$.slots.default) {\n propRef = this.$.slots.default();\n }\n if (propRef) {\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n let key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[i].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n else if (controlName == \"schedule\" && keyRef == \"header\") {\n keyRef = \"headerRows\";\n }\n dirProps[keyRef] = ref[key];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[dirProp] = dirProps[dirProp];\n }\n }\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[tagName] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[i];\n tempObj[key] = innerDirValues[key];\n }\n ;\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n tempObj[key] = childSlot.props[key];\n });\n }\n if ((/[s]\\b/).test(tagRef) && innerDirValues) {\n if (!(/[s]\\b/).test(tagName) || innerDirValues.length) {\n items[tagName] = tempObj;\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n else {\n items[tagName].push(tempObj);\n }\n }\n return items;\n }\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find((key) => tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if (!items[tag]) {\n items[tag] = [];\n }\n if (innerDirValues.length > 1) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n if (slot.length > 1) {\n items = Object.keys(items).length == 0 && !items.length ? [] : items;\n if (childSlot.props) {\n items.push(childSlot.props);\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveMultilevelComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n if ((/[s]\\b/).test(tag) || slot.length > 1) {\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n }\n else if (innerDirValues) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (slot.length > 1 && childSlot.props) {\n if (items.length >= 0) {\n items.push(childSlot.props);\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n else {\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n resolveMultilevelComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let tag = childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[tagName], childSlot.type.methods.getTag());\n }\n if ((/[s]\\b/).test(tag)) {\n items[tag] = !items[tag] ? [] : items[tag];\n if (innerDirValues.length) {\n items[tag] = innerDirValues;\n }\n else {\n items[tag].push(innerDirValues);\n }\n if (childSlot.props) {\n items[tag].push(childSlot.props);\n }\n }\n else {\n items = innerDirValues;\n items = childSlot.props ? Object.assign(items, childSlot.props) : items;\n }\n }\n return items;\n }\n getDirectiveValues(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n let dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (let tagDirChild of tagDirective.componentOptions.children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[dirTag], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n }\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n if (tagDir.componentOptions) {\n let key = tagDir.componentOptions.tag;\n let tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (let tagDirChild of tagDir.componentOptions.children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[key], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n }\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions) {\n let dirTag = tagDirective.componentOptions.tag;\n if (typeof tagKey === 'string' && dirTag === tagKey && tagDirective.data) {\n ret = tagDirective.data.attrs ? this.getCamelCaseProps(tagDirective.data.attrs) : this.getCamelCaseProps(tagDirective.data);\n }\n else if (typeof tagKey === 'object') {\n if (tagDirective.componentOptions.children && (Object.keys(tagKey).indexOf(dirTag) !== -1)) {\n ret = this.getMultiLevelDirValue(tagDirective.componentOptions.children, tagKey[dirTag], tagNameMapper);\n }\n if (tagDirective.data && tagDirective.data.attrs) {\n ret = extend(ret, this.getCamelCaseProps(tagDirective.data.attrs));\n }\n }\n }\n return ret;\n }\n /**\n * convert kebab case directive props to camel case\n */\n getCamelCaseProps(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n }\n dataBind() {\n this.ej2Instances.dataBind();\n }\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n }\n}\n","/**\n * Vue Component Base\n */\nimport Vue from 'vue';\n// import { Base, Component as EJ2Component, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase } from './component-base';\nexport let $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured' // 2.5\n];\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\nexport function EJComponentDecorator(options, isExecute) {\n if (!isExecute) {\n return;\n }\n return function (Component) {\n return EJcomponentFactory(Component, options);\n };\n}\nexport function EJcomponentFactory(Component, options = {}) {\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n const proto = Component.prototype;\n if (options.props) {\n for (let prop of options.props) {\n (options.props || (options.props = {}))[prop] = {};\n (options.watch || (options.watch = {}))[prop] = function (newVal) {\n this.ej2Instances[prop] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n // hooks\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n // methods\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n Object.getOwnPropertyNames(ComponentBase.prototype).forEach(function (key) {\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data() {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n const decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n const superProto = Object.getPrototypeOf(Component.prototype);\n const Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n const Extended = Super.extend(options);\n return Extended;\n}\nfunction collectDataFromConstructor(vm, Component) {\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; }\n });\n }\n });\n };\n var data = new Component();\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\n","import Vue from \"vue\";\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue, } from \"@syncfusion/ej2-base\";\nimport { allVue, gh } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n return (data, context, propName, element, root) => {\n let returnEle;\n if (context) {\n let plugins = context.vueInstance ? context.vueInstance.plugins : null;\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n if (gh && typeof templateElement === \"string\") {\n let vueSlot = getCurrentVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Compilation for Vue 3 slot template\n let app = allVue.createApp({\n render() {\n return vueSlot[templateElement]({ data: data });\n }\n });\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[i]);\n }\n }\n app.mount((context.getModuleName() === 'grid') ? (\"#\" + pid) : (\"#\" + id));\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 3 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else if (gh) {\n // Compilation for Vue 3 functional template\n let tempObj = templateElement.call(that, {});\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n if (!templateCompRef) {\n let key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[key];\n }\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n let tempRef2 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2; };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n let app = allVue.createApp(templateCompRef);\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[i]);\n }\n }\n app.mount((context.getModuleName() === 'grid') ? (\"#\" + pid) : (\"#\" + id));\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n let vueSlot = getVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Compilation for Vue 2 slot template\n let vueTemplate = new Vue({\n render() {\n return vueSlot[templateElement]({ data: data });\n }\n });\n vueTemplate.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 2 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else {\n // Compilation for Vue 2 functional template\n let tempObj = templateElement.call(that, {});\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[propName]) {\n templateInstance[propName] = [];\n }\n templateInstance[propName].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n}\nsetTemplateEngine({ compile: compile });\n// Get the Vue2 slot template from the root or current Vue component.\nfunction getVueSlot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVueChildSlot(instance, templateElement);\n}\nfunction getVueChildSlot(vueInstance, templateElement) {\n if (!vueInstance) {\n return undefined;\n }\n let slots = vueInstance.$slots;\n let scopedSlots = vueInstance.$scopedSlots;\n let vSlots = vueInstance.scopedSlots;\n let children = vueInstance.children;\n if (scopedSlots && scopedSlots[templateElement]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default;\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVueChildSlot(getSlot(childSlots[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n else if (vSlots && vSlots[templateElement]) {\n return vSlots;\n }\n else if (children) {\n for (let i = 0; i < children.length; i++) {\n let slot = getVueChildSlot(getSlot(children[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\nfunction getSlot(vnode) {\n let slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;\n return vnode.componentInstance ? vnode.componentInstance : slot;\n}\n// Get the Vue3 slot template from the root or current Vue component.\nfunction getCurrentVueSlot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;\n return getChildVueSlot(slots, templateElement);\n}\nfunction getChildVueSlot(slots, templateElement) {\n if (slots && slots[templateElement]) {\n return slots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default();\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getChildVueSlot(childSlots[i].children, templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n","/**\n * index for component base\n */\nexport * from './component-base';\nexport * from './component-decorator';\nexport * from './template';\n"],"names":["Vue2","Vue3.Vue","Vue","isExecute"],"mappings":"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"}