render-core 1.3.43 → 1.3.45
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/loop/{v-index.js → v-for-utility.js} +31 -27
- package/core/cmd/loop/v-for.d.ts +13 -3
- package/core/cmd/loop/v-for.js +28 -27
- package/core/cmd/loop/{v-key.js → v-map-utility.js} +8 -13
- package/core/{render/partRender.d.ts → cmd/loop/v-map.d.ts} +8 -3
- package/core/cmd/loop/v-map.js +50 -0
- package/core/utility/cmdUtility.js +3 -2
- package/package.json +1 -1
- package/core/render/partRender.js +0 -31
- package/core/utility/vForUtility.d.ts +0 -15
- package/core/utility/vForUtility.js +0 -20
- /package/core/cmd/loop/{v-index.d.ts → v-for-utility.d.ts} +0 -0
- /package/core/cmd/loop/{v-key.d.ts → v-map-utility.d.ts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { extractForArray } from "../../utility/vForUtility";
|
|
1
|
+
import { extractForMap } from "./v-map";
|
|
3
2
|
/**
|
|
4
3
|
* 遍历根元素
|
|
5
4
|
* @param element
|
|
@@ -7,12 +6,12 @@ import { extractForArray } from "../../utility/vForUtility";
|
|
|
7
6
|
* @param data
|
|
8
7
|
*/
|
|
9
8
|
export function resolver_array_single(element, index, data) {
|
|
9
|
+
//从根元素开始渲染
|
|
10
10
|
//解析data
|
|
11
11
|
if (element.hasAttribute("@data")) {
|
|
12
|
-
var data_index = element.getAttribute("@data");
|
|
13
12
|
element.removeAttribute("@data");
|
|
14
13
|
// @ts-ignore
|
|
15
|
-
element.innerText = data
|
|
14
|
+
element.innerText = data;
|
|
16
15
|
}
|
|
17
16
|
//解析index
|
|
18
17
|
if (element.hasAttribute("@index")) {
|
|
@@ -20,6 +19,13 @@ export function resolver_array_single(element, index, data) {
|
|
|
20
19
|
// @ts-ignore
|
|
21
20
|
element.innerText = index;
|
|
22
21
|
}
|
|
22
|
+
//渲染信息
|
|
23
|
+
if (element.hasAttribute("list-message")) {
|
|
24
|
+
var data_index = element.getAttribute("@data");
|
|
25
|
+
element.removeAttribute("@data");
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
element.innerText = data[data_index];
|
|
28
|
+
}
|
|
23
29
|
resolver_array_multi(element.children, index, data);
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
@@ -32,47 +38,45 @@ export function resolver_array_multi(elements, index, data) {
|
|
|
32
38
|
var _loop_1 = function (i) {
|
|
33
39
|
//解析data
|
|
34
40
|
if (elements[i].hasAttribute("@data")) {
|
|
35
|
-
var data_index = elements[i].getAttribute("@data");
|
|
36
41
|
elements[i].removeAttribute("@data");
|
|
37
42
|
// @ts-ignore
|
|
38
|
-
|
|
43
|
+
element.innerText = data;
|
|
39
44
|
}
|
|
40
45
|
//解析index
|
|
41
46
|
if (elements[i].hasAttribute("@index")) {
|
|
42
47
|
elements[i].removeAttribute("@index");
|
|
43
48
|
// @ts-ignore
|
|
44
|
-
|
|
49
|
+
element.innerText = index;
|
|
45
50
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
//删除节点
|
|
53
|
-
elements[i].parentNode.removeChild(elements[i]);
|
|
54
|
-
i--;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (elements[i]) {
|
|
58
|
-
//检查v-for-array
|
|
59
|
-
if (elements[i].hasAttribute("@list-list")) {
|
|
60
|
-
elements[i].removeAttribute("@list-list");
|
|
61
|
-
data.forEach(function (value, index) {
|
|
62
|
-
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
51
|
+
//渲染文档
|
|
52
|
+
if (elements[i].hasAttribute("list-document")) {
|
|
53
|
+
if (data instanceof Array) {
|
|
54
|
+
data.forEach(function (value) {
|
|
55
|
+
//从数组中取出一条信息,然后开始渲染
|
|
56
|
+
extractForMap(elements[i].parentNode, elements[i], value);
|
|
63
57
|
i++;
|
|
64
58
|
});
|
|
65
|
-
|
|
59
|
+
//将模板节点删除
|
|
66
60
|
elements[i].parentNode.removeChild(elements[i]);
|
|
61
|
+
//重新回到原来的索引值
|
|
67
62
|
i--;
|
|
68
63
|
}
|
|
64
|
+
else {
|
|
65
|
+
console.log("Instruction @list need an array datatype to extract!");
|
|
66
|
+
}
|
|
69
67
|
}
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
//渲染信息
|
|
69
|
+
if (elements[i].hasAttribute("list-message")) {
|
|
70
|
+
var data_index = elements[i].getAttribute("@data");
|
|
71
|
+
elements[i].removeAttribute("@data");
|
|
72
|
+
// @ts-ignore
|
|
73
|
+
element.innerText = data[data_index];
|
|
72
74
|
}
|
|
75
|
+
resolver_array_multi(elements[i].children, index, data);
|
|
73
76
|
out_i_1 = i;
|
|
74
77
|
};
|
|
75
78
|
var out_i_1;
|
|
79
|
+
//渲染模板子元素
|
|
76
80
|
for (var i = 0; i < elements.length; i++) {
|
|
77
81
|
_loop_1(i);
|
|
78
82
|
i = out_i_1;
|
package/core/cmd/loop/v-for.d.ts
CHANGED
|
@@ -5,8 +5,18 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function resolver_for_of(elements: HTMLCollection, data: {}): void;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
8
|
+
*
|
|
9
|
+
* @param baseRoot
|
|
10
|
+
* @param temp
|
|
11
|
+
* @param index
|
|
12
|
+
* @param data
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractForArray(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
|
15
|
+
/**
|
|
16
|
+
* 该函数用于处理数组类型数据的展开
|
|
17
|
+
* @param baseRoot
|
|
18
|
+
* @param temp
|
|
19
|
+
* @param index
|
|
10
20
|
* @param data
|
|
11
21
|
*/
|
|
12
|
-
export declare function
|
|
22
|
+
export declare function part_render_array(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
package/core/cmd/loop/v-for.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolver_array_single } from "./v-for-utility";
|
|
2
2
|
/**
|
|
3
3
|
* 展开数据
|
|
4
4
|
* @param elements
|
|
@@ -6,17 +6,19 @@ import { extractForArray, extractForMap } from "../../utility/vForUtility";
|
|
|
6
6
|
*/
|
|
7
7
|
export function resolver_for_of(elements, data) {
|
|
8
8
|
var _loop_1 = function (i) {
|
|
9
|
-
var result = elements[i].hasAttribute("@
|
|
9
|
+
var result = elements[i].hasAttribute("@for");
|
|
10
10
|
if (result) {
|
|
11
|
-
var dataName = elements[i].getAttribute("@
|
|
12
|
-
elements[i].removeAttribute("@
|
|
11
|
+
var dataName = elements[i].getAttribute("@for");
|
|
12
|
+
elements[i].removeAttribute("@for");
|
|
13
13
|
if (data[dataName] instanceof Array) {
|
|
14
14
|
data[dataName].forEach(function (value, index) {
|
|
15
|
+
//从数组中取出一条信息,然后开始渲染
|
|
15
16
|
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
16
17
|
i++;
|
|
17
18
|
});
|
|
18
19
|
//将模板节点删除
|
|
19
20
|
elements[i].parentNode.removeChild(elements[i]);
|
|
21
|
+
//重新回到原来的索引值
|
|
20
22
|
i--;
|
|
21
23
|
}
|
|
22
24
|
else {
|
|
@@ -35,29 +37,28 @@ export function resolver_for_of(elements, data) {
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
|
-
*
|
|
39
|
-
* @param
|
|
40
|
+
*
|
|
41
|
+
* @param baseRoot
|
|
42
|
+
* @param temp
|
|
43
|
+
* @param index
|
|
40
44
|
* @param data
|
|
41
45
|
*/
|
|
42
|
-
export function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
resolver_for_each(elements[i].children, data);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
46
|
+
export function extractForArray(baseRoot, temp, index, data) {
|
|
47
|
+
//将渲染出来的数据模板插入到根元素下
|
|
48
|
+
part_render_array(baseRoot, temp, index, data);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 该函数用于处理数组类型数据的展开
|
|
52
|
+
* @param baseRoot
|
|
53
|
+
* @param temp
|
|
54
|
+
* @param index
|
|
55
|
+
* @param data
|
|
56
|
+
*/
|
|
57
|
+
export function part_render_array(baseRoot, temp, index, data) {
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
var clone = temp.cloneNode(true);
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
resolver_array_single(clone, index, data);
|
|
62
|
+
//插入模板节点
|
|
63
|
+
baseRoot.insertBefore(clone, temp);
|
|
63
64
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { extractForArray } from "../../utility/vForUtility";
|
|
1
|
+
import { extractForArray } from "./v-for";
|
|
3
2
|
/**
|
|
4
3
|
* 展开数据
|
|
5
4
|
* @param element
|
|
@@ -32,21 +31,17 @@ export function resolver_map_multi(elements, data) {
|
|
|
32
31
|
}
|
|
33
32
|
if (elements[i]) {
|
|
34
33
|
//检查v-for-item
|
|
35
|
-
if (elements[i].hasAttribute("@
|
|
36
|
-
var property = elements[i].getAttribute("@
|
|
37
|
-
elements[i].removeAttribute("@
|
|
38
|
-
|
|
39
|
-
i++;
|
|
40
|
-
//删除节点
|
|
41
|
-
elements[i].parentNode.removeChild(elements[i]);
|
|
42
|
-
i--;
|
|
34
|
+
if (elements[i].hasAttribute("@map-document")) {
|
|
35
|
+
var property = elements[i].getAttribute("@map-document");
|
|
36
|
+
elements[i].removeAttribute("@map-document");
|
|
37
|
+
resolver_map_single(elements[i], data[property]);
|
|
43
38
|
}
|
|
44
39
|
}
|
|
45
40
|
if (elements[i]) {
|
|
46
41
|
//检查v-for-array
|
|
47
|
-
if (elements[i].hasAttribute("@
|
|
48
|
-
var property = elements[i].getAttribute("@
|
|
49
|
-
elements[i].removeAttribute("@
|
|
42
|
+
if (elements[i].hasAttribute("@map-list")) {
|
|
43
|
+
var property = elements[i].getAttribute("@map-list");
|
|
44
|
+
elements[i].removeAttribute("@map-list");
|
|
50
45
|
data[property].forEach(function (value, index) {
|
|
51
46
|
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
52
47
|
i++;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 展开数据
|
|
3
|
+
* @param elements
|
|
4
|
+
* @param data
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolver_for_map(elements: HTMLCollection, data: {}): void;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
3
9
|
* @param baseRoot
|
|
4
10
|
* @param temp
|
|
5
|
-
* @param index
|
|
6
11
|
* @param data
|
|
7
12
|
*/
|
|
8
|
-
export declare function
|
|
13
|
+
export declare function extractForMap(baseRoot: ParentNode, temp: Node, data: any): void;
|
|
9
14
|
/**
|
|
10
15
|
* 该函数用于处理字典数据类型的展开
|
|
11
16
|
* @param baseRoot
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { resolver_map_single } from "./v-map-utility";
|
|
2
|
+
/**
|
|
3
|
+
* 展开数据
|
|
4
|
+
* @param elements
|
|
5
|
+
* @param data
|
|
6
|
+
*/
|
|
7
|
+
export function resolver_for_map(elements, data) {
|
|
8
|
+
for (var i = 0; i < elements.length; i++) {
|
|
9
|
+
var result = elements[i].hasAttribute("@map");
|
|
10
|
+
if (result) {
|
|
11
|
+
var dataName = elements[i].getAttribute("@map");
|
|
12
|
+
elements[i].removeAttribute("@map");
|
|
13
|
+
if (data[dataName] instanceof Object) {
|
|
14
|
+
extractForMap(elements[i].parentNode, elements[i], data[dataName]);
|
|
15
|
+
i++;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
console.log("Instruction @document need an object datatype to extract!");
|
|
19
|
+
}
|
|
20
|
+
//将模板节点删除
|
|
21
|
+
elements[i].parentNode.removeChild(elements[i]);
|
|
22
|
+
i--;
|
|
23
|
+
}
|
|
24
|
+
if (elements[i]) {
|
|
25
|
+
resolver_for_map(elements[i].children, data);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param baseRoot
|
|
32
|
+
* @param temp
|
|
33
|
+
* @param data
|
|
34
|
+
*/
|
|
35
|
+
export function extractForMap(baseRoot, temp, data) {
|
|
36
|
+
part_render_map(baseRoot, temp, data);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 该函数用于处理字典数据类型的展开
|
|
40
|
+
* @param baseRoot
|
|
41
|
+
* @param temp
|
|
42
|
+
* @param data
|
|
43
|
+
*/
|
|
44
|
+
export function part_render_map(baseRoot, temp, data) {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
var clone = temp.cloneNode(true);
|
|
47
|
+
resolver_map_single(clone, data);
|
|
48
|
+
//插入模板节点
|
|
49
|
+
baseRoot.insertBefore(clone, temp);
|
|
50
|
+
}
|
|
@@ -8,9 +8,10 @@ import { resolver_show } from "../cmd/justify/v-show";
|
|
|
8
8
|
import { resolver_render } from "../cmd/justify/v-render";
|
|
9
9
|
import { resolver_if } from "../cmd/justify/v-if";
|
|
10
10
|
import { resolver_switch } from "../cmd/justify/v-switch";
|
|
11
|
-
import {
|
|
11
|
+
import { resolver_for_of } from "../cmd/loop/v-for";
|
|
12
12
|
import { extract_solt } from "../cmd/solt/v-solt";
|
|
13
13
|
import { resolver_experssion } from "../cmd/data/v-el";
|
|
14
|
+
import { resolver_for_map } from "../cmd/loop/v-map";
|
|
14
15
|
/**
|
|
15
16
|
* This function is used to resolver those commands which should be executed before mount.
|
|
16
17
|
* @param tagTemplate
|
|
@@ -49,7 +50,7 @@ export function afterCmd(templateSpace, proto, controller) {
|
|
|
49
50
|
//v-switch
|
|
50
51
|
resolver_switch(templateSpace.children, controller.proxyForMethods);
|
|
51
52
|
//v-for-each
|
|
52
|
-
|
|
53
|
+
resolver_for_map(templateSpace.children, controller.proxyForMethods);
|
|
53
54
|
//v-for-of
|
|
54
55
|
resolver_for_of(templateSpace.children, controller.proxyForMethods);
|
|
55
56
|
//v-el
|
package/package.json
CHANGED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { resolver_array_single } from "../cmd/loop/v-index";
|
|
2
|
-
import { resolver_map_single } from "../cmd/loop/v-key";
|
|
3
|
-
/**
|
|
4
|
-
* 该函数用于处理数组类型数据的展开
|
|
5
|
-
* @param baseRoot
|
|
6
|
-
* @param temp
|
|
7
|
-
* @param index
|
|
8
|
-
* @param data
|
|
9
|
-
*/
|
|
10
|
-
export function part_render_array(baseRoot, temp, index, data) {
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
var clone = temp.cloneNode(true);
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
resolver_array_single(clone, index, data);
|
|
15
|
-
//插入模板节点
|
|
16
|
-
baseRoot.insertBefore(clone, temp);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* 该函数用于处理字典数据类型的展开
|
|
20
|
-
* @param baseRoot
|
|
21
|
-
* @param temp
|
|
22
|
-
* @param data
|
|
23
|
-
*/
|
|
24
|
-
export function part_render_map(baseRoot, temp, data) {
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
var clone = temp.cloneNode(true);
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
resolver_map_single(clone, data);
|
|
29
|
-
//插入模板节点
|
|
30
|
-
baseRoot.insertBefore(clone, temp);
|
|
31
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param baseRoot
|
|
4
|
-
* @param temp
|
|
5
|
-
* @param index
|
|
6
|
-
* @param data
|
|
7
|
-
*/
|
|
8
|
-
export declare function extractForArray(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param baseRoot
|
|
12
|
-
* @param temp
|
|
13
|
-
* @param data
|
|
14
|
-
*/
|
|
15
|
-
export declare function extractForMap(baseRoot: ParentNode, temp: Node, data: any): void;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { part_render_array, part_render_map } from "../render/partRender";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param baseRoot
|
|
5
|
-
* @param temp
|
|
6
|
-
* @param index
|
|
7
|
-
* @param data
|
|
8
|
-
*/
|
|
9
|
-
export function extractForArray(baseRoot, temp, index, data) {
|
|
10
|
-
part_render_array(baseRoot, temp, index, data);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @param baseRoot
|
|
15
|
-
* @param temp
|
|
16
|
-
* @param data
|
|
17
|
-
*/
|
|
18
|
-
export function extractForMap(baseRoot, temp, data) {
|
|
19
|
-
part_render_map(baseRoot, temp, data);
|
|
20
|
-
}
|
|
File without changes
|
|
File without changes
|