render-core 1.0.18 → 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.
- package/class/component.d.ts +1 -1
- package/class/component.js +1 -1
- package/class/controller.js +1 -1
- package/class/pageController.js +1 -0
- package/core/cmd/v-bind.js +21 -17
- package/core/cmd/v-ref.js +3 -3
- package/core/proxy/getProxy.d.ts +0 -2
- package/core/proxy/getProxy.js +1 -6
- package/core/resolver/props.d.ts +2 -0
- package/core/resolver/props.js +34 -6
- package/library/render/render.js +1 -0
- package/package.json +1 -1
package/class/component.d.ts
CHANGED
package/class/component.js
CHANGED
package/class/controller.js
CHANGED
package/class/pageController.js
CHANGED
package/core/cmd/v-bind.js
CHANGED
|
@@ -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
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
nodes[i].
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
3
|
+
var refs = new Map();
|
|
4
4
|
for (var i = 0; i < el.length; i++) {
|
|
5
5
|
if (el[i].hasAttribute("ref")) {
|
|
6
|
-
|
|
6
|
+
refs.set(el[i].getAttribute("ref"), el[i]);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
return getProxyForInject(
|
|
9
|
+
return getProxyForInject(refs);
|
|
10
10
|
}
|
package/core/proxy/getProxy.d.ts
CHANGED
|
@@ -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;
|
package/core/proxy/getProxy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSetter,
|
|
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);
|
package/core/resolver/props.d.ts
CHANGED
package/core/resolver/props.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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/library/render/render.js
CHANGED
|
@@ -112,6 +112,7 @@ export function raw_render(proto, parent, child, link, tagTemplate) {
|
|
|
112
112
|
//afterRender
|
|
113
113
|
var afterRender = proto.getAfterRender().bind(controller.raw_data);
|
|
114
114
|
afterRender();
|
|
115
|
+
link.to.push(controller);
|
|
115
116
|
//深度渲染
|
|
116
117
|
findComponent(controller.root.children, controller);
|
|
117
118
|
}
|