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.
@@ -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");
@@ -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;
@@ -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 = data;
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
- for (var i = 0; i < elements.length; i++) {
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
- //检查v-for-item
47
- if (elements[i].hasAttribute("v-for-item")) {
48
- elements[i].removeAttribute("v-for-item");
49
- part_render_map(elements[i].parentNode, elements[i], data);
50
- i++;
51
- //删除节点
52
- elements[i].parentNode.removeChild(elements[i]);
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
  }
@@ -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
- var result = element.hasAttribute("v-key");
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
- //检查v-for-item
43
- if (elements[i].hasAttribute("v-for-item")) {
44
- var property = elements[i].getAttribute("v-for-item");
45
- elements[i].removeAttribute("v-for-item");
46
- part_render_map(elements[i].parentNode, elements[i], data[property]);
47
- i++;
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
- elements[i].parentNode.removeChild(elements[i]);
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]) {
@@ -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;
@@ -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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.0.82",
3
+ "version": "1.0.84",
4
4
  "description": "The core for render-js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",