render-core 1.0.89 → 1.0.91

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.
Files changed (95) hide show
  1. package/class/component/component.d.ts +4 -17
  2. package/class/component/component.js +3 -0
  3. package/class/controller/appController.d.ts +6 -0
  4. package/class/controller/appController.js +22 -0
  5. package/class/controller/{controller.d.ts → componentController.d.ts} +4 -2
  6. package/class/controller/{controller.js → componentController.js} +7 -5
  7. package/class/controller/pageController.d.ts +2 -2
  8. package/class/tips/appTip.d.ts +3 -0
  9. package/class/tips/appTip.js +1 -0
  10. package/class/tips/componentTip.d.ts +16 -0
  11. package/class/tips/componentTip.js +1 -0
  12. package/core/cmd/data/v-el.d.ts +8 -0
  13. package/core/cmd/{v-el.js → data/v-el.js} +10 -4
  14. package/core/cmd/data/v-html.d.ts +8 -0
  15. package/core/cmd/data/v-html.js +22 -0
  16. package/core/cmd/data/v-txt.d.ts +8 -0
  17. package/core/cmd/{v-txt.js → data/v-txt.js} +10 -4
  18. package/core/cmd/{v-if.d.ts → justify/v-if.d.ts} +5 -0
  19. package/core/cmd/{v-if.js → justify/v-if.js} +5 -0
  20. package/core/cmd/{v-render.d.ts → justify/v-render.d.ts} +5 -0
  21. package/core/cmd/{v-render.js → justify/v-render.js} +6 -2
  22. package/core/cmd/{v-show.d.ts → justify/v-show.d.ts} +5 -0
  23. package/core/cmd/{v-show.js → justify/v-show.js} +6 -2
  24. package/core/cmd/{v-switch.d.ts → justify/v-switch.d.ts} +5 -0
  25. package/core/cmd/{v-switch.js → justify/v-switch.js} +5 -0
  26. package/core/cmd/{v-for.js → loop/v-for.js} +1 -1
  27. package/core/cmd/{v-index.js → loop/v-index.js} +3 -5
  28. package/core/cmd/{v-key.js → loop/v-key.js} +2 -2
  29. package/core/cmd/{v-on.d.ts → method/v-on.d.ts} +6 -0
  30. package/core/cmd/{v-on.js → method/v-on.js} +7 -3
  31. package/core/cmd/{v-bind.d.ts → property/v-bind.d.ts} +5 -0
  32. package/core/cmd/{v-bind.js → property/v-bind.js} +7 -3
  33. package/core/cmd/{v-model.d.ts → react/v-model.d.ts} +5 -0
  34. package/core/cmd/{v-model.js → react/v-model.js} +15 -4
  35. package/core/cmd/{v-ref.d.ts → ref/v-ref.d.ts} +5 -0
  36. package/core/cmd/{v-ref.js → ref/v-ref.js} +5 -0
  37. package/core/cmd/solt/v-solt.d.ts +14 -0
  38. package/core/inject/inject.d.ts +6 -6
  39. package/core/inject/inject.js +3 -3
  40. package/core/proxy/getProxy.d.ts +3 -3
  41. package/core/proxy/getProxy.js +3 -3
  42. package/core/render/PostRender.d.ts +2 -3
  43. package/core/render/PostRender.js +3 -3
  44. package/core/render/delivery.d.ts +3 -4
  45. package/core/render/initRender.d.ts +2 -3
  46. package/core/render/initRender.js +3 -3
  47. package/core/render/partRender.js +2 -2
  48. package/core/render/rawRender.d.ts +2 -3
  49. package/core/render/rawRender.js +3 -3
  50. package/core/render/updateRender.d.ts +2 -2
  51. package/core/render/updateRender.js +2 -2
  52. package/core/resolver/props.d.ts +15 -0
  53. package/core/resolver/props.js +15 -0
  54. package/core/resolver/query.d.ts +3 -0
  55. package/core/resolver/query.js +3 -0
  56. package/core/utility/injectUtility.d.ts +4 -5
  57. package/core/utility/miscUtility.d.ts +0 -1
  58. package/core/utility/miscUtility.js +0 -44
  59. package/core/utility/sectionUtility.d.ts +6 -0
  60. package/core/utility/sectionUtility.js +11 -0
  61. package/core/utility/styleUtility.d.ts +17 -0
  62. package/core/utility/styleUtility.js +17 -0
  63. package/core/utility/templateUtility.d.ts +5 -2
  64. package/core/utility/templateUtility.js +4 -0
  65. package/index.d.ts +19 -3
  66. package/index.js +34 -51
  67. package/library/cmd/cmd.d.ts +22 -6
  68. package/library/cmd/cmd.js +37 -19
  69. package/library/lifecycle/afterMethods.d.ts +3 -4
  70. package/library/lifecycle/controllerCycle.d.ts +11 -4
  71. package/library/lifecycle/controllerCycle.js +8 -0
  72. package/library/lifecycle/mount.d.ts +10 -2
  73. package/library/lifecycle/mount.js +8 -0
  74. package/package.json +1 -4
  75. package/runtime/runtime.d.ts +5 -1
  76. package/runtime/runtime.js +5 -4
  77. package/runtime/tools.d.ts +14 -0
  78. package/runtime/tools.js +50 -0
  79. package/bin/bin.d.ts +0 -1
  80. package/bin/bin.js +0 -4
  81. package/class/component/apiComponent.d.ts +0 -55
  82. package/class/component/apiComponent.js +0 -111
  83. package/class/controller/apiController.d.ts +0 -14
  84. package/class/controller/apiController.js +0 -17
  85. package/core/cmd/v-el.d.ts +0 -1
  86. package/core/cmd/v-html.d.ts +0 -1
  87. package/core/cmd/v-html.js +0 -18
  88. package/core/cmd/v-solt.d.ts +0 -15
  89. package/core/cmd/v-txt.d.ts +0 -1
  90. package/meta/app.d.ts +0 -3
  91. package/meta/app.js +0 -19
  92. /package/core/cmd/{v-for.d.ts → loop/v-for.d.ts} +0 -0
  93. /package/core/cmd/{v-index.d.ts → loop/v-index.d.ts} +0 -0
  94. /package/core/cmd/{v-key.d.ts → loop/v-key.d.ts} +0 -0
  95. /package/core/cmd/{v-solt.js → solt/v-solt.js} +0 -0
@@ -1,11 +1,11 @@
1
- import { Controller } from "../../class/controller/controller";
1
+ import { ComponentController } from "../../class/controller/componentController";
2
2
  import { controllerCycleTypeTwo } from "../../library/lifecycle/controllerCycle";
3
3
  import { afterCmd, cmd } from "../../library/cmd/cmd";
4
4
  import { mount } from "../../library/lifecycle/mount";
5
5
  import { injectRefs } from "../inject/inject";
6
6
  import { afterMethodsTypeOne } from "../../library/lifecycle/afterMethods";
7
7
  import { findComponent } from "./delivery";
8
- import { resolver_solt } from "../cmd/v-solt";
8
+ import { resolver_solt } from "../cmd/solt/v-solt";
9
9
  /**
10
10
  * 该函数用于初次渲染需要记录状态的组件
11
11
  * @param proto
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
16
16
  */
17
17
  export function post_render(proto, parent, child, link, tagTemplate) {
18
18
  //获取控制对象
19
- var controller = new Controller();
19
+ var controller = new ComponentController();
20
20
  //解析solt
21
21
  resolver_solt(child, controller);
22
22
  //控制对象预处理
@@ -1,6 +1,5 @@
1
- import { Controller } from "../../class/controller/controller";
1
+ import { ComponentController } from "../../class/controller/componentController";
2
2
  import { Component } from "../../class/component/component";
3
- import { ApiController } from "../../class/controller/apiController";
4
3
  import { PageController } from "../../class/controller/pageController";
5
- export declare function Render(proto: Component, parent: ParentNode, child: Element, link: Controller | ApiController | PageController): void;
6
- export declare function findComponent(collection: HTMLCollection, link: Controller | ApiController | PageController): void;
4
+ export declare function Render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController): void;
5
+ export declare function findComponent(collection: HTMLCollection, link: ComponentController | PageController): void;
@@ -1,6 +1,5 @@
1
1
  import { Component } from "../../class/component/component";
2
- import { Controller } from "../../class/controller/controller";
3
- import { ApiController } from "../../class/controller/apiController";
2
+ import { ComponentController } from "../../class/controller/componentController";
4
3
  import { PageController } from "../../class/controller/pageController";
5
4
  /**
6
5
  * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
@@ -10,4 +9,4 @@ import { PageController } from "../../class/controller/pageController";
10
9
  * @param link
11
10
  * @param tagTemplate
12
11
  */
13
- export declare function init_render(proto: Component, parent: ParentNode, child: Element, link: Controller | ApiController | PageController, tagTemplate: Element): void;
12
+ export declare function init_render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController, tagTemplate: Element): void;
@@ -1,11 +1,11 @@
1
- import { Controller } from "../../class/controller/controller";
1
+ import { ComponentController } from "../../class/controller/componentController";
2
2
  import { controllerCycleTypeOne } from "../../library/lifecycle/controllerCycle";
3
3
  import { afterCmd, cmd } from "../../library/cmd/cmd";
4
4
  import { mount } from "../../library/lifecycle/mount";
5
5
  import { injectRefs } from "../inject/inject";
6
6
  import { afterMethodsTypeOne } from "../../library/lifecycle/afterMethods";
7
7
  import { findComponent } from "./delivery";
8
- import { resolver_solt } from "../cmd/v-solt";
8
+ import { resolver_solt } from "../cmd/solt/v-solt";
9
9
  /**
10
10
  * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
11
11
  * @param proto
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
16
16
  */
17
17
  export function init_render(proto, parent, child, link, tagTemplate) {
18
18
  //获取控制对象
19
- var controller = new Controller();
19
+ var controller = new ComponentController();
20
20
  //解析solt
21
21
  resolver_solt(child, controller);
22
22
  //控制对象预处理
@@ -1,5 +1,5 @@
1
- import { resolver_array_single } from "../cmd/v-index";
2
- import { resolver_map_single } from "../cmd/v-key";
1
+ import { resolver_array_single } from "../cmd/loop/v-index";
2
+ import { resolver_map_single } from "../cmd/loop/v-key";
3
3
  /**
4
4
  * 该函数用于处理数组类型数据的展开
5
5
  * @param baseRoot
@@ -1,6 +1,5 @@
1
1
  import { Component } from "../../class/component/component";
2
- import { Controller } from "../../class/controller/controller";
3
- import { ApiController } from "../../class/controller/apiController";
2
+ import { ComponentController } from "../../class/controller/componentController";
4
3
  import { PageController } from "../../class/controller/pageController";
5
4
  /**
6
5
  * 该函数用于渲染不需要记录状态的组件
@@ -10,4 +9,4 @@ import { PageController } from "../../class/controller/pageController";
10
9
  * @param link
11
10
  * @param tagTemplate
12
11
  */
13
- export declare function raw_render(proto: Component, parent: ParentNode, child: Element, link: Controller | ApiController | PageController, tagTemplate: Element): void;
12
+ export declare function raw_render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController, tagTemplate: Element): void;
@@ -1,11 +1,11 @@
1
- import { Controller } from "../../class/controller/controller";
1
+ import { ComponentController } from "../../class/controller/componentController";
2
2
  import { controllerCycleTypeTwo } from "../../library/lifecycle/controllerCycle";
3
3
  import { afterCmd, cmd } from "../../library/cmd/cmd";
4
4
  import { mount } from "../../library/lifecycle/mount";
5
5
  import { injectRefs } from "../inject/inject";
6
6
  import { afterMethodsTypeTwo } from "../../library/lifecycle/afterMethods";
7
7
  import { findComponent } from "./delivery";
8
- import { resolver_solt } from "../cmd/v-solt";
8
+ import { resolver_solt } from "../cmd/solt/v-solt";
9
9
  /**
10
10
  * 该函数用于渲染不需要记录状态的组件
11
11
  * @param proto
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
16
16
  */
17
17
  export function raw_render(proto, parent, child, link, tagTemplate) {
18
18
  //获取控制对象
19
- var controller = new Controller();
19
+ var controller = new ComponentController();
20
20
  //解析solt
21
21
  resolver_solt(child, controller);
22
22
  //控制对象预处理
@@ -1,6 +1,6 @@
1
- import { Controller } from "../../class/controller/controller";
1
+ import { ComponentController } from "../../class/controller/componentController";
2
2
  /**
3
3
  * 更新渲染方法
4
4
  * @param controller
5
5
  */
6
- export declare function update_Render(controller: Controller): void;
6
+ export declare function update_Render(controller: ComponentController): void;
@@ -1,8 +1,8 @@
1
- import { bindModelForUpdater } from "../utility/miscUtility";
2
1
  import { afterCmd, cmdForUpdate } from "../../library/cmd/cmd";
3
2
  import { injectRefs } from "../inject/inject";
4
3
  import { findComponent } from "./delivery";
5
4
  import { getTemplate } from "../utility/templateUtility";
5
+ import { locateInputAddress } from "../utility/sectionUtility";
6
6
  /**
7
7
  * 更新渲染方法
8
8
  * @param controller
@@ -38,7 +38,7 @@ export function update_Render(controller) {
38
38
  var afterRender = controller.proto.getAfterRender().bind(controller.raw_data);
39
39
  afterRender();
40
40
  //获取定位
41
- bindModelForUpdater(controller.root.children, controller.proxyForMethods);
41
+ locateInputAddress(controller);
42
42
  //深度渲染
43
43
  findComponent(controller.root.children, controller);
44
44
  }
@@ -1,3 +1,18 @@
1
+ /**
2
+ * This function is used to resolve tag customed properties.
3
+ * @param node
4
+ * @param properties
5
+ */
1
6
  export declare function resolveProps(node: Element, properties: {} | []): any;
7
+ /**
8
+ *
9
+ * @param node
10
+ * @param array
11
+ */
2
12
  export declare function getAllPropsByArray(node: Element, array: Array<string>): any;
13
+ /**
14
+ *
15
+ * @param node
16
+ * @param object
17
+ */
3
18
  export declare function getAllPropsByObject(node: Element, object: {}): any;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * This function is used to resolve tag customed properties.
3
+ * @param node
4
+ * @param properties
5
+ */
1
6
  export function resolveProps(node, properties) {
2
7
  if (properties instanceof Array) {
3
8
  return getAllPropsByArray(node, properties);
@@ -6,6 +11,11 @@ export function resolveProps(node, properties) {
6
11
  return getAllPropsByObject(node, properties);
7
12
  }
8
13
  }
14
+ /**
15
+ *
16
+ * @param node
17
+ * @param array
18
+ */
9
19
  export function getAllPropsByArray(node, array) {
10
20
  var props = new Map();
11
21
  array.forEach(function (value) {
@@ -15,6 +25,11 @@ export function getAllPropsByArray(node, array) {
15
25
  });
16
26
  return props;
17
27
  }
28
+ /**
29
+ *
30
+ * @param node
31
+ * @param object
32
+ */
18
33
  export function getAllPropsByObject(node, object) {
19
34
  var props = new Map();
20
35
  for (var objectKey in object) {
@@ -1 +1,4 @@
1
+ /**
2
+ * This function is used to resolve the http parameters.
3
+ */
1
4
  export declare function resolve_Queries(): Map<string, any>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * This function is used to resolve the http parameters.
3
+ */
1
4
  export function resolve_Queries() {
2
5
  var query = new Map();
3
6
  if (location.search !== undefined) {
@@ -1,12 +1,11 @@
1
- import { Controller } from "../../class/controller/controller";
2
- import { ApiController } from "../../class/controller/apiController";
1
+ import { ComponentController } from "../../class/controller/componentController";
3
2
  import { PageController } from "../../class/controller/pageController";
4
3
  export declare function getCodeSpaceForProps(data: {}, $props: Map<string, object>): void;
5
4
  export declare function getCodeSpaceForQuery(data: {}, $query: Map<string, any>): void;
6
5
  export declare function getCodeSpaceForRef(data: {}, $ref: Map<string, Element>): void;
7
- export declare function getCommitMethod(controller: Controller | ApiController | PageController): any;
8
- export declare function getSetterMethod(controller: Controller | ApiController | PageController): any;
6
+ export declare function getCommitMethod(controller: ComponentController | PageController): any;
7
+ export declare function getSetterMethod(controller: ComponentController | PageController): any;
9
8
  export declare function getCodeSpaceForCommit(data: {}, commit: any): void;
10
- export declare function getPublishMethod(controller: Controller | ApiController | PageController): any;
9
+ export declare function getPublishMethod(controller: ComponentController | PageController): any;
11
10
  export declare function getCodeSpaceForPublish(data: {}, publisher: any): void;
12
11
  export declare function getCodeSpaceForProperty(data: {}, setter: any): void;
@@ -4,4 +4,3 @@
4
4
  * @param component
5
5
  */
6
6
  export declare function addLabel(nodes: HTMLCollection, component: string): void;
7
- export declare function bindModelForUpdater(nodes: HTMLCollection, data: {}): void;
@@ -10,47 +10,3 @@ export function addLabel(nodes, component) {
10
10
  addLabel(kk, component);
11
11
  }
12
12
  }
13
- export function bindModelForUpdater(nodes, data) {
14
- for (var i = 0; i < nodes.length; i++) {
15
- var result = nodes[i].hasAttribute("v-model");
16
- if (result) {
17
- var dataName = nodes[i].getAttribute("v-model");
18
- nodes[i].removeAttribute("v-model");
19
- var tagName = nodes[i].tagName;
20
- nodes[i].setAttribute("name", dataName);
21
- // @ts-ignore
22
- nodes[i].setAttribute("value", data[dataName]);
23
- if (tagName === "INPUT" || tagName === "SELECT" || tagName === "TEXTAREA") {
24
- nodes[i].setAttribute("name", dataName);
25
- // @ts-ignore
26
- nodes[i].setAttribute("value", data[dataName]);
27
- //光标定位
28
- var listener = function (evt) {
29
- if (!evt.target.hasAttribute("flag")) {
30
- var element = evt.target;
31
- var dataName_1 = element.name;
32
- this[dataName_1] = element.value;
33
- }
34
- };
35
- var compositionstart = function (evt) {
36
- evt.target.setAttribute("flag", "false");
37
- };
38
- var compositionend = function (evt) {
39
- evt.target.setAttribute("flag", "true");
40
- var element = evt.target;
41
- var dataName = element.name;
42
- this[dataName] = element.value;
43
- };
44
- nodes[i].addEventListener("input", listener.bind(data));
45
- nodes[i].addEventListener("compositionstart", compositionstart);
46
- nodes[i].addEventListener("compositionend", compositionend.bind(data));
47
- // @ts-ignore
48
- nodes[i].focus();
49
- // @ts-ignore
50
- nodes[i].setSelectionRange(data[dataName].length, data[dataName].length);
51
- }
52
- }
53
- var subElements = nodes[i].children;
54
- bindModelForUpdater(subElements, data);
55
- }
56
- }
@@ -0,0 +1,6 @@
1
+ import { ComponentController } from "../../class/controller/componentController";
2
+ /**
3
+ *
4
+ * @param controller
5
+ */
6
+ export declare function locateInputAddress(controller: ComponentController): void;
@@ -0,0 +1,11 @@
1
+ /**
2
+ *
3
+ * @param controller
4
+ */
5
+ export function locateInputAddress(controller) {
6
+ if (controller.proxyForMethods.hasOwnProperty("origin")) {
7
+ var doc = Reflect.get(controller.proxyForMethods, "origin");
8
+ // @ts-ignore
9
+ document.querySelector(doc.tag.concat("[cpn=".concat(doc.cpn).concat("]").concat("[cpn=".concat(doc.name).concat("]")))).focus();
10
+ }
11
+ }
@@ -1,5 +1,22 @@
1
1
  import { Component } from "../../class/component/component";
2
+ /**
3
+ *
4
+ * @param tag
5
+ */
2
6
  export declare function checkStyleLabel(tag: string): boolean;
7
+ /**
8
+ *
9
+ * @param component
10
+ * @param styleLib
11
+ */
3
12
  export declare function themeStyle(component: Component, styleLib: Map<string, object>): void;
13
+ /**
14
+ *
15
+ * @param tag
16
+ */
4
17
  export declare function styleResolve(tag: string): void;
18
+ /**
19
+ *
20
+ * @param theme
21
+ */
5
22
  export declare function reloadStyle(theme: string): void;
@@ -1,6 +1,10 @@
1
1
  import { loadStyle } from "../../library/loader/loader";
2
2
  // @ts-ignore
3
3
  import { sessionStorageEngin_read } from "render-status/read/read";
4
+ /**
5
+ *
6
+ * @param tag
7
+ */
4
8
  export function checkStyleLabel(tag) {
5
9
  //获取所有的style标签
6
10
  var styles = document.getElementsByTagName("style");
@@ -13,6 +17,11 @@ export function checkStyleLabel(tag) {
13
17
  //样式未加载
14
18
  return false;
15
19
  }
20
+ /**
21
+ *
22
+ * @param component
23
+ * @param styleLib
24
+ */
16
25
  export function themeStyle(component, styleLib) {
17
26
  var template = component.getTemplate();
18
27
  var dom = document.createElement("div");
@@ -24,6 +33,10 @@ export function themeStyle(component, styleLib) {
24
33
  }
25
34
  styleLib.set(component.getName().toUpperCase(), kk);
26
35
  }
36
+ /**
37
+ *
38
+ * @param tag
39
+ */
27
40
  export function styleResolve(tag) {
28
41
  var theme = sessionStorageEngin_read("theme");
29
42
  if (Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme) === undefined) {
@@ -33,6 +46,10 @@ export function styleResolve(tag) {
33
46
  loadStyle(tag, theme, Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme));
34
47
  }
35
48
  }
49
+ /**
50
+ *
51
+ * @param theme
52
+ */
36
53
  export function reloadStyle(theme) {
37
54
  Reflect.get(window, "styleLib").forEach(function (value, key) {
38
55
  var styles = document.getElementsByTagName("style");
@@ -1,3 +1,6 @@
1
1
  import { Component } from "../../class/component/component";
2
- import ApiComponent from "../../class/component/apiComponent";
3
- export declare function getTemplate(proto: Component | ApiComponent): Element;
2
+ /**
3
+ *
4
+ * @param proto
5
+ */
6
+ export declare function getTemplate(proto: Component): Element;
@@ -1,3 +1,7 @@
1
+ /**
2
+ *
3
+ * @param proto
4
+ */
1
5
  export function getTemplate(proto) {
2
6
  //生成DOM
3
7
  var temp = document.createElement("div");
package/index.d.ts CHANGED
@@ -1,13 +1,29 @@
1
1
  import { Component } from "./class/component/component";
2
2
  import { routerController } from "render-security/class/Router";
3
+ /**
4
+ * This class is the application class.
5
+ */
3
6
  export declare class RenderJS {
4
7
  readonly config: {};
5
8
  readonly tagLib: Map<string, Component>;
6
- private routerC;
7
- private readonly page;
9
+ readonly styleLib: Map<string, Map<string, string>>;
10
+ router: routerController;
11
+ private application;
12
+ private page;
8
13
  constructor();
14
+ /**
15
+ * If you want to hava a permission control to your application,you can
16
+ * use our extra router moudle to define the router.
17
+ * @param router
18
+ */
9
19
  addRouter(router: routerController): void;
20
+ /**
21
+ * You can use the method to register your single component or an array of components.
22
+ * @param component
23
+ */
10
24
  addTag(component: Component | Component[]): void;
25
+ /**
26
+ * This method is the boster method of the render.
27
+ */
11
28
  run(): void;
12
- private render;
13
29
  }
package/index.js CHANGED
@@ -1,82 +1,65 @@
1
- import { Component } from "./class/component/component";
2
1
  import meta from "./meta/meta";
3
- import { renderHtml } from "./runtime/runtime";
4
- import { themeStyle } from "./core/utility/styleUtility";
5
2
  // @ts-ignore
6
3
  import { redirect } from "render-security/utility/redirect";
7
4
  import { PageController } from "./class/controller/pageController";
8
- import { App } from "./meta/app";
9
- //页面RenderJs
5
+ import { registerTagLib, render } from "./runtime/tools";
6
+ import { AppController } from "./class/controller/appController";
7
+ /**
8
+ * This class is the application class.
9
+ */
10
10
  var RenderJS = /** @class */ (function () {
11
- //构造函数
12
11
  function RenderJS() {
12
+ //initiate the tagLib object
13
13
  this.tagLib = new Map();
14
+ //initiate the styleLib object
15
+ this.styleLib = new Map();
16
+ //initiate the application controller
17
+ this.application = new AppController();
18
+ //initiate the page controller
14
19
  this.page = new PageController();
20
+ //initiate the config object
15
21
  this.config = {};
16
22
  Reflect.set(this.config, "version", meta.version);
17
23
  Reflect.set(this.config, "theme", meta.style);
18
24
  }
19
- //添加路由器
25
+ /**
26
+ * If you want to hava a permission control to your application,you can
27
+ * use our extra router moudle to define the router.
28
+ * @param router
29
+ */
20
30
  RenderJS.prototype.addRouter = function (router) {
21
- this.routerC = router;
31
+ this.router = router;
22
32
  };
23
- //添加自定义标签
33
+ /**
34
+ * You can use the method to register your single component or an array of components.
35
+ * @param component
36
+ */
24
37
  RenderJS.prototype.addTag = function (component) {
25
- var _this = this;
26
- if (component instanceof Component) {
27
- if (!this.tagLib.has(component.getName().toUpperCase())) {
28
- this.tagLib.set(component.getName().toUpperCase(), component);
29
- }
30
- else {
31
- console.warn("The Tag:" + component.getName().toUpperCase() + "has been registered!");
32
- }
33
- }
34
- else {
35
- component.forEach(function (component) {
36
- if (!_this.tagLib.has(component.getName().toUpperCase())) {
37
- _this.tagLib.set(component.getName().toUpperCase(), component);
38
- }
39
- else {
40
- console.warn("The Tag:" + component.getName().toUpperCase() + "has been registered!");
41
- }
42
- });
43
- }
38
+ registerTagLib(this, component);
44
39
  };
45
- //运行renderJs
40
+ /**
41
+ * This method is the boster method of the render.
42
+ */
46
43
  RenderJS.prototype.run = function () {
47
- if (this.routerC) {
48
- this.routerC.data.beforeRouter();
49
- if (typeof this.routerC.getRule(location.href) === "boolean") {
50
- this.render();
44
+ if (this.router) {
45
+ this.router.data.beforeRouter();
46
+ if (typeof this.router.getRule(location.href) === "boolean") {
47
+ render(this);
51
48
  }
52
49
  else {
53
- if (this.routerC.getRule(location.href).beforeRouter()) {
54
- this.render();
50
+ if (this.router.getRule(location.href).beforeRouter()) {
51
+ render(this);
55
52
  }
56
53
  else {
57
54
  redirect("/http/400.html");
58
55
  }
59
56
  }
60
- this.routerC.data.afterRouter();
57
+ this.router.data.afterRouter();
61
58
  }
62
59
  else {
63
- this.render();
60
+ render(this);
64
61
  }
65
62
  };
66
- RenderJS.prototype.render = function () {
67
- //保存全局tagLib对象
68
- Reflect.set(window, "tagLib", this.tagLib);
69
- //获取styleLib对象
70
- var styleLib = new Map();
71
- this.tagLib.forEach(function (component) {
72
- themeStyle(component, styleLib);
73
- });
74
- Reflect.set(window, "styleLib", styleLib);
75
- Reflect.set(window, "context", new App());
76
- Reflect.set(window, "router", this.routerC);
77
- //开始渲染
78
- renderHtml(document.body.children, this.page);
79
- };
80
63
  return RenderJS;
81
64
  }());
82
65
  export { RenderJS };
@@ -1,7 +1,23 @@
1
1
  import { Component } from "../../class/component/component";
2
- import { Controller } from "../../class/controller/controller";
3
- import { ApiController } from "../../class/controller/apiController";
4
- import ApiComponent from "../../class/component/apiComponent";
5
- export declare function cmd(tagTemplate: Element, proto: Component | ApiComponent, controller: Controller | ApiController): void;
6
- export declare function afterCmd(templateSpace: ParentNode, proto: Component | ApiComponent, controller: Controller | ApiController): void;
7
- export declare function cmdForUpdate(tagTemplate: Element, proto: Component, controller: Controller | ApiController): void;
2
+ import { ComponentController } from "../../class/controller/componentController";
3
+ /**
4
+ * This function is used to resolver those commands which should be executed before mount.
5
+ * @param tagTemplate
6
+ * @param proto
7
+ * @param controller
8
+ */
9
+ export declare function cmd(tagTemplate: Element, proto: Component, controller: ComponentController): void;
10
+ /**
11
+ * This function is used to resolver those commands which should be executed after mount.
12
+ * @param templateSpace
13
+ * @param proto
14
+ * @param controller
15
+ */
16
+ export declare function afterCmd(templateSpace: ParentNode, proto: Component, controller: ComponentController): void;
17
+ /**
18
+ *
19
+ * @param tagTemplate
20
+ * @param proto
21
+ * @param controller
22
+ */
23
+ export declare function cmdForUpdate(tagTemplate: Element, proto: Component, controller: ComponentController): void;