@syncfusion/ej2-vue-base 21.1.38 → 21.2.3
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 +11 -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 +6 -3
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +8 -5
- 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 +10 -19
- package/src/component-base.js +3 -1
- package/src/template.js +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport * as Vue from 'vue';\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) {\n return obj;\n}\nelse {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[`${key}`] = obj[`${key}`];\n }\n }\n newObj.default = obj;\n return newObj;\n} }\nconst curVue = _interopRequireWildcard(Vue);\nexport const isExecute = (parseInt(curVue['version']) > 2) ? false : true, aVue = !isExecute ? curVue : (curVue['default']['default'] ? curVue['default']['default'] : curVue['default']), gh = curVue['h'];\nexport let vueDefineComponent = (options) => { return !isExecute ? aVue['defineComponent'](options) : aVue['extend'](options); };\nexport let ComponentBase = vueDefineComponent({\n name: 'ComponentBase',\n data() {\n return {\n ej2Instances: {},\n tagMapper: {},\n tagNameMapper: {},\n hasInjectedModules: false,\n hasChildDirective: false,\n childDirObjects: '',\n propKeys: {},\n isDecorator: false\n };\n },\n created() {\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n vueInjectables = !isNullOrUndefined(vueInjectables) ? vueInjectables : getValue('$.parent.provides', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables && injectables.managed) {\n this.isDecorator = true;\n prevModule = this.getInjectedServices() || [];\n }\n else if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n },\n mounted() {\n let cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (!isExecute && cusEle) {\n for (let 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() {\n if (this.isVue3) {\n this.setModelValue();\n }\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n },\n beforeDestroy() {\n this.destroyComponent();\n },\n beforeUnmount() {\n this.destroyComponent();\n },\n methods: {\n setModelValue() {\n if (!isNullOrUndefined(this.modelValue) || !isNullOrUndefined(this.$attrs.modelValue)) {\n const key = this.models.toString().match(/checked|value/) || [];\n const propKey = key[0];\n if (!isNullOrUndefined(propKey)) {\n this.ej2Instances[`${propKey}`] = !isNullOrUndefined(this.modelValue) ? this.modelValue : this.$attrs.modelValue;\n }\n }\n },\n updated() {\n if (this.isVue3) {\n this.setModelValue();\n }\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n },\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$root && this.isDecorator) {\n provide = getValue('$root.$options.provide', this);\n }\n else if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (isNullOrUndefined(provide) && !isNullOrUndefined(this.$)) {\n provide = getValue('$.parent.provides', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n let provideKey = provide.managed;\n let provideValue = Object.keys(provideKey);\n let key;\n if (this.$root && this.isDecorator) {\n key = Object.keys(this.$root);\n }\n else if (this.$vnode) {\n key = Object.keys(this.$vnode.context);\n }\n else if (this.$parent) {\n key = Object.keys(this.$parent);\n }\n for (let i = 0; i < provideValue.length; i++) {\n for (let j = 0; j < key.length; j++) {\n if ((key[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() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n },\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if (!isNullOrUndefined(this[`${prop}`])) {\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 let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n },\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n },\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n let propRef;\n if (this[0] && this[0][1].slots.default) {\n propRef = this[0][1].slots.default();\n }\n else if (this && this.$ && this.$.slots && this.$.slots.default) {\n propRef = this.$.slots.default();\n }\n if (propRef) {\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[parseInt(i.toString(), 10)].type.methods || propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection') {\n let key = propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection' ? 'series-collection' :\n propRef[parseInt(i.toString(), 10)].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[parseInt(i.toString(), 10)].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n else if (controlName == \"schedule\" && keyRef == \"header\") {\n keyRef = \"headerRows\";\n }\n dirProps[`${keyRef}`] = ref[`${key}`];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[`${dirProp}`] = dirProps[`${dirProp}`];\n }\n },\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[`${tagName}`] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[parseInt(i.toString(), 10)];\n tempObj[`${key}`] = innerDirValues[`${key}`];\n }\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n let propName = key.replace(/-[a-z]/g, (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((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 return items;\n },\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[`${tagName}`]) {\n tagRef = Object.keys(tagObject[`${tagName}`]);\n tag = tagRef.find((key) => tagObject[`${tagName}`][`${key}`] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n const moduleName = this.ej2Instances.getModuleName().toLowerCase();\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(moduleName === \"ribbon\" ? \"e-ribbon-\" : \"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[`${tagName}`], childSlot.type.methods.getTag());\n if (!items[`${tag}`]) {\n items[`${tag}`] = [];\n }\n if (innerDirValues.length > 1) {\n items[`${tag}`] = innerDirValues;\n }\n else {\n items[`${tag}`].push(innerDirValues);\n }\n }\n if (childSlot.props) {\n childSlot.props = this.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 return items;\n },\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let isRibbon = (this.ej2Instances.getModuleName().toLowerCase() == \"ribbon\");\n let tag = childSlot.type.methods.getTag().replace(isRibbon ? \"e-ribbon-\" : \"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 && !(isRibbon && innerDirValues.hasOwnProperty('collections'))) {\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 (isRibbon && innerDirValues && innerDirValues.hasOwnProperty('collections')) {\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(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n const moduleName = this.ej2Instances.getModuleName().toLowerCase();\n let tag = childSlot.type.methods.getTag().replace(moduleName === \"ribbon\" ? \"e-ribbon-\" : \"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(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag ||\n (tagDirective.tag === 'e-seriescollection' && tagDirective.children)) {\n let dirTag = tagDirective.componentOptions ? tagDirective.componentOptions.tag : tagDirective.tag;\n dirTag = (dirTag === 'e-seriescollection') ? 'e-seriesCollection' : dirTag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[`${dirTag}`] ? tagNameMapper[`${dirTag}`] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n let children = tagDirective.componentOptions ? tagDirective.componentOptions.children : tagDirective.children;\n for (let tagDirChild of children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[`${dirTag}`], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n },\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n let key;\n let children;\n if (tagDir.componentOptions) {\n key = tagDir.componentOptions.tag;\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 let tagName = tagNameMapper[`${key}`] ? tagNameMapper[`${key}`] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (children) {\n for (let tagDirChild of children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[`${key}`], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n },\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions || ((tagDirective.tag === 'e-markersettings' || tagDirective.tag === 'e-markersetting') && tagDirective.context)) {\n let dirTag;\n if (tagDirective.componentOptions) {\n dirTag = tagDirective.componentOptions.tag;\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(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[`${prop}`];\n }\n return retProps;\n },\n dataBind() {\n this.ej2Instances.dataBind();\n },\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n },\n }\n});\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[`${prop}`] = {};\n (options.watch || (options.watch = {}))[`${prop}`] = function (newVal) {\n this.ej2Instances[`${prop}`] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\n","import { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue } from \"@syncfusion/ej2-base\";\nimport { aVue as Vue, isExecute } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n return (data, context, propName, element, root) => {\n let returnEle;\n if (context) {\n let plugins = context.vueInstance ? context.vueInstance.plugins : null;\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n if (!isExecute && typeof templateElement === \"string\") {\n let vueSlot = getCurrentVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Compilation for Vue 3 slot template\n let app = Vue.createApp({\n render() {\n return vueSlot[`${templateElement}`]({ data: data });\n }\n });\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[parseInt(i.toString(), 10)]);\n }\n }\n // Get values for Vue 3 slot template\n getValues(app, context.vueInstance, root);\n app.mount(\"#\" + pid);\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 let tempObj = templateElement.call(that, {});\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n if (!templateCompRef) {\n let key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[`${key}`];\n }\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[`${objstring}`];\n if (intComponent && intComponent.data) {\n let tempRef2 = Object.assign(intComponent.data(), dataObj.data);\n intComponent.data = function () { return tempRef2; };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n let app = Vue.createApp(templateCompRef);\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[parseInt(i.toString(), 10)]);\n }\n }\n // Get values for Vue 3 functional template\n getValues(app, context.vueInstance, root);\n app.mount(\"#\" + pid);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n let vueSlot = getVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Get provide values for Vue 2 slot template\n let provided = {};\n let getProvideValues = (vueinstance) => {\n if (vueinstance['$parent'])\n getProvideValues(vueinstance.$parent);\n if (vueinstance['_provided'] && Object.keys(vueinstance['_provided']).length > 0) {\n provided = Object.assign({}, provided, vueinstance._provided);\n }\n };\n let vueInstance = context.vueInstance ? context.vueInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (vueInstance) {\n getProvideValues(vueInstance);\n }\n // Compilation for Vue 2 slot template\n let vueTemplate = new Vue({\n provide: Object.assign({}, provided),\n render() {\n return vueSlot[`${templateElement}`]({ data: data });\n }\n });\n vueTemplate.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 2 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else {\n // Compilation for Vue 2 functional template\n let tempObj = templateElement.call(that, {});\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[`${propName}`]) {\n templateInstance[`${propName}`] = [];\n }\n templateInstance[`${propName}`].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n}\nsetTemplateEngine({ compile: compile });\nfunction getValues(app, cInstance, root) {\n let vueInstance = cInstance ? cInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (!vueInstance) {\n return;\n }\n // Get globally defined variables.\n let globalVariables = ['components', 'mixins', 'provides'];\n for (let i = 0; i < globalVariables.length; i++) {\n let gVariable = globalVariables[i];\n if (app['_context'][gVariable] && vueInstance['$']['appContext'][gVariable]) {\n app['_context'][gVariable] = vueInstance['$']['appContext'][gVariable];\n }\n }\n // Get provide value from child component.\n let provided = {};\n let getProvideValue = (vueinstance) => {\n if (vueinstance['$'] && vueinstance['$']['parent'])\n getProvideValue(vueinstance.$.parent);\n if (vueinstance['provides'] && Object.keys(vueinstance['provides']).length > 0) {\n provided = Object.assign({}, provided, vueinstance.provides);\n }\n };\n getProvideValue(vueInstance);\n if (app['_context']['provides']) {\n app._context.provides = Object.assign({}, app._context.provides, provided);\n }\n // Get globally defined properties.\n if (app['_context']['config']['globalProperties'] && vueInstance['$']['appContext']['config']['globalProperties']) {\n app['_context']['config']['globalProperties'] = vueInstance['$']['appContext']['config']['globalProperties'];\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 let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVueChildSlot(instance, templateElement);\n}\nfunction getVueChildSlot(vueInstance, templateElement) {\n if (!vueInstance) {\n return undefined;\n }\n let slots = vueInstance.$slots;\n let scopedSlots = vueInstance.$scopedSlots;\n let vSlots = vueInstance.scopedSlots;\n let children = vueInstance.children;\n if (scopedSlots && scopedSlots[`${templateElement}`]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default;\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVueChildSlot(getSlot(childSlots[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 (let i = 0; i < children.length; i++) {\n let 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 let 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 let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;\n return getChildVueSlot(slots, templateElement);\n}\nfunction getChildVueSlot(slots, templateElement) {\n if (slots && slots[`${templateElement}`]) {\n return slots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default();\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getChildVueSlot(childSlots[parseInt(i.toString(), 10)].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 './template';\n"],"names":["Vue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ej2-vue-base.es2015.js","sources":["../src/es6/component-base.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["/**\n * Vue Component Base\n */\nimport * as Vue from 'vue';\nimport { isNullOrUndefined, extend, getValue } from '@syncfusion/ej2-base';\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) {\n return obj;\n}\nelse {\n let newObj = {};\n if (obj != null) {\n for (let key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n newObj[`${key}`] = obj[`${key}`];\n }\n }\n newObj.default = obj;\n return newObj;\n} }\nconst curVue = _interopRequireWildcard(Vue);\nexport const isExecute = (parseInt(curVue['version']) > 2) ? false : true, aVue = !isExecute ? curVue : (curVue['default']['default'] ? curVue['default']['default'] : curVue['default']), gh = curVue['h'];\nexport let vueDefineComponent = (options) => { return !isExecute ? aVue['defineComponent'](options) : aVue['extend'](options); };\nexport let ComponentBase = vueDefineComponent({\n name: 'ComponentBase',\n data() {\n return {\n tagMapper: {},\n tagNameMapper: {},\n hasInjectedModules: false,\n hasChildDirective: false,\n childDirObjects: '',\n propKeys: {},\n isDecorator: false\n };\n },\n created() {\n if (this.ej2Instance) {\n this.ej2Instances = this.isVue3 ? aVue.toRaw(this.ej2Instance) : this.ej2Instance;\n }\n if (!this.propKeys) {\n return;\n }\n for (let prop of this.propKeys) {\n this.ej2Instances.addEventListener(prop, (args) => {\n this.$emit(prop, args);\n });\n }\n let injectables = getValue('$root.$options.provide', this);\n let vueInjectables = getValue('$parent.$options.provide', this);\n vueInjectables = !isNullOrUndefined(vueInjectables) ? vueInjectables : getValue('$.parent.provides', this);\n if (this.hasInjectedModules && !isExecute) {\n let prevModule = [];\n if (injectables && injectables.managed) {\n this.isDecorator = true;\n prevModule = this.getInjectedServices() || [];\n }\n else if (injectables) {\n prevModule = injectables[this.ej2Instances.getModuleName()] || [];\n }\n else if (vueInjectables) {\n prevModule = this.getInjectedServices() || [];\n }\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n },\n mounted() {\n let cusEle = this.$el ? this.$el.querySelectorAll(\"div.e-directive\") : null;\n if (!isExecute && cusEle) {\n for (let 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() {\n if (this.isVue3) {\n this.setModelValue();\n }\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n },\n beforeDestroy() {\n this.destroyComponent();\n },\n beforeUnmount() {\n this.destroyComponent();\n },\n methods: {\n setModelValue() {\n if (!isNullOrUndefined(this.modelValue) || !isNullOrUndefined(this.$attrs.modelValue)) {\n const key = this.models.toString().match(/checked|value/) || [];\n const propKey = key[0];\n if (!isNullOrUndefined(propKey)) {\n this.ej2Instances[`${propKey}`] = !isNullOrUndefined(this.modelValue) ? this.modelValue : this.$attrs.modelValue;\n }\n }\n },\n updated() {\n if (this.isVue3) {\n this.setModelValue();\n }\n if (this.hasChildDirective) {\n let childKey = {};\n this.fetchChildPropValues(childKey);\n let curChildDir = JSON.stringify(childKey);\n if (this.childDirObjects !== curChildDir) {\n this.childDirObjects = curChildDir;\n this.assignValueToWrapper(childKey, false);\n }\n }\n },\n getInjectedServices() {\n let ret = [];\n let provide;\n if (this.$root && this.isDecorator) {\n provide = getValue('$root.$options.provide', this);\n }\n else if (this.$vnode) {\n provide = getValue('$vnode.context.$options.provide', this);\n }\n else if (this.$parent) {\n provide = getValue('$parent.$options.provide', this);\n }\n if (isNullOrUndefined(provide) && !isNullOrUndefined(this.$)) {\n provide = getValue('$.parent.provides', this);\n }\n if (provide) {\n // tslint:disable:no-any\n let injectables = provide;\n if (typeof provide === 'function') {\n if (provide.managed) {\n let provideKey = provide.managed;\n let provideValue = Object.keys(provideKey);\n let key;\n if (this.$root && this.isDecorator) {\n key = Object.keys(this.$root);\n }\n else if (this.$vnode) {\n key = Object.keys(this.$vnode.context);\n }\n else if (this.$parent) {\n key = Object.keys(this.$parent);\n }\n for (let i = 0; i < provideValue.length; i++) {\n for (let j = 0; j < key.length; j++) {\n if ((key[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() {\n let tempBeforeDestroyThis = this;\n tempBeforeDestroyThis.ej2Instances.destroy();\n tempBeforeDestroyThis.$el.style.visibility = 'hidden';\n tempBeforeDestroyThis = null;\n },\n bindProperties() {\n let options = {};\n for (let prop of this.propKeys) {\n if (!isNullOrUndefined(this[`${prop}`])) {\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 let prevModule = this.getInjectedServices() || [];\n let curModule = this.ej2Instances.getInjectedModules() || [];\n for (let mod of curModule) {\n if (prevModule.indexOf(mod) === -1) {\n prevModule.push(mod);\n }\n }\n this.ej2Instances.injectedModules = prevModule;\n }\n this.assignValueToWrapper(options);\n },\n assignValueToWrapper(option, silent) {\n this.ej2Instances.setProperties(extend({}, {}, option, true), isNullOrUndefined(silent) ? true : silent);\n },\n fetchChildPropValues(childOption) {\n let dirProps = {};\n if (!this.isVue3) {\n dirProps = this.getDirectiveValues(this.$slots.default, this.tagMapper || {}, this.tagNameMapper || {});\n }\n else {\n let propRef;\n if (this[0] && this[0][1].slots.default) {\n propRef = this[0][1].slots.default();\n }\n else if (this && this.$ && this.$.slots && this.$.slots.default) {\n propRef = this.$.slots.default();\n }\n if (propRef) {\n for (let i = 0; i < propRef.length; i++) {\n if (propRef[parseInt(i.toString(), 10)].type.methods || propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection') {\n let key = propRef[parseInt(i.toString(), 10)].type === 'e-seriescollection' ? 'series-collection' :\n propRef[parseInt(i.toString(), 10)].type.methods.getTag().replace(\"e-\", \"\");\n let ref = this.resolveArrayDirectives(propRef[parseInt(i.toString(), 10)].children, key);\n let splitKeys = key.split('-');\n let controlName = this.ej2Instances.getModuleName().toLowerCase();\n let keyRef = (splitKeys.length > 1 && controlName.indexOf(splitKeys[0]) > -1) ? splitKeys[1] : splitKeys[0];\n keyRef = keyRef.replace(controlName, '');\n if (controlName == \"splitter\" && keyRef == \"panes\") {\n keyRef = \"paneSettings\";\n }\n else if (controlName == \"bulletchart\" && keyRef == \"range\") {\n keyRef = \"ranges\";\n }\n else if (controlName == \"schedule\" && keyRef == \"header\") {\n keyRef = \"headerRows\";\n }\n dirProps[`${keyRef}`] = ref[`${key}`];\n }\n }\n }\n else {\n return;\n }\n }\n if (!this.childDirObjects) {\n this.childDirObjects = JSON.stringify(dirProps);\n }\n for (let dirProp of Object.keys(dirProps)) {\n childOption[`${dirProp}`] = dirProps[`${dirProp}`];\n }\n },\n resolveArrayDirectives(slots, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n items[`${tagName}`] = [];\n for (const childSlot of slot) {\n let tempObj = {};\n let tagRef = childSlot.type.methods ? childSlot.type.methods.getTag() : tagName;\n if (childSlot.children) {\n let key;\n innerDirValues = this.resolveComplexDirs(childSlot.children, this.tagMapper[\"e-\" + tagName], tagRef);\n if (innerDirValues.length) {\n tempObj = innerDirValues;\n }\n else {\n for (var i = 0; i < Object.keys(innerDirValues).length; i++) {\n key = Object.keys(innerDirValues)[parseInt(i.toString(), 10)];\n tempObj[`${key}`] = innerDirValues[`${key}`];\n }\n }\n }\n if (childSlot.props) {\n Object.keys(childSlot.props).forEach((key) => {\n let propName = key.replace(/-[a-z]/g, (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((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 return items;\n },\n resolveComplexDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = {};\n for (const childSlot of slot) {\n let tagRef;\n let tag;\n if (tagObject[`${tagName}`]) {\n tagRef = Object.keys(tagObject[`${tagName}`]);\n tag = tagRef.find((key) => tagObject[`${tagName}`][`${key}`] ===\n childSlot.type.methods.getTag().replace(/[s]\\b/, \"\"));\n const moduleName = this.ej2Instances.getModuleName().toLowerCase();\n tag = tag\n ? tag.replace(\"e-\", \"\")\n : childSlot.type.methods.getTag().replace(moduleName === \"ribbon\" ? \"e-ribbon-\" : \"e-\", \"\");\n if (this.ej2Instances.getModuleName().toLowerCase() == \"diagram\" && tag.indexOf('annotations') != -1) {\n tag = 'annotations';\n }\n }\n if (childSlot.children) {\n innerDirValues = this.resolveComplexInnerDirs(childSlot.children, tagObject[`${tagName}`], childSlot.type.methods.getTag());\n if (!items[`${tag}`]) {\n items[`${tag}`] = [];\n }\n if (innerDirValues.length > 1) {\n items[`${tag}`] = innerDirValues;\n }\n else {\n items[`${tag}`].push(innerDirValues);\n }\n }\n if (childSlot.props) {\n childSlot.props = this.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 return items;\n },\n resolveComplexInnerDirs(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n let isRibbon = (this.ej2Instances.getModuleName().toLowerCase() == \"ribbon\");\n let tag = childSlot.type.methods.getTag().replace(isRibbon ? \"e-ribbon-\" : \"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 && !(isRibbon && innerDirValues.hasOwnProperty('collections'))) {\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 (isRibbon && innerDirValues && innerDirValues.hasOwnProperty('collections')) {\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(slots, tagObject, tagName) {\n let slot = [];\n let innerDirValues;\n slot = slots.default ? slots.default() : slots;\n let items = slot.length > 1 ? [] : {};\n for (const childSlot of slot) {\n const moduleName = this.ej2Instances.getModuleName().toLowerCase();\n let tag = childSlot.type.methods.getTag().replace(moduleName === \"ribbon\" ? \"e-ribbon-\" : \"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(tagDirectives, tagMapper, tagNameMapper) {\n let keyTags = Object.keys(tagMapper);\n let dir = {};\n if (tagDirectives) {\n for (let tagDirective of tagDirectives) {\n if (tagDirective.componentOptions && tagDirective.componentOptions.children && tagDirective.componentOptions.tag ||\n (tagDirective.tag === 'e-seriescollection' && tagDirective.children)) {\n let dirTag = tagDirective.componentOptions ? tagDirective.componentOptions.tag : tagDirective.tag;\n dirTag = (dirTag === 'e-seriescollection') ? 'e-seriesCollection' : dirTag;\n if (keyTags.indexOf(dirTag) !== -1) {\n let tagName = tagNameMapper[`${dirTag}`] ? tagNameMapper[`${dirTag}`] : dirTag;\n dir[tagName.replace('e-', '')] = [];\n let children = tagDirective.componentOptions ? tagDirective.componentOptions.children : tagDirective.children;\n for (let tagDirChild of children) {\n let retObj = this.getVNodeValue(tagDirChild, tagMapper[`${dirTag}`], tagNameMapper);\n if (Object.keys(retObj).length !== 0) {\n dir[tagName.replace('e-', '')].push(retObj);\n }\n }\n }\n }\n }\n }\n return dir;\n },\n getMultiLevelDirValue(tagDirectories, tagKey, tagNameMapper) {\n let mulObj = {};\n for (let tagDir of tagDirectories) {\n let key;\n let children;\n if (tagDir.componentOptions) {\n key = tagDir.componentOptions.tag;\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 let tagName = tagNameMapper[`${key}`] ? tagNameMapper[`${key}`] : key;\n mulObj[tagName.replace('e-', '')] = [];\n if (children) {\n for (let tagDirChild of children) {\n let mulLevObj = this.getVNodeValue(tagDirChild, tagKey[`${key}`], tagNameMapper);\n if (Object.keys(mulLevObj).length !== 0) {\n mulObj[tagName.replace('e-', '')].push(mulLevObj);\n }\n }\n }\n }\n }\n return mulObj;\n },\n getVNodeValue(tagDirective, tagKey, tagNameMapper) {\n let ret = {};\n if (tagDirective.componentOptions || ((tagDirective.tag === 'e-markersettings' || tagDirective.tag === 'e-markersetting') && tagDirective.context)) {\n let dirTag;\n if (tagDirective.componentOptions) {\n dirTag = tagDirective.componentOptions.tag;\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(props) {\n let retProps = {};\n for (let prop of Object.keys(props)) {\n retProps[prop.replace(/-[a-z]/g, (e) => { return e[1].toUpperCase(); })] = props[`${prop}`];\n }\n return retProps;\n },\n dataBind() {\n this.ej2Instances.dataBind();\n },\n setProperties(arg, muteOnChange) {\n return this.ej2Instances.setProperties(arg, muteOnChange);\n },\n }\n});\nexport function getProps(options = {}) {\n if (options.props) {\n for (let prop of options.props) {\n (options.newprops || (options.newprops = {}))[`${prop}`] = {};\n (options.watch || (options.watch = {}))[`${prop}`] = function (newVal) {\n this.ej2Instances[`${prop}`] = newVal;\n if (this.dataBind && (options.name !== 'DateRangePickerComponent')) {\n this.dataBind();\n }\n };\n }\n }\n return [options.newprops, options.watch];\n}\n","import { setTemplateEngine, getTemplateEngine, getUniqueID, createElement, detach, extend, getValue } from \"@syncfusion/ej2-base\";\nimport { aVue as Vue, isExecute } from \"./component-base\";\n// tslint:disable:no-any\nlet stringCompiler = getTemplateEngine();\nexport function compile(templateElement, helper) {\n let that = this;\n return (data, context, propName, element, root) => {\n let returnEle;\n if (context) {\n let plugins = context.vueInstance ? context.vueInstance.plugins : null;\n let pid = getUniqueID(\"templateParentDiv\");\n let id = getUniqueID(\"templateDiv\");\n let ele = createElement(\"div\", {\n id: pid,\n innerHTML: '<div id=\"' + id + '\"></div>',\n });\n document.body.appendChild(ele);\n if (!isExecute && typeof templateElement === \"string\") {\n let vueSlot = getCurrentVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Compilation for Vue 3 slot template\n let app = Vue.createApp({\n render() {\n return vueSlot[`${templateElement}`]({ data: data });\n }\n });\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[parseInt(i.toString(), 10)]);\n }\n }\n // Get values for Vue 3 slot template\n getValues(app, context.vueInstance, root);\n app.mount(\"#\" + pid);\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 let tempObj = templateElement.call(that, {});\n let object = tempObj;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (!object.template) {\n object.template = object[Object.keys(object)[0]];\n }\n let templateCompRef;\n if (object.template.extends) {\n templateCompRef = object.template.extends._context.components.template;\n }\n else {\n templateCompRef = object.template._context.components[templateElement.name];\n if (!templateCompRef) {\n let key = Object.keys(object.template._context.components)[0];\n templateCompRef = object.template._context.components[`${key}`];\n }\n }\n let tempRef;\n if (propsData) {\n tempRef = Object.assign(templateCompRef.data(), propsData);\n }\n else {\n tempRef = Object.assign(templateCompRef.data(), dataObj.data);\n if (templateCompRef.components) {\n let objkeys = Object.keys(templateCompRef.components) || [];\n for (let objstring of objkeys) {\n let intComponent = templateCompRef.components[`${objstring}`];\n if (intComponent && intComponent.data) {\n if (!intComponent.__data)\n intComponent.__data = intComponent.data;\n intComponent.data = function (proxy) { return Object.assign(intComponent.__data.call(proxy), dataObj.data); };\n }\n }\n }\n }\n templateCompRef.data = function () { return tempRef; };\n let app = Vue.createApp(templateCompRef);\n if (plugins) {\n for (let i = 0; i < plugins.length; i++) {\n app.use(plugins[parseInt(i.toString(), 10)]);\n }\n }\n // Get values for Vue 3 functional template\n getValues(app, context.vueInstance, root);\n app.mount(\"#\" + pid);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else if (typeof templateElement === \"string\") {\n let vueSlot = getVueSlot(context.vueInstance, templateElement, root);\n if (vueSlot) {\n // Get provide values for Vue 2 slot template\n let provided = {};\n let getProvideValues = (vueinstance) => {\n if (vueinstance['$parent'])\n getProvideValues(vueinstance.$parent);\n if (vueinstance['_provided'] && Object.keys(vueinstance['_provided']).length > 0) {\n provided = Object.assign({}, provided, vueinstance._provided);\n }\n };\n let vueInstance = context.vueInstance ? context.vueInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (vueInstance) {\n getProvideValues(vueInstance);\n }\n // Compilation for Vue 2 slot template\n let vueTemplate = new Vue({\n provide: Object.assign({}, provided),\n render() {\n return vueSlot[`${templateElement}`]({ data: data });\n }\n });\n vueTemplate.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n detach(ele);\n }\n else {\n // Compilation for Vue 2 string template\n detach(ele);\n return stringCompiler(templateElement, helper)(data);\n }\n }\n else {\n // Compilation for Vue 2 functional template\n let tempObj = templateElement.call(that, {});\n let templateFunction = tempObj.template;\n let propsData = getValue(\"template.propsData\", tempObj);\n let dataObj = {\n data: { data: extend(tempObj.data || {}, data) },\n parent: context.vueInstance,\n };\n if (propsData) {\n templateFunction = tempObj.template.extends;\n dataObj.propsData = propsData;\n }\n if (typeof templateFunction !== \"function\") {\n templateFunction = Vue.extend(templateFunction);\n }\n let templateVue = new templateFunction(dataObj);\n // let templateVue = new Vue(tempObj.template);\n // templateVue.$data.data = extend(tempObj.data, data);\n templateVue.$mount(\"#\" + id);\n returnEle = ele.childNodes;\n if (context.vueInstance) {\n let templateInstance = context.vueInstance.templateCollection;\n if (!templateInstance) {\n context.vueInstance.templateCollection = {};\n templateInstance = context.vueInstance.templateCollection;\n }\n if (propName) {\n if (!templateInstance[`${propName}`]) {\n templateInstance[`${propName}`] = [];\n }\n templateInstance[`${propName}`].push(returnEle[0]);\n }\n }\n detach(ele);\n }\n }\n return returnEle || [];\n };\n}\nsetTemplateEngine({ compile: compile });\nfunction getValues(app, cInstance, root) {\n let vueInstance = cInstance ? cInstance : ((root && root.vueInstance) ? root.vueInstance : null);\n if (!vueInstance) {\n return;\n }\n // Get globally defined variables.\n let globalVariables = ['components', 'mixins', 'provides'];\n for (let i = 0; i < globalVariables.length; i++) {\n let gVariable = globalVariables[i];\n if (app['_context'][gVariable] && vueInstance['$']['appContext'][gVariable]) {\n app['_context'][gVariable] = vueInstance['$']['appContext'][gVariable];\n }\n }\n // Get provide value from child component.\n let provided = {};\n let getProvideValue = (vueinstance) => {\n if (vueinstance['$'] && vueinstance['$']['parent'])\n getProvideValue(vueinstance.$.parent);\n if (vueinstance['provides'] && Object.keys(vueinstance['provides']).length > 0) {\n provided = Object.assign({}, provided, vueinstance.provides);\n }\n };\n getProvideValue(vueInstance);\n if (app['_context']['provides']) {\n app._context.provides = Object.assign({}, app._context.provides, provided);\n }\n // Get globally defined properties.\n if (app['_context']['config']['globalProperties'] && vueInstance['$']['appContext']['config']['globalProperties']) {\n app['_context']['config']['globalProperties'] = vueInstance['$']['appContext']['config']['globalProperties'];\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 let instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;\n return getVueChildSlot(instance, templateElement);\n}\nfunction getVueChildSlot(vueInstance, templateElement) {\n if (!vueInstance) {\n return undefined;\n }\n let slots = vueInstance.$slots;\n let scopedSlots = vueInstance.$scopedSlots;\n let vSlots = vueInstance.scopedSlots;\n let children = vueInstance.children;\n if (scopedSlots && scopedSlots[`${templateElement}`]) {\n return scopedSlots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default;\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getVueChildSlot(getSlot(childSlots[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 (let i = 0; i < children.length; i++) {\n let 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 let 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 let slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;\n return getChildVueSlot(slots, templateElement);\n}\nfunction getChildVueSlot(slots, templateElement) {\n if (slots && slots[`${templateElement}`]) {\n return slots;\n }\n else if (slots && slots.default) {\n let childSlots = slots.default();\n for (let i = 0; i < childSlots.length; i++) {\n let slot = getChildVueSlot(childSlots[parseInt(i.toString(), 10)].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 './template';\n"],"names":["Vue"],"mappings":"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"}
|
|
@@ -27,7 +27,6 @@ var ComponentBase = vueDefineComponent({
|
|
|
27
27
|
name: 'ComponentBase',
|
|
28
28
|
data: function () {
|
|
29
29
|
return {
|
|
30
|
-
ej2Instances: {},
|
|
31
30
|
tagMapper: {},
|
|
32
31
|
tagNameMapper: {},
|
|
33
32
|
hasInjectedModules: false,
|
|
@@ -39,6 +38,9 @@ var ComponentBase = vueDefineComponent({
|
|
|
39
38
|
},
|
|
40
39
|
created: function () {
|
|
41
40
|
var _this = this;
|
|
41
|
+
if (this.ej2Instance) {
|
|
42
|
+
this.ej2Instances = this.isVue3 ? aVue.toRaw(this.ej2Instance) : this.ej2Instance;
|
|
43
|
+
}
|
|
42
44
|
if (!this.propKeys) {
|
|
43
45
|
return;
|
|
44
46
|
}
|
|
@@ -648,7 +650,7 @@ function compile(templateElement, helper) {
|
|
|
648
650
|
var tempObj = templateElement.call(that, {});
|
|
649
651
|
var object = tempObj;
|
|
650
652
|
var propsData = getValue("template.propsData", tempObj);
|
|
651
|
-
var
|
|
653
|
+
var dataObj_1 = {
|
|
652
654
|
data: { data: extend(tempObj.data || {}, data) },
|
|
653
655
|
parent: context.vueInstance,
|
|
654
656
|
};
|
|
@@ -671,14 +673,15 @@ function compile(templateElement, helper) {
|
|
|
671
673
|
tempRef_1 = Object.assign(templateCompRef.data(), propsData);
|
|
672
674
|
}
|
|
673
675
|
else {
|
|
674
|
-
tempRef_1 = Object.assign(templateCompRef.data(),
|
|
676
|
+
tempRef_1 = Object.assign(templateCompRef.data(), dataObj_1.data);
|
|
675
677
|
if (templateCompRef.components) {
|
|
676
678
|
var objkeys = Object.keys(templateCompRef.components) || [];
|
|
677
679
|
var _loop_1 = function (objstring) {
|
|
678
680
|
var intComponent = templateCompRef.components["" + objstring];
|
|
679
681
|
if (intComponent && intComponent.data) {
|
|
680
|
-
|
|
681
|
-
|
|
682
|
+
if (!intComponent.__data)
|
|
683
|
+
intComponent.__data = intComponent.data;
|
|
684
|
+
intComponent.data = function (proxy) { return Object.assign(intComponent.__data.call(proxy), dataObj_1.data); };
|
|
682
685
|
}
|
|
683
686
|
};
|
|
684
687
|
for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {
|