render-core 1.3.71 → 1.4.0

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 (93) hide show
  1. package/controller/ComponentController.d.ts +29 -0
  2. package/controller/ComponentController.js +30 -0
  3. package/controller/ContextController.d.ts +28 -0
  4. package/controller/ContextController.js +36 -0
  5. package/core/cmd/data/v-el.d.ts +3 -2
  6. package/core/cmd/data/v-html.d.ts +3 -2
  7. package/core/cmd/data/v-txt.d.ts +3 -2
  8. package/core/cmd/react/v-change.d.ts +6 -0
  9. package/core/cmd/react/v-change.js +22 -0
  10. package/core/cmd/solt/v-solt.d.ts +5 -5
  11. package/core/cmd/solt/v-solt.js +12 -12
  12. package/core/exexutor/executor.d.ts +7 -0
  13. package/core/exexutor/executor.js +24 -0
  14. package/core/inject/inject.d.ts +3 -2
  15. package/core/inject/inject.js +12 -9
  16. package/core/inject/injection.d.ts +22 -0
  17. package/core/inject/injection.js +50 -0
  18. package/core/lifecycle/afterMethods.d.ts +4 -4
  19. package/core/lifecycle/afterMethods.js +3 -3
  20. package/core/lifecycle/controllerCycle.d.ts +16 -7
  21. package/core/lifecycle/controllerCycle.js +47 -23
  22. package/core/lifecycle/mount.d.ts +4 -3
  23. package/core/lifecycle/mount.js +25 -5
  24. package/core/proxy/getProxy.d.ts +6 -8
  25. package/core/proxy/getProxy.js +15 -31
  26. package/core/proxy/proxy.d.ts +9 -0
  27. package/core/proxy/proxy.js +26 -0
  28. package/core/render/PostRender.js +7 -7
  29. package/core/render/delivery.js +1 -1
  30. package/core/render/initRender.js +3 -3
  31. package/core/render/rawRender.js +7 -7
  32. package/core/render/updateRender.js +8 -8
  33. package/core/resolver/props.js +6 -5
  34. package/core/utility/checkUtility.js +1 -1
  35. package/core/utility/cmdUtility.d.ts +4 -3
  36. package/core/utility/cmdUtility.js +15 -15
  37. package/core/utility/injectUtility.d.ts +0 -6
  38. package/core/utility/injectUtility.js +1 -35
  39. package/core/utility/inputType.d.ts +3 -3
  40. package/core/utility/inputType.js +5 -5
  41. package/core/utility/inputUtility.d.ts +1 -0
  42. package/core/utility/inputUtility.js +8 -0
  43. package/core/utility/sectionUtility.d.ts +1 -1
  44. package/core/utility/sectionUtility.js +18 -15
  45. package/core/utility/styleUtility.d.ts +4 -3
  46. package/core/utility/styleUtility.js +17 -29
  47. package/generic/ApplicationGeneric.d.ts +4 -0
  48. package/generic/ApplicationGeneric.js +1 -0
  49. package/generic/ConfigGeneric.d.ts +3 -0
  50. package/generic/ConfigGeneric.js +1 -0
  51. package/generic/ControllerGeneric.d.ts +22 -0
  52. package/generic/ControllerGeneric.js +1 -0
  53. package/generic/RenderGeneric.d.ts +1 -1
  54. package/generic/StyleGeneric.d.ts +4 -0
  55. package/generic/StyleGeneric.js +1 -0
  56. package/generic/originalDataGeneric.d.ts +4 -0
  57. package/generic/originalDataGeneric.js +1 -0
  58. package/http/generic/HttpGeneric.d.ts +3 -1
  59. package/index.d.ts +32 -14
  60. package/index.js +53 -34
  61. package/package.json +2 -2
  62. package/proto/controller/ComponentController.d.ts +11 -8
  63. package/proto/controller/ComponentController.js +8 -6
  64. package/proto/controller/PageController.d.ts +5 -5
  65. package/proto/controller/PageController.js +3 -3
  66. package/runtime/config/RenderConfig.d.ts +12 -0
  67. package/runtime/config/RenderConfig.js +11 -0
  68. package/runtime/config/config.d.ts +4 -0
  69. package/runtime/config/config.js +4 -0
  70. package/runtime/config.d.ts +3 -0
  71. package/runtime/config.js +3 -0
  72. package/runtime/delivery.d.ts +5 -0
  73. package/runtime/delivery.js +43 -0
  74. package/runtime/{Entrance.d.ts → entrance.d.ts} +2 -1
  75. package/runtime/entrance.js +33 -0
  76. package/runtime/render/PostRender.d.ts +15 -0
  77. package/runtime/render/PostRender.js +49 -0
  78. package/runtime/render/delivery.d.ts +5 -0
  79. package/runtime/render/delivery.js +42 -0
  80. package/runtime/render/initRender.d.ts +15 -0
  81. package/runtime/render/initRender.js +46 -0
  82. package/runtime/render/rawRender.d.ts +15 -0
  83. package/runtime/render/rawRender.js +50 -0
  84. package/runtime/renderProcessor.d.ts +11 -0
  85. package/runtime/{RenderProcessor.js → renderProcessor.js} +11 -8
  86. package/runtime/tag/TagProcessor.d.ts +9 -0
  87. package/runtime/tagProcessor.js +27 -0
  88. package/runtime/update/updateRender.d.ts +10 -0
  89. package/runtime/update/updateRender.js +38 -0
  90. package/runtime/Entrance.js +0 -14
  91. package/runtime/RenderProcessor.d.ts +0 -7
  92. /package/runtime/{TagProcessor.js → tag/TagProcessor.js} +0 -0
  93. /package/runtime/{TagProcessor.d.ts → tagProcessor.d.ts} +0 -0
@@ -12,20 +12,40 @@ export function mount(controller, proto, parent, child, tagTemplate) {
12
12
  //给box添加样式
13
13
  renderSpace.setAttribute("style", proto.getBoxStyle());
14
14
  //指定渲染空间
15
- controller.root = renderSpace;
15
+ controller.componentAttachedRootElement = renderSpace;
16
16
  //开始渲染
17
17
  parent.replaceChild(renderSpace, child);
18
18
  while (tagTemplate.hasChildNodes()) {
19
19
  renderSpace.append(tagTemplate.firstChild);
20
20
  }
21
21
  }
22
+ export function mountForUpdate(tagTemplate) {
23
+ //mount
24
+ var renderSpace = document.createElement("div");
25
+ renderSpace.setAttribute("anchor", "end");
26
+ while (tagTemplate.hasChildNodes()) {
27
+ renderSpace.append(tagTemplate.firstChild);
28
+ }
29
+ return renderSpace;
30
+ }
22
31
  /**
23
- * insert elements without div elment
32
+ * Insert elements without div element
24
33
  * @param root
25
34
  */
26
35
  export function unBox(root) {
27
- while (root.hasChildNodes()) {
28
- root.parentNode.insertBefore(root.firstChild, root);
36
+ var begin = document.createElement("div");
37
+ begin.setAttribute("anchor", "begin");
38
+ begin.setAttribute("style", "display:none");
39
+ root.componentAttachedRootElement.parentNode.insertBefore(begin, root.componentAttachedRootElement);
40
+ root.begin = begin;
41
+ while (root.componentAttachedRootElement.hasChildNodes()) {
42
+ //插入元素到根之前
43
+ root.componentAttachedRootElement.parentNode.insertBefore(root.componentAttachedRootElement.firstChild, root.componentAttachedRootElement);
29
44
  }
30
- root.parentNode.removeChild(root);
45
+ var parent = root.componentAttachedRootElement.parentNode;
46
+ // @ts-ignore
47
+ root.anchor = root.componentAttachedRootElement;
48
+ root.anchor.setAttribute("anchor", "end");
49
+ root.anchor.setAttribute("style", "display:none");
50
+ root.componentAttachedRootElement = parent;
31
51
  }
@@ -1,13 +1,11 @@
1
- import { ComponentController } from "../../proto/controller/ComponentController";
1
+ import { ComponentController } from "../../controller/ComponentController";
2
+ import { Component } from "../../../render-refer/dist";
2
3
  /**
3
4
  * 获取data对象的代理对象
4
- * @param obj
5
- * @param updater
6
- */
7
- export declare function getProxyObject(obj: {}, updater: ComponentController): any;
8
- /**
9
- * 获取setter代理函数
10
5
  * @param data
11
6
  * @param updater
7
+ * @param tagLib
8
+ * @param styleLib
12
9
  */
13
- export declare function getSetter(data: {}, updater: ComponentController): any;
10
+ export declare function getSetterProxy(data: {}, updater: ComponentController, tagLib: Map<string, Component>, styleLib: Map<string, Map<string, string>>): any;
11
+ export declare function getGetterProxy(data: {}, updater: ComponentController): any;
@@ -1,42 +1,26 @@
1
- import { update_Render } from "../render/updateRender";
2
- import { locateInputAddress } from "../utility/sectionUtility";
1
+ import { getSetter } from "./proxy";
3
2
  /**
4
3
  * 获取data对象的代理对象
5
- * @param obj
4
+ * @param data
6
5
  * @param updater
6
+ * @param tagLib
7
+ * @param styleLib
7
8
  */
8
- export function getProxyObject(obj, updater) {
9
+ export function getSetterProxy(data, updater, tagLib, styleLib) {
9
10
  //定义代理方法对象
10
11
  var handel = {};
11
12
  //获取set代理方法
12
- handel["set"] = getSetter(obj, updater);
13
+ handel["set"] = getSetter(updater, tagLib, styleLib);
13
14
  //返回代理对象
14
- return new Proxy(obj, handel);
15
+ return new Proxy(data, handel);
15
16
  }
16
- /**
17
- * 获取setter代理函数
18
- * @param data
19
- * @param updater
20
- */
21
- export function getSetter(data, updater) {
22
- var setter = function (obj, prop, value) {
23
- if (this.mode !== "box") {
24
- console.log("Not box element can not to update data!");
25
- return false;
26
- }
27
- //检查是否有watcher
28
- try {
29
- this.watcher[prop](obj[prop], value);
30
- }
31
- catch (error) {
32
- }
33
- //更新值
34
- obj[prop] = value;
35
- //执行更新
36
- update_Render(this);
37
- locateInputAddress(this);
38
- Reflect.deleteProperty(this, "origin");
39
- return true;
17
+ export function getGetterProxy(data, updater) {
18
+ var handel = {};
19
+ handel["set"] = function (data, props) {
20
+ console.log("Watcher can only read props from data object");
21
+ };
22
+ handel["deleteProperty"] = function (data, props) {
23
+ console.log("Watcher can only read props from data object");
40
24
  };
41
- return setter.bind(updater);
25
+ return new Proxy(data, handel);
42
26
  }
@@ -0,0 +1,9 @@
1
+ import { ComponentController } from "../../controller/ComponentController";
2
+ import { Component } from "../../../render-refer/dist";
3
+ /**
4
+ * 获取setter代理函数
5
+ * @param updater
6
+ * @param styleLib
7
+ * @param tagLib
8
+ */
9
+ export declare function getSetter(updater: ComponentController, tagLib: Map<string, Component>, styleLib: Map<string, Map<string, string>>): any;
@@ -0,0 +1,26 @@
1
+ import { locateInputAddress } from "../utility/sectionUtility";
2
+ import { update_Render } from "../../runtime/update/UpdateRender";
3
+ /**
4
+ * 获取setter代理函数
5
+ * @param updater
6
+ * @param styleLib
7
+ * @param tagLib
8
+ */
9
+ export function getSetter(updater, tagLib, styleLib) {
10
+ var setter = function (obj, prop, value) {
11
+ //检查是否有watcher
12
+ try {
13
+ this.watcher[prop](obj[prop], value);
14
+ }
15
+ catch (error) {
16
+ }
17
+ //更新值
18
+ obj[prop] = value;
19
+ //执行更新
20
+ update_Render(this, tagLib, styleLib);
21
+ locateInputAddress(this);
22
+ Reflect.deleteProperty(this, "origin");
23
+ return true;
24
+ };
25
+ return setter.bind(updater);
26
+ }
@@ -17,26 +17,26 @@ import { resolver_solt } from "../cmd/solt/v-solt";
17
17
  export function post_render(proto, parent, child, link, tagTemplate) {
18
18
  //获取控制对象
19
19
  var controller = new ComponentController();
20
- //解析solt
20
+ //解析salt
21
21
  resolver_solt(child, controller);
22
22
  //控制对象预处理
23
23
  controllerCycleTypeTwo(controller, proto, child, link, tagTemplate);
24
24
  //beforeRender
25
- proto.getBeforeRender().call(controller.raw_data);
25
+ proto.getBeforeRender().call(controller.originalData);
26
26
  //解析指令
27
27
  cmdUtility(tagTemplate, proto, controller);
28
28
  //mount
29
29
  mount(controller, proto, parent, child, tagTemplate);
30
30
  injectRefs(controller);
31
31
  //渲染后处理
32
- afterCmd(controller.root, controller.proto, controller);
32
+ afterCmd(controller.componentAttachedRootElement, controller.prototypeOfComponent, controller);
33
33
  //后处理
34
34
  afterMethodsTypeOne(controller, child, link);
35
35
  //afterRender
36
- proto.getAfterRender().call(controller.proxyForMethods);
36
+ proto.getAfterRender().call(controller.dataForMethod);
37
37
  //深度渲染
38
- findComponent(controller.root.children, controller);
39
- if (proto.getMode() === "insert") {
40
- unBox(controller.root);
38
+ findComponent(controller.componentAttachedRootElement.children, controller);
39
+ if (proto.getConfig()["mode"] === false) {
40
+ unBox(controller.componentAttachedRootElement);
41
41
  }
42
42
  }
@@ -15,7 +15,7 @@ export function delivery(proto, parent, child, link) {
15
15
  //两种渲染方式
16
16
  if (child.hasAttribute("name")) {
17
17
  //需要保持状态的渲染
18
- if (link.link.has(child.getAttribute("name"))) {
18
+ if (link.lazyComponent.has(child.getAttribute("name"))) {
19
19
  //该name元素存在旧数据,是更新渲染
20
20
  init_render(proto, parent, child, link, tagTemplate);
21
21
  }
@@ -28,12 +28,12 @@ export function init_render(proto, parent, child, link, tagTemplate) {
28
28
  //获取
29
29
  injectRefs(controller);
30
30
  //渲染后数据处理
31
- afterCmd(controller.root, proto, controller);
31
+ afterCmd(controller.componentAttachedRootElement, proto, controller);
32
32
  //后处理
33
33
  afterMethodsTypeOne(controller, child, link);
34
34
  //深度渲染
35
35
  findComponent(tagTemplate.children, controller);
36
- if (proto.getMode() === "insert") {
37
- unBox(controller.root);
36
+ if (proto.getConfig()["mode"] === false) {
37
+ unBox(controller.componentAttachedRootElement);
38
38
  }
39
39
  }
@@ -17,12 +17,12 @@ import { resolver_solt } from "../cmd/solt/v-solt";
17
17
  export function raw_render(proto, parent, child, link, tagTemplate) {
18
18
  //获取控制对象
19
19
  var controller = new ComponentController();
20
- //解析solt
20
+ //解析salt
21
21
  resolver_solt(child, controller);
22
22
  //控制对象预处理
23
23
  controllerCycleTypeTwo(controller, proto, child, link, tagTemplate);
24
24
  //beforeRender,可以获取数据而不触发更新
25
- proto.getBeforeRender().call(controller.raw_data);
25
+ proto.getBeforeRender().call(controller.originalData);
26
26
  //解析指令(模板处理)
27
27
  cmdUtility(tagTemplate, proto, controller);
28
28
  //mount
@@ -30,14 +30,14 @@ export function raw_render(proto, parent, child, link, tagTemplate) {
30
30
  //获取注入引用资源
31
31
  injectRefs(controller);
32
32
  //渲染后处理
33
- afterCmd(controller.root, proto, controller);
33
+ afterCmd(controller.componentAttachedRootElement, proto, controller);
34
34
  //后处理(数据渲染)
35
35
  afterMethodsTypeTwo(controller, child, link);
36
36
  //afterRender,可以操作渲染后的dom
37
- proto.getAfterRender().call(controller.proxyForMethods);
37
+ proto.getAfterRender().call(controller.dataForMethod);
38
38
  //深度渲染
39
- findComponent(controller.root.children, controller);
40
- if (proto.getMode() === "insert") {
41
- unBox(controller.root);
39
+ findComponent(controller.componentAttachedRootElement.children, controller);
40
+ if (proto.getConfig()["mode"] === false) {
41
+ unBox(controller.componentAttachedRootElement);
42
42
  }
43
43
  }
@@ -8,22 +8,22 @@ import { getTemplate } from "../utility/templateUtility";
8
8
  */
9
9
  export function update_Render(controller) {
10
10
  //生成DOM
11
- var tagTemplate = getTemplate(controller.proto);
11
+ var tagTemplate = getTemplate(controller.prototypeOfComponent);
12
12
  //清除保存的发布对象
13
- controller.to = [];
13
+ controller.slaveComponent = [];
14
14
  //解析指令
15
- cmdUtility(tagTemplate, controller.proto, controller);
15
+ cmdUtility(tagTemplate, controller.prototypeOfComponent, controller);
16
16
  //unmount
17
- while (controller.root.hasChildNodes()) {
18
- controller.root.removeChild(controller.root.firstChild);
17
+ while (controller.componentAttachedRootElement.hasChildNodes()) {
18
+ controller.componentAttachedRootElement.removeChild(controller.componentAttachedRootElement.firstChild);
19
19
  }
20
20
  //mount
21
21
  while (tagTemplate.hasChildNodes()) {
22
- controller.root.appendChild(tagTemplate.firstChild);
22
+ controller.componentAttachedRootElement.appendChild(tagTemplate.firstChild);
23
23
  }
24
24
  injectRefs(controller);
25
25
  //渲染后处理
26
- afterCmd(controller.root, controller.proto, controller);
26
+ afterCmd(controller.componentAttachedRootElement, controller.prototypeOfComponent, controller);
27
27
  //深度渲染
28
- findComponent(controller.root.children, controller);
28
+ findComponent(controller.componentAttachedRootElement.children, controller);
29
29
  }
@@ -1,3 +1,4 @@
1
+ import { Property } from "../../index";
1
2
  /**
2
3
  * This function is used to resolve tag customed properties.
3
4
  * @param node
@@ -36,19 +37,19 @@ export function getAllPropsByObject(node, object) {
36
37
  for (var objectKey in object) {
37
38
  if (node.getAttribute(objectKey)) {
38
39
  switch (object[objectKey]) {
39
- case "int":
40
+ case Property.INT:
40
41
  props.set(objectKey, parseInt(node.getAttribute(objectKey)));
41
42
  break;
42
- case "float":
43
+ case Property.FLOAT:
43
44
  props.set(objectKey, parseFloat(node.getAttribute(objectKey)));
44
45
  break;
45
- case "boole":
46
+ case Property.BOOLEAN:
46
47
  props.set(objectKey, parseFloat(node.getAttribute(objectKey)));
47
48
  break;
48
- case "string":
49
+ case Property.STRING:
49
50
  props.set(objectKey, node.getAttribute(objectKey));
50
51
  break;
51
- case "json":
52
+ case Property.JSON:
52
53
  props.set(objectKey, JSON.parse(node.getAttribute(objectKey)));
53
54
  break;
54
55
  default:
@@ -1,4 +1,4 @@
1
- import metaTagLib from "../../library/taglib/metaTagLib";
1
+ import metaTagLib from "../../library/taglib/MetaTagLib";
2
2
  export function isUnKnown(element) {
3
3
  return !metaTagLib.some(function (ele) { return ele == element; });
4
4
  }
@@ -1,16 +1,17 @@
1
- import { ComponentController } from "../../proto/controller/ComponentController";
1
+ import { ComponentController } from "../../controller/ComponentController";
2
2
  import { Component } from "render-refer";
3
+ import { ContextController } from "../../controller/ContextController";
3
4
  /**
4
5
  * This function is used to resolver those commands which should be executed before mount.
5
6
  * @param tagTemplate
6
7
  * @param proto
7
8
  * @param controller
8
9
  */
9
- export declare function cmdUtility(tagTemplate: Element, proto: Component, controller: ComponentController): void;
10
+ export declare function cmdUtility(tagTemplate: Element, proto: Component, controller: ComponentController | ContextController): void;
10
11
  /**
11
12
  * This function is used to resolver those commands which should be executed after mount.
12
13
  * @param templateSpace
13
14
  * @param proto
14
15
  * @param controller
15
16
  */
16
- export declare function afterCmd(templateSpace: ParentNode, proto: Component, controller: ComponentController): void;
17
+ export declare function afterCmd(templateSpace: ParentNode, proto: Component, controller: ComponentController | ContextController): void;
@@ -9,7 +9,7 @@ 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
11
  import { resolver_for_of } from "../cmd/loop/v-for";
12
- import { extract_solt } from "../cmd/solt/v-solt";
12
+ import { extract_salt } from "../cmd/solt/v-solt";
13
13
  import { resolver_expression } from "../cmd/data/v-el";
14
14
  import { resolver_for_map } from "../cmd/loop/v-map";
15
15
  /**
@@ -22,17 +22,17 @@ export function cmdUtility(tagTemplate, proto, controller) {
22
22
  //给所有元素添加上npm=tag标志
23
23
  addLabel(tagTemplate.children, proto.getName());
24
24
  //将元素事件绑定到元素上
25
- resolver_event(tagTemplate.children, proto.getMethods(), controller.proxyForMethods, controller.raw_data);
25
+ resolver_event(tagTemplate.children, proto.getMethods(), controller.dataForMethod, controller.originalData);
26
26
  //渲染html
27
- resolver_html(tagTemplate.children, controller.proxyForMethods, controller);
27
+ resolver_html(tagTemplate.children, controller.dataForMethod, controller);
28
28
  //渲染text
29
- resolver_txt(tagTemplate.children, controller.proxyForMethods, controller);
29
+ resolver_txt(tagTemplate.children, controller.dataForMethod, controller);
30
30
  //绑定数据
31
- resolver_model(tagTemplate.children, controller.proxyForMethods);
31
+ resolver_model(tagTemplate.children, controller.dataForMethod);
32
32
  //渲染属性
33
- resolver_bind(tagTemplate.children, controller.proxyForMethods);
34
- //solt
35
- extract_solt(tagTemplate.children, controller);
33
+ resolver_bind(tagTemplate.children, controller.dataForMethod);
34
+ //salt
35
+ extract_salt(tagTemplate.children, controller);
36
36
  }
37
37
  /**
38
38
  * This function is used to resolver those commands which should be executed after mount.
@@ -42,17 +42,17 @@ export function cmdUtility(tagTemplate, proto, controller) {
42
42
  */
43
43
  export function afterCmd(templateSpace, proto, controller) {
44
44
  //v-show
45
- resolver_show(templateSpace.children, controller.proxyForMethods);
45
+ resolver_show(templateSpace.children, controller.dataForMethod);
46
46
  //v-render
47
- resolver_render(templateSpace.children, controller.proxyForMethods);
47
+ resolver_render(templateSpace.children, controller.dataForMethod);
48
48
  //v-if
49
- resolver_if(templateSpace.children, controller.proxyForMethods);
49
+ resolver_if(templateSpace.children, controller.dataForMethod);
50
50
  //v-switch
51
- resolver_switch(templateSpace.children, controller.proxyForMethods);
51
+ resolver_switch(templateSpace.children, controller.dataForMethod);
52
52
  //v-for-each
53
- resolver_for_map(templateSpace.children, controller.proxyForMethods);
53
+ resolver_for_map(templateSpace.children, controller.dataForMethod);
54
54
  //v-for-of
55
- resolver_for_of(templateSpace.children, controller.proxyForMethods);
55
+ resolver_for_of(templateSpace.children, controller.dataForMethod);
56
56
  //v-el
57
- resolver_expression(controller.root, controller.proxyForMethods, controller);
57
+ resolver_expression(controller.componentAttachedRootElement, controller.dataForMethod, controller);
58
58
  }
@@ -1,13 +1,7 @@
1
- import { ComponentController } from "../../proto/controller/ComponentController";
2
- import { PageController } from "../../proto/controller/PageController";
3
1
  export declare function getCodeSpaceForProps(data: {}, $props: Map<string, object>): void;
4
2
  export declare function getCodeSpaceForQuery(data: {}, $query: Map<string, any>): void;
5
3
  export declare function getCodeSpaceForRef(data: {}, $ref: Map<string, Element>): void;
6
- export declare function getCommitMethod(controller: ComponentController | PageController): any;
7
- export declare function getSetterMethod(controller: ComponentController | PageController): any;
8
- export declare function getGetterMethod(controller: ComponentController | PageController): any;
9
4
  export declare function getCodeSpaceForCommit(data: {}, commit: any): void;
10
- export declare function getPublishMethod(controller: ComponentController | PageController): any;
11
5
  export declare function getCodeSpaceForPublish(data: {}, publisher: any): void;
12
6
  export declare function getSetCodeSpaceForProperty(data: {}, setter: any): void;
13
7
  export declare function getGetCodeSpaceForProperty(data: {}, getter: any): void;
@@ -2,50 +2,16 @@ export function getCodeSpaceForProps(data, $props) {
2
2
  Reflect.set(data, "$props", $props);
3
3
  }
4
4
  export function getCodeSpaceForQuery(data, $query) {
5
- Reflect.set(data, "$queries", $query);
5
+ Reflect.set(data, "$params", $query);
6
6
  }
7
7
  //注入对象
8
8
  export function getCodeSpaceForRef(data, $ref) {
9
9
  Reflect.set(data, "$refs", $ref);
10
10
  }
11
- export function getCommitMethod(controller) {
12
- var commit = function (method) {
13
- var args = [];
14
- for (var _i = 1; _i < arguments.length; _i++) {
15
- args[_i - 1] = arguments[_i];
16
- }
17
- return this.receiver(method, args);
18
- };
19
- return commit.bind(controller);
20
- }
21
- export function getSetterMethod(controller) {
22
- var setter = function (property, value) {
23
- this[property] = value;
24
- };
25
- return setter.bind(controller.proxyForMethods);
26
- }
27
- export function getGetterMethod(controller) {
28
- var setter = function (property) {
29
- return this[property];
30
- };
31
- return setter.bind(controller.proxyForMethods);
32
- }
33
11
  //注入对象
34
12
  export function getCodeSpaceForCommit(data, commit) {
35
13
  Reflect.set(data, "$commit", commit);
36
14
  }
37
- export function getPublishMethod(controller) {
38
- var publisher = function (method) {
39
- var args = [];
40
- for (var _i = 1; _i < arguments.length; _i++) {
41
- args[_i - 1] = arguments[_i];
42
- }
43
- for (var i = 0; i < this.to.length; i++) {
44
- this.to[i].receiver(method, args);
45
- }
46
- };
47
- return publisher.bind(controller);
48
- }
49
15
  //注入对象
50
16
  export function getCodeSpaceForPublish(data, publisher) {
51
17
  Reflect.set(data, "$publish", publisher);
@@ -1,5 +1,5 @@
1
- import { ComponentController } from "../../proto/controller/ComponentController";
1
+ import { ComponentController } from "../../controller/ComponentController";
2
2
  export declare function textType(target: any, doc: any, controller: ComponentController): void;
3
- export declare function assignType(target: any, doc: any, controller: ComponentController): void;
4
- export declare function fileType(target: any, doc: any, controller: ComponentController): void;
3
+ export declare function assignType(target: any, controller: ComponentController): void;
4
+ export declare function fileType(target: any, controller: ComponentController): void;
5
5
  export declare function checkType(target: any): void;
@@ -1,18 +1,18 @@
1
1
  export function textType(target, doc, controller) {
2
2
  // @ts-ignore
3
- target.value = controller.proxyForMethods[target.getAttribute("name")];
3
+ target.value = controller.dataForMethod[target.getAttribute("name")];
4
4
  // @ts-ignore
5
5
  target.focus();
6
6
  // @ts-ignore
7
7
  target.setSelectionRange(doc.start, doc.start);
8
8
  }
9
- export function assignType(target, doc, controller) {
9
+ export function assignType(target, controller) {
10
10
  // @ts-ignore
11
- target.value = controller.proxyForMethods[target.getAttribute("name")];
11
+ target.value = controller.dataForMethod[target.getAttribute("name")];
12
12
  }
13
- export function fileType(target, doc, controller) {
13
+ export function fileType(target, controller) {
14
14
  // @ts-ignore
15
- target.files = controller.proxyForMethods[target.getAttribute("name")];
15
+ target.files = controller.dataForMethod[target.getAttribute("name")];
16
16
  }
17
17
  export function checkType(target) {
18
18
  // @ts-ignore
@@ -2,3 +2,4 @@ export declare function inputUtility(element: Element, space: Object): void;
2
2
  export declare function filesType(element: Element, space: Object): void;
3
3
  export declare function selectUtility(element: Element, space: Object): void;
4
4
  export declare function textareaUtility(element: Element, space: Object): void;
5
+ export declare function changeUtility(element: Element, space: Object): void;
@@ -98,3 +98,11 @@ export function textareaUtility(element, space) {
98
98
  start: element.selectionStart
99
99
  });
100
100
  }
101
+ export function changeUtility(element, space) {
102
+ Reflect.set(space, "origin", {
103
+ tag: element.tagName,
104
+ id: element.getAttribute("id"),
105
+ // @ts-ignore
106
+ start: element.selectionStart
107
+ });
108
+ }
@@ -1,4 +1,4 @@
1
- import { ComponentController } from "../../proto/controller/ComponentController";
1
+ import { ComponentController } from "../../controller/ComponentController";
2
2
  /**
3
3
  *
4
4
  * @param controller
@@ -5,8 +5,8 @@ import { assignType, checkType, fileType, textType } from "./inputType";
5
5
  */
6
6
  export function locateInputAddress(controller) {
7
7
  //判断是否是输入导致的数据更新
8
- if (controller.proxyForMethods.hasOwnProperty("origin")) {
9
- var doc = Reflect.get(controller.proxyForMethods, "origin");
8
+ if (controller.dataForMethod.hasOwnProperty("origin")) {
9
+ var doc = Reflect.get(controller.dataForMethod, "origin");
10
10
  var target = document.getElementById(doc.id);
11
11
  switch (doc.tag) {
12
12
  case "INPUT":
@@ -18,6 +18,9 @@ export function locateInputAddress(controller) {
18
18
  case "TEXTAREA":
19
19
  locateTextArea(target, doc, controller);
20
20
  break;
21
+ default:
22
+ console.log("Can't locate input address");
23
+ break;
21
24
  }
22
25
  }
23
26
  }
@@ -27,13 +30,13 @@ function locateInput(target, doc, controller) {
27
30
  textType(target, doc, controller);
28
31
  break;
29
32
  case "color":
30
- assignType(target, doc, controller);
33
+ assignType(target, controller);
31
34
  break;
32
35
  case "date":
33
- assignType(target, doc, controller);
36
+ assignType(target, controller);
34
37
  break;
35
38
  case "time":
36
- assignType(target, doc, controller);
39
+ assignType(target, controller);
37
40
  break;
38
41
  case "email":
39
42
  textType(target, doc, controller);
@@ -42,7 +45,7 @@ function locateInput(target, doc, controller) {
42
45
  textType(target, doc, controller);
43
46
  break;
44
47
  case "week":
45
- assignType(target, doc, controller);
48
+ assignType(target, controller);
46
49
  break;
47
50
  case "tel":
48
51
  textType(target, doc, controller);
@@ -51,7 +54,7 @@ function locateInput(target, doc, controller) {
51
54
  textType(target, doc, controller);
52
55
  break;
53
56
  case "range":
54
- assignType(target, doc, controller);
57
+ assignType(target, controller);
55
58
  break;
56
59
  case "radio":
57
60
  checkType(target);
@@ -63,31 +66,31 @@ function locateInput(target, doc, controller) {
63
66
  textType(target, doc, controller);
64
67
  break;
65
68
  case "month":
66
- assignType(target, doc, controller);
69
+ assignType(target, controller);
67
70
  break;
68
71
  case "hidden":
69
- assignType(target, doc, controller);
72
+ assignType(target, controller);
70
73
  break;
71
74
  case "file":
72
- fileType(target, doc, controller);
75
+ fileType(target, controller);
73
76
  break;
74
77
  case "datetime-local":
75
- assignType(target, doc, controller);
78
+ assignType(target, controller);
76
79
  break;
77
80
  case "datetime":
78
- assignType(target, doc, controller);
81
+ assignType(target, controller);
79
82
  break;
80
83
  case "checkbox":
81
- assignType(target, doc, controller);
84
+ assignType(target, controller);
82
85
  break;
83
86
  default:
84
- console.log("This type input can`t be dealed!");
87
+ console.log("This type input can`t be tackled!");
85
88
  break;
86
89
  }
87
90
  }
88
91
  function locateTextArea(target, doc, controller) {
89
92
  // @ts-ignore
90
- target.value = controller.proxyForMethods[target.getAttribute("name")];
93
+ target.value = controller.dataForMethod[target.getAttribute("name")];
91
94
  // @ts-ignore
92
95
  target.focus();
93
96
  // @ts-ignore