render-core 1.0.70 → 1.0.72
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/controller/apiController.d.ts +1 -0
- package/class/controller/apiController.js +1 -0
- package/class/controller/controller.d.ts +1 -0
- package/class/controller/controller.js +1 -0
- package/class/controller/pageController.d.ts +1 -0
- package/class/controller/pageController.js +1 -0
- package/core/cmd/v-for.js +4 -1
- package/core/cmd/v-index.js +11 -16
- package/core/cmd/v-key.js +4 -6
- package/core/cmd/v-solt.d.ts +15 -0
- package/core/cmd/v-solt.js +47 -0
- package/core/render/PostRender.js +3 -0
- package/core/render/initRender.js +3 -0
- package/core/render/rawRender.js +3 -0
- package/library/cmd/cmd.js +3 -0
- package/package.json +1 -1
package/core/cmd/v-for.js
CHANGED
|
@@ -36,6 +36,7 @@ export function resolver_for_each(elements, data) {
|
|
|
36
36
|
elements[i].removeAttribute("v-for-each");
|
|
37
37
|
if (data[dataName] instanceof Object) {
|
|
38
38
|
extractForMap(elements[i].parentNode, elements[i], data[dataName]);
|
|
39
|
+
i++;
|
|
39
40
|
}
|
|
40
41
|
else {
|
|
41
42
|
console.log("Instruction v-for-of need an object datatype to extract!");
|
|
@@ -43,6 +44,8 @@ export function resolver_for_each(elements, data) {
|
|
|
43
44
|
//将模板节点删除
|
|
44
45
|
elements[i].parentNode.removeChild(elements[i]);
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
if (elements[i]) {
|
|
48
|
+
resolver_for_each(elements[i].children, data);
|
|
49
|
+
}
|
|
47
50
|
}
|
|
48
51
|
}
|
package/core/cmd/v-index.js
CHANGED
|
@@ -7,26 +7,21 @@ import { part_render_map } from "../render/partRender";
|
|
|
7
7
|
*/
|
|
8
8
|
export function resolver_array_single(element, index, data) {
|
|
9
9
|
//解析data
|
|
10
|
-
|
|
11
|
-
if (result) {
|
|
10
|
+
if (element.hasAttribute("v-data")) {
|
|
12
11
|
element.removeAttribute("v-data");
|
|
13
12
|
// @ts-ignore
|
|
14
13
|
element.innerText = data;
|
|
15
14
|
}
|
|
16
15
|
//解析index
|
|
17
|
-
|
|
18
|
-
if (result) {
|
|
16
|
+
if (element.hasAttribute("v-index")) {
|
|
19
17
|
element.removeAttribute("v-index");
|
|
20
18
|
// @ts-ignore
|
|
21
19
|
element.innerText = data;
|
|
22
20
|
}
|
|
23
21
|
//检查v-for-item
|
|
24
|
-
|
|
25
|
-
if (result) {
|
|
22
|
+
if (element.hasAttribute("v-for-item")) {
|
|
26
23
|
element.removeAttribute("v-for-item");
|
|
27
|
-
|
|
28
|
-
part_render_map(element.parentNode, element, data[keyItem]);
|
|
29
|
-
}
|
|
24
|
+
part_render_map(element.parentNode, element, data);
|
|
30
25
|
//删除节点
|
|
31
26
|
element.parentNode.removeChild(element);
|
|
32
27
|
}
|
|
@@ -37,27 +32,27 @@ export function resolver_array_single(element, index, data) {
|
|
|
37
32
|
export function resolver_array_multi(elements, index, data) {
|
|
38
33
|
for (var i = 0; i < elements.length; i++) {
|
|
39
34
|
//解析data
|
|
40
|
-
|
|
41
|
-
if (result) {
|
|
35
|
+
if (elements[i].hasAttribute("v-data")) {
|
|
42
36
|
elements[i].removeAttribute("v-data");
|
|
43
37
|
// @ts-ignore
|
|
44
38
|
elements[i].innerText = data;
|
|
45
39
|
}
|
|
46
40
|
//解析index
|
|
47
|
-
|
|
48
|
-
if (result) {
|
|
41
|
+
if (elements[i].hasAttribute("v-index")) {
|
|
49
42
|
elements[i].removeAttribute("v-index");
|
|
50
43
|
// @ts-ignore
|
|
51
44
|
elements[i].innerText = index;
|
|
52
45
|
}
|
|
53
46
|
//检查v-for-item
|
|
54
|
-
|
|
55
|
-
if (result) {
|
|
47
|
+
if (elements[i].hasAttribute("v-for-item")) {
|
|
56
48
|
elements[i].removeAttribute("v-for-item");
|
|
57
49
|
part_render_map(elements[i].parentNode, elements[i], data);
|
|
50
|
+
i++;
|
|
58
51
|
//删除节点
|
|
59
52
|
elements[i].parentNode.removeChild(elements[i]);
|
|
60
53
|
}
|
|
61
|
-
|
|
54
|
+
if (elements[i]) {
|
|
55
|
+
resolver_array_multi(elements[i].children, index, data);
|
|
56
|
+
}
|
|
62
57
|
}
|
|
63
58
|
}
|
package/core/cmd/v-key.js
CHANGED
|
@@ -33,25 +33,23 @@ export function resolver_map_single(element, data) {
|
|
|
33
33
|
export function resolver_map_multi(elements, data) {
|
|
34
34
|
var _loop_1 = function (i) {
|
|
35
35
|
//检查v-key
|
|
36
|
-
|
|
37
|
-
if (result) {
|
|
36
|
+
if (elements[i].hasAttribute("v-key")) {
|
|
38
37
|
var property = elements[i].getAttribute("v-key");
|
|
39
38
|
elements[i].removeAttribute("v-key");
|
|
40
39
|
// @ts-ignore
|
|
41
40
|
elements[i].innerText = data[property];
|
|
42
41
|
}
|
|
43
42
|
//检查v-for-item
|
|
44
|
-
|
|
45
|
-
if (result) {
|
|
43
|
+
if (elements[i].hasAttribute("v-for-item")) {
|
|
46
44
|
var property = elements[i].getAttribute("v-for-item");
|
|
47
45
|
elements[i].removeAttribute("v-for-item");
|
|
48
46
|
part_render_map(elements[i].parentNode, elements[i], data[property]);
|
|
47
|
+
i++;
|
|
49
48
|
//删除节点
|
|
50
49
|
elements[i].parentNode.removeChild(elements[i]);
|
|
51
50
|
}
|
|
52
51
|
//检查v-for-array
|
|
53
|
-
|
|
54
|
-
if (result) {
|
|
52
|
+
if (elements[i].hasAttribute("v-for-index")) {
|
|
55
53
|
elements[i].removeAttribute("v-for-index");
|
|
56
54
|
data.forEach(function (value, index) {
|
|
57
55
|
extractForArray(elements[i].parentNode, elements[i], index, value);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Controller } from "../../class/controller/controller";
|
|
2
|
+
import { ApiController } from "../../class/controller/apiController";
|
|
3
|
+
import { PageController } from "../../class/controller/pageController";
|
|
4
|
+
/**
|
|
5
|
+
* 此函数用于解析自定义元素solt
|
|
6
|
+
* @param tagTemplate
|
|
7
|
+
* @param controller
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolver_solt(tagTemplate: Element, controller: Controller | ApiController | PageController): void;
|
|
10
|
+
/**
|
|
11
|
+
* 此函数用于展开solt
|
|
12
|
+
* @param elements
|
|
13
|
+
* @param controller
|
|
14
|
+
*/
|
|
15
|
+
export declare function extract_solt(elements: HTMLCollection, controller: Controller | ApiController | PageController): void;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 此函数用于解析自定义元素solt
|
|
3
|
+
* @param tagTemplate
|
|
4
|
+
* @param controller
|
|
5
|
+
*/
|
|
6
|
+
export function resolver_solt(tagTemplate, controller) {
|
|
7
|
+
if (tagTemplate.hasChildNodes()) {
|
|
8
|
+
if (tagTemplate.children) {
|
|
9
|
+
for (var i = 0; i < tagTemplate.children.length; i++) {
|
|
10
|
+
if (tagTemplate.children[i].nodeName === "SOLT") {
|
|
11
|
+
if (tagTemplate.children[i].hasAttribute("solt")) {
|
|
12
|
+
controller.solt.set(tagTemplate.children[i].getAttribute("solt"), tagTemplate.children[i].innerHTML);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
controller.solt.set("default", tagTemplate.children[i].innerHTML);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
controller.solt.set("default", tagTemplate.innerHTML);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 此函数用于展开solt
|
|
27
|
+
* @param elements
|
|
28
|
+
* @param controller
|
|
29
|
+
*/
|
|
30
|
+
export function extract_solt(elements, controller) {
|
|
31
|
+
for (var i = 0; i < elements.length; i++) {
|
|
32
|
+
var result = elements[i].hasAttribute("v-solt");
|
|
33
|
+
if (result) {
|
|
34
|
+
var dataName = elements[i].getAttribute("v-solt");
|
|
35
|
+
elements[i].removeAttribute("v-solt");
|
|
36
|
+
if (!dataName) {
|
|
37
|
+
elements[i].innerHTML = controller.solt.get("default");
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
elements[i].innerHTML = controller.solt.get(dataName);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
var subElements = elements[i].children;
|
|
45
|
+
extract_solt(subElements, controller);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -5,6 +5,7 @@ import { mount } from "../../library/lifecycle/mount";
|
|
|
5
5
|
import { injectRefs } from "../inject/inject";
|
|
6
6
|
import { afterMethodsTypeOne } from "../../library/lifecycle/afterMethods";
|
|
7
7
|
import { findComponent } from "./delivery";
|
|
8
|
+
import { resolver_solt } from "../cmd/v-solt";
|
|
8
9
|
/**
|
|
9
10
|
* 该函数用于初次渲染需要记录状态的组件
|
|
10
11
|
* @param proto
|
|
@@ -16,6 +17,8 @@ import { findComponent } from "./delivery";
|
|
|
16
17
|
export function post_render(proto, parent, child, link, tagTemplate) {
|
|
17
18
|
//获取控制对象
|
|
18
19
|
var controller = new Controller();
|
|
20
|
+
//解析solt
|
|
21
|
+
resolver_solt(tagTemplate, controller);
|
|
19
22
|
//控制对象预处理
|
|
20
23
|
controllerCycleTypeTwo(controller, proto, child, link, tagTemplate);
|
|
21
24
|
//beforeRender
|
|
@@ -5,6 +5,7 @@ import { mount } from "../../library/lifecycle/mount";
|
|
|
5
5
|
import { injectRefs } from "../inject/inject";
|
|
6
6
|
import { afterMethodsTypeOne } from "../../library/lifecycle/afterMethods";
|
|
7
7
|
import { findComponent } from "./delivery";
|
|
8
|
+
import { resolver_solt } from "../cmd/v-solt";
|
|
8
9
|
/**
|
|
9
10
|
* 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
|
|
10
11
|
* @param proto
|
|
@@ -16,6 +17,8 @@ import { findComponent } from "./delivery";
|
|
|
16
17
|
export function init_render(proto, parent, child, link, tagTemplate) {
|
|
17
18
|
//获取控制对象
|
|
18
19
|
var controller = new Controller();
|
|
20
|
+
//解析solt
|
|
21
|
+
resolver_solt(tagTemplate, controller);
|
|
19
22
|
//控制对象预处理
|
|
20
23
|
controllerCycleTypeOne(controller, proto, child, link, tagTemplate);
|
|
21
24
|
//beforeRender
|
package/core/render/rawRender.js
CHANGED
|
@@ -5,6 +5,7 @@ import { mount } from "../../library/lifecycle/mount";
|
|
|
5
5
|
import { injectRefs } from "../inject/inject";
|
|
6
6
|
import { afterMethodsTypeTwo } from "../../library/lifecycle/afterMethods";
|
|
7
7
|
import { findComponent } from "./delivery";
|
|
8
|
+
import { resolver_solt } from "../cmd/v-solt";
|
|
8
9
|
/**
|
|
9
10
|
* 该函数用于渲染不需要记录状态的组件
|
|
10
11
|
* @param proto
|
|
@@ -16,6 +17,8 @@ import { findComponent } from "./delivery";
|
|
|
16
17
|
export function raw_render(proto, parent, child, link, tagTemplate) {
|
|
17
18
|
//获取控制对象
|
|
18
19
|
var controller = new Controller();
|
|
20
|
+
//解析solt
|
|
21
|
+
resolver_solt(tagTemplate, controller);
|
|
19
22
|
//控制对象预处理
|
|
20
23
|
controllerCycleTypeTwo(controller, proto, child, link, tagTemplate);
|
|
21
24
|
//beforeRender
|
package/library/cmd/cmd.js
CHANGED
|
@@ -9,6 +9,7 @@ import { resolver_render } from "../../core/cmd/v-render";
|
|
|
9
9
|
import { resolver_if } from "../../core/cmd/v-if";
|
|
10
10
|
import { resolver_switch } from "../../core/cmd/v-switch";
|
|
11
11
|
import { resolver_for_each, resolver_for_of } from "../../core/cmd/v-for";
|
|
12
|
+
import { extract_solt } from "../../core/cmd/v-solt";
|
|
12
13
|
export function cmd(tagTemplate, proto, controller) {
|
|
13
14
|
//给所有元素添加上npm=tag标志
|
|
14
15
|
addLabel(tagTemplate.children, proto.getName());
|
|
@@ -22,6 +23,8 @@ export function cmd(tagTemplate, proto, controller) {
|
|
|
22
23
|
resolver_model(tagTemplate.children, controller.proxyForMethods);
|
|
23
24
|
//渲染属性
|
|
24
25
|
resolver_bind(tagTemplate.children, controller.proxyForMethods);
|
|
26
|
+
//solt
|
|
27
|
+
extract_solt(tagTemplate.children, controller);
|
|
25
28
|
}
|
|
26
29
|
export function afterCmd(templateSpace, proto, controller) {
|
|
27
30
|
//v-show
|