@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/CHANGELOG.md +3 -3
- package/README.md +4 -2
- package/dist/ej2-vue-base.umd.min.js +2 -2
- package/dist/es6/ej2-vue-base.es2015.js +79 -186
- package/dist/es6/ej2-vue-base.es2015.js.map +1 -1
- package/dist/es6/ej2-vue-base.es5.js +83 -190
- 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 +13 -24
- package/postinstall.js +10 -2
- package/src/component-base.js +2 -4
- package/src/template.d.ts +1 -1
- package/src/template.js +81 -186
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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 });
|