render-core 1.4.0 → 1.4.1

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 (225) hide show
  1. package/index.d.ts +48 -34
  2. package/index.js +70 -55
  3. package/kernel/delivery/delivery.d.ts +5 -0
  4. package/kernel/delivery/delivery.js +52 -0
  5. package/kernel/directive/data/v-el.d.ts +8 -0
  6. package/{core/cmd → kernel/directive}/data/v-el.js +2 -2
  7. package/kernel/directive/data/v-html.d.ts +8 -0
  8. package/{core/cmd → kernel/directive}/data/v-html.js +2 -2
  9. package/kernel/directive/data/v-txt.d.ts +8 -0
  10. package/{core/cmd → kernel/directive}/data/v-txt.js +2 -2
  11. package/kernel/directive/justify/v-if.d.ts +6 -0
  12. package/{core/cmd → kernel/directive}/justify/v-if.js +2 -2
  13. package/kernel/directive/justify/v-render.d.ts +6 -0
  14. package/{core/cmd → kernel/directive}/justify/v-render.js +2 -2
  15. package/kernel/directive/justify/v-show.d.ts +6 -0
  16. package/{core/cmd → kernel/directive}/justify/v-show.js +2 -2
  17. package/kernel/directive/justify/v-switch.d.ts +6 -0
  18. package/{core/cmd → kernel/directive}/justify/v-switch.js +2 -2
  19. package/{core/cmd → kernel/directive}/loop/v-for-utility.d.ts +1 -1
  20. package/{core/cmd → kernel/directive}/loop/v-for-utility.js +3 -3
  21. package/{core/cmd → kernel/directive}/loop/v-for.d.ts +1 -1
  22. package/{core/cmd → kernel/directive}/loop/v-for.js +2 -2
  23. package/{core/cmd → kernel/directive}/loop/v-map-utility.d.ts +1 -1
  24. package/{core/cmd → kernel/directive}/loop/v-map-utility.js +3 -3
  25. package/kernel/directive/loop/v-map.d.ts +6 -0
  26. package/{core/cmd → kernel/directive}/loop/v-map.js +2 -2
  27. package/kernel/directive/method/v-on.d.ts +8 -0
  28. package/{core/cmd → kernel/directive}/method/v-on.js +2 -2
  29. package/kernel/directive/property/v-bind.d.ts +6 -0
  30. package/{core/cmd → kernel/directive}/property/v-bind.js +3 -3
  31. package/kernel/directive/react/v-model.d.ts +6 -0
  32. package/{core/cmd → kernel/directive}/react/v-model.js +3 -3
  33. package/kernel/directive/ref/v-ref.d.ts +6 -0
  34. package/{core/cmd → kernel/directive}/ref/v-ref.js +2 -2
  35. package/kernel/directive/salt/v-solt.d.ts +13 -0
  36. package/{core/cmd/solt → kernel/directive/salt}/v-solt.js +8 -8
  37. package/kernel/proxyer/getProxy.d.ts +9 -0
  38. package/kernel/proxyer/getProxy.js +35 -0
  39. package/kernel/renderer/initRender.d.ts +10 -0
  40. package/kernel/renderer/initRender.js +69 -0
  41. package/kernel/renderer/postRender.d.ts +10 -0
  42. package/kernel/renderer/postRender.js +70 -0
  43. package/kernel/renderer/rawRender.d.ts +10 -0
  44. package/kernel/renderer/rawRender.js +70 -0
  45. package/kernel/renderer/updateRender.d.ts +6 -0
  46. package/kernel/renderer/updateRender.js +33 -0
  47. package/package.json +1 -4
  48. package/{controller → system/define}/ContextController.d.ts +8 -7
  49. package/system/define/ContextController.js +23 -0
  50. package/{generic → system/generic}/ControllerGeneric.d.ts +4 -5
  51. package/system/generic/RenderGeneric.d.ts +4 -0
  52. package/system/injection/inject.d.ts +24 -0
  53. package/system/injection/inject.js +54 -0
  54. package/system/injection/injection.d.ts +21 -0
  55. package/system/lifecycle/lifeCycle.d.ts +14 -0
  56. package/system/lifecycle/lifeCycle.js +21 -0
  57. package/system/lifecycle/mount.d.ts +17 -0
  58. package/{core → system}/lifecycle/mount.js +10 -11
  59. package/system/output/error.d.ts +0 -0
  60. package/system/output/error.js +4 -0
  61. package/system/recorder/table0/system_func_0.d.ts +47 -0
  62. package/system/recorder/table0/system_func_0.js +71 -0
  63. package/system/recorder/table0/system_t_0.d.ts +9 -0
  64. package/system/recorder/table0/system_t_0.js +7 -0
  65. package/system/recorder/table1/system_func_1.d.ts +2 -0
  66. package/system/recorder/table1/system_func_1.js +7 -0
  67. package/system/recorder/table1/system_t_1.d.ts +4 -0
  68. package/system/recorder/table1/system_t_1.js +3 -0
  69. package/system/recorder/table2/system_t_2.d.ts +2 -0
  70. package/{library/taglib/metaTagLib.js → system/recorder/table2/system_t_2.js} +14 -15
  71. package/system/resolver/props.d.ts +18 -0
  72. package/system/resolver/props.js +64 -0
  73. package/system/router/router.d.ts +3 -0
  74. package/system/router/router.js +20 -0
  75. package/system/utility/checkUtility.js +4 -0
  76. package/system/utility/cmdUtility.d.ts +15 -0
  77. package/system/utility/cmdUtility.js +43 -0
  78. package/{core → system}/utility/injectUtility.d.ts +0 -3
  79. package/{core → system}/utility/injectUtility.js +0 -10
  80. package/system/utility/inputType.d.ts +5 -0
  81. package/system/utility/miscUtility.d.ts +6 -0
  82. package/{core → system}/utility/miscUtility.js +2 -2
  83. package/system/utility/sectionUtility.d.ts +6 -0
  84. package/{core → system}/utility/styleUtility.d.ts +2 -2
  85. package/{core → system}/utility/styleUtility.js +17 -14
  86. package/{core → system}/utility/templateUtility.d.ts +1 -1
  87. package/tension/DefaultRouterPlugin.d.ts +17 -0
  88. package/tension/DefaultRouterPlugin.js +11 -0
  89. package/tension/generic/ComponentGeneric.d.ts +13 -0
  90. package/{core/exexutor/executor.d.ts → tension/generic/HooksGeneric.d.ts} +3 -4
  91. package/tension/generic/OriginalDataGeneric.d.ts +18 -0
  92. package/tension/generic/PluginGeneric.d.ts +5 -0
  93. package/tension/generic/PrefaceGeneric.d.ts +6 -0
  94. package/tension/generic/RouterGeneric.d.ts +5 -0
  95. package/tension/generic/RouterGeneric.js +1 -0
  96. package/tension/prototype/AbstractComponent.d.ts +43 -0
  97. package/tension/prototype/AbstractComponent.js +113 -0
  98. package/tension/prototype/AbstractRouter.d.ts +6 -0
  99. package/tension/prototype/AbstractRouter.js +12 -0
  100. package/tension/prototype/HooksAction.d.ts +7 -0
  101. package/tension/prototype/HooksAction.js +24 -0
  102. package/tension/prototype/PrefaceAction.d.ts +7 -0
  103. package/tension/prototype/PrefaceAction.js +14 -0
  104. package/tension/prototype/RouterAction.d.ts +16 -0
  105. package/tension/prototype/RouterAction.js +13 -0
  106. package/xboot/Entrance.d.ts +7 -0
  107. package/xboot/Entrance.js +43 -0
  108. package/xboot/RenderProcessor.d.ts +7 -0
  109. package/{runtime/renderProcessor.js → xboot/RenderProcessor.js} +7 -9
  110. package/xboot/TagProcessor.d.ts +7 -0
  111. package/{runtime/tag → xboot}/TagProcessor.js +6 -6
  112. package/controller/ComponentController.d.ts +0 -29
  113. package/controller/ComponentController.js +0 -30
  114. package/controller/ContextController.js +0 -36
  115. package/core/cmd/data/v-el.d.ts +0 -9
  116. package/core/cmd/data/v-html.d.ts +0 -9
  117. package/core/cmd/data/v-txt.d.ts +0 -9
  118. package/core/cmd/justify/v-if.d.ts +0 -6
  119. package/core/cmd/justify/v-render.d.ts +0 -6
  120. package/core/cmd/justify/v-show.d.ts +0 -6
  121. package/core/cmd/justify/v-switch.d.ts +0 -6
  122. package/core/cmd/loop/v-map.d.ts +0 -6
  123. package/core/cmd/method/v-on.d.ts +0 -8
  124. package/core/cmd/property/v-bind.d.ts +0 -6
  125. package/core/cmd/react/v-change.d.ts +0 -6
  126. package/core/cmd/react/v-change.js +0 -22
  127. package/core/cmd/react/v-model.d.ts +0 -6
  128. package/core/cmd/ref/v-ref.d.ts +0 -6
  129. package/core/cmd/solt/v-solt.d.ts +0 -14
  130. package/core/exexutor/executor.js +0 -24
  131. package/core/inject/inject.d.ts +0 -31
  132. package/core/inject/inject.js +0 -66
  133. package/core/inject/injection.d.ts +0 -22
  134. package/core/lifecycle/afterMethods.d.ts +0 -16
  135. package/core/lifecycle/afterMethods.js +0 -22
  136. package/core/lifecycle/controllerCycle.d.ts +0 -22
  137. package/core/lifecycle/controllerCycle.js +0 -66
  138. package/core/lifecycle/mount.d.ts +0 -17
  139. package/core/proxy/getProxy.d.ts +0 -11
  140. package/core/proxy/getProxy.js +0 -26
  141. package/core/proxy/proxy.d.ts +0 -9
  142. package/core/proxy/proxy.js +0 -26
  143. package/core/render/PostRender.d.ts +0 -12
  144. package/core/render/PostRender.js +0 -42
  145. package/core/render/delivery.d.ts +0 -5
  146. package/core/render/delivery.js +0 -42
  147. package/core/render/initRender.d.ts +0 -12
  148. package/core/render/initRender.js +0 -39
  149. package/core/render/rawRender.d.ts +0 -12
  150. package/core/render/rawRender.js +0 -43
  151. package/core/render/updateRender.d.ts +0 -6
  152. package/core/render/updateRender.js +0 -29
  153. package/core/resolver/props.d.ts +0 -19
  154. package/core/resolver/props.js +0 -62
  155. package/core/utility/checkUtility.js +0 -4
  156. package/core/utility/cmdUtility.d.ts +0 -17
  157. package/core/utility/cmdUtility.js +0 -58
  158. package/core/utility/inputType.d.ts +0 -5
  159. package/core/utility/miscUtility.d.ts +0 -6
  160. package/core/utility/sectionUtility.d.ts +0 -6
  161. package/generic/ApplicationGeneric.d.ts +0 -4
  162. package/generic/ConfigGeneric.d.ts +0 -3
  163. package/generic/RenderGeneric.d.ts +0 -5
  164. package/generic/StyleGeneric.d.ts +0 -4
  165. package/generic/originalDataGeneric.d.ts +0 -4
  166. package/http/generic/HttpGeneric.d.ts +0 -4
  167. package/library/props/PropertyLib.d.ts +0 -6
  168. package/library/props/PropertyLib.js +0 -5
  169. package/library/taglib/metaTagLib.d.ts +0 -2
  170. package/proto/controller/AppController.d.ts +0 -16
  171. package/proto/controller/AppController.js +0 -25
  172. package/proto/controller/ComponentController.d.ts +0 -18
  173. package/proto/controller/ComponentController.js +0 -24
  174. package/proto/controller/PageController.d.ts +0 -23
  175. package/proto/controller/PageController.js +0 -40
  176. package/runtime/config/RenderConfig.d.ts +0 -12
  177. package/runtime/config/RenderConfig.js +0 -11
  178. package/runtime/config/config.d.ts +0 -4
  179. package/runtime/config/config.js +0 -4
  180. package/runtime/config.d.ts +0 -3
  181. package/runtime/config.js +0 -3
  182. package/runtime/delivery.d.ts +0 -5
  183. package/runtime/delivery.js +0 -43
  184. package/runtime/entrance.d.ts +0 -7
  185. package/runtime/entrance.js +0 -33
  186. package/runtime/render/PostRender.d.ts +0 -15
  187. package/runtime/render/PostRender.js +0 -49
  188. package/runtime/render/delivery.d.ts +0 -5
  189. package/runtime/render/delivery.js +0 -42
  190. package/runtime/render/initRender.d.ts +0 -15
  191. package/runtime/render/initRender.js +0 -46
  192. package/runtime/render/rawRender.d.ts +0 -15
  193. package/runtime/render/rawRender.js +0 -50
  194. package/runtime/renderProcessor.d.ts +0 -11
  195. package/runtime/tag/TagProcessor.d.ts +0 -9
  196. package/runtime/tagProcessor.d.ts +0 -9
  197. package/runtime/tagProcessor.js +0 -27
  198. package/runtime/update/updateRender.d.ts +0 -10
  199. package/runtime/update/updateRender.js +0 -38
  200. /package/{generic → system/generic}/ControllerGeneric.js +0 -0
  201. /package/{generic → system/generic}/RenderGeneric.js +0 -0
  202. /package/{http → system/http}/Http.d.ts +0 -0
  203. /package/{http → system/http}/Http.js +0 -0
  204. /package/{core/inject → system/injection}/injection.js +0 -0
  205. /package/{core → system}/loader/loader.d.ts +0 -0
  206. /package/{core → system}/loader/loader.js +0 -0
  207. /package/{core → system}/resolver/query.d.ts +0 -0
  208. /package/{core → system}/resolver/query.js +0 -0
  209. /package/{core → system}/utility/checkUtility.d.ts +0 -0
  210. /package/{core → system}/utility/dataUtility.d.ts +0 -0
  211. /package/{core → system}/utility/dataUtility.js +0 -0
  212. /package/{core → system}/utility/errorUtility.d.ts +0 -0
  213. /package/{core → system}/utility/errorUtility.js +0 -0
  214. /package/{core → system}/utility/inputType.js +0 -0
  215. /package/{core → system}/utility/inputUtility.d.ts +0 -0
  216. /package/{core → system}/utility/inputUtility.js +0 -0
  217. /package/{core → system}/utility/modelUtility.d.ts +0 -0
  218. /package/{core → system}/utility/modelUtility.js +0 -0
  219. /package/{core → system}/utility/sectionUtility.js +0 -0
  220. /package/{core → system}/utility/templateUtility.js +0 -0
  221. /package/{generic/ApplicationGeneric.js → tension/generic/ComponentGeneric.js} +0 -0
  222. /package/{generic/ConfigGeneric.js → tension/generic/HooksGeneric.js} +0 -0
  223. /package/{generic/StyleGeneric.js → tension/generic/OriginalDataGeneric.js} +0 -0
  224. /package/{generic/originalDataGeneric.js → tension/generic/PluginGeneric.js} +0 -0
  225. /package/{http/generic/HttpGeneric.js → tension/generic/PrefaceGeneric.js} +0 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ *
3
+ * @param nodes
4
+ * @param data
5
+ */
6
+ export declare function parse_directive_bind(nodes: HTMLCollection, data: {}): void;
@@ -1,10 +1,10 @@
1
- import { isUnKnown } from "../../utility/checkUtility";
1
+ import { isUnKnown } from "../../../system/utility/checkUtility";
2
2
  /**
3
3
  *
4
4
  * @param nodes
5
5
  * @param data
6
6
  */
7
- export function resolver_bind(nodes, data) {
7
+ export function parse_directive_bind(nodes, data) {
8
8
  for (var i = 0; i < nodes.length; i++) {
9
9
  //对系统元素进行属性绑定
10
10
  if (!isUnKnown(nodes[i].nodeName)) {
@@ -27,7 +27,7 @@ export function resolver_bind(nodes, data) {
27
27
  }
28
28
  }
29
29
  }
30
- resolver_bind(nodes[i].children, data);
30
+ parse_directive_bind(nodes[i].children, data);
31
31
  }
32
32
  }
33
33
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 绑定数据模型
3
+ * @param nodes
4
+ * @param data
5
+ */
6
+ export declare function parse_directive_model(nodes: HTMLCollection, data: {}): void;
@@ -1,10 +1,10 @@
1
- import { compositionend, compositionstart, listener } from "../../utility/modelUtility";
1
+ import { compositionend, compositionstart, listener } from "../../../system/utility/modelUtility";
2
2
  /**
3
3
  * 绑定数据模型
4
4
  * @param nodes
5
5
  * @param data
6
6
  */
7
- export function resolver_model(nodes, data) {
7
+ export function parse_directive_model(nodes, data) {
8
8
  for (var i = 0; i < nodes.length; i++) {
9
9
  if (nodes[i].hasAttribute("@model")) {
10
10
  var dataName = nodes[i].getAttribute("@model");
@@ -17,6 +17,6 @@ export function resolver_model(nodes, data) {
17
17
  nodes[i].addEventListener("compositionend", compositionend.bind(data));
18
18
  }
19
19
  }
20
- resolver_model(nodes[i].children, data);
20
+ parse_directive_model(nodes[i].children, data);
21
21
  }
22
22
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ *
3
+ * @param el
4
+ * @param refs
5
+ */
6
+ export declare function parse_directive_refs(el: HTMLCollection, refs: Map<string, Element>): void;
@@ -3,14 +3,14 @@
3
3
  * @param el
4
4
  * @param refs
5
5
  */
6
- export function resolver_Refs(el, refs) {
6
+ export function parse_directive_refs(el, refs) {
7
7
  for (var i = 0; i < el.length; i++) {
8
8
  if (el[i].hasAttribute("@ref")) {
9
9
  refs.set(el[i].getAttribute("@ref"), el[i]);
10
10
  el[i].removeAttribute("@ref");
11
11
  }
12
12
  else {
13
- resolver_Refs(el[i].children, refs);
13
+ parse_directive_refs(el[i].children, refs);
14
14
  }
15
15
  }
16
16
  }
@@ -0,0 +1,13 @@
1
+ import { ContextController } from "../../../system/define/ContextController";
2
+ /**
3
+ * 此函数用于解析自定义元素salt
4
+ * @param tagTemplate
5
+ * @param controller
6
+ */
7
+ export declare function parse_directive_salt_collect(tagTemplate: ChildNode, controller: ContextController): void;
8
+ /**
9
+ * 此函数用于展开salt
10
+ * @param elements
11
+ * @param controller
12
+ */
13
+ export declare function parse_directive_salt_extract(elements: HTMLCollection, controller: ContextController): void;
@@ -1,22 +1,22 @@
1
1
  /**
2
- * 此函数用于解析自定义元素solt
2
+ * 此函数用于解析自定义元素salt
3
3
  * @param tagTemplate
4
4
  * @param controller
5
5
  */
6
- export function resolver_salt(tagTemplate, controller) {
6
+ export function parse_directive_salt_collect(tagTemplate, controller) {
7
7
  if (tagTemplate.hasChildNodes()) {
8
+ // @ts-ignore
8
9
  var list = tagTemplate.querySelectorAll("salt");
9
10
  if (list.length !== 0) {
10
11
  list.forEach(function (value) {
11
- if (value.hasAttribute("name")) {
12
+ if (value.hasAttribute("name"))
12
13
  controller.salt.set(value.getAttribute("name"), value.innerHTML);
13
- }
14
- else {
14
+ else
15
15
  controller.salt.set("default", value.innerHTML);
16
- }
17
16
  });
18
17
  }
19
18
  else {
19
+ // @ts-ignore
20
20
  controller.salt.set("default", tagTemplate.innerHTML);
21
21
  }
22
22
  }
@@ -26,7 +26,7 @@ export function resolver_salt(tagTemplate, controller) {
26
26
  * @param elements
27
27
  * @param controller
28
28
  */
29
- export function extract_salt(elements, controller) {
29
+ export function parse_directive_salt_extract(elements, controller) {
30
30
  for (var i = 0; i < elements.length; i++) {
31
31
  var result = elements[i].hasAttribute("@salt");
32
32
  if (result) {
@@ -41,6 +41,6 @@ export function extract_salt(elements, controller) {
41
41
  }
42
42
  }
43
43
  //深度解析
44
- extract_salt(elements[i].children, controller);
44
+ parse_directive_salt_extract(elements[i].children, controller);
45
45
  }
46
46
  }
@@ -0,0 +1,9 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ /**
3
+ * 获取data对象的代理对象
4
+ * @param data
5
+ * @param updater
6
+ */
7
+ export declare function get_proxy_for_method(data: {}, updater: ContextController): any;
8
+ export declare function get_proxy_for_watcher(origin: object): object;
9
+ export declare function get_proxy_for_computed(origin: object): object;
@@ -0,0 +1,35 @@
1
+ import { update_Render } from "../renderer/updateRender";
2
+ import { locateInputAddress } from "../../system/utility/sectionUtility";
3
+ /**
4
+ * 获取data对象的代理对象
5
+ * @param data
6
+ * @param updater
7
+ */
8
+ export function get_proxy_for_method(data, updater) {
9
+ var handel = {};
10
+ handel["set"] = get_setter_for_method_proxy(updater);
11
+ return new Proxy(data, handel);
12
+ }
13
+ function get_setter_for_method_proxy(updater) {
14
+ var setter = function (obj, prop, value) {
15
+ try {
16
+ this.watcher[prop](obj[prop], value);
17
+ }
18
+ catch (error) {
19
+ }
20
+ Reflect.set(obj, prop, value);
21
+ update_Render(this);
22
+ locateInputAddress(this);
23
+ Reflect.deleteProperty(this, "origin");
24
+ return true;
25
+ };
26
+ return setter.bind(updater);
27
+ }
28
+ export function get_proxy_for_watcher(origin) {
29
+ var handles = {};
30
+ return new Proxy(origin, handles);
31
+ }
32
+ export function get_proxy_for_computed(origin) {
33
+ var handles = {};
34
+ return new Proxy(origin, handles);
35
+ }
@@ -0,0 +1,10 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { Component } from "../../index";
3
+ /**
4
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
5
+ * @param protoType
6
+ * @param parent
7
+ * @param child
8
+ * @param parentController
9
+ */
10
+ export declare function init_renderer(protoType: Component, parent: ParentNode, child: ChildNode, parentController: ContextController): void;
@@ -0,0 +1,69 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { directive_parse_collection_for_after, directive_parse_collection_for_before } from "../../system/utility/cmdUtility";
3
+ import { archive_mount, extract_mount } from "../../system/lifecycle/mount";
4
+ import { inject_$name_to_data, inject_$plugin_to_config, inject_$props_to_data, inject_$refs_to_data, inject_computed_to_controller, inject_method_to_data, inject_watcher_to_controller, } from "../../system/injection/inject";
5
+ import { after_process_for_init } from "../../system/lifecycle/lifeCycle";
6
+ import { findComponent } from "../delivery/delivery";
7
+ import { getTemplate } from "../../system/utility/templateUtility";
8
+ import { loader_tag_style } from "../../system/utility/styleUtility";
9
+ import { get_plugin_library, get_style_library } from "../../system/recorder/table0/system_func_0";
10
+ import { get_proxy_for_computed, get_proxy_for_method, get_proxy_for_watcher } from "../proxyer/getProxy";
11
+ import { getCodeSpaceForCommit, getCodeSpaceForPublish, getGetCodeSpaceForProperty, getSetCodeSpaceForProperty } from "../../system/utility/injectUtility";
12
+ import { getCommitMethod, getGetterMethod, getPublishMethod, getSetterMethod } from "../../system/injection/injection";
13
+ import { parse_directive_salt_collect } from "../directive/salt/v-solt";
14
+ /**
15
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
16
+ * @param protoType
17
+ * @param parent
18
+ * @param child
19
+ * @param parentController
20
+ */
21
+ export function init_renderer(protoType, parent, child, parentController) {
22
+ /* initiate the rang vars */
23
+ var tagTemplate = getTemplate(protoType);
24
+ var currentController = new ContextController({ boxMode: true });
25
+ /* some resolvers */
26
+ parse_directive_salt_collect(child, currentController);
27
+ /* some loaders */
28
+ loader_tag_style(protoType.getName(), get_style_library());
29
+ /* some injections to config class */
30
+ Reflect.set(currentController.componentConfig, "$plugins", get_plugin_library());
31
+ /* initiate to controller */
32
+ currentController.parentController = parentController;
33
+ currentController.prototypeOfComponent = protoType;
34
+ currentController.componentConfig.boxMode = protoType.getConfig()["boxMode"];
35
+ // @ts-ignore
36
+ currentController.originalData = parentController.lazyComponent.get(child.getAttribute("name"));
37
+ currentController.dataForMethod = get_proxy_for_method(currentController.originalData, currentController);
38
+ currentController.dataForComputed = get_proxy_for_computed(currentController.originalData);
39
+ currentController.dataForWatcher = get_proxy_for_watcher(currentController.originalData);
40
+ /* inject to original data source */
41
+ inject_$name_to_data(protoType.getName(), currentController.originalData);
42
+ inject_$props_to_data(child, protoType.getProps(), currentController.originalData);
43
+ inject_$refs_to_data(tagTemplate, currentController.originalData);
44
+ inject_$plugin_to_config(currentController.componentConfig);
45
+ /* initiate method, computed, watcher */
46
+ inject_method_to_data(currentController, protoType);
47
+ inject_computed_to_controller(currentController, protoType);
48
+ inject_watcher_to_controller(currentController, protoType);
49
+ //注入commit
50
+ getCodeSpaceForCommit(currentController.originalData, getCommitMethod(parentController));
51
+ getCodeSpaceForPublish(currentController.originalData, getPublishMethod(currentController));
52
+ getSetCodeSpaceForProperty(currentController.originalData, getSetterMethod(currentController));
53
+ getGetCodeSpaceForProperty(currentController.originalData, getGetterMethod(currentController));
54
+ protoType.getBeforeRender().apply(currentController.originalData, null);
55
+ /* directive parse before */
56
+ directive_parse_collection_for_before(tagTemplate, protoType, currentController);
57
+ /* archive mount */
58
+ archive_mount(currentController, protoType, parent, child, tagTemplate);
59
+ /* directive parse after */
60
+ directive_parse_collection_for_after(currentController.componentAttachedRootElement, currentController);
61
+ protoType.getAfterRender().apply(currentController.dataForMethod, null);
62
+ /* after process for render */
63
+ after_process_for_init(currentController, child, parentController);
64
+ /* find the next element to render */
65
+ findComponent(currentController.componentAttachedRootElement.children, currentController);
66
+ if (!protoType.getConfig()["boxMode"])
67
+ /* extract mount */
68
+ extract_mount(currentController);
69
+ }
@@ -0,0 +1,10 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { Component } from "../../index";
3
+ /**
4
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
5
+ * @param protoType
6
+ * @param parent
7
+ * @param child
8
+ * @param parentController
9
+ */
10
+ export declare function post_renderer(protoType: Component, parent: ParentNode, child: ChildNode, parentController: ContextController): void;
@@ -0,0 +1,70 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { directive_parse_collection_for_after, directive_parse_collection_for_before } from "../../system/utility/cmdUtility";
3
+ import { archive_mount, extract_mount } from "../../system/lifecycle/mount";
4
+ import { inject_$name_to_data, inject_$plugin_to_config, inject_$props_to_data, inject_$refs_to_data, inject_computed_to_controller, inject_method_to_data, inject_watcher_to_controller, } from "../../system/injection/inject";
5
+ import { after_process_for_post } from "../../system/lifecycle/lifeCycle";
6
+ import { findComponent } from "../delivery/delivery";
7
+ import { parse_directive_salt_collect } from "../directive/salt/v-solt";
8
+ import { getTemplate } from "../../system/utility/templateUtility";
9
+ import { loader_tag_style } from "../../system/utility/styleUtility";
10
+ import { get_plugin_library, get_style_library } from "../../system/recorder/table0/system_func_0";
11
+ import { get_proxy_for_computed, get_proxy_for_method, get_proxy_for_watcher } from "../proxyer/getProxy";
12
+ import { dataInject } from "../../system/utility/dataUtility";
13
+ import { getCodeSpaceForCommit, getCodeSpaceForPublish, getGetCodeSpaceForProperty, getSetCodeSpaceForProperty } from "../../system/utility/injectUtility";
14
+ import { getCommitMethod, getGetterMethod, getPublishMethod, getSetterMethod } from "../../system/injection/injection";
15
+ /**
16
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
17
+ * @param protoType
18
+ * @param parent
19
+ * @param child
20
+ * @param parentController
21
+ */
22
+ export function post_renderer(protoType, parent, child, parentController) {
23
+ /* initiate the rang vars */
24
+ var tagTemplate = getTemplate(protoType);
25
+ var currentController = new ContextController({ boxMode: true });
26
+ /* some resolvers */
27
+ parse_directive_salt_collect(child, currentController);
28
+ /* some loaders */
29
+ loader_tag_style(protoType.getName(), get_style_library());
30
+ /* some injections to config class */
31
+ Reflect.set(currentController.componentConfig, "$plugins", get_plugin_library());
32
+ /* initiate to controller */
33
+ currentController.parentController = parentController;
34
+ currentController.prototypeOfComponent = protoType;
35
+ currentController.componentConfig.boxMode = protoType.getConfig()["boxMode"];
36
+ // @ts-ignore
37
+ currentController.originalData = dataInject(protoType.getData());
38
+ currentController.dataForMethod = get_proxy_for_method(currentController.originalData, currentController);
39
+ currentController.dataForComputed = get_proxy_for_computed(currentController.originalData);
40
+ currentController.dataForWatcher = get_proxy_for_watcher(currentController.originalData);
41
+ /* inject to original data source */
42
+ inject_$name_to_data(protoType.getName(), currentController.originalData);
43
+ inject_$props_to_data(child, protoType.getProps(), currentController.originalData);
44
+ inject_$refs_to_data(tagTemplate, currentController.originalData);
45
+ inject_$plugin_to_config(currentController.componentConfig);
46
+ //注入commit
47
+ getCodeSpaceForCommit(currentController.originalData, getCommitMethod(parentController));
48
+ getCodeSpaceForPublish(currentController.originalData, getPublishMethod(currentController));
49
+ getSetCodeSpaceForProperty(currentController.originalData, getSetterMethod(currentController));
50
+ getGetCodeSpaceForProperty(currentController.originalData, getGetterMethod(currentController));
51
+ /* initiate method, computed, watcher */
52
+ inject_method_to_data(currentController, protoType);
53
+ inject_computed_to_controller(currentController, protoType);
54
+ inject_watcher_to_controller(currentController, protoType);
55
+ protoType.getBeforeRender().apply(currentController.originalData, null);
56
+ /* directive parse before */
57
+ directive_parse_collection_for_before(tagTemplate, protoType, currentController);
58
+ /* archive mount */
59
+ archive_mount(currentController, protoType, parent, child, tagTemplate);
60
+ /* directive parse after */
61
+ directive_parse_collection_for_after(currentController.componentAttachedRootElement, currentController);
62
+ protoType.getAfterRender().apply(currentController.dataForMethod, null);
63
+ /* after process for render */
64
+ after_process_for_post(currentController, parentController);
65
+ /* find the next element to render */
66
+ findComponent(currentController.componentAttachedRootElement.children, currentController);
67
+ if (!protoType.getConfig()["boxMode"])
68
+ /* extract mount */
69
+ extract_mount(currentController);
70
+ }
@@ -0,0 +1,10 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { Component } from "../../index";
3
+ /**
4
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
5
+ * @param protoType
6
+ * @param parent
7
+ * @param child
8
+ * @param parentController
9
+ */
10
+ export declare function raw_renderer(protoType: Component, parent: ParentNode, child: ChildNode, parentController: ContextController): void;
@@ -0,0 +1,70 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ import { directive_parse_collection_for_after, directive_parse_collection_for_before } from "../../system/utility/cmdUtility";
3
+ import { archive_mount, extract_mount } from "../../system/lifecycle/mount";
4
+ import { inject_$name_to_data, inject_$plugin_to_config, inject_$props_to_data, inject_$refs_to_data, inject_computed_to_controller, inject_method_to_data, inject_watcher_to_controller, } from "../../system/injection/inject";
5
+ import { after_process_for_post } from "../../system/lifecycle/lifeCycle";
6
+ import { findComponent } from "../delivery/delivery";
7
+ import { parse_directive_salt_collect } from "../directive/salt/v-solt";
8
+ import { getTemplate } from "../../system/utility/templateUtility";
9
+ import { loader_tag_style } from "../../system/utility/styleUtility";
10
+ import { get_plugin_library, get_style_library } from "../../system/recorder/table0/system_func_0";
11
+ import { get_proxy_for_computed, get_proxy_for_method, get_proxy_for_watcher } from "../proxyer/getProxy";
12
+ import { dataInject } from "../../system/utility/dataUtility";
13
+ import { getCodeSpaceForCommit, getCodeSpaceForPublish, getGetCodeSpaceForProperty, getSetCodeSpaceForProperty } from "../../system/utility/injectUtility";
14
+ import { getCommitMethod, getGetterMethod, getPublishMethod, getSetterMethod } from "../../system/injection/injection";
15
+ /**
16
+ * 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
17
+ * @param protoType
18
+ * @param parent
19
+ * @param child
20
+ * @param parentController
21
+ */
22
+ export function raw_renderer(protoType, parent, child, parentController) {
23
+ /* initiate the rang vars */
24
+ var tagTemplate = getTemplate(protoType);
25
+ var currentController = new ContextController({ boxMode: true });
26
+ /* some resolvers */
27
+ parse_directive_salt_collect(child, currentController);
28
+ /* some loaders */
29
+ loader_tag_style(protoType.getName(), get_style_library());
30
+ /* some injections to config class */
31
+ Reflect.set(currentController.componentConfig, "$plugins", get_plugin_library());
32
+ /* initiate to controller */
33
+ currentController.parentController = parentController;
34
+ currentController.prototypeOfComponent = protoType;
35
+ currentController.componentConfig.boxMode = protoType.getConfig()["boxMode"];
36
+ // @ts-ignore
37
+ currentController.originalData = dataInject(protoType.getData());
38
+ currentController.dataForMethod = get_proxy_for_method(currentController.originalData, currentController);
39
+ currentController.dataForComputed = get_proxy_for_computed(currentController.originalData);
40
+ currentController.dataForWatcher = get_proxy_for_watcher(currentController.originalData);
41
+ /* inject to original data source */
42
+ inject_$name_to_data(protoType.getName(), currentController.originalData);
43
+ inject_$props_to_data(child, protoType.getProps(), currentController.originalData);
44
+ inject_$refs_to_data(tagTemplate, currentController.originalData);
45
+ inject_$plugin_to_config(currentController.componentConfig);
46
+ //注入commit
47
+ getCodeSpaceForCommit(currentController.originalData, getCommitMethod(parentController));
48
+ getCodeSpaceForPublish(currentController.originalData, getPublishMethod(currentController));
49
+ getSetCodeSpaceForProperty(currentController.originalData, getSetterMethod(currentController));
50
+ getGetCodeSpaceForProperty(currentController.originalData, getGetterMethod(currentController));
51
+ /* initiate method, computed, watcher */
52
+ inject_method_to_data(currentController, protoType);
53
+ inject_computed_to_controller(currentController, protoType);
54
+ inject_watcher_to_controller(currentController, protoType);
55
+ protoType.getBeforeRender().apply(currentController.originalData, null);
56
+ /* directive parse before */
57
+ directive_parse_collection_for_before(tagTemplate, protoType, currentController);
58
+ /* archive mount */
59
+ archive_mount(currentController, protoType, parent, child, tagTemplate);
60
+ /* directive parse after */
61
+ directive_parse_collection_for_after(currentController.componentAttachedRootElement, currentController);
62
+ protoType.getAfterRender().apply(currentController.dataForMethod, null);
63
+ /* after process for render */
64
+ after_process_for_post(currentController, parentController);
65
+ /* find the next element to render */
66
+ findComponent(currentController.componentAttachedRootElement.children, currentController);
67
+ if (!protoType.getConfig()["boxMode"])
68
+ /* extract mount */
69
+ extract_mount(currentController);
70
+ }
@@ -0,0 +1,6 @@
1
+ import { ContextController } from "../../system/define/ContextController";
2
+ /**
3
+ * 更新渲染方法
4
+ * @param currentController
5
+ */
6
+ export declare function update_Render(currentController: ContextController): void;
@@ -0,0 +1,33 @@
1
+ import { directive_parse_collection_for_after, directive_parse_collection_for_before, } from "../../system/utility/cmdUtility";
2
+ import { inject_$refs_to_data } from "../../system/injection/inject";
3
+ import { findComponent } from "../delivery/delivery";
4
+ import { getTemplate } from "../../system/utility/templateUtility";
5
+ import { mountForUpdate } from "../../system/lifecycle/mount";
6
+ /**
7
+ * 更新渲染方法
8
+ * @param currentController
9
+ */
10
+ export function update_Render(currentController) {
11
+ var tagTemplate = getTemplate(currentController.prototypeOfComponent);
12
+ currentController.slaveComponent = Array();
13
+ inject_$refs_to_data(tagTemplate, currentController.originalData);
14
+ //解析指令
15
+ directive_parse_collection_for_before(tagTemplate, currentController.prototypeOfComponent, currentController);
16
+ //mount
17
+ if (!currentController.componentConfig.boxMode) {
18
+ var renderSpace = mountForUpdate(tagTemplate);
19
+ while (currentController.begin.nextSibling !== currentController.anchor) {
20
+ currentController.componentAttachedRootElement.removeChild(currentController.begin.nextSibling);
21
+ }
22
+ while (renderSpace.hasChildNodes()) {
23
+ currentController.componentAttachedRootElement.insertBefore(renderSpace.firstChild, currentController.anchor);
24
+ }
25
+ while (renderSpace.hasChildNodes()) {
26
+ currentController.componentAttachedRootElement.insertBefore(renderSpace.firstChild, currentController.anchor);
27
+ }
28
+ }
29
+ //渲染后处理
30
+ directive_parse_collection_for_after(currentController.componentAttachedRootElement, currentController);
31
+ //深度渲染
32
+ findComponent(currentController.componentAttachedRootElement.children, currentController);
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "The extendable javascript web framework",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -16,9 +16,6 @@
16
16
  "email": "mutian_xiangcai@outlook.com"
17
17
  },
18
18
  "license": "MIT",
19
- "dependencies": {
20
- "render-refer": "1.4.0"
21
- },
22
19
  "devDependencies": {
23
20
  "typescript": "^5.8.3"
24
21
  }
@@ -1,28 +1,29 @@
1
- import { ComponentController } from "./ComponentController";
2
1
  import { ControllerGeneric } from "../generic/ControllerGeneric";
3
- import { Component } from "../../render-refer/dist";
2
+ import { Component } from "../../index";
4
3
  export declare class ContextController implements ControllerGeneric {
5
4
  componentAttachedRootElement: ParentNode | Element;
6
5
  prototypeOfComponent: Component;
7
- parentController: ComponentController | ContextController;
6
+ parentController: ContextController;
8
7
  anchor: HTMLElement;
9
8
  begin: HTMLElement;
10
9
  componentConfig: {
11
10
  boxMode: boolean;
12
- $plugins?: Map<string, any>;
11
+ plugins?: Map<string, any>;
13
12
  };
14
13
  originalData: {};
15
14
  dataForMethod: {};
16
15
  dataForComputed: {};
16
+ dataForWatcher: {};
17
17
  salt: Map<string, any>;
18
18
  lazyComponent: Map<string, {}>;
19
- slaveComponent: ComponentController[];
19
+ slaveComponent: ContextController[];
20
20
  method: {};
21
- watcher: {};
22
21
  computed: {};
22
+ watcher: {};
23
23
  constructor(config: {
24
24
  boxMode: boolean;
25
+ $plugins?: Map<string, any>;
25
26
  });
26
- receiver(method: string, ...args: any[]): void;
27
+ receiver(method: string, ...args: any[]): any;
27
28
  flush(): void;
28
29
  }
@@ -0,0 +1,23 @@
1
+ import { update_Render } from "../../kernel/renderer/updateRender";
2
+ var ContextController = /** @class */ (function () {
3
+ //构造函数
4
+ function ContextController(config) {
5
+ this.lazyComponent = new Map();
6
+ this.slaveComponent = Array();
7
+ this.salt = new Map();
8
+ this.componentConfig = config;
9
+ }
10
+ //接收器
11
+ ContextController.prototype.receiver = function (method) {
12
+ var args = [];
13
+ for (var _i = 1; _i < arguments.length; _i++) {
14
+ args[_i - 1] = arguments[_i];
15
+ }
16
+ return this.prototypeOfComponent.getMethods()[method].apply(this.dataForMethod, args);
17
+ };
18
+ ContextController.prototype.flush = function () {
19
+ update_Render(this);
20
+ };
21
+ return ContextController;
22
+ }());
23
+ export { ContextController };
@@ -1,10 +1,9 @@
1
- import { ComponentController } from "../controller/ComponentController";
2
- import { Component } from "../../render-refer/dist";
3
- import { ContextController } from "../controller/ContextController";
1
+ import { ContextController } from "../define/ContextController";
2
+ import { Component } from "../../index";
4
3
  export interface ControllerGeneric {
5
4
  componentAttachedRootElement: ParentNode;
6
5
  prototypeOfComponent: Component;
7
- parentController: ContextController | ComponentController;
6
+ parentController: ContextController;
8
7
  componentConfig: {
9
8
  boxMode: boolean;
10
9
  };
@@ -13,7 +12,7 @@ export interface ControllerGeneric {
13
12
  dataForComputed: {};
14
13
  salt: Map<string, any>;
15
14
  lazyComponent: Map<string, {}>;
16
- slaveComponent: ComponentController[];
15
+ slaveComponent: ContextController[];
17
16
  method: {};
18
17
  computed: {};
19
18
  watcher: {};
@@ -0,0 +1,4 @@
1
+ import { AbstractPlugin } from "../../index";
2
+ export interface RenderGeneric {
3
+ use_plugin(plugin: AbstractPlugin): void;
4
+ }
@@ -0,0 +1,24 @@
1
+ import { ContextController } from "../define/ContextController";
2
+ import { Component } from "../../index";
3
+ export declare function inject_$name_to_data(name: string, origin: {}): void;
4
+ export declare function inject_$props_to_data(childNode: ChildNode, meta: {} | [], origin: object): void;
5
+ export declare function inject_$refs_to_data(template: Element, origin: object): void;
6
+ export declare function inject_$plugin_to_config(config: object): void;
7
+ /**
8
+ *
9
+ * @param controller
10
+ * @param proto
11
+ */
12
+ export declare function inject_method_to_data(controller: ContextController, proto: Component): void;
13
+ /**
14
+ *
15
+ * @param controller
16
+ * @param proto
17
+ */
18
+ export declare function inject_watcher_to_controller(controller: ContextController, proto: Component): void;
19
+ /**
20
+ *
21
+ * @param controller
22
+ * @param proto
23
+ */
24
+ export declare function inject_computed_to_controller(controller: ContextController, proto: Component): void;