render-core 1.3.44 → 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.
@@ -1,5 +1,4 @@
1
- import { part_render_map } from "../../render/partRender";
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[data_index];
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
- elements[i].innerText = data[data_index];
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
- elements[i].innerText = index;
49
+ element.innerText = index;
45
50
  }
46
- if (elements[i]) {
47
- //检查v-for-item,该指令不可以用在根元素上
48
- if (elements[i].hasAttribute("@list-document")) {
49
- elements[i].removeAttribute("@list-document");
50
- part_render_map(elements[i].parentNode, elements[i], data);
51
- i++;
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
- if (elements[i]) {
71
- resolver_array_multi(elements[i].children, index, data);
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;
@@ -5,8 +5,18 @@
5
5
  */
6
6
  export declare function resolver_for_of(elements: HTMLCollection, data: {}): void;
7
7
  /**
8
- * 展开数据
9
- * @param elements
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 resolver_for_each(elements: HTMLCollection, data: {}): void;
22
+ export declare function part_render_array(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
@@ -1,4 +1,4 @@
1
- import { extractForArray, extractForMap } from "../../utility/vForUtility";
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("@list");
9
+ var result = elements[i].hasAttribute("@for");
10
10
  if (result) {
11
- var dataName = elements[i].getAttribute("@list");
12
- elements[i].removeAttribute("@list");
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 elements
40
+ *
41
+ * @param baseRoot
42
+ * @param temp
43
+ * @param index
40
44
  * @param data
41
45
  */
42
- export function resolver_for_each(elements, data) {
43
- for (var i = 0; i < elements.length; i++) {
44
- var result = elements[i].hasAttribute("@document");
45
- if (result) {
46
- var dataName = elements[i].getAttribute("@document");
47
- elements[i].removeAttribute("@document");
48
- if (data[dataName] instanceof Object) {
49
- extractForMap(elements[i].parentNode, elements[i], data[dataName]);
50
- i++;
51
- }
52
- else {
53
- console.log("Instruction @document need an object datatype to extract!");
54
- }
55
- //将模板节点删除
56
- elements[i].parentNode.removeChild(elements[i]);
57
- i--;
58
- }
59
- if (elements[i]) {
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 { part_render_map } from "../../render/partRender";
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("@document-document")) {
36
- var property = elements[i].getAttribute("@document-document");
37
- elements[i].removeAttribute("@document-document");
38
- part_render_map(elements[i].parentNode, elements[i], data[property]);
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("@document-list")) {
48
- var property = elements[i].getAttribute("@document-list");
49
- elements[i].removeAttribute("@document-list");
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 part_render_array(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
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 { resolver_for_each, resolver_for_of } from "../cmd/loop/v-for";
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
- resolver_for_each(templateSpace.children, controller.proxyForMethods);
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
@@ -4,3 +4,9 @@
4
4
  * @param component
5
5
  */
6
6
  export declare function addLabel(nodes: HTMLCollection, component: string): void;
7
+ /**
8
+ * Use the func to register some tool-functions to the windows object.
9
+ * @param name
10
+ * @param func
11
+ */
12
+ export declare function registerElements(name: string, func: any): void;
@@ -10,3 +10,11 @@ export function addLabel(nodes, component) {
10
10
  addLabel(kk, component);
11
11
  }
12
12
  }
13
+ /**
14
+ * Use the func to register some tool-functions to the windows object.
15
+ * @param name
16
+ * @param func
17
+ */
18
+ export function registerElements(name, func) {
19
+ Reflect.set(window, name, func);
20
+ }
package/index.d.ts CHANGED
@@ -35,4 +35,3 @@ export declare class RenderJS implements RenderTip {
35
35
  */
36
36
  registerElements(name: string, func: any): void;
37
37
  }
38
- export declare function registerElements(name: string, func: any): void;
package/index.js CHANGED
@@ -2,6 +2,7 @@ import { PageController } from "./class/controller/pageController";
2
2
  import { registerTagLib, render } from "./runtime/tools";
3
3
  import { AppController } from "./class/controller/appController";
4
4
  import { changeStyle, changeTheme } from "./core/utility/styleUtility";
5
+ import { registerElements } from "./core/utility/miscUtility";
5
6
  /**
6
7
  * This class is the application class.
7
8
  */
@@ -46,9 +47,9 @@ var RenderJS = /** @class */ (function () {
46
47
  //挂载对象
47
48
  this.mount();
48
49
  //注册函数
49
- this.registerElements("changeStyle", changeStyle);
50
+ registerElements("changeStyle", changeStyle);
50
51
  //注册函数
51
- this.registerElements("changeTheme", changeTheme);
52
+ registerElements("changeTheme", changeTheme);
52
53
  //plugin
53
54
  this.use(function (render) {
54
55
  sessionStorage.setItem("theme_style", "default");
@@ -67,6 +68,3 @@ var RenderJS = /** @class */ (function () {
67
68
  return RenderJS;
68
69
  }());
69
70
  export { RenderJS };
70
- export function registerElements(name, func) {
71
- Reflect.set(window, name, func);
72
- }
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
- {
2
- "name": "render-core",
3
- "version": "1.3.44",
4
- "description": "The extendable javascript web framework",
5
- "main": "index.js",
6
- "types": "index.d.ts",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com//render-js/render-core.git"
10
- },
11
- "author": {
12
- "name": "mutian",
13
- "email": "mutian-xiangcai@outlook.com"
14
- },
15
- "license": "MIT"
16
- }
1
+ {
2
+ "name": "render-core",
3
+ "version": "1.3.45",
4
+ "description": "The extendable javascript web framework",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com//render-js/render-core.git"
10
+ },
11
+ "author": {
12
+ "name": "mutian",
13
+ "email": "mutian-xiangcai@outlook.com"
14
+ },
15
+ "license": "MIT"
16
+ }
@@ -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
- }