render-core 1.0.22 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,11 @@
1
1
  import { Controller } from "./controller";
2
2
  export declare class PageController {
3
3
  private methods;
4
+ private currentTag;
4
5
  to: Controller[];
5
6
  link: Map<string, {}>;
6
7
  constructor();
7
8
  receiver(method: string, ...args: any[]): void;
9
+ set crtTag(element: Element);
10
+ get crtTag(): Element;
8
11
  }
@@ -13,6 +13,16 @@ var PageController = /** @class */ (function () {
13
13
  args[_i - 1] = arguments[_i];
14
14
  }
15
15
  };
16
+ Object.defineProperty(PageController.prototype, "crtTag", {
17
+ get: function () {
18
+ return this.currentTag;
19
+ },
20
+ set: function (element) {
21
+ this.currentTag = element;
22
+ },
23
+ enumerable: false,
24
+ configurable: true
25
+ });
16
26
  return PageController;
17
27
  }());
18
28
  export { PageController };
@@ -1 +1 @@
1
- export declare function resolver_Ref(el: HTMLCollection): Map<string, Element>;
1
+ export declare function resolver_Refs(el: HTMLCollection, refs: Map<string, Element>): void;
package/core/cmd/v-ref.js CHANGED
@@ -1,9 +1,10 @@
1
- export function resolver_Ref(el) {
2
- var refs = new Map();
1
+ export function resolver_Refs(el, refs) {
3
2
  for (var i = 0; i < el.length; i++) {
4
3
  if (el[i].hasAttribute("ref")) {
5
4
  refs.set(el[i].getAttribute("ref"), el[i]);
6
5
  }
6
+ else {
7
+ resolver_Refs(el[i].children, refs);
8
+ }
7
9
  }
8
- return refs;
9
10
  }
@@ -6,6 +6,8 @@ import { init_render, post_render, raw_render } from "../../library/render/rende
6
6
  export function Render(proto, parent, child, link) {
7
7
  //获得模板元素
8
8
  var tagTemplate = getTemplate(proto);
9
+ //注册当前解析元素
10
+ Reflect.get(window, "app").crtTag = child;
9
11
  //解析样式
10
12
  styleResolve(proto.getName());
11
13
  //两种渲染方式
@@ -8,11 +8,12 @@ export function resolveProps(node, properties) {
8
8
  }
9
9
  export function getAllPropsByArray(node, array) {
10
10
  var props = new Map();
11
- array.forEach(function (value, index) {
11
+ array.forEach(function (value) {
12
12
  if (node.getAttribute(value)) {
13
13
  props.set(value, node.getAttribute(value));
14
14
  }
15
15
  });
16
+ return props;
16
17
  }
17
18
  export function getAllPropsByObject(node, object) {
18
19
  var props = new Map();
@@ -2,7 +2,7 @@ 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, "$query", $query);
5
+ Reflect.set(data, "$queries", $query);
6
6
  }
7
7
  //注入对象
8
8
  export function getCodeSpaceForRef(data, $ref) {
@@ -1,12 +1,14 @@
1
1
  import { getCodeSpaceForProps, getCodeSpaceForQuery, getCodeSpaceForRef, } from "../../core/utility/injectUtility";
2
2
  import { resolveProps } from "../../core/resolver/props";
3
3
  import { resolve_Queries } from "../../core/resolver/query";
4
- import { resolver_Ref } from "../../core/cmd/v-ref";
4
+ import { resolver_Refs } from "../../core/cmd/v-ref";
5
5
  export function inject(controller, tagTemplate) {
6
6
  //注入props
7
- getCodeSpaceForProps(controller.raw_data, resolveProps(tagTemplate, controller.proto.getProps()));
7
+ getCodeSpaceForProps(controller.raw_data, resolveProps(Reflect.get(window, "app").crtTag, controller.proto.getProps()));
8
8
  //注入query
9
9
  getCodeSpaceForQuery(controller.raw_data, resolve_Queries());
10
10
  //注入ref
11
- getCodeSpaceForRef(controller.raw_data, resolver_Ref(tagTemplate.children));
11
+ var refs = new Map();
12
+ resolver_Refs(tagTemplate.children, refs);
13
+ getCodeSpaceForRef(controller.raw_data, refs);
12
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "description": "The router for render-js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",