render-core 1.0.82 → 1.0.84
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/core/cmd/v-for.d.ts +10 -0
- package/core/cmd/v-for.js +10 -0
- package/core/cmd/v-index.d.ts +6 -0
- package/core/cmd/v-index.js +36 -16
- package/core/cmd/v-key.d.ts +10 -0
- package/core/cmd/v-key.js +33 -37
- package/core/inject/inject.d.ts +25 -0
- package/core/inject/inject.js +25 -0
- package/core/render/partRender.d.ts +13 -0
- package/core/render/partRender.js +13 -0
- package/package.json +1 -1
package/core/cmd/v-for.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 展开数据
|
|
3
|
+
* @param elements
|
|
4
|
+
* @param data
|
|
5
|
+
*/
|
|
1
6
|
export declare function resolver_for_of(elements: HTMLCollection, data: {}): void;
|
|
7
|
+
/**
|
|
8
|
+
* 展开数据
|
|
9
|
+
* @param elements
|
|
10
|
+
* @param data
|
|
11
|
+
*/
|
|
2
12
|
export declare function resolver_for_each(elements: HTMLCollection, data: {}): void;
|
package/core/cmd/v-for.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { extractForArray, extractForMap } from "../utility/vForUtility";
|
|
2
|
+
/**
|
|
3
|
+
* 展开数据
|
|
4
|
+
* @param elements
|
|
5
|
+
* @param data
|
|
6
|
+
*/
|
|
2
7
|
export function resolver_for_of(elements, data) {
|
|
3
8
|
var _loop_1 = function (i) {
|
|
4
9
|
var result = elements[i].hasAttribute("v-for-of");
|
|
@@ -28,6 +33,11 @@ export function resolver_for_of(elements, data) {
|
|
|
28
33
|
i = out_i_1;
|
|
29
34
|
}
|
|
30
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* 展开数据
|
|
38
|
+
* @param elements
|
|
39
|
+
* @param data
|
|
40
|
+
*/
|
|
31
41
|
export function resolver_for_each(elements, data) {
|
|
32
42
|
for (var i = 0; i < elements.length; i++) {
|
|
33
43
|
var result = elements[i].hasAttribute("v-for-each");
|
package/core/cmd/v-index.d.ts
CHANGED
|
@@ -5,4 +5,10 @@
|
|
|
5
5
|
* @param data
|
|
6
6
|
*/
|
|
7
7
|
export declare function resolver_array_single(element: Element, index: number, data: any): void;
|
|
8
|
+
/**
|
|
9
|
+
* 遍历根元素的子元素
|
|
10
|
+
* @param elements
|
|
11
|
+
* @param index
|
|
12
|
+
* @param data
|
|
13
|
+
*/
|
|
8
14
|
export declare function resolver_array_multi(elements: HTMLCollection, index: number, data: any): void;
|
package/core/cmd/v-index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { part_render_map } from "../render/partRender";
|
|
2
|
+
import { extractForArray } from "../utility/vForUtility";
|
|
2
3
|
/**
|
|
3
4
|
* 遍历根元素
|
|
4
5
|
* @param element
|
|
@@ -16,21 +17,20 @@ export function resolver_array_single(element, index, data) {
|
|
|
16
17
|
if (element.hasAttribute("v-index")) {
|
|
17
18
|
element.removeAttribute("v-index");
|
|
18
19
|
// @ts-ignore
|
|
19
|
-
element.innerText =
|
|
20
|
-
}
|
|
21
|
-
//检查v-for-item
|
|
22
|
-
if (element.hasAttribute("v-for-item")) {
|
|
23
|
-
element.removeAttribute("v-for-item");
|
|
24
|
-
part_render_map(element.parentNode, element, data);
|
|
25
|
-
//删除节点
|
|
26
|
-
element.parentNode.removeChild(element);
|
|
20
|
+
element.innerText = index;
|
|
27
21
|
}
|
|
28
22
|
//深度展开
|
|
29
23
|
var subElements = element.children;
|
|
30
24
|
resolver_array_multi(subElements, index, data);
|
|
31
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* 遍历根元素的子元素
|
|
28
|
+
* @param elements
|
|
29
|
+
* @param index
|
|
30
|
+
* @param data
|
|
31
|
+
*/
|
|
32
32
|
export function resolver_array_multi(elements, index, data) {
|
|
33
|
-
|
|
33
|
+
var _loop_1 = function (i) {
|
|
34
34
|
//解析data
|
|
35
35
|
if (elements[i].hasAttribute("v-data")) {
|
|
36
36
|
elements[i].removeAttribute("v-data");
|
|
@@ -43,16 +43,36 @@ export function resolver_array_multi(elements, index, data) {
|
|
|
43
43
|
// @ts-ignore
|
|
44
44
|
elements[i].innerText = index;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
elements[i].
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
if (elements[i]) {
|
|
47
|
+
//检查v-for-item,该指令不可以用在根元素上
|
|
48
|
+
if (elements[i].hasAttribute("v-for-item")) {
|
|
49
|
+
elements[i].removeAttribute("v-for-item");
|
|
50
|
+
part_render_map(elements[i].parentNode, elements[i], data);
|
|
51
|
+
i++;
|
|
52
|
+
//删除节点
|
|
53
|
+
elements[i].parentNode.removeChild(elements[i]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (elements[i]) {
|
|
57
|
+
//检查v-for-array
|
|
58
|
+
if (elements[i].hasAttribute("v-for-index")) {
|
|
59
|
+
elements[i].removeAttribute("v-for-index");
|
|
60
|
+
data.forEach(function (value, index) {
|
|
61
|
+
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
62
|
+
i++;
|
|
63
|
+
});
|
|
64
|
+
//删除节点
|
|
65
|
+
elements[i].parentNode.removeChild(elements[i]);
|
|
66
|
+
}
|
|
53
67
|
}
|
|
54
68
|
if (elements[i]) {
|
|
55
69
|
resolver_array_multi(elements[i].children, index, data);
|
|
56
70
|
}
|
|
71
|
+
out_i_1 = i;
|
|
72
|
+
};
|
|
73
|
+
var out_i_1;
|
|
74
|
+
for (var i = 0; i < elements.length; i++) {
|
|
75
|
+
_loop_1(i);
|
|
76
|
+
i = out_i_1;
|
|
57
77
|
}
|
|
58
78
|
}
|
package/core/cmd/v-key.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 展开数据
|
|
3
|
+
* @param element
|
|
4
|
+
* @param data
|
|
5
|
+
*/
|
|
1
6
|
export declare function resolver_map_single(element: Element, data: any): void;
|
|
7
|
+
/**
|
|
8
|
+
* 向根元素子元素展开数据
|
|
9
|
+
* @param elements
|
|
10
|
+
* @param data
|
|
11
|
+
*/
|
|
2
12
|
export declare function resolver_map_multi(elements: HTMLCollection, data: any): void;
|
package/core/cmd/v-key.js
CHANGED
|
@@ -1,35 +1,26 @@
|
|
|
1
1
|
import { part_render_map } from "../render/partRender";
|
|
2
2
|
import { extractForArray } from "../utility/vForUtility";
|
|
3
|
+
/**
|
|
4
|
+
* 展开数据
|
|
5
|
+
* @param element
|
|
6
|
+
* @param data
|
|
7
|
+
*/
|
|
3
8
|
export function resolver_map_single(element, data) {
|
|
4
9
|
//检查v-data
|
|
5
|
-
|
|
6
|
-
if (result) {
|
|
10
|
+
if (element.hasAttribute("v-key")) {
|
|
7
11
|
var property = element.getAttribute("v-key");
|
|
8
12
|
element.removeAttribute("v-key");
|
|
9
13
|
// @ts-ignore
|
|
10
14
|
element.innerText = data[property];
|
|
11
15
|
}
|
|
12
|
-
//检查v-for-item
|
|
13
|
-
result = element.hasAttribute("v-for-item");
|
|
14
|
-
if (result) {
|
|
15
|
-
var property = element.getAttribute("v-for-item");
|
|
16
|
-
element.removeAttribute("v-for-item");
|
|
17
|
-
part_render_map(element.parentNode, element, data[property]);
|
|
18
|
-
element.parentNode.removeChild(element);
|
|
19
|
-
}
|
|
20
|
-
//检查v-for-index
|
|
21
|
-
result = element.hasAttribute("v-for-index");
|
|
22
|
-
if (result) {
|
|
23
|
-
element.removeAttribute("v-for-index");
|
|
24
|
-
data.forEach(function (value, index) {
|
|
25
|
-
extractForArray(element.parentNode, element, index, value);
|
|
26
|
-
});
|
|
27
|
-
//删除节点
|
|
28
|
-
element.parentNode.removeChild(element);
|
|
29
|
-
}
|
|
30
16
|
//深度展开
|
|
31
17
|
resolver_map_multi(element.children, data);
|
|
32
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* 向根元素子元素展开数据
|
|
21
|
+
* @param elements
|
|
22
|
+
* @param data
|
|
23
|
+
*/
|
|
33
24
|
export function resolver_map_multi(elements, data) {
|
|
34
25
|
var _loop_1 = function (i) {
|
|
35
26
|
//检查v-key
|
|
@@ -39,24 +30,29 @@ export function resolver_map_multi(elements, data) {
|
|
|
39
30
|
// @ts-ignore
|
|
40
31
|
elements[i].innerText = data[property];
|
|
41
32
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
//删除节点
|
|
49
|
-
elements[i].parentNode.removeChild(elements[i]);
|
|
50
|
-
}
|
|
51
|
-
//检查v-for-array
|
|
52
|
-
if (elements[i].hasAttribute("v-for-index")) {
|
|
53
|
-
elements[i].removeAttribute("v-for-index");
|
|
54
|
-
data.forEach(function (value, index) {
|
|
55
|
-
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
33
|
+
if (elements[i]) {
|
|
34
|
+
//检查v-for-item
|
|
35
|
+
if (elements[i].hasAttribute("v-for-item")) {
|
|
36
|
+
var property = elements[i].getAttribute("v-for-item");
|
|
37
|
+
elements[i].removeAttribute("v-for-item");
|
|
38
|
+
part_render_map(elements[i].parentNode, elements[i], data[property]);
|
|
56
39
|
i++;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
40
|
+
//删除节点
|
|
41
|
+
elements[i].parentNode.removeChild(elements[i]);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (elements[i]) {
|
|
45
|
+
//检查v-for-array
|
|
46
|
+
if (elements[i].hasAttribute("v-for-index")) {
|
|
47
|
+
var property = elements[i].getAttribute("v-for-index");
|
|
48
|
+
elements[i].removeAttribute("v-for-index");
|
|
49
|
+
data[property].forEach(function (value, index) {
|
|
50
|
+
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
51
|
+
i++;
|
|
52
|
+
});
|
|
53
|
+
//删除节点
|
|
54
|
+
elements[i].parentNode.removeChild(elements[i]);
|
|
55
|
+
}
|
|
60
56
|
}
|
|
61
57
|
//深度展开
|
|
62
58
|
if (elements[i]) {
|
package/core/inject/inject.d.ts
CHANGED
|
@@ -1,7 +1,32 @@
|
|
|
1
1
|
import { Controller } from "../../class/controller/controller";
|
|
2
2
|
import { Component } from "../../class/component/component";
|
|
3
|
+
/**
|
|
4
|
+
* 向raw_data中注入props和Query
|
|
5
|
+
* @param controller
|
|
6
|
+
* @param tagTemplate
|
|
7
|
+
*/
|
|
3
8
|
export declare function inject(controller: Controller, tagTemplate: Element): void;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param controller
|
|
12
|
+
* @param tagTemplate
|
|
13
|
+
*/
|
|
4
14
|
export declare function injectRefs(controller: Controller, tagTemplate: Element): void;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param controller
|
|
18
|
+
* @param proto
|
|
19
|
+
*/
|
|
5
20
|
export declare function injectMethod(controller: Controller, proto: Component): void;
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @param controller
|
|
24
|
+
* @param proto
|
|
25
|
+
*/
|
|
6
26
|
export declare function injectWatcher(controller: Controller, proto: Component): void;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param controller
|
|
30
|
+
* @param proto
|
|
31
|
+
*/
|
|
7
32
|
export declare function injectComputed(controller: Controller, proto: Component): void;
|
package/core/inject/inject.js
CHANGED
|
@@ -2,29 +2,54 @@ import { getCodeSpaceForProps, getCodeSpaceForQuery, getCodeSpaceForRef, } from
|
|
|
2
2
|
import { resolveProps } from "../resolver/props";
|
|
3
3
|
import { resolve_Queries } from "../resolver/query";
|
|
4
4
|
import { resolver_Refs } from "../cmd/v-ref";
|
|
5
|
+
/**
|
|
6
|
+
* 向raw_data中注入props和Query
|
|
7
|
+
* @param controller
|
|
8
|
+
* @param tagTemplate
|
|
9
|
+
*/
|
|
5
10
|
export function inject(controller, tagTemplate) {
|
|
6
11
|
//注入props
|
|
7
12
|
getCodeSpaceForProps(controller.raw_data, resolveProps(Reflect.get(window, "context").crtTag, controller.proto.getProps()));
|
|
8
13
|
//注入query
|
|
9
14
|
getCodeSpaceForQuery(controller.raw_data, resolve_Queries());
|
|
10
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param controller
|
|
19
|
+
* @param tagTemplate
|
|
20
|
+
*/
|
|
11
21
|
export function injectRefs(controller, tagTemplate) {
|
|
12
22
|
var refs = new Map();
|
|
13
23
|
resolver_Refs(controller.root.children, refs);
|
|
14
24
|
getCodeSpaceForRef(controller.raw_data, refs);
|
|
15
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @param controller
|
|
29
|
+
* @param proto
|
|
30
|
+
*/
|
|
16
31
|
export function injectMethod(controller, proto) {
|
|
17
32
|
var methods = Object.getOwnPropertyNames(proto.getMethods());
|
|
18
33
|
methods.forEach(function (value) {
|
|
19
34
|
Reflect.set(controller.raw_data, value, proto.getMethods()[value].bind(controller.proxyForMethods));
|
|
20
35
|
});
|
|
21
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @param controller
|
|
40
|
+
* @param proto
|
|
41
|
+
*/
|
|
22
42
|
export function injectWatcher(controller, proto) {
|
|
23
43
|
var methods = Object.getOwnPropertyNames(proto.getWatcher());
|
|
24
44
|
methods.forEach(function (value) {
|
|
25
45
|
Reflect.set(controller.raw_data, value, proto.getWatcher()[value].bind(controller.raw_data));
|
|
26
46
|
});
|
|
27
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param controller
|
|
51
|
+
* @param proto
|
|
52
|
+
*/
|
|
28
53
|
export function injectComputed(controller, proto) {
|
|
29
54
|
var methods = Object.getOwnPropertyNames(proto.getComputed());
|
|
30
55
|
methods.forEach(function (value) {
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 该函数用于处理数组类型数据的展开
|
|
3
|
+
* @param baseRoot
|
|
4
|
+
* @param temp
|
|
5
|
+
* @param index
|
|
6
|
+
* @param data
|
|
7
|
+
*/
|
|
1
8
|
export declare function part_render_array(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
|
9
|
+
/**
|
|
10
|
+
* 该函数用于处理字典数据类型的展开
|
|
11
|
+
* @param baseRoot
|
|
12
|
+
* @param temp
|
|
13
|
+
* @param data
|
|
14
|
+
*/
|
|
2
15
|
export declare function part_render_map(baseRoot: ParentNode, temp: Node, data: any): void;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { resolver_array_single } from "../cmd/v-index";
|
|
2
2
|
import { resolver_map_single } from "../cmd/v-key";
|
|
3
|
+
/**
|
|
4
|
+
* 该函数用于处理数组类型数据的展开
|
|
5
|
+
* @param baseRoot
|
|
6
|
+
* @param temp
|
|
7
|
+
* @param index
|
|
8
|
+
* @param data
|
|
9
|
+
*/
|
|
3
10
|
export function part_render_array(baseRoot, temp, index, data) {
|
|
4
11
|
// @ts-ignore
|
|
5
12
|
var clone = temp.cloneNode(true);
|
|
@@ -8,6 +15,12 @@ export function part_render_array(baseRoot, temp, index, data) {
|
|
|
8
15
|
//插入模板节点
|
|
9
16
|
baseRoot.insertBefore(clone, temp);
|
|
10
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* 该函数用于处理字典数据类型的展开
|
|
20
|
+
* @param baseRoot
|
|
21
|
+
* @param temp
|
|
22
|
+
* @param data
|
|
23
|
+
*/
|
|
11
24
|
export function part_render_map(baseRoot, temp, data) {
|
|
12
25
|
// @ts-ignore
|
|
13
26
|
var clone = temp.cloneNode(true);
|