@syncfusion/ej2-vue-base 20.1.47 → 20.1.48

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/src/template.js CHANGED
@@ -5,9 +5,11 @@ import { allVue, gh } from "./component-base";
5
5
  var stringCompiler = getTemplateEngine();
6
6
  export function compile(templateElement, helper) {
7
7
  var that = this;
8
- return function (data, context, propName, element, root) {
9
- var returnEle;
10
- if (context) {
8
+ if (typeof templateElement === "string") {
9
+ return stringCompiler(templateElement, helper);
10
+ }
11
+ else {
12
+ return function (data, context, propName) {
11
13
  var pid = getUniqueID("templateParentDiv");
12
14
  var id = getUniqueID("templateDiv");
13
15
  var ele = createElement("div", {
@@ -15,202 +17,95 @@ export function compile(templateElement, helper) {
15
17
  innerHTML: '<div id="' + id + '"></div>',
16
18
  });
17
19
  document.body.appendChild(ele);
18
- if (gh && typeof templateElement === "string") {
19
- var vue3Slots_1 = getVue3Slot(context.vueInstance, templateElement, root);
20
- if (vue3Slots_1) {
21
- // Compilation for Vue 3 slot template
22
- allVue
23
- .createApp({
24
- render: function () {
25
- return vue3Slots_1[templateElement]({ data: data });
20
+ var tempObj = templateElement.call(that, {});
21
+ var returnEle;
22
+ if (context) {
23
+ if (gh) {
24
+ var object = tempObj;
25
+ var propsData = getValue("template.propsData", tempObj);
26
+ var dataObj = {
27
+ data: { data: extend(tempObj.data || {}, data) },
28
+ parent: context.vueInstance,
29
+ };
30
+ if (!object.template) {
31
+ object.template = object[Object.keys(object)[0]];
32
+ }
33
+ var templateCompRef = void 0;
34
+ if (object.template.extends) {
35
+ templateCompRef = object.template.extends._context.components.template;
36
+ }
37
+ else {
38
+ templateCompRef = object.template._context.components[templateElement.name];
39
+ if (!templateCompRef) {
40
+ var key = Object.keys(object.template._context.components)[0];
41
+ templateCompRef = object.template._context.components[key];
26
42
  }
27
- })
28
- .mount("#" + id);
29
- returnEle = ele.childNodes;
30
- detach(ele);
31
- }
32
- else {
33
- // Compilation for Vue 3 string template
34
- detach(ele);
35
- return stringCompiler(templateElement, helper)(data);
36
- }
37
- }
38
- else if (gh) {
39
- // Compilation for Vue 3 functional template
40
- var tempObj = templateElement.call(that, {});
41
- var object = tempObj;
42
- var propsData = getValue("template.propsData", tempObj);
43
- var dataObj = {
44
- data: { data: extend(tempObj.data || {}, data) },
45
- parent: context.vueInstance,
46
- };
47
- if (!object.template) {
48
- object.template = object[Object.keys(object)[0]];
49
- }
50
- var templateCompRef = void 0;
51
- if (object.template.extends) {
52
- templateCompRef = object.template.extends._context.components.template;
53
- }
54
- else {
55
- templateCompRef = object.template._context.components[templateElement.name];
56
- if (!templateCompRef) {
57
- var key = Object.keys(object.template._context.components)[0];
58
- templateCompRef = object.template._context.components[key];
59
43
  }
60
- }
61
- var tempRef_1;
62
- if (propsData) {
63
- tempRef_1 = Object.assign(templateCompRef.data(), propsData);
64
- }
65
- else {
66
- tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);
67
- if (templateCompRef.components) {
68
- var objkeys = Object.keys(templateCompRef.components) || [];
69
- var _loop_1 = function (objstring) {
70
- var intComponent = templateCompRef.components[objstring];
71
- if (intComponent && intComponent.data) {
72
- var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);
73
- intComponent.data = function () { return tempRef2_1; };
44
+ var tempRef_1;
45
+ if (propsData) {
46
+ tempRef_1 = Object.assign(templateCompRef.data(), propsData);
47
+ }
48
+ else {
49
+ tempRef_1 = Object.assign(templateCompRef.data(), dataObj.data);
50
+ if (templateCompRef.components) {
51
+ var objkeys = Object.keys(templateCompRef.components) || [];
52
+ var _loop_1 = function (objstring) {
53
+ var intComponent = templateCompRef.components[objstring];
54
+ if (intComponent && intComponent.data) {
55
+ var tempRef2_1 = Object.assign(intComponent.data(), dataObj.data);
56
+ intComponent.data = function () { return tempRef2_1; };
57
+ }
58
+ };
59
+ for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {
60
+ var objstring = objkeys_1[_i];
61
+ _loop_1(objstring);
74
62
  }
75
- };
76
- for (var _i = 0, objkeys_1 = objkeys; _i < objkeys_1.length; _i++) {
77
- var objstring = objkeys_1[_i];
78
- _loop_1(objstring);
79
63
  }
80
64
  }
81
- }
82
- templateCompRef.data = function () { return tempRef_1; };
83
- allVue
84
- .createApp(templateCompRef)
85
- .mount("#" + id);
86
- returnEle = ele.childNodes;
87
- detach(ele);
88
- }
89
- else if (typeof templateElement === "string") {
90
- var vue2Slots_1 = getVue2Slot(context.vueInstance, templateElement, root);
91
- if (vue2Slots_1) {
92
- // Compilation for Vue 2 slot template
93
- var vueTemplate = new Vue({
94
- render: function () {
95
- return vue2Slots_1[templateElement]({ data: data });
96
- }
97
- });
98
- vueTemplate.$mount("#" + id);
65
+ templateCompRef.data = function () { return tempRef_1; };
66
+ allVue
67
+ .createApp(templateCompRef)
68
+ .mount("#" + id);
99
69
  returnEle = ele.childNodes;
100
70
  detach(ele);
101
71
  }
102
72
  else {
103
- // Compilation for Vue 2 string template
104
- detach(ele);
105
- return stringCompiler(templateElement, helper)(data);
106
- }
107
- }
108
- else {
109
- // Compilation for Vue 2 functional template
110
- var tempObj = templateElement.call(that, {});
111
- var templateFunction = tempObj.template;
112
- var propsData = getValue("template.propsData", tempObj);
113
- var dataObj = {
114
- data: { data: extend(tempObj.data || {}, data) },
115
- parent: context.vueInstance,
116
- };
117
- if (propsData) {
118
- templateFunction = tempObj.template.extends;
119
- dataObj.propsData = propsData;
120
- }
121
- if (typeof templateFunction !== "function") {
122
- templateFunction = Vue.extend(templateFunction);
123
- }
124
- var templateVue = new templateFunction(dataObj);
125
- // let templateVue = new Vue(tempObj.template);
126
- // templateVue.$data.data = extend(tempObj.data, data);
127
- templateVue.$mount("#" + id);
128
- returnEle = ele.childNodes;
129
- if (context.vueInstance) {
130
- var templateInstance = context.vueInstance.templateCollection;
131
- if (!templateInstance) {
132
- context.vueInstance.templateCollection = {};
133
- templateInstance = context.vueInstance.templateCollection;
73
+ var templateFunction = tempObj.template;
74
+ var propsData = getValue("template.propsData", tempObj);
75
+ var dataObj = {
76
+ data: { data: extend(tempObj.data || {}, data) },
77
+ parent: context.vueInstance,
78
+ };
79
+ if (propsData) {
80
+ templateFunction = tempObj.template.extends;
81
+ dataObj.propsData = propsData;
82
+ }
83
+ if (typeof templateFunction !== "function") {
84
+ templateFunction = Vue.extend(templateFunction);
134
85
  }
135
- if (propName) {
136
- if (!templateInstance[propName]) {
137
- templateInstance[propName] = [];
86
+ var templateVue = new templateFunction(dataObj);
87
+ // let templateVue = new Vue(tempObj.template);
88
+ // templateVue.$data.data = extend(tempObj.data, data);
89
+ templateVue.$mount("#" + id);
90
+ returnEle = ele.childNodes;
91
+ if (context.vueInstance) {
92
+ var templateInstance = context.vueInstance.templateCollection;
93
+ if (!templateInstance) {
94
+ context.vueInstance.templateCollection = {};
95
+ templateInstance = context.vueInstance.templateCollection;
96
+ }
97
+ if (propName) {
98
+ if (!templateInstance[propName]) {
99
+ templateInstance[propName] = [];
100
+ }
101
+ templateInstance[propName].push(returnEle[0]);
138
102
  }
139
- templateInstance[propName].push(returnEle[0]);
140
103
  }
104
+ detach(ele);
141
105
  }
142
- detach(ele);
143
- }
144
- }
145
- return returnEle || [];
146
- };
147
- }
148
- setTemplateEngine({ compile: compile });
149
- // Get the Vue2 slot template from the root or current Vue component.
150
- function getVue2Slot(vueInstance, templateElement, root) {
151
- if (!vueInstance && !(root && root.vueInstance)) {
152
- return undefined;
153
- }
154
- var instance = (root && root.vueInstance) ? root.vueInstance : vueInstance;
155
- return getVue2ChildSlot(instance, templateElement);
156
- }
157
- function getVue2ChildSlot(vueInstance, templateElement) {
158
- if (!vueInstance) {
159
- return undefined;
160
- }
161
- var slots = vueInstance.$slots;
162
- var scopedSlots = vueInstance.$scopedSlots;
163
- var vSlots = vueInstance.scopedSlots;
164
- var children = vueInstance.children;
165
- if (scopedSlots && scopedSlots[templateElement]) {
166
- return scopedSlots;
167
- }
168
- else if (slots && slots.default) {
169
- var childSlots = slots.default;
170
- for (var i = 0; i < childSlots.length; i++) {
171
- var slot = getVue2ChildSlot(getSlot(childSlots[i]), templateElement);
172
- if (slot) {
173
- return slot;
174
106
  }
175
- }
107
+ return returnEle || [];
108
+ };
176
109
  }
177
- else if (vSlots && vSlots[templateElement]) {
178
- return vSlots;
179
- }
180
- else if (children) {
181
- for (var i = 0; i < children.length; i++) {
182
- var slot = getVue2ChildSlot(getSlot(children[i]), templateElement);
183
- if (slot) {
184
- return slot;
185
- }
186
- }
187
- }
188
- return undefined;
189
- }
190
- function getSlot(vnode) {
191
- var slot = (vnode.componentOptions && vnode.componentOptions.children) ? vnode.componentOptions : vnode.data;
192
- return vnode.componentInstance ? vnode.componentInstance : slot;
193
- }
194
- // Get the Vue3 slot template from the root or current Vue component.
195
- function getVue3Slot(vueInstance, templateElement, root) {
196
- if (!vueInstance && !(root && root.vueInstance)) {
197
- return undefined;
198
- }
199
- var slots = (root && root.vueInstance) ? root.vueInstance.$slots : vueInstance.$slots;
200
- return getVue3ChildSlot(slots, templateElement);
201
- }
202
- function getVue3ChildSlot(slots, templateElement) {
203
- if (slots && slots[templateElement]) {
204
- return slots;
205
- }
206
- else if (slots && slots.default) {
207
- var childSlots = slots.default();
208
- for (var i = 0; i < childSlots.length; i++) {
209
- var slot = getVue3ChildSlot(childSlots[i].children, templateElement);
210
- if (slot) {
211
- return slot;
212
- }
213
- }
214
- }
215
- return undefined;
216
110
  }
111
+ setTemplateEngine({ compile: compile });