render-core 1.0.53 → 1.0.55

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.
@@ -0,0 +1,3 @@
1
+ export declare class partController {
2
+ constructor();
3
+ }
@@ -0,0 +1,7 @@
1
+ var partController = /** @class */ (function () {
2
+ //构造函数
3
+ function partController() {
4
+ }
5
+ return partController;
6
+ }());
7
+ export { partController };
package/core/cmd/v-for.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { extractForArray, extractForMap } from "../utility/vForUtility";
1
2
  export function resolver_for_of(elements, data) {
2
3
  for (var i = 0; i < elements.length; i++) {
3
4
  var result = elements[i].hasAttribute("v-for-of");
@@ -5,10 +6,13 @@ export function resolver_for_of(elements, data) {
5
6
  var dataName = elements[i].getAttribute("v-for-of");
6
7
  elements[i].removeAttribute("v-for-of");
7
8
  for (var _i = 0, _a = data[dataName]; _i < _a.length; _i++) {
8
- var Element_1 = _a[_i];
9
+ var dataItem = _a[_i];
10
+ //将该模板节点在此处展开
11
+ extractForArray(elements[i].parentNode, elements[i], data[dataName].indexOf(dataItem), dataItem);
9
12
  }
13
+ elements[i].parentNode.removeChild(elements[i]);
10
14
  }
11
- resolver_for_each(elements[i].children, data);
15
+ resolver_for_of(elements[i].children, data);
12
16
  }
13
17
  }
14
18
  export function resolver_for_each(elements, data) {
@@ -17,8 +21,10 @@ export function resolver_for_each(elements, data) {
17
21
  if (result) {
18
22
  var dataName = elements[i].getAttribute("v-for-each");
19
23
  elements[i].removeAttribute("v-for-each");
20
- for (var Key in data[dataName]) {
24
+ for (var key in data[dataName]) {
25
+ extractForMap(elements[i].parentNode, elements[i], key, data[dataName][key]);
21
26
  }
27
+ elements[i].parentNode.removeChild(elements[i]);
22
28
  }
23
29
  resolver_for_each(elements[i].children, data);
24
30
  }
@@ -0,0 +1,2 @@
1
+ export declare function resolver_array_single(element: Element, index: number, data: any): void;
2
+ export declare function resolver_array_multi(elements: HTMLCollection, index: number, data: any): void;
@@ -0,0 +1,36 @@
1
+ export function resolver_array_single(element, index, data) {
2
+ var result = element.hasAttribute("v-data");
3
+ if (result) {
4
+ var dataName = element.getAttribute("v-data");
5
+ element.removeAttribute("v-data");
6
+ // @ts-ignore
7
+ elements[i].innerText = JSON.stringify(data);
8
+ }
9
+ result = element.hasAttribute("v-index");
10
+ if (result) {
11
+ var dataName = element.getAttribute("v-index");
12
+ element.removeAttribute("v-index");
13
+ // @ts-ignore
14
+ element.innerText = JSON.stringify(data);
15
+ }
16
+ var subElements = element.children;
17
+ resolver_array_multi(subElements, index, data);
18
+ }
19
+ export function resolver_array_multi(elements, index, data) {
20
+ for (var i = 0; i < elements.length; i++) {
21
+ var result = elements[i].hasAttribute("v-data");
22
+ if (result) {
23
+ elements[i].removeAttribute("v-data");
24
+ // @ts-ignore
25
+ elements[i].innerText = JSON.stringify(data);
26
+ }
27
+ result = elements[i].hasAttribute("v-index");
28
+ if (result) {
29
+ elements[i].removeAttribute("v-index");
30
+ // @ts-ignore
31
+ elements[i].innerText = JSON.stringify(index);
32
+ }
33
+ var subElements = elements[i].children;
34
+ resolver_array_multi(subElements, index, data);
35
+ }
36
+ }
@@ -0,0 +1,2 @@
1
+ export declare function resolver_map_single(element: Element, key: string, data: any): void;
2
+ export declare function resolver_map_multi(elements: HTMLCollection, key: string, data: any): void;
@@ -0,0 +1,52 @@
1
+ import { part_render_map } from "../render/partRender";
2
+ export function resolver_map_single(element, key, data) {
3
+ //检查v-data
4
+ var result = element.hasAttribute("v-data");
5
+ if (result) {
6
+ element.removeAttribute("v-data");
7
+ // @ts-ignore
8
+ elements[i].innerText = JSON.stringify(data);
9
+ }
10
+ //检查v-key
11
+ result = element.hasAttribute("v-key");
12
+ if (result) {
13
+ element.removeAttribute("v-key");
14
+ // @ts-ignore
15
+ element.innerText = JSON.stringify(data);
16
+ }
17
+ //检查v-for-of
18
+ result = element.hasAttribute("v-for-item");
19
+ if (result) {
20
+ element.removeAttribute("v-for-item");
21
+ part_render_map(element.parentNode, element, key, data);
22
+ }
23
+ //深度展开
24
+ var subElements = element.children;
25
+ resolver_map_multi(subElements, key, data);
26
+ }
27
+ export function resolver_map_multi(elements, key, data) {
28
+ for (var i = 0; i < elements.length; i++) {
29
+ //检查v-data
30
+ var result = elements[i].hasAttribute("v-data");
31
+ if (result) {
32
+ elements[i].removeAttribute("v-data");
33
+ // @ts-ignore
34
+ elements[i].innerText = JSON.stringify(data);
35
+ }
36
+ //检查v-key
37
+ result = elements[i].hasAttribute("v-key");
38
+ if (result) {
39
+ elements[i].removeAttribute("v-key");
40
+ // @ts-ignore
41
+ elements[i].innerText = JSON.stringify(index);
42
+ }
43
+ //检查v-for-of
44
+ result = elements[i].hasAttribute("v-for-item");
45
+ if (result) {
46
+ elements[i].removeAttribute("v-for-item");
47
+ part_render_map(elements[i].parentNode, elements[i], key, data);
48
+ }
49
+ var subElements = elements[i].children;
50
+ resolver_map_multi(subElements, key, data);
51
+ }
52
+ }
@@ -1 +1 @@
1
- export declare function resolver_txt(elements: HTMLCollection, data: {}): void;
1
+ export declare function resolver_txt(elements: HTMLCollection, data: any): void;
@@ -0,0 +1,2 @@
1
+ export declare function part_render_array(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
2
+ export declare function part_render_map(baseRoot: ParentNode, temp: Node, key: string, data: any): void;
@@ -0,0 +1,16 @@
1
+ import { resolver_array_single } from "../cmd/v-index";
2
+ import { resolver_map_single } from "../cmd/v-key";
3
+ export function part_render_array(baseRoot, temp, index, data) {
4
+ // @ts-ignore
5
+ var clone = temp.cloneNode(true);
6
+ // @ts-ignore
7
+ resolver_array_single(clone, index, data);
8
+ baseRoot.insertBefore(clone, temp);
9
+ }
10
+ export function part_render_map(baseRoot, temp, key, data) {
11
+ // @ts-ignore
12
+ var clone = temp.cloneNode(true);
13
+ // @ts-ignore
14
+ resolver_map_single(clone, key, data);
15
+ baseRoot.insertBefore(clone, temp);
16
+ }
@@ -0,0 +1,2 @@
1
+ export declare function extractForArray(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
2
+ export declare function extractForMap(baseRoot: ParentNode, temp: Node, key: string, data: any): void;
@@ -0,0 +1,7 @@
1
+ import { part_render_array, part_render_map } from "../render/partRender";
2
+ export function extractForArray(baseRoot, temp, index, data) {
3
+ part_render_array(baseRoot, temp, index, data);
4
+ }
5
+ export function extractForMap(baseRoot, temp, key, data) {
6
+ part_render_map(baseRoot, temp, key, data);
7
+ }
@@ -8,6 +8,7 @@ import { resolver_show } from "../../core/cmd/v-show";
8
8
  import { resolver_render } from "../../core/cmd/v-render";
9
9
  import { resolver_if } from "../../core/cmd/v-if";
10
10
  import { resolver_switch } from "../../core/cmd/v-switch";
11
+ import { resolver_for_each, resolver_for_of } from "../../core/cmd/v-for";
11
12
  export function cmd(tagTemplate, proto, controller) {
12
13
  //给所有元素添加上npm=tag标志
13
14
  addLabel(tagTemplate.children, proto.getName());
@@ -31,6 +32,10 @@ export function afterCmd(templateSpace, proto, controller) {
31
32
  resolver_if(templateSpace.children, controller.proxyForMethods);
32
33
  //v-switch
33
34
  resolver_switch(templateSpace.children, controller.proxyForMethods);
35
+ //v-for-each
36
+ resolver_for_each(templateSpace.children, controller.proxyForMethods);
37
+ //v-for-of
38
+ resolver_for_of(templateSpace.children, controller.proxyForMethods);
34
39
  }
35
40
  export function cmdForUpdate(tagTemplate, proto, controller) {
36
41
  //给所有元素添加上npm=tag标志
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.0.53",
3
+ "version": "1.0.55",
4
4
  "description": "The core for render-js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",