@syncfusion/ej2-vue-base 25.2.3 → 26.1.35-750253
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/.eslintrc.json +261 -0
- package/dist/ej2-vue-base.umd.min.js +2 -2
- package/dist/ej2-vue-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-vue-base.es2015.js +255 -143
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +194 -80
- 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 +11 -8
- package/src/component-base.d.ts +12 -4
- package/src/component-base.js +89 -47
- package/src/template.d.ts +7 -0
- package/src/template.js +110 -28
- package/tslint.json +111 -0
- package/CHANGELOG.md +0 -348
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-vue-base.umd.min.js","sources":["../src/template.js","../src/component-base.js"],"sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue } from \"@syncfusion/ej2-base\";\nimport { aVue as Vue, isExecute } 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 plugins = context.vueInstance && context.vueInstance.plugins ? { plugins: context.vueInstance.plugins } : {};\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 (!isExecute && (typeof templateElement === \"string\" || (templateElement.prototype && templateElement.prototype.CSPTemplate && typeof templateElement === 'function'))) {\n var vueSlot_1 = getCurrentVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot_1) {\n // Compilation for Vue 3 slot template\n var app = Vue.createVNode({\n render: function () {\n return vueSlot_1[\"\" + templateElement]({ data: data });\n }\n }, plugins);\n ele.innerHTML = '';\n // Get values for Vue 3 slot template\n getValues(app, context.vueInstance, root);\n Vue.render(app, ele);\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 (!isExecute) {\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_1 = {\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 if (templateCompRef.setup) {\n tempRef_1 = Object.assign({}, propsData);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), propsData);\n }\n }\n else {\n if (templateCompRef.setup) {\n tempRef_1 = Object.assign({}, dataObj_1.data);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), dataObj_1.data);\n }\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 if (!intComponent.__data)\n intComponent.__data = intComponent.data;\n intComponent.data = function (proxy) { return Object.assign(intComponent.__data.call(proxy), dataObj_1.data); };\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 if (templateCompRef.setup) {\n plugins = Object.assign(plugins, data);\n }\n templateCompRef.data = function () { return tempRef_1; };\n var app = Vue.createVNode(templateCompRef, plugins);\n ele.innerHTML = '';\n // Get values for Vue 3 functional template\n getValues(app, context.vueInstance, root);\n Vue.render(app, ele);\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 else if (typeof templateElement === \"string\" || (templateElement.prototype && templateElement.prototype.CSPTemplate && typeof templateElement === 'function')) {\n var vueSlot_2 = getVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot_2) {\n // Get provide values for Vue 2 slot template\n var provided_1 = {};\n var getProvideValues_1 = function (vueinstance) {\n if (vueinstance['$parent'])\n getProvideValues_1(vueinstance.$parent);\n if (vueinstance['_provided'] && Object.keys(vueinstance['_provided']).length > 0) {\n provided_1 = __assign({}, provided_1, vueinstance._provided);\n }\n };\n var vueInstance = context.vueInstance ? context.vueInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (vueInstance) {\n getProvideValues_1(vueInstance);\n }\n // Compilation for Vue 2 slot template\n var vueTemplate = new Vue({\n provide: __assign({}, provided_1),\n render: function () {\n return vueSlot_2[\"\" + 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 if (templateFunction.options.setup) {\n dataObj.propsData = Object.assign(dataObj.propsData || {}, data);\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 });\nfunction getValues(app, cInstance, root) {\n var vueInstance = cInstance ? cInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (!vueInstance) {\n return;\n }\n // Get globally defined variables.\n app['appContext'] = vueInstance['$']['appContext'];\n // Get provide value from child component.\n var provided = {};\n var getProvideValue = function (vueinstance) {\n if (vueinstance['$'] && vueinstance['$']['parent'])\n getProvideValue(vueinstance.$.parent);\n if (vueinstance['provides'] && Object.keys(vueinstance['provides']).length > 0) {\n provided = __assign({}, provided, vueinstance.provides);\n }\n };\n getProvideValue(vueInstance);\n if (app['appContext']['provides']) {\n app.appContext.provides = __assign({}, app.appContext.provides, provided);\n }\n}\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 var 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 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 = getVueChildSlot(getSlot(childSlots[parseInt(i.toString(), 10)]), 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 = getVueChildSlot(getSlot(children[parseInt(i.toString(), 10)]), 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 :\n (!vnode.data && (vnode.tag === 'e-markersettings' || vnode.tag === 'e-markersetting')) ? vnode : 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 var 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 var childSlots = slots.default();\n childSlots = childSlots.flatMap(function (item) { return Array.isArray(item.children) ? item.children : item; });\n for (var i = 0; i < childSlots.length; i++) {\n var slot = getChildVueSlot(childSlots[parseInt(i.toString(), 10)].children, templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n","/**\n * Vue Component Base\n */\nimport * as Vue from 'vue';\nimport { isNullOrUndefined, extend, getValue, setProxyToRaw } from '@syncfusion/ej2-base';\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) {\n return obj;\n}\nelse {\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} }\nvar curVue = _interopRequireWildcard(Vue);\nexport var isExecute = (parseInt(curVue['version']) > 2) ? false : true, aVue = !isExecute ? curVue : (curVue['default']['default'] ? curVue['default']['default'] : curVue['default']), gh = curVue['h'];\nexport var vueDefineComponent = function (options) { return !isExecute ? aVue['defineComponent'](options) : aVue['extend'](options); };\nexport var ComponentBase = vueDefineComponent({\n name: 'ComponentBase',\n data: function () {\n return {\n tagMapper: {},\n tagNameMapper: {},\n hasInjectedModules: false,\n hasChildDirective: false,\n childDirObjects: '',\n propKeys: {},\n isDecorator: false\n };\n },\n created: function () {\n var _this = this;\n if (this.ej2Instance) {\n this.ej2Instances = this.isVue3 ? aVue.toRaw(this.ej2Instance) : this.ej2Instance;\n }\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 vueInjectables = !isNullOrUndefined(vueInjectables) ? vueInjectables : getValue('$.parent.provides', this);\n if (this.hasInjectedModules && !isExecute) {\n var 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 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 mounted: function () {\n var cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (!isExecute && cusEle) {\n for (var i = 0; i < cusEle.length; i++) {\n cusEle[parseInt(i.toString(), 10)].parentElement && cusEle[parseInt(i.toString(), 10)].parentElement.removeChild(cusEle[parseInt(i.toString(), 10)]);\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 this.setModelValue();\n }\n this.ej2Instances.appendTo(this.$el);\n },\n updated: function () {\n this.updated();\n },\n beforeDestroy: function () {\n this.destroyComponent();\n },\n beforeUnmount: function () {\n this.destroyComponent();\n },\n methods: {\n setModelValue: function () {\n if (!isNullOrUndefined(this.modelValue) || !isNullOrUndefined(this.$attrs.modelValue)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (!isNullOrUndefined(propKey)) {\n this.ej2Instances[\"\" + propKey] = !isNullOrUndefined(this.modelValue) ? this.modelValue : this.$attrs.modelValue;\n }\n }\n },\n updated: function () {\n if (this.isVue3) {\n this.setModelValue();\n }\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 getInjectedServices: function () {\n var ret = [];\n var 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 (isNullOrUndefined(provide) && !isNullOrUndefined(this.$)) {\n provide = getValue('$.parent.provides', this);\n }\n if (provide) {\n // tslint:disable:no-any\n var injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n var provideKey = provide.managed;\n var provideValue = Object.keys(provideKey);\n var key = void 0;\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 (var i = 0; i < provideValue.length; i++) {\n for (var j = 0; j < key.length; j++) {\n if ((key[parseInt(j.toString(), 10)].indexOf(provideValue[parseInt(i.toString(), 10)])) !== -1) {\n if (this.$root && this.isDecorator) {\n provideKey[provideValue[parseInt(j.toString(), 10)]] = this.$root[key[parseInt(i.toString(), 10)]];\n }\n else if (this.$vnode) {\n provideKey[provideValue[parseInt(i.toString(), 10)]] = this.$vnode.context[key[parseInt(j.toString(), 10)]];\n }\n else if (this.$parent) {\n provideKey[provideValue[parseInt(i.toString(), 10)]] = this.$parent[key[parseInt(j.toString(), 10)]];\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 destroyComponent: function () {\n var tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n },\n 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])) {\n options[\"\" + prop] = this[\"\" + prop];\n }\n else if (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][\"\" + prop])) {\n options[\"\" + 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 assignValueToWrapper: function (option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n },\n 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.$ && this.$.slots && this.$.slots.default) {\n propRef = this.$.slots.default();\n }\n if (propRef) {\n for (var i = 0; i < propRef.length; i++) {\n if (propRef[parseInt(i.toString(), 10)].type.methods || propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection') {\n var key = propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection' ? 'series-collection' :\n propRef[parseInt(i.toString(), 10)].type.methods.getTag().replace(\"e-\", \"\");\n var ref = this.resolveArrayDirectives(propRef[parseInt(i.toString(), 10)].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 keyRef = this.tagNameMapper['e-' + key] ? this.tagNameMapper['e-' + key].replace('e-', '') : keyRef;\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 (var _i = 0, _a = Object.keys(dirProps); _i < _a.length; _i++) {\n var dirProp = _a[_i];\n childOption[\"\" + dirProp] = dirProps[\"\" + dirProp];\n }\n },\n resolveArrayDirectives: function (slots, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n slot = slot.flatMap(function (item) { return Array.isArray(item.children) ? item.children : item; });\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)[parseInt(i.toString(), 10)];\n tempObj[\"\" + key] = innerDirValues[\"\" + key];\n }\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach(function (key) {\n var propName = key.replace(/-[a-z]/g, function (e) { return e[1].toUpperCase(); });\n if (propName) {\n tempObj[\"\" + propName] = childSlot.props[\"\" + key];\n }\n });\n }\n if (((/[s]\\b/).test(tagRef) && innerDirValues) && (!(/[s]\\b/).test(tagName) || innerDirValues.length)) {\n Array.isArray(tempObj) ? tempObj.forEach(function (item) { items[\"\" + tagName].push(item); }) : items[\"\" + tagName].push(tempObj);\n }\n else if (tempObj && Object.keys(tempObj).length !== 0) {\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 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 var moduleName = this_3.ej2Instances.getModuleName().toLowerCase();\n tag = tag ? tag : childSlot.type.methods.getTag();\n tag = (this_3.tagNameMapper[\"\" + tag] ? this_3.tagNameMapper[\"\" + tag] : tag).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 (childSlot.props) {\n childSlot.props = this_3.getCamelCaseProps(childSlot.props);\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 resolveComplexInnerDirs: function (slots, tagObject, tagName) {\n var slot = [];\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 innerDirValues = null;\n var tag = childSlot.type.methods.getTag();\n tag = (this.tagNameMapper[tag] ? this.tagNameMapper[tag] : tag).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 && !childSlot.props) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (childSlot.props) {\n childSlot.props = this.getCamelCaseProps(childSlot.props);\n }\n if (slot.length > 1 && childSlot.props) {\n if (innerDirValues) {\n innerDirValues = childSlot.props ? Object.assign(innerDirValues, childSlot.props) : innerDirValues;\n items.push(innerDirValues);\n }\n else 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: function (slots, tagObject, tagName) {\n var slot = [];\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 innerDirValues = null;\n var moduleName = this.ej2Instances.getModuleName().toLowerCase();\n var tag = childSlot.type.methods.getTag();\n tag = (this.tagNameMapper[tag] ? this.tagNameMapper[tag] : tag).replace(\"e-\", \"\");\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[\"\" + tagName], childSlot.type.methods.getTag());\n }\n if (childSlot.props) {\n childSlot.props = this.getCamelCaseProps(childSlot.props);\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: 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 && this.getTagName(tagDirective.componentOptions) ||\n (tagDirective.tag === 'e-seriescollection' && tagDirective.children)) {\n var dirTag = tagDirective.componentOptions ? this.getTagName(tagDirective.componentOptions) : tagDirective.tag;\n dirTag = (dirTag === 'e-seriescollection') ? 'e-seriesCollection' : dirTag;\n if (keyTags.indexOf(dirTag) !== -1) {\n var tagName = tagNameMapper[\"\" + dirTag] ? tagNameMapper[\"\" + dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n var children = tagDirective.componentOptions ? tagDirective.componentOptions.children : tagDirective.children;\n for (var _a = 0, children_1 = children; _a < children_1.length; _a++) {\n var tagDirChild = children_1[_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 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 var key = void 0;\n var children = void 0;\n if (tagDir.componentOptions) {\n key = this.getTagName(tagDir.componentOptions);\n if (tagDir.componentOptions.children) {\n children = tagDir.componentOptions.children;\n }\n }\n else if ((tagDir.tag === 'e-markersettings' || tagDir.tag === 'e-markersetting') && tagDir.children) {\n key = (tagDir.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';\n children = tagDir.children;\n }\n if (key) {\n var tagName = tagNameMapper[\"\" + key] ? tagNameMapper[\"\" + key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (children) {\n for (var _a = 0, children_2 = children; _a < children_2.length; _a++) {\n var tagDirChild = children_2[_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 getVNodeValue: function (tagDirective, tagKey, tagNameMapper) {\n var ret = {};\n if (tagDirective.componentOptions || ((tagDirective.tag === 'e-markersettings' || tagDirective.tag === 'e-markersetting') && tagDirective.context)) {\n var dirTag = void 0;\n if (tagDirective.componentOptions) {\n dirTag = this.getTagName(tagDirective.componentOptions);\n }\n else {\n dirTag = (tagDirective.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';\n }\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 else if (tagDirective.children && (Object.keys(tagKey).indexOf(dirTag) !== -1) && (dirTag === 'e-markersettings' || dirTag === 'e-markersetting')) {\n ret = this.getMultiLevelDirValue(tagDirective.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: 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 dataBind: function () {\n this.ej2Instances.dataBind();\n },\n setProperties: function (arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n },\n getTagName: function (options) {\n var tag = options.tag;\n if (!tag && options.Ctor && options.Ctor.extendOptions && options.Ctor.extendOptions.methods && options.Ctor.extendOptions.methods.getTag) {\n tag = options.Ctor.extendOptions.methods.getTag();\n }\n return tag;\n }\n }\n});\nexport function getProps(options) {\n if (options === void 0) { options = {}; }\n if (options.props) {\n var _loop_4 = 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_4(prop);\n }\n }\n return [options.newprops, options.watch];\n}\nif (!isExecute)\n setProxyToRaw(aVue.toRaw);\n"],"names":["compile","templateElement","helper","that","this","data","context","propName","element","root","returnEle","plugins","vueInstance","pid","getUniqueID","id","ele","createElement","innerHTML","document","body","appendChild","isExecute","prototype","CSPTemplate","vueSlot_1","getChildVueSlot","$slots","getCurrentVueSlot","detach","stringCompiler","app","Vue","createVNode","render","getValues","childNodes","vueSlot_2","getVueChildSlot","getVueSlot","provided_1","getProvideValues_1","vueinstance","$parent","Object","keys","length","__assign","_provided","provide","$mount","templateFunction","tempObj","call","template","dataObj","propsData","getValue","extend","parent","extends","options","setup","assign","templateInstance","templateCollection","push","object","dataObj_1","templateCompRef","_context","components","name","key","tempRef_1","_loop_1","objstring","intComponent","__data","proxy","_i","objkeys_1","cInstance","provided","getProvideValue","$","provides","appContext","slots","scopedSlots","$scopedSlots","vSlots","children","default","childSlots","i","slot","getSlot","parseInt","toString","vnode","componentOptions","tag","componentInstance","flatMap","item","Array","isArray","curVue","obj","__esModule","newObj","hasOwnProperty","_interopRequireWildcard","aVue","gh","vueDefineComponent","ComponentBase","tagMapper","tagNameMapper","hasInjectedModules","hasChildDirective","childDirObjects","propKeys","isDecorator","created","_this","ej2Instance","ej2Instances","isVue3","toRaw","prop","this_1","addEventListener","args","$emit","_a","injectables","vueInjectables","isNullOrUndefined","prevModule","managed","getInjectedServices","getModuleName","_b","curModule_1","getInjectedModules","mod","indexOf","injectedModules","mounted","cusEle","$el","querySelectorAll","parentElement","removeChild","isVue","referModels","models","setModelValue","appendTo","updated","beforeDestroy","destroyComponent","beforeUnmount","methods","modelValue","$attrs","propKey","match","childKey","fetchChildPropValues","curChildDir","JSON","stringify","assignValueToWrapper","ret","$root","$vnode","provideKey","provideValue","j","$options","tempBeforeDestroyThis","destroy","style","visibility","bindProperties","curModule_2","option","silent","setProperties","childOption","dirProps","propRef","type","getTag","replace","ref","resolveArrayDirectives","splitKeys","split","controlName","toLowerCase","keyRef","getDirectiveValues","dirProp","tagName","innerDirValues","items","_loop_2","childSlot","tagRef","this_2","resolveComplexDirs","props","forEach","e","toUpperCase","test","slot_1","tagObject","_loop_3","find","this_3","resolveComplexInnerDirs","getCamelCaseProps","slot_2","slot_3","resolveMultilevelComplexInnerDirs","slot_4","tagDirectives","keyTags","dir","tagDirectives_1","tagDirective","getTagName","dirTag","children_1","tagDirChild","retObj","getVNodeValue","getMultiLevelDirValue","tagDirectories","tagKey","mulObj","tagDirectories_1","tagDir","children_2","mulLevObj","attrs","retProps","dataBind","arg","muteOnChange","Ctor","extendOptions","setProxyToRaw","t","s","n","arguments","p","apply","getTemplateEngine","setTemplateEngine","_loop_4","newprops","watch","newVal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ej2-vue-base.umd.min.js","sources":["../src/component-base.js","../src/template.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Vue Component Base\n */\nimport * as Vue from 'vue';\nimport { isNullOrUndefined, extend, getValue, setProxyToRaw } from '@syncfusion/ej2-base';\n/**\n * Clone the Vue compiler instance.\n *\n * @param {any} obj - representes the Vue compiler.\n * @returns {any} cloned object of Vue compiler.\n */\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) {\n return obj;\n}\nelse {\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 }\n newObj.default = obj;\n return newObj;\n} }\nvar curVue = _interopRequireWildcard(Vue);\nexport var isExecute = (parseInt(curVue['version'], 10) > 2) ? false : true;\nexport var aVue = !isExecute ? curVue : (curVue['default']['default'] ? curVue['default']['default'] : curVue['default']);\nexport var gh = curVue['h'];\nexport var vueDefineComponent = function (options) { return !isExecute ? aVue['defineComponent'](options) : aVue['extend'](options); };\nexport var ComponentBase = vueDefineComponent({\n name: 'ComponentBase',\n data: function () {\n return {\n tagMapper: {},\n tagNameMapper: {},\n hasInjectedModules: false,\n hasChildDirective: false,\n childDirObjects: '',\n propKeys: {},\n isDecorator: false\n };\n },\n created: function () {\n var _this = this;\n if (this.ej2Instance) {\n this.ej2Instances = this.isVue3 ? aVue.toRaw(this.ej2Instance) : this.ej2Instance;\n }\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 vueInjectables = !isNullOrUndefined(vueInjectables) ? vueInjectables : getValue('$.parent.provides', this);\n if (this.hasInjectedModules && !isExecute) {\n var 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 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 mounted: function () {\n var cusEle = this.$el ? this.$el.querySelectorAll('div.e-directive') : null;\n if (!isExecute && cusEle) {\n for (var i = 0; i < cusEle.length; i++) {\n var cusElement = cusEle[parseInt(i.toString(), 10)];\n if (cusElement.parentElement) {\n cusElement.parentElement.removeChild(cusElement);\n }\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 this.setModelValue();\n }\n this.ej2Instances.appendTo(this.$el);\n },\n updated: function () {\n this.updated();\n },\n beforeDestroy: function () {\n this.destroyComponent();\n },\n beforeUnmount: function () {\n this.destroyComponent();\n },\n methods: {\n setModelValue: function () {\n if (!isNullOrUndefined(this.modelValue) || !isNullOrUndefined(this.$attrs.modelValue)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (!isNullOrUndefined(propKey)) {\n this.ej2Instances[\"\" + propKey] = !isNullOrUndefined(this.modelValue) ? this.modelValue : this.$attrs.modelValue;\n }\n }\n },\n updated: function () {\n if (this.isVue3) {\n this.setModelValue();\n }\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 getInjectedServices: function () {\n var ret = [];\n var 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 (isNullOrUndefined(provide) && !isNullOrUndefined(this.$)) {\n provide = getValue('$.parent.provides', this);\n }\n if (provide) {\n var injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n var pKey = provide.managed;\n var pValue = Object.keys(pKey);\n var key = void 0;\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 (var i = 0; i < pValue.length; i++) {\n for (var j = 0; j < key.length; j++) {\n if ((key[parseInt(j.toString(), 10)].indexOf(pValue[parseInt(i.toString(), 10)])) !== -1) {\n if (this.$root && this.isDecorator) {\n pKey[pValue[parseInt(j.toString(), 10)]] = this.$root[key[parseInt(i.toString(), 10)]];\n }\n else if (this.$vnode) {\n pKey[pValue[parseInt(i.toString(), 10)]] = this.$vnode.context[key[parseInt(j.toString(), 10)]];\n }\n else if (this.$parent) {\n pKey[pValue[parseInt(i.toString(), 10)]] = this.$parent[key[parseInt(j.toString(), 10)]];\n }\n injectables = pKey;\n }\n }\n }\n }\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 destroyComponent: function () {\n this.ej2Instances.destroy();\n this.$el.style.visibility = 'hidden';\n this.destroyPortals();\n },\n destroyPortals: function () {\n if (this.portals) {\n for (var _i = 0, _a = this.portals; _i < _a.length; _i++) {\n var portal = _a[_i];\n var controls = portal.classList.contains('e-control') ? [portal] : portal.getElementsByClassName('e-control');\n for (var index = 0; index < controls.length; index++) {\n var control = controls[parseInt(index.toString(), 10)];\n if (control.ej2_instances && control.ej2_instances[0]) {\n control.ej2_instances[0].destroy();\n index--;\n }\n }\n }\n this.portals = null;\n }\n },\n 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])) {\n options[\"\" + prop] = this[\"\" + prop];\n }\n else if (this[0] && !isNullOrUndefined(this[0][0]) && !isNullOrUndefined(this[0][0][\"\" + prop])) {\n options[\"\" + 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 assignValueToWrapper: function (option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n },\n 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.$ && this.$.slots && this.$.slots.default) {\n propRef = this.$.slots.default();\n }\n if (propRef) {\n for (var i = 0; i < propRef.length; i++) {\n if (propRef[parseInt(i.toString(), 10)].type.methods || propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection') {\n var key = propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection' ? 'series-collection' :\n propRef[parseInt(i.toString(), 10)].type.methods.getTag().replace('e-', '');\n var ref = this.resolveArrayDirectives(propRef[parseInt(i.toString(), 10)].children, key);\n var spKeys = key.split('-');\n var controlName = this.ej2Instances.getModuleName().toLowerCase();\n var keyRef = (spKeys.length > 1 && controlName.indexOf(spKeys[0]) > -1) ? spKeys[1] : spKeys[0];\n keyRef = keyRef.replace(controlName, '');\n keyRef = this.tagNameMapper['e-' + key] ? this.tagNameMapper['e-' + key].replace('e-', '') : keyRef;\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 (var _i = 0, _a = Object.keys(dirProps); _i < _a.length; _i++) {\n var dirProp = _a[_i];\n childOption[\"\" + dirProp] = dirProps[\"\" + dirProp];\n }\n },\n resolveArrayDirectives: function (slots, tagName) {\n var slot = [];\n var innerDirValues;\n slot = slots.default ? slots.default() : slots;\n slot = slot.flatMap(function (item) { return Array.isArray(item.children) ? item.children : item; });\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)[parseInt(i.toString(), 10)];\n tempObj[\"\" + key] = innerDirValues[\"\" + key];\n }\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach(function (key) {\n var propName = key.replace(/-[a-z]/g, function (e) { return e[1].toUpperCase(); });\n if (propName) {\n tempObj[\"\" + propName] = childSlot.props[\"\" + key];\n }\n });\n }\n if (((/[s]\\b/).test(tagRef) && innerDirValues) && (!(/[s]\\b/).test(tagName) || innerDirValues.length)) {\n if (Array.isArray(tempObj)) {\n tempObj.forEach(function (item) { items[\"\" + tagName].push(item); });\n }\n else {\n items[\"\" + tagName].push(tempObj);\n }\n }\n else if (tempObj && Object.keys(tempObj).length !== 0) {\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 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 ? tag : childSlot.type.methods.getTag();\n tag = (this_3.tagNameMapper[\"\" + tag] ? this_3.tagNameMapper[\"\" + tag] : tag).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 (childSlot.props) {\n childSlot.props = this_3.getCamelCaseProps(childSlot.props);\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 resolveComplexInnerDirs: function (slots, tagObject, tagName) {\n var slot = [];\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 innerDirValues = null;\n var tag = childSlot.type.methods.getTag();\n tag = (this.tagNameMapper[\"\" + tag] ? this.tagNameMapper[\"\" + tag] : tag).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 && !childSlot.props) {\n items.push(innerDirValues);\n }\n }\n else {\n items = innerDirValues ? innerDirValues : items;\n }\n }\n if (childSlot.props) {\n childSlot.props = this.getCamelCaseProps(childSlot.props);\n }\n if (slot.length > 1 && childSlot.props) {\n if (innerDirValues) {\n innerDirValues = childSlot.props ? Object.assign(innerDirValues, childSlot.props) : innerDirValues;\n items.push(innerDirValues);\n }\n else 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: function (slots, tagObject, tagName) {\n var slot = [];\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 innerDirValues = null;\n var tag = childSlot.type.methods.getTag();\n tag = (this.tagNameMapper[\"\" + tag] ? this.tagNameMapper[\"\" + tag] : tag).replace('e-', '');\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[\"\" + tagName], childSlot.type.methods.getTag());\n }\n if (childSlot.props) {\n childSlot.props = this.getCamelCaseProps(childSlot.props);\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: 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 var tagCompOption = tagDirective.componentOptions;\n if (tagCompOption && tagCompOption.children && this.getTagName(tagCompOption) ||\n (tagDirective.tag === 'e-seriescollection' && tagDirective.children)) {\n var dirTag = tagCompOption ? this.getTagName(tagCompOption) : tagDirective.tag;\n dirTag = (dirTag === 'e-seriescollection') ? 'e-seriesCollection' : dirTag;\n if (keyTags.indexOf(dirTag) !== -1) {\n var tagName = tagNameMapper[\"\" + dirTag] ? tagNameMapper[\"\" + dirTag] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n var children = tagCompOption ? tagCompOption.children : tagDirective.children;\n for (var _a = 0, children_1 = children; _a < children_1.length; _a++) {\n var tagDirChild = children_1[_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 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 var key = void 0;\n var children = void 0;\n if (tagDir.componentOptions) {\n key = this.getTagName(tagDir.componentOptions);\n if (tagDir.componentOptions.children) {\n children = tagDir.componentOptions.children;\n }\n }\n else if ((tagDir.tag === 'e-markersettings' || tagDir.tag === 'e-markersetting') && tagDir.children) {\n key = (tagDir.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';\n children = tagDir.children;\n }\n if (key) {\n var tagName = tagNameMapper[\"\" + key] ? tagNameMapper[\"\" + key] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (children) {\n for (var _a = 0, children_2 = children; _a < children_2.length; _a++) {\n var tagDirChild = children_2[_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 getVNodeValue: function (tagDirective, tagKey, tagNameMapper) {\n var ret = {};\n if (tagDirective.componentOptions || ((tagDirective.tag === 'e-markersettings' || tagDirective.tag === 'e-markersetting') && tagDirective.context)) {\n var dirTag = void 0;\n if (tagDirective.componentOptions) {\n dirTag = this.getTagName(tagDirective.componentOptions);\n }\n else {\n dirTag = (tagDirective.tag === 'e-markersettings') ? 'e-markerSettings' : 'e-markerSetting';\n }\n var tagData = tagDirective.data;\n if (typeof tagKey === 'string' && dirTag === tagKey && tagData) {\n ret = tagData.attrs ? this.getCamelCaseProps(tagData.attrs) : this.getCamelCaseProps(tagData);\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 else if (tagDirective.children && (Object.keys(tagKey).indexOf(dirTag) !== -1) && (dirTag === 'e-markersettings' || dirTag === 'e-markersetting')) {\n ret = this.getMultiLevelDirValue(tagDirective.children, tagKey[\"\" + dirTag], tagNameMapper);\n }\n if (tagData && tagData.attrs) {\n ret = extend(ret, this.getCamelCaseProps(tagData.attrs));\n }\n }\n }\n return ret;\n },\n /**\n * convert kebab case directive props to camel case.\n *\n * @param {Object} props - Objects in kebab case directive props.\n * @returns {Object} Object converted into camel case directive props.\n */\n 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 dataBind: function () {\n this.ej2Instances.dataBind();\n },\n setProperties: function (arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n },\n getTagName: function (options) {\n var tag = options.tag;\n var optCtor = options.Ctor;\n if (!tag && optCtor && optCtor.extendOptions && optCtor.extendOptions.methods && optCtor.extendOptions.methods.getTag) {\n tag = options.Ctor.extendOptions.methods.getTag();\n }\n return tag;\n }\n }\n});\n/**\n * Collect public property values for the Vue component.\n *\n * @param {any} options - represents props object.\n * @returns {any} array of props object and `watchobject` respectively.\n */\nexport function getProps(options) {\n if (options === void 0) { options = {}; }\n if (options.props) {\n var _loop_4 = 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_4(prop);\n }\n }\n return [options.newprops, options.watch];\n}\nif (!isExecute) {\n setProxyToRaw(aVue.toRaw);\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\nimport { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue } from '@syncfusion/ej2-base';\nimport { aVue as Vue, isExecute } from './component-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Compiler function that convert the template property to DOM element.\n *\n * @param {any} templateElement - represents value of the template property from the component.\n * @param {Object} helper - represents helper object to utilize on template compilation.\n * @returns {NodeList} template element that append to the component.\n */\nexport function compile(templateElement, helper) {\n var _this = this;\n return function (data, context, propName, element, root) {\n var _a, _b, _c, _d;\n var returnEle;\n if (context) {\n var plugins = context.vueInstance && context.vueInstance.plugins ? { plugins: context.vueInstance.plugins } : {};\n var vueInstance = context.vueInstance ? context.vueInstance :\n ((root && root.vueInstance) ? root.vueInstance : null);\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 (!isExecute && (typeof templateElement === 'string' || (templateElement.prototype && templateElement.prototype.CSPTemplate && typeof templateElement === 'function'))) {\n var vueSlot_1 = getCurrentVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot_1) {\n // Compilation for Vue 3 slot template\n var app = Vue.createVNode({\n render: function () {\n return vueSlot_1[\"\" + templateElement]({ data: data });\n }\n }, plugins);\n ele.innerHTML = '';\n // Get values for Vue 3 slot template\n getValues(app, context.vueInstance, root);\n Vue.render(app, ele);\n if (vueInstance) {\n if (!vueInstance['portals']) {\n vueInstance['portals'] = [];\n }\n (_a = vueInstance.portals).push.apply(_a, [].slice.call(ele.children));\n }\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 (!isExecute) {\n // Compilation for Vue 3 functional template\n var tempObj = templateElement.call(_this, {});\n var object = tempObj;\n var propsData = getValue('template.propsData', tempObj);\n var dataObj_1 = {\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 if (templateCompRef.setup) {\n tempRef_1 = Object.assign({}, propsData);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), propsData);\n }\n }\n else {\n if (templateCompRef.setup) {\n tempRef_1 = Object.assign({}, dataObj_1.data);\n }\n else {\n tempRef_1 = Object.assign(templateCompRef.data(), dataObj_1.data);\n }\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 if (!intComponent.__data) {\n intComponent.__data = intComponent.data;\n }\n intComponent.data = function (proxy) {\n return Object.assign(intComponent.__data.call(proxy), dataObj_1.data);\n };\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 if (templateCompRef.setup) {\n plugins = Object.assign(plugins, data);\n }\n templateCompRef.data = function () { return tempRef_1; };\n var app = Vue.createVNode(templateCompRef, plugins);\n ele.innerHTML = '';\n // Get values for Vue 3 functional template\n getValues(app, context.vueInstance, root);\n Vue.render(app, ele);\n if (vueInstance) {\n if (!vueInstance['portals']) {\n vueInstance['portals'] = [];\n }\n (_b = vueInstance.portals).push.apply(_b, [].slice.call(ele.children));\n }\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 else if (typeof templateElement === 'string' || (templateElement.prototype && templateElement.prototype.CSPTemplate && typeof templateElement === 'function')) {\n var vueSlot_2 = getVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot_2) {\n // Get provide values for Vue 2 slot template\n var provided_1 = {};\n var getProvideValues_1 = function (vueinstance) {\n if (vueinstance['$parent']) {\n getProvideValues_1(vueinstance.$parent);\n }\n if (vueinstance['_provided'] && Object.keys(vueinstance['_provided']).length > 0) {\n provided_1 = __assign({}, provided_1, vueinstance._provided);\n }\n };\n var vueInstance_1 = context.vueInstance ? context.vueInstance :\n ((root && root.vueInstance) ? root.vueInstance : null);\n if (vueInstance_1) {\n getProvideValues_1(vueInstance_1);\n }\n // Compilation for Vue 2 slot template\n var vueTemplate = new Vue({\n provide: __assign({}, provided_1),\n render: function () {\n return vueSlot_2[\"\" + templateElement]({ data: data });\n }\n });\n vueTemplate.$mount('#' + id);\n if (vueInstance_1) {\n if (!vueInstance_1['portals']) {\n vueInstance_1['portals'] = [];\n }\n (_c = vueInstance_1.portals).push.apply(_c, [].slice.call(ele.children));\n }\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(_this, {});\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 if (templateFunction.options.setup) {\n dataObj.propsData = Object.assign(dataObj.propsData || {}, data);\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 if (vueInstance) {\n if (!vueInstance['portals']) {\n vueInstance['portals'] = [];\n }\n (_d = vueInstance.portals).push.apply(_d, [].slice.call(ele.children));\n }\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/**\n * Collect values from the app instance.\n *\n * @param {any} app - represents global application instance\n * @param {any} cInstance - represents Vue component instance\n * @param {any} root - represents parent component instance\n * @returns {void}\n */\nfunction getValues(app, cInstance, root) {\n var vueInstance = cInstance ? cInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (!vueInstance) {\n return;\n }\n // Get globally defined variables.\n app['appContext'] = vueInstance['$']['appContext'];\n // Get provide value from child component.\n var provided = {};\n var getProvideValue = function (vueinstance) {\n if (vueinstance['$'] && vueinstance['$']['parent']) {\n getProvideValue(vueinstance.$.parent);\n }\n if (vueinstance['provides'] && Object.keys(vueinstance['provides']).length > 0) {\n provided = __assign({}, provided, vueinstance.provides);\n }\n };\n getProvideValue(vueInstance);\n if (app['appContext']['provides']) {\n app.appContext.provides = __assign({}, app.appContext.provides, provided);\n }\n}\n/**\n * Get the Vue2 slot template from the root or current Vue component.\n *\n * @param {any} vueInstance - represents parent Vue instance.\n * @param {any} templateElement - represents component property value\n * @param {any} root - represents root Vue instance\n * @returns {any} template Vue instance\n */\nfunction getVueSlot(vueInstance, templateElement, root) {\n if (!vueInstance && !(root && root.vueInstance)) {\n return undefined;\n }\n var instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVueChildSlot(instance, templateElement);\n}\n/**\n * Get the Vue2 nested slot template from the root or current Vue component.\n *\n * @param {any} vueInstance - represents parent Vue instance.\n * @param {any} templateElement - represents component property value\n * @returns {any} nested template Vue instance\n */\nfunction getVueChildSlot(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 = getVueChildSlot(getSlot(childSlots[parseInt(i.toString(), 10)]), 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 = getVueChildSlot(getSlot(children[parseInt(i.toString(), 10)]), templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n/**\n * Collect the component slot directive instance.\n *\n * @param {any} vnode - represents Vue components slot instance.\n * @returns {any} the slot instance of the directive.\n */\nfunction getSlot(vnode) {\n var slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions :\n (!vnode.data && (vnode.tag === 'e-markersettings' || vnode.tag === 'e-markersetting')) ? vnode : vnode.data;\n return vnode.componentInstance ? vnode.componentInstance : slot;\n}\n/**\n * Get the Vue3 slot template from the root or current Vue component.\n *\n * @param {any} vueInstance - represents parent Vue instance.\n * @param {any} templateElement - represents component property value\n * @param {any} root - represents root Vue instance\n * @returns {any} slot template instance\n */\nfunction getCurrentVueSlot(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 getChildVueSlot(slots, templateElement);\n}\n/**\n * Get the Vue3 nested slot template from the root or current Vue component.\n *\n * @param {any} slots - represents slot instance.\n * @param {any} templateElement - represents component property value\n * @returns {any} nested template Vue instance\n */\nfunction getChildVueSlot(slots, templateElement) {\n if (slots && slots[\"\" + templateElement]) {\n return slots;\n }\n else if (slots && slots.default) {\n var childSlots = slots.default();\n childSlots = childSlots.flatMap(function (item) { return Array.isArray(item.children) ? item.children : item; });\n for (var i = 0; i < childSlots.length; i++) {\n var slot = getChildVueSlot(childSlots[parseInt(i.toString(), 10)].children, templateElement);\n if (slot) {\n return slot;\n }\n }\n }\n return undefined;\n}\n"],"names":["vueDefineComponent","options","isExecute","aVue","curVue","obj","__esModule","newObj","key","Object","prototype","hasOwnProperty","call","default","Vue","parseInt","gh","ComponentBase","name","data","tagMapper","tagNameMapper","hasInjectedModules","hasChildDirective","childDirObjects","propKeys","isDecorator","created","_this","this","ej2Instance","ej2Instances","isVue3","toRaw","this_1","_i","_a","length","_loop_1","prop","addEventListener","args","$emit","injectables","getValue","vueInjectables","isNullOrUndefined","prevModule","managed","getInjectedServices","getModuleName","_b","curModule_1","getInjectedModules","mod","indexOf","push","injectedModules","mounted","cusEle","$el","querySelectorAll","i","cusElement","toString","parentElement","removeChild","isVue","vueInstance","referModels","models","setModelValue","appendTo","updated","beforeDestroy","destroyComponent","beforeUnmount","methods","propKey","modelValue","$attrs","match","childKey","curChildDir","fetchChildPropValues","JSON","stringify","assignValueToWrapper","provide","ret","$root","$vnode","$parent","$","pKey","pValue","keys","context","j","$options","destroy","style","visibility","destroyPortals","portals","portal","controls","classList","contains","getElementsByClassName","index","control","ej2_instances","bindProperties","curModule_2","option","silent","setProperties","extend","childOption","dirProps","propRef","slots","ref","controlName","keyRef","type","getTag","replace","resolveArrayDirectives","children","spKeys","split","toLowerCase","getDirectiveValues","$slots","dirProp","tagName","innerDirValues","slot","flatMap","item","Array","isArray","items","this_2","slot_1","_loop_2","childSlot","tempObj","tagRef","resolveComplexDirs","props","forEach","propName","e","toUpperCase","test","tagObject","this_3","slot_2","_loop_3","tag","find","resolveComplexInnerDirs","getCamelCaseProps","assign","slot_3","resolveMultilevelComplexInnerDirs","slot_4","tagDirectives","keyTags","dir","tagDirectives_1","tagDirective","tagCompOption","componentOptions","getTagName","dirTag","children_1","tagDirChild","retObj","getVNodeValue","getMultiLevelDirValue","tagDirectories","tagKey","mulObj","tagDirectories_1","tagDir","children_2","mulLevObj","tagData","attrs","retProps","dataBind","arg","muteOnChange","optCtor","Ctor","extendOptions","setProxyToRaw","__assign","t","s","n","arguments","p","apply","stringCompiler","getTemplateEngine","compile","templateElement","helper","element","root","returnEle","plugins","pid","getUniqueID","id","ele","createElement","innerHTML","document","body","appendChild","CSPTemplate","vueSlot_1","getChildVueSlot","childSlots","detach","app","createVNode","render","getValues","slice","childNodes","vueSlot_2","getVueChildSlot","scopedSlots","$scopedSlots","vSlots","getSlot","provided_1","getProvideValues_1","vueinstance","_provided","vueInstance_1","$mount","_c","templateFunction","template","propsData","dataObj","parent","extends","setup","_d","templateInstance","templateCollection","tempRef_1","object","dataObj_1","templateCompRef","_context","components","objkeys_1","objstring","intComponent","__data","proxy","cInstance","provided","getProvideValue","provides","appContext","vnode","componentInstance","_loop_4","newprops","watch","newVal"],"mappings":"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"}
|