@syncfusion/ej2-vue-base 19.4.52 → 20.1.47
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 +16 -0
- package/README.md +2 -4
- package/dist/ej2-vue-base.umd.min.js +1 -1
- package/dist/es6/ej2-vue-base.es2015.js +198 -75
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +202 -79
- 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 +25 -10
- package/src/component-base.js +15 -1
- package/src/template.d.ts +1 -1
- package/src/template.js +187 -78
|
@@ -91,6 +91,12 @@ var ComponentBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
ComponentBase.prototype.mounted = function () {
|
|
94
|
+
var cusEle = this.$el ? this.$el.querySelectorAll("div.e-directive") : null;
|
|
95
|
+
if (gh && cusEle) {
|
|
96
|
+
for (var i = 0; i < cusEle.length; i++) {
|
|
97
|
+
cusEle[i].parentElement && cusEle[i].parentElement.removeChild(cusEle[i]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
94
100
|
this.ej2Instances.isVue = true;
|
|
95
101
|
this.ej2Instances.isVue3 = this.isVue3;
|
|
96
102
|
this.ej2Instances.vueInstance = this;
|
|
@@ -175,8 +181,16 @@ var ComponentBase = /** @__PURE__ @class */ (function (_super) {
|
|
|
175
181
|
dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});
|
|
176
182
|
}
|
|
177
183
|
else {
|
|
184
|
+
var propRef = void 0;
|
|
178
185
|
if (this[0] && this[0][1].slots.default) {
|
|
179
|
-
|
|
186
|
+
propRef = this[0][1].slots.default();
|
|
187
|
+
}
|
|
188
|
+
else if (this && this.$) {
|
|
189
|
+
if (this.$.slots) {
|
|
190
|
+
propRef = this.$.slots.default();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (propRef) {
|
|
180
194
|
for (var i = 0; i < propRef.length; i++) {
|
|
181
195
|
if (propRef[i].type.methods) {
|
|
182
196
|
var key = propRef[i].type.methods.getTag().replace("e-", "");
|
|
@@ -606,11 +620,9 @@ function collectDataFromConstructor(vm, Component) {
|
|
|
606
620
|
var stringCompiler = getTemplateEngine();
|
|
607
621
|
function compile(templateElement, helper) {
|
|
608
622
|
var that = this;
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
else {
|
|
613
|
-
return function (data, context, propName) {
|
|
623
|
+
return function (data, context, propName, element, root) {
|
|
624
|
+
var returnEle;
|
|
625
|
+
if (context) {
|
|
614
626
|
var pid = getUniqueID("templateParentDiv");
|
|
615
627
|
var id = getUniqueID("templateDiv");
|
|
616
628
|
var ele = createElement("div", {
|
|
@@ -618,94 +630,205 @@ function compile(templateElement, helper) {
|
|
|
618
630
|
innerHTML: '<div id="' + id + '"></div>',
|
|
619
631
|
});
|
|
620
632
|
document.body.appendChild(ele);
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
var object = tempObj;
|
|
626
|
-
var propsData = getValue("template.propsData", tempObj);
|
|
627
|
-
var dataObj = {
|
|
628
|
-
data: { data: extend(tempObj.data || {}, data) },
|
|
629
|
-
parent: context.vueInstance,
|
|
630
|
-
};
|
|
631
|
-
if (!object.template) {
|
|
632
|
-
object.template = object[Object.keys(object)[0]];
|
|
633
|
-
}
|
|
634
|
-
var templateCompRef = void 0;
|
|
635
|
-
if (object.template.extends) {
|
|
636
|
-
templateCompRef = object.template.extends._context.components.template;
|
|
637
|
-
}
|
|
638
|
-
else {
|
|
639
|
-
templateCompRef = object.template._context.components[templateElement.name];
|
|
640
|
-
}
|
|
641
|
-
var tempRef_1;
|
|
642
|
-
if (propsData) {
|
|
643
|
-
tempRef_1 = Object.assign(templateCompRef.data(), propsData);
|
|
644
|
-
}
|
|
645
|
-
else {
|
|
646
|
-
tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);
|
|
647
|
-
if (templateCompRef.components) {
|
|
648
|
-
var objkeys = Object.keys(templateCompRef.components) || [];
|
|
649
|
-
var _loop_1 = function (objstring) {
|
|
650
|
-
var intComponent = templateCompRef.components[objstring];
|
|
651
|
-
if (intComponent && intComponent.data) {
|
|
652
|
-
var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);
|
|
653
|
-
intComponent.data = function () { return tempRef2_1; };
|
|
654
|
-
}
|
|
655
|
-
};
|
|
656
|
-
for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {
|
|
657
|
-
var objstring = objkeys_1[_i];
|
|
658
|
-
_loop_1(objstring);
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
}
|
|
662
|
-
templateCompRef.data = function () { return tempRef_1; };
|
|
633
|
+
if (gh && typeof templateElement === "string") {
|
|
634
|
+
var vue3Slots_1 = getVue3Slot(context.vueInstance, templateElement, root);
|
|
635
|
+
if (vue3Slots_1) {
|
|
636
|
+
// Compilation for Vue 3 slot template
|
|
663
637
|
allVue
|
|
664
|
-
.createApp(
|
|
638
|
+
.createApp({
|
|
639
|
+
render: function () {
|
|
640
|
+
return vue3Slots_1[templateElement]({ data: data });
|
|
641
|
+
}
|
|
642
|
+
})
|
|
665
643
|
.mount("#" + id);
|
|
666
644
|
returnEle = ele.childNodes;
|
|
667
645
|
detach(ele);
|
|
668
646
|
}
|
|
669
647
|
else {
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
648
|
+
// Compilation for Vue 3 string template
|
|
649
|
+
detach(ele);
|
|
650
|
+
return stringCompiler(templateElement, helper)(data);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
else if (gh) {
|
|
654
|
+
// Compilation for Vue 3 functional template
|
|
655
|
+
var tempObj = templateElement.call(that, {});
|
|
656
|
+
var object = tempObj;
|
|
657
|
+
var propsData = getValue("template.propsData", tempObj);
|
|
658
|
+
var dataObj = {
|
|
659
|
+
data: { data: extend(tempObj.data || {}, data) },
|
|
660
|
+
parent: context.vueInstance,
|
|
661
|
+
};
|
|
662
|
+
if (!object.template) {
|
|
663
|
+
object.template = object[Object.keys(object)[0]];
|
|
664
|
+
}
|
|
665
|
+
var templateCompRef = void 0;
|
|
666
|
+
if (object.template.extends) {
|
|
667
|
+
templateCompRef = object.template.extends._context.components.template;
|
|
668
|
+
}
|
|
669
|
+
else {
|
|
670
|
+
templateCompRef = object.template._context.components[templateElement.name];
|
|
671
|
+
if (!templateCompRef) {
|
|
672
|
+
var key = Object.keys(object.template._context.components)[0];
|
|
673
|
+
templateCompRef = object.template._context.components[key];
|
|
682
674
|
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
675
|
+
}
|
|
676
|
+
var tempRef_1;
|
|
677
|
+
if (propsData) {
|
|
678
|
+
tempRef_1 = Object.assign(templateCompRef.data(), propsData);
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);
|
|
682
|
+
if (templateCompRef.components) {
|
|
683
|
+
var objkeys = Object.keys(templateCompRef.components) || [];
|
|
684
|
+
var _loop_1 = function (objstring) {
|
|
685
|
+
var intComponent = templateCompRef.components[objstring];
|
|
686
|
+
if (intComponent && intComponent.data) {
|
|
687
|
+
var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);
|
|
688
|
+
intComponent.data = function () { return tempRef2_1; };
|
|
697
689
|
}
|
|
698
|
-
|
|
690
|
+
};
|
|
691
|
+
for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {
|
|
692
|
+
var objstring = objkeys_1[_i];
|
|
693
|
+
_loop_1(objstring);
|
|
699
694
|
}
|
|
700
695
|
}
|
|
696
|
+
}
|
|
697
|
+
templateCompRef.data = function () { return tempRef_1; };
|
|
698
|
+
allVue
|
|
699
|
+
.createApp(templateCompRef)
|
|
700
|
+
.mount("#" + id);
|
|
701
|
+
returnEle = ele.childNodes;
|
|
702
|
+
detach(ele);
|
|
703
|
+
}
|
|
704
|
+
else if (typeof templateElement === "string") {
|
|
705
|
+
var vue2Slots_1 = getVue2Slot(context.vueInstance, templateElement, root);
|
|
706
|
+
if (vue2Slots_1) {
|
|
707
|
+
// Compilation for Vue 2 slot template
|
|
708
|
+
var vueTemplate = new Vue$1__default({
|
|
709
|
+
render: function () {
|
|
710
|
+
return vue2Slots_1[templateElement]({ data: data });
|
|
711
|
+
}
|
|
712
|
+
});
|
|
713
|
+
vueTemplate.$mount("#" + id);
|
|
714
|
+
returnEle = ele.childNodes;
|
|
715
|
+
detach(ele);
|
|
716
|
+
}
|
|
717
|
+
else {
|
|
718
|
+
// Compilation for Vue 2 string template
|
|
701
719
|
detach(ele);
|
|
720
|
+
return stringCompiler(templateElement, helper)(data);
|
|
702
721
|
}
|
|
703
722
|
}
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
723
|
+
else {
|
|
724
|
+
// Compilation for Vue 2 functional template
|
|
725
|
+
var tempObj = templateElement.call(that, {});
|
|
726
|
+
var templateFunction = tempObj.template;
|
|
727
|
+
var propsData = getValue("template.propsData", tempObj);
|
|
728
|
+
var dataObj = {
|
|
729
|
+
data: { data: extend(tempObj.data || {}, data) },
|
|
730
|
+
parent: context.vueInstance,
|
|
731
|
+
};
|
|
732
|
+
if (propsData) {
|
|
733
|
+
templateFunction = tempObj.template.extends;
|
|
734
|
+
dataObj.propsData = propsData;
|
|
735
|
+
}
|
|
736
|
+
if (typeof templateFunction !== "function") {
|
|
737
|
+
templateFunction = Vue$1__default.extend(templateFunction);
|
|
738
|
+
}
|
|
739
|
+
var templateVue = new templateFunction(dataObj);
|
|
740
|
+
// let templateVue = new Vue(tempObj.template);
|
|
741
|
+
// templateVue.$data.data = extend(tempObj.data, data);
|
|
742
|
+
templateVue.$mount("#" + id);
|
|
743
|
+
returnEle = ele.childNodes;
|
|
744
|
+
if (context.vueInstance) {
|
|
745
|
+
var templateInstance = context.vueInstance.templateCollection;
|
|
746
|
+
if (!templateInstance) {
|
|
747
|
+
context.vueInstance.templateCollection = {};
|
|
748
|
+
templateInstance = context.vueInstance.templateCollection;
|
|
749
|
+
}
|
|
750
|
+
if (propName) {
|
|
751
|
+
if (!templateInstance[propName]) {
|
|
752
|
+
templateInstance[propName] = [];
|
|
753
|
+
}
|
|
754
|
+
templateInstance[propName].push(returnEle[0]);
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
detach(ele);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
return returnEle || [];
|
|
761
|
+
};
|
|
707
762
|
}
|
|
708
763
|
setTemplateEngine({ compile: compile });
|
|
764
|
+
// Get the Vue2 slot template from the root or current Vue component.
|
|
765
|
+
function getVue2Slot(vueInstance, templateElement, root) {
|
|
766
|
+
if (!vueInstance && !(root && root.vueInstance)) {
|
|
767
|
+
return undefined;
|
|
768
|
+
}
|
|
769
|
+
var instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;
|
|
770
|
+
return getVue2ChildSlot(instance, templateElement);
|
|
771
|
+
}
|
|
772
|
+
function getVue2ChildSlot(vueInstance, templateElement) {
|
|
773
|
+
if (!vueInstance) {
|
|
774
|
+
return undefined;
|
|
775
|
+
}
|
|
776
|
+
var slots = vueInstance.$slots;
|
|
777
|
+
var scopedSlots = vueInstance.$scopedSlots;
|
|
778
|
+
var vSlots = vueInstance.scopedSlots;
|
|
779
|
+
var children = vueInstance.children;
|
|
780
|
+
if (scopedSlots && scopedSlots[templateElement]) {
|
|
781
|
+
return scopedSlots;
|
|
782
|
+
}
|
|
783
|
+
else if (slots && slots.default) {
|
|
784
|
+
var childSlots = slots.default;
|
|
785
|
+
for (var i = 0; i < childSlots.length; i++) {
|
|
786
|
+
var slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);
|
|
787
|
+
if (slot) {
|
|
788
|
+
return slot;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
else if (vSlots && vSlots[templateElement]) {
|
|
793
|
+
return vSlots;
|
|
794
|
+
}
|
|
795
|
+
else if (children) {
|
|
796
|
+
for (var i = 0; i < children.length; i++) {
|
|
797
|
+
var slot = getVue2ChildSlot(getSlot(children[i]), templateElement);
|
|
798
|
+
if (slot) {
|
|
799
|
+
return slot;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
return undefined;
|
|
804
|
+
}
|
|
805
|
+
function getSlot(vnode) {
|
|
806
|
+
var slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;
|
|
807
|
+
return vnode.componentInstance ? vnode.componentInstance : slot;
|
|
808
|
+
}
|
|
809
|
+
// Get the Vue3 slot template from the root or current Vue component.
|
|
810
|
+
function getVue3Slot(vueInstance, templateElement, root) {
|
|
811
|
+
if (!vueInstance && !(root && root.vueInstance)) {
|
|
812
|
+
return undefined;
|
|
813
|
+
}
|
|
814
|
+
var slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;
|
|
815
|
+
return getVue3ChildSlot(slots, templateElement);
|
|
816
|
+
}
|
|
817
|
+
function getVue3ChildSlot(slots, templateElement) {
|
|
818
|
+
if (slots && slots[templateElement]) {
|
|
819
|
+
return slots;
|
|
820
|
+
}
|
|
821
|
+
else if (slots && slots.default) {
|
|
822
|
+
var childSlots = slots.default();
|
|
823
|
+
for (var i = 0; i < childSlots.length; i++) {
|
|
824
|
+
var slot = getVue3ChildSlot(childSlots[i].children, templateElement);
|
|
825
|
+
if (slot) {
|
|
826
|
+
return slot;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
return undefined;
|
|
831
|
+
}
|
|
709
832
|
|
|
710
833
|
/**
|
|
711
834
|
* index for component base
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-vue-base.es5.js","sources":["../../src/component-base.js","../../src/component-decorator.js","../../src/template.js","../../src/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\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 var aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n var newObj = {};\n if (obj != null) {\n for (var 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 var allVue = aVue;\nexport var gh = allVue.h;\nexport var isExecute = gh ? false : true;\nvar vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase() {\n var _this = _super.call(this, arguments) || this;\n _this.hasInjectedModules = false;\n _this.hasChildDirective = false;\n _this.childDirObjects = '';\n return _this;\n }\n ComponentBase.prototype.created = function () {\n var _this = this;\n if (!this.propKeys) {\n return;\n }\n var _loop_1 = function (prop) {\n this_1.ej2Instances.addEventListener(prop, function (args) {\n _this.$emit(prop, args);\n });\n };\n var this_1 = this;\n for (var _i = 0, _a = this.propKeys; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n var injectables = getValue('$root.$options.provide', this);\n var vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n var prevModule = [];\n if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n var curModule = this.ej2Instances.getInjectedModules() || [];\n for (var _b = 0, curModule_1 = curModule; _b < curModule_1.length; _b++) {\n var mod = curModule_1[_b];\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n };\n ComponentBase.prototype.mounted = function () {\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 ComponentBase.prototype.getInjectedServices = function () {\n var ret = [];\n var provide;\n 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 var injectables = provide;\n if (typeof provide === 'function') {\n // tslint:disable:no-any\n 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 return ret;\n };\n ComponentBase.prototype.updated = function () {\n if (this.hasChildDirective) {\n var childKey = {};\n this.fetchChildPropValues(childKey);\n var curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n };\n ComponentBase.prototype.beforeDestroy = function () {\n var tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n };\n ComponentBase.prototype.bindProperties = function () {\n var options = {};\n for (var _i = 0, _a = this.propKeys; _i < _a.length; _i++) {\n var prop = _a[_i];\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 var prevModule = this.getInjectedServices() || [];\n var curModule = this.ej2Instances.getInjectedModules() || [];\n for (var _b = 0, curModule_2 = curModule; _b < curModule_2.length; _b++) {\n var mod = curModule_2[_b];\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n };\n ComponentBase.prototype.assignValueToWrapper = function (option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n };\n ComponentBase.prototype.fetchChildPropValues = function (childOption) {\n var dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n if (this[0] && this[0][1].slots.default) {\n var propRef = this[0][1].slots.default();\n for (var i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n var key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n var ref = this.resolveArrayDirectives(propRef[i].children, key);\n var splitKeys = key.split('-');\n var controlName = this.ej2Instances.getModuleName().toLowerCase();\n var 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 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 (var _i = 0, _a = Object.keys(dirProps); _i < _a.length; _i++) {\n var dirProp = _a[_i];\n childOption[dirProp] = dirProps[dirProp];\n }\n };\n ComponentBase.prototype.resolveArrayDirectives = function (slots, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = {};\n items[tagName] = [];\n var _loop_2 = function (childSlot) {\n var tempObj = {};\n var tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n var key = void 0;\n innerDirValues = this_2.resolveComplexDirs(childSlot.children, this_2.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(function (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 var this_2 = this;\n for (var _i = 0, slot_1 = slot; _i < slot_1.length; _i++) {\n var childSlot = slot_1[_i];\n _loop_2(childSlot);\n }\n return items;\n };\n ComponentBase.prototype.resolveComplexDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = {};\n var _loop_3 = function (childSlot) {\n var tagRef = void 0;\n var tag = void 0;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find(function (key) {\n return tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\");\n });\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this_3.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this_3.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 var this_3 = this;\n for (var _i = 0, slot_2 = slot; _i < slot_2.length; _i++) {\n var childSlot = slot_2[_i];\n _loop_3(childSlot);\n }\n return items;\n };\n ComponentBase.prototype.resolveComplexInnerDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = slot.length > 1 ? [] : {};\n for (var _i = 0, slot_3 = slot; _i < slot_3.length; _i++) {\n var childSlot = slot_3[_i];\n var 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 ComponentBase.prototype.resolveMultilevelComplexInnerDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = slot.length > 1 ? [] : {};\n for (var _i = 0, slot_4 = slot; _i < slot_4.length; _i++) {\n var childSlot = slot_4[_i];\n var 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 ComponentBase.prototype.getDirectiveValues = function (tagDirectives, tagMapper, tagNameMapper) {\n var keyTags = Object.keys(tagMapper);\n var dir = {};\n if (tagDirectives) {\n for (var _i = 0, tagDirectives_1 = tagDirectives; _i < tagDirectives_1.length; _i++) {\n var tagDirective = tagDirectives_1[_i];\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n var dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n var tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (var _a = 0, _b = tagDirective.componentOptions.children; _a < _b.length; _a++) {\n var tagDirChild = _b[_a];\n var 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 ComponentBase.prototype.getMultiLevelDirValue = function (tagDirectories, tagKey, tagNameMapper) {\n var mulObj = {};\n for (var _i = 0, tagDirectories_1 = tagDirectories; _i < tagDirectories_1.length; _i++) {\n var tagDir = tagDirectories_1[_i];\n if (tagDir.componentOptions) {\n var key = tagDir.componentOptions.tag;\n var tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (var _a = 0, _b = tagDir.componentOptions.children; _a < _b.length; _a++) {\n var tagDirChild = _b[_a];\n var 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 ComponentBase.prototype.getVNodeValue = function (tagDirective, tagKey, tagNameMapper) {\n var ret = {};\n if (tagDirective.componentOptions) {\n var 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 ComponentBase.prototype.getCamelCaseProps = function (props) {\n var retProps = {};\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var prop = _a[_i];\n retProps[prop.replace(/-[a-z]/g, function (e) { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n };\n ComponentBase.prototype.dataBind = function () {\n this.ej2Instances.dataBind();\n };\n ComponentBase.prototype.setProperties = function (arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n };\n return ComponentBase;\n}(vueImport));\nexport { ComponentBase };\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 var $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 === void 0) { options = {}; }\n if (options.props) {\n var _loop_1 = function (prop) {\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 for (var _i = 0, _a = options.props; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\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 if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n var proto = Component.prototype;\n if (options.props) {\n var _loop_2 = function (prop) {\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 for (var _i = 0, _a = options.props; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_2(prop);\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 var 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: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var 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\nvar stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n var that = this;\n if (typeof templateElement === \"string\") {\n return stringCompiler(templateElement, helper);\n }\n else {\n return function (data, context, propName) {\n var pid = getUniqueID(\"templateParentDiv\");\n var id = getUniqueID(\"templateDiv\");\n var ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n var tempObj = templateElement.call(that, {});\n var returnEle;\n if (context) {\n if (gh) {\n var object = tempObj;\n var propsData = getValue(\"template.propsData\", tempObj);\n var 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 var templateCompRef = void 0;\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 }\n var tempRef_1;\n if (propsData) {\n tempRef_1 = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n var objkeys = Object.keys(templateCompRef.components) || [];\n var _loop_1 = function (objstring) {\n var intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2_1; };\n }\n };\n for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {\n var objstring = objkeys_1[_i];\n _loop_1(objstring);\n }\n }\n }\n templateCompRef.data = function () { return tempRef_1; };\n allVue\n .createApp(templateCompRef)\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n var templateFunction = tempObj.template;\n var propsData = getValue(\"template.propsData\", tempObj);\n var 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 var 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 var 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 }\n}\nsetTemplateEngine({ compile: compile });\n","/**\n * index for component base\n */\nexport * from './component-base';\nexport * from './component-decorator';\nexport * from './template';\n"],"names":["this","Vue2","Vue3.Vue","Vue","isExecute"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ej2-vue-base.es5.js","sources":["../../src/component-base.js","../../src/component-decorator.js","../../src/template.js","../../src/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\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 var aVue = _interopRequireWildcard(Vue2);\nexport function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n else {\n var newObj = {};\n if (obj != null) {\n for (var 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 var allVue = aVue;\nexport var gh = allVue.h;\nexport var isExecute = gh ? false : true;\nvar vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase() {\n var _this = _super.call(this, arguments) || this;\n _this.hasInjectedModules = false;\n _this.hasChildDirective = false;\n _this.childDirObjects = '';\n return _this;\n }\n ComponentBase.prototype.created = function () {\n var _this = this;\n if (!this.propKeys) {\n return;\n }\n var _loop_1 = function (prop) {\n this_1.ej2Instances.addEventListener(prop, function (args) {\n _this.$emit(prop, args);\n });\n };\n var this_1 = this;\n for (var _i = 0, _a = this.propKeys; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n var injectables = getValue('$root.$options.provide', this);\n var vueInjectables = getValue('$parent.$options.provide', this);\n if (this.hasInjectedModules && !isExecute) {\n var prevModule = [];\n if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n var curModule = this.ej2Instances.getInjectedModules() || [];\n for (var _b = 0, curModule_1 = curModule; _b < curModule_1.length; _b++) {\n var mod = curModule_1[_b];\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n };\n ComponentBase.prototype.mounted = function () {\n var cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (gh && cusEle) {\n for (var 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 ComponentBase.prototype.getInjectedServices = function () {\n var ret = [];\n var provide;\n 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 var injectables = provide;\n if (typeof provide === 'function') {\n // tslint:disable:no-any\n 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 return ret;\n };\n ComponentBase.prototype.updated = function () {\n if (this.hasChildDirective) {\n var childKey = {};\n this.fetchChildPropValues(childKey);\n var curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n };\n ComponentBase.prototype.beforeDestroy = function () {\n var tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n };\n ComponentBase.prototype.bindProperties = function () {\n var options = {};\n for (var _i = 0, _a = this.propKeys; _i < _a.length; _i++) {\n var prop = _a[_i];\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 var prevModule = this.getInjectedServices() || [];\n var curModule = this.ej2Instances.getInjectedModules() || [];\n for (var _b = 0, curModule_2 = curModule; _b < curModule_2.length; _b++) {\n var mod = curModule_2[_b];\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n };\n ComponentBase.prototype.assignValueToWrapper = function (option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n };\n ComponentBase.prototype.fetchChildPropValues = function (childOption) {\n var dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n var propRef = void 0;\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 (var i = 0; i < propRef.length; i++) {\n if (propRef[i].type.methods) {\n var key = propRef[i].type.methods.getTag().replace(\"e-\", \"\");\n var ref = this.resolveArrayDirectives(propRef[i].children, key);\n var splitKeys = key.split('-');\n var controlName = this.ej2Instances.getModuleName().toLowerCase();\n var 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 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 (var _i = 0, _a = Object.keys(dirProps); _i < _a.length; _i++) {\n var dirProp = _a[_i];\n childOption[dirProp] = dirProps[dirProp];\n }\n };\n ComponentBase.prototype.resolveArrayDirectives = function (slots, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = {};\n items[tagName] = [];\n var _loop_2 = function (childSlot) {\n var tempObj = {};\n var tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n var key = void 0;\n innerDirValues = this_2.resolveComplexDirs(childSlot.children, this_2.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(function (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 var this_2 = this;\n for (var _i = 0, slot_1 = slot; _i < slot_1.length; _i++) {\n var childSlot = slot_1[_i];\n _loop_2(childSlot);\n }\n return items;\n };\n ComponentBase.prototype.resolveComplexDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = {};\n var _loop_3 = function (childSlot) {\n var tagRef = void 0;\n var tag = void 0;\n if (tagObject[tagName]) {\n tagRef = Object.keys(tagObject[tagName]);\n tag = tagRef.find(function (key) {\n return tagObject[tagName][key] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\");\n });\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(\"e-\", \"\");\n if (this_3.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this_3.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 var this_3 = this;\n for (var _i = 0, slot_2 = slot; _i < slot_2.length; _i++) {\n var childSlot = slot_2[_i];\n _loop_3(childSlot);\n }\n return items;\n };\n ComponentBase.prototype.resolveComplexInnerDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = slot.length > 1 ? [] : {};\n for (var _i = 0, slot_3 = slot; _i < slot_3.length; _i++) {\n var childSlot = slot_3[_i];\n var 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 ComponentBase.prototype.resolveMultilevelComplexInnerDirs = function (slots, tagObject, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n var items = slot.length > 1 ? [] : {};\n for (var _i = 0, slot_4 = slot; _i < slot_4.length; _i++) {\n var childSlot = slot_4[_i];\n var 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 ComponentBase.prototype.getDirectiveValues = function (tagDirectives, tagMapper, tagNameMapper) {\n var keyTags = Object.keys(tagMapper);\n var dir = {};\n if (tagDirectives) {\n for (var _i = 0, tagDirectives_1 = tagDirectives; _i < tagDirectives_1.length; _i++) {\n var tagDirective = tagDirectives_1[_i];\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag) {\n var dirTag = tagDirective.componentOptions.tag;\n if (keyTags.indexOf(dirTag) !== -1) {\n var tagName = tagNameMapper[dirTag] ? tagNameMapper[dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n for (var _a = 0, _b = tagDirective.componentOptions.children; _a < _b.length; _a++) {\n var tagDirChild = _b[_a];\n var 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 ComponentBase.prototype.getMultiLevelDirValue = function (tagDirectories, tagKey, tagNameMapper) {\n var mulObj = {};\n for (var _i = 0, tagDirectories_1 = tagDirectories; _i < tagDirectories_1.length; _i++) {\n var tagDir = tagDirectories_1[_i];\n if (tagDir.componentOptions) {\n var key = tagDir.componentOptions.tag;\n var tagName = tagNameMapper[key] ? tagNameMapper[key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (tagDir.componentOptions && tagDir.componentOptions.children) {\n for (var _a = 0, _b = tagDir.componentOptions.children; _a < _b.length; _a++) {\n var tagDirChild = _b[_a];\n var 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 ComponentBase.prototype.getVNodeValue = function (tagDirective, tagKey, tagNameMapper) {\n var ret = {};\n if (tagDirective.componentOptions) {\n var 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 ComponentBase.prototype.getCamelCaseProps = function (props) {\n var retProps = {};\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var prop = _a[_i];\n retProps[prop.replace(/-[a-z]/g, function (e) { return e[1].toUpperCase(); })] = props[prop];\n }\n return retProps;\n };\n ComponentBase.prototype.dataBind = function () {\n this.ej2Instances.dataBind();\n };\n ComponentBase.prototype.setProperties = function (arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n };\n return ComponentBase;\n}(vueImport));\nexport { ComponentBase };\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 var $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 === void 0) { options = {}; }\n if (options.props) {\n var _loop_1 = function (prop) {\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 for (var _i = 0, _a = options.props; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\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 if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n var proto = Component.prototype;\n if (options.props) {\n var _loop_2 = function (prop) {\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 for (var _i = 0, _a = options.props; _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_2(prop);\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 var 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: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(Function(options));\n delete Component.__decorators__;\n }\n // find super\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var 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\nvar stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n var that = this;\n return function (data, context, propName, element, root) {\n var returnEle;\n if (context) {\n var pid = getUniqueID(\"templateParentDiv\");\n var id = getUniqueID(\"templateDiv\");\n var 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 var vue3Slots_1 = getVue3Slot(context.vueInstance, templateElement, root);\n if (vue3Slots_1) {\n // Compilation for Vue 3 slot template\n allVue\n .createApp({\n render: function () {\n return vue3Slots_1[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 var tempObj = templateElement.call(that, {});\n var object = tempObj;\n var propsData = getValue(\"template.propsData\", tempObj);\n var 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 var templateCompRef = void 0;\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 var key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[key];\n }\n }\n var tempRef_1;\n if (propsData) {\n tempRef_1 = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n var objkeys = Object.keys(templateCompRef.components) || [];\n var _loop_1 = function (objstring) {\n var intComponent = templateCompRef.components[objstring];\n if (intComponent && intComponent.data) {\n var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2_1; };\n }\n };\n for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {\n var objstring = objkeys_1[_i];\n _loop_1(objstring);\n }\n }\n }\n templateCompRef.data = function () { return tempRef_1; };\n allVue\n .createApp(templateCompRef)\n .mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n var vue2Slots_1 = getVue2Slot(context.vueInstance, templateElement, root);\n if (vue2Slots_1) {\n // Compilation for Vue 2 slot template\n var vueTemplate = new Vue({\n render: function () {\n return vue2Slots_1[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 var tempObj = templateElement.call(that, {});\n var templateFunction = tempObj.template;\n var propsData = getValue(\"template.propsData\", tempObj);\n var 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 var 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 var 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 var 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 var slots = vueInstance.$slots;\n var scopedSlots = vueInstance.$scopedSlots;\n var vSlots = vueInstance.scopedSlots;\n var children = vueInstance.children;\n if (scopedSlots && scopedSlots[templateElement]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n var childSlots = slots.default;\n for (var i = 0; i < childSlots.length; i++) {\n var 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 (var i = 0; i < children.length; i++) {\n var slot = getVue2ChildSlot(getSlot(children[i]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\nfunction getSlot(vnode) {\n var 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 var 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 var childSlots = slots.default();\n for (var i = 0; i < childSlots.length; i++) {\n var 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":["this","Vue2","Vue3.Vue","Vue","isExecute"],"mappings":"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"}
|