render-core 1.0.58 → 1.0.60

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.js CHANGED
@@ -5,16 +5,25 @@ export function resolver_for_of(elements, data) {
5
5
  if (result) {
6
6
  var dataName = elements[i].getAttribute("v-for-of");
7
7
  elements[i].removeAttribute("v-for-of");
8
- data[dataName].forEach(function (value, index) {
9
- extractForArray(elements[i].parentNode, elements[i], index, value);
10
- });
11
- //将模板节点删除
12
- elements[i].parentNode.removeChild(elements[i]);
8
+ if (data[dataName] instanceof Array) {
9
+ data[dataName].forEach(function (value, index) {
10
+ extractForArray(elements[i].parentNode, elements[i], index, value);
11
+ i++;
12
+ });
13
+ //将模板节点删除
14
+ elements[i].parentNode.removeChild(elements[i]);
15
+ }
16
+ else {
17
+ console.log("Instruction v-for-of need an array datatype to extract!");
18
+ }
13
19
  }
14
20
  resolver_for_of(elements[i].children, data);
21
+ out_i_1 = i;
15
22
  };
23
+ var out_i_1;
16
24
  for (var i = 0; i < elements.length; i++) {
17
25
  _loop_1(i);
26
+ i = out_i_1;
18
27
  }
19
28
  }
20
29
  export function resolver_for_each(elements, data) {
@@ -23,8 +32,14 @@ export function resolver_for_each(elements, data) {
23
32
  if (result) {
24
33
  var dataName = elements[i].getAttribute("v-for-each");
25
34
  elements[i].removeAttribute("v-for-each");
26
- for (var key in data[dataName]) {
27
- extractForMap(elements[i].parentNode, elements[i], key, data[dataName][key]);
35
+ if (data[dataName] instanceof Object) {
36
+ for (var key in data[dataName]) {
37
+ extractForMap(elements[i].parentNode, elements[i], key, data[dataName][key]);
38
+ i++;
39
+ }
40
+ }
41
+ else {
42
+ console.log("Instruction v-for-of need an object datatype to extract!");
28
43
  }
29
44
  //将模板节点删除
30
45
  elements[i].parentNode.removeChild(elements[i]);
@@ -1,3 +1,4 @@
1
+ import { part_render_map } from "../render/partRender";
1
2
  export function resolver_array_single(element, index, data) {
2
3
  //解析data
3
4
  var result = element.hasAttribute("v-data");
@@ -13,23 +14,47 @@ export function resolver_array_single(element, index, data) {
13
14
  // @ts-ignore
14
15
  element.innerText = data;
15
16
  }
17
+ //检查v-for-item
18
+ result = element.hasAttribute("v-for-item");
19
+ if (result) {
20
+ element.removeAttribute("v-for-item");
21
+ for (var keyItem in data[index]) {
22
+ part_render_map(element.parentNode, element, keyItem, data[keyItem]);
23
+ }
24
+ //删除节点
25
+ element.parentNode.removeChild(element);
26
+ }
27
+ //深度展开
16
28
  var subElements = element.children;
17
29
  resolver_array_multi(subElements, index, data);
18
30
  }
19
31
  export function resolver_array_multi(elements, index, data) {
20
32
  for (var i = 0; i < elements.length; i++) {
33
+ //解析data
21
34
  var result = elements[i].hasAttribute("v-data");
22
35
  if (result) {
23
36
  elements[i].removeAttribute("v-data");
24
37
  // @ts-ignore
25
- elements[i].innerText = JSON.stringify(data);
38
+ elements[i].innerText = data;
26
39
  }
40
+ //解析index
27
41
  result = elements[i].hasAttribute("v-index");
28
42
  if (result) {
29
43
  elements[i].removeAttribute("v-index");
30
44
  // @ts-ignore
31
45
  elements[i].innerText = index;
32
46
  }
47
+ //检查v-for-item
48
+ result = elements[i].hasAttribute("v-for-item");
49
+ if (result) {
50
+ elements[i].removeAttribute("v-for-item");
51
+ for (var keyItem in data[index]) {
52
+ part_render_map(elements[i].parentNode, elements[i], keyItem, data[keyItem]);
53
+ }
54
+ //删除节点
55
+ elements[i].parentNode.removeChild(elements[i]);
56
+ }
57
+ //深度展开
33
58
  var subElements = elements[i].children;
34
59
  resolver_array_multi(subElements, index, data);
35
60
  }
package/core/cmd/v-key.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import { part_render_map } from "../render/partRender";
2
+ import { extractForArray } from "../utility/vForUtility";
2
3
  export function resolver_map_single(element, key, data) {
3
4
  //检查v-data
4
5
  var result = element.hasAttribute("v-data");
5
6
  if (result) {
6
7
  element.removeAttribute("v-data");
7
8
  // @ts-ignore
8
- element.innerText = JSON.stringify(data);
9
+ element.innerText = data;
9
10
  }
10
11
  //检查v-key
11
12
  result = element.hasAttribute("v-key");
@@ -18,14 +19,27 @@ export function resolver_map_single(element, key, data) {
18
19
  result = element.hasAttribute("v-for-item");
19
20
  if (result) {
20
21
  element.removeAttribute("v-for-item");
21
- part_render_map(element.parentNode, element, key, data);
22
+ for (var keyItem in data[key]) {
23
+ part_render_map(element.parentNode, element, keyItem, data[keyItem]);
24
+ }
25
+ element.parentNode.removeChild(element);
26
+ }
27
+ //检查v-for-array
28
+ result = element.hasAttribute("v-for-index");
29
+ if (result) {
30
+ element.removeAttribute("v-for-index");
31
+ data[key].forEach(function (value, index) {
32
+ extractForArray(element.parentNode, element, index, value);
33
+ });
34
+ //删除节点
35
+ element.parentNode.removeChild(element);
22
36
  }
23
37
  //深度展开
24
38
  var subElements = element.children;
25
39
  resolver_map_multi(subElements, key, data);
26
40
  }
27
41
  export function resolver_map_multi(elements, key, data) {
28
- for (var i = 0; i < elements.length; i++) {
42
+ var _loop_1 = function (i) {
29
43
  //检查v-data
30
44
  var result = elements[i].hasAttribute("v-data");
31
45
  if (result) {
@@ -44,9 +58,27 @@ export function resolver_map_multi(elements, key, data) {
44
58
  result = elements[i].hasAttribute("v-for-item");
45
59
  if (result) {
46
60
  elements[i].removeAttribute("v-for-item");
47
- part_render_map(elements[i].parentNode, elements[i], key, data);
61
+ for (var keyItem in data[key]) {
62
+ part_render_map(elements[i].parentNode, elements[i], keyItem, data[keyItem]);
63
+ }
64
+ //删除节点
65
+ elements[i].parentNode.removeChild(elements[i]);
66
+ }
67
+ //检查v-for-array
68
+ result = elements[i].hasAttribute("v-for-index");
69
+ if (result) {
70
+ elements[i].removeAttribute("v-for-index");
71
+ data[key].forEach(function (value, index) {
72
+ extractForArray(elements[i].parentNode, elements[i], index, value);
73
+ });
74
+ //删除节点
75
+ elements[i].parentNode.removeChild(elements[i]);
48
76
  }
77
+ //深度展开
49
78
  var subElements = elements[i].children;
50
79
  resolver_map_multi(subElements, key, data);
80
+ };
81
+ for (var i = 0; i < elements.length; i++) {
82
+ _loop_1(i);
51
83
  }
52
84
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.0.58",
3
+ "version": "1.0.60",
4
4
  "description": "The core for render-js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",