render-core 1.0.19 → 1.0.20

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.
@@ -30,7 +30,7 @@ export declare class Component implements RenderBase {
30
30
  constructor(config: {
31
31
  name: string;
32
32
  template: string;
33
- props?: {};
33
+ props?: {} | string[];
34
34
  data?: {};
35
35
  computed?: {};
36
36
  methods?: {};
@@ -6,7 +6,7 @@ var Component = /** @class */ (function () {
6
6
  this.template = config.template;
7
7
  //添加数据
8
8
  if (typeof config.props == "undefined") {
9
- this.props = {};
9
+ this.props = [];
10
10
  }
11
11
  else {
12
12
  this.props = config.props;
@@ -1,25 +1,29 @@
1
+ import { isUnKnown } from "../utility/checkUtility";
1
2
  export function resolver_bind(nodes, data) {
2
3
  for (var i = 0; i < nodes.length; i++) {
3
- var attributes = nodes[i].getAttributeNames();
4
- for (var j = 0; j < attributes.length; j++) {
5
- var result = attributes[j].match(/^v-bind:([a-z]+)$/g);
6
- if (result === null) {
7
- }
8
- else {
9
- for (var k = 0; k < result.length; k++) {
10
- var property = result[k].substring(7);
11
- var dataName = nodes[i].getAttribute(result[k]);
12
- nodes[i].removeAttribute(result[k]);
13
- try {
14
- nodes[i].setAttribute(property, JSON.stringify(data[dataName]));
15
- }
16
- catch (e) {
17
- nodes[i].setAttribute(property, data[dataName]);
4
+ //对系统元素进行属性绑定
5
+ if (isUnKnown(nodes[i].nodeName)) {
6
+ var attributes = nodes[i].getAttributeNames();
7
+ for (var j = 0; j < attributes.length; j++) {
8
+ var result = attributes[j].match(/^v-bind:([a-z]+)$/g);
9
+ if (result === null) {
10
+ }
11
+ else {
12
+ for (var k = 0; k < result.length; k++) {
13
+ var property = result[k].substring(7);
14
+ var dataName = nodes[i].getAttribute(result[k]);
15
+ nodes[i].removeAttribute(result[k]);
16
+ try {
17
+ nodes[i].setAttribute(property, JSON.stringify(data[dataName]));
18
+ }
19
+ catch (e) {
20
+ nodes[i].setAttribute(property, data[dataName]);
21
+ }
18
22
  }
19
23
  }
20
24
  }
25
+ var subElements = nodes[i].children;
26
+ resolver_bind(subElements, data);
21
27
  }
22
- var subElements = nodes[i].children;
23
- resolver_bind(subElements, data);
24
28
  }
25
29
  }
package/core/cmd/v-ref.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { getProxyForInject } from "../proxy/getProxy";
2
2
  export function resolver_Ref(el) {
3
- var ref = new Map();
3
+ var refs = new Map();
4
4
  for (var i = 0; i < el.length; i++) {
5
5
  if (el[i].hasAttribute("ref")) {
6
- ref.set(el[i].getAttribute("ref"), el[i]);
6
+ refs.set(el[i].getAttribute("ref"), el[i]);
7
7
  }
8
8
  }
9
- return getProxyForInject(ref);
9
+ return getProxyForInject(refs);
10
10
  }
@@ -1,5 +1,3 @@
1
1
  import { Controller } from "../../class/controller";
2
- import { ApiController } from "../../class/apiController";
3
2
  export declare function getProxyObject(obj: {}, updater: Controller): any;
4
- export declare function getProxyObjectForApi(obj: {}, updater: ApiController): any;
5
3
  export declare function getProxyForInject(obj: {}): any;
@@ -1,4 +1,4 @@
1
- import { getSetter, getSetterForApi, getSetterForInject } from "../../library/setter/setter";
1
+ import { getSetter, getSetterForInject } from "../../library/setter/setter";
2
2
  export function getProxyObject(obj, updater) {
3
3
  //定义代理方法对象
4
4
  var handel = {};
@@ -7,11 +7,6 @@ export function getProxyObject(obj, updater) {
7
7
  //返回代理对象
8
8
  return new Proxy(obj, handel);
9
9
  }
10
- export function getProxyObjectForApi(obj, updater) {
11
- var handel = {};
12
- handel["set"] = getSetterForApi(obj, updater);
13
- return new Proxy(obj, handel);
14
- }
15
10
  export function getProxyForInject(obj) {
16
11
  var handel = {};
17
12
  handel["set"] = getSetterForInject(obj);
@@ -1 +1,3 @@
1
1
  export declare function resolveProps(node: Element, properties: {} | []): any;
2
+ export declare function getAllPropsByArray(node: Element, array: Array<string>): any;
3
+ export declare function getAllPropsByObject(node: Element, object: {}): any;
@@ -1,14 +1,42 @@
1
1
  import { getProxyForInject } from "../proxy/getProxy";
2
2
  export function resolveProps(node, properties) {
3
3
  if (properties instanceof Array) {
4
+ return getProxyForInject(getAllPropsByArray(node, properties));
4
5
  }
5
6
  if (properties instanceof Object) {
7
+ return getProxyForInject(getAllPropsByObject(node, properties));
6
8
  }
7
- var attrs = node.attributes;
9
+ }
10
+ export function getAllPropsByArray(node, array) {
11
+ var props = new Map();
12
+ array.forEach(function (value, index) {
13
+ if (node.getAttribute(value)) {
14
+ props.set(value, node.getAttribute(value));
15
+ }
16
+ });
17
+ }
18
+ export function getAllPropsByObject(node, object) {
8
19
  var props = new Map();
9
- // for (let key in Object.getOwnPropertyNames(properties)) {
10
- //
11
- // props[key] = attrs.getNamedItem(key).value;
12
- // }
13
- return getProxyForInject(props);
20
+ for (var objectKey in object) {
21
+ if (node.getAttribute(objectKey)) {
22
+ switch (node.getAttribute(objectKey)) {
23
+ case "int":
24
+ props.set(objectKey, parseInt(node.getAttribute(objectKey)));
25
+ break;
26
+ case "float":
27
+ props.set(objectKey, parseFloat(node.getAttribute(objectKey)));
28
+ break;
29
+ case "object":
30
+ props.set(objectKey, JSON.parse(node.getAttribute(objectKey)));
31
+ break;
32
+ case "array":
33
+ props.set(objectKey, JSON.parse(node.getAttribute(objectKey)));
34
+ break;
35
+ default:
36
+ props.set(objectKey, node.getAttribute(objectKey));
37
+ break;
38
+ }
39
+ }
40
+ }
41
+ return props;
14
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "render-core",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "The router for render-js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",