render-core 1.0.89 → 1.0.91
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/component.d.ts +4 -17
- package/class/component/component.js +3 -0
- package/class/controller/appController.d.ts +6 -0
- package/class/controller/appController.js +22 -0
- package/class/controller/{controller.d.ts → componentController.d.ts} +4 -2
- package/class/controller/{controller.js → componentController.js} +7 -5
- package/class/controller/pageController.d.ts +2 -2
- package/class/tips/appTip.d.ts +3 -0
- package/class/tips/appTip.js +1 -0
- package/class/tips/componentTip.d.ts +16 -0
- package/class/tips/componentTip.js +1 -0
- package/core/cmd/data/v-el.d.ts +8 -0
- package/core/cmd/{v-el.js → data/v-el.js} +10 -4
- package/core/cmd/data/v-html.d.ts +8 -0
- package/core/cmd/data/v-html.js +22 -0
- package/core/cmd/data/v-txt.d.ts +8 -0
- package/core/cmd/{v-txt.js → data/v-txt.js} +10 -4
- package/core/cmd/{v-if.d.ts → justify/v-if.d.ts} +5 -0
- package/core/cmd/{v-if.js → justify/v-if.js} +5 -0
- package/core/cmd/{v-render.d.ts → justify/v-render.d.ts} +5 -0
- package/core/cmd/{v-render.js → justify/v-render.js} +6 -2
- package/core/cmd/{v-show.d.ts → justify/v-show.d.ts} +5 -0
- package/core/cmd/{v-show.js → justify/v-show.js} +6 -2
- package/core/cmd/{v-switch.d.ts → justify/v-switch.d.ts} +5 -0
- package/core/cmd/{v-switch.js → justify/v-switch.js} +5 -0
- package/core/cmd/{v-for.js → loop/v-for.js} +1 -1
- package/core/cmd/{v-index.js → loop/v-index.js} +3 -5
- package/core/cmd/{v-key.js → loop/v-key.js} +2 -2
- package/core/cmd/{v-on.d.ts → method/v-on.d.ts} +6 -0
- package/core/cmd/{v-on.js → method/v-on.js} +7 -3
- package/core/cmd/{v-bind.d.ts → property/v-bind.d.ts} +5 -0
- package/core/cmd/{v-bind.js → property/v-bind.js} +7 -3
- package/core/cmd/{v-model.d.ts → react/v-model.d.ts} +5 -0
- package/core/cmd/{v-model.js → react/v-model.js} +15 -4
- package/core/cmd/{v-ref.d.ts → ref/v-ref.d.ts} +5 -0
- package/core/cmd/{v-ref.js → ref/v-ref.js} +5 -0
- package/core/cmd/solt/v-solt.d.ts +14 -0
- package/core/inject/inject.d.ts +6 -6
- package/core/inject/inject.js +3 -3
- package/core/proxy/getProxy.d.ts +3 -3
- package/core/proxy/getProxy.js +3 -3
- package/core/render/PostRender.d.ts +2 -3
- package/core/render/PostRender.js +3 -3
- package/core/render/delivery.d.ts +3 -4
- package/core/render/initRender.d.ts +2 -3
- package/core/render/initRender.js +3 -3
- package/core/render/partRender.js +2 -2
- package/core/render/rawRender.d.ts +2 -3
- package/core/render/rawRender.js +3 -3
- package/core/render/updateRender.d.ts +2 -2
- package/core/render/updateRender.js +2 -2
- package/core/resolver/props.d.ts +15 -0
- package/core/resolver/props.js +15 -0
- package/core/resolver/query.d.ts +3 -0
- package/core/resolver/query.js +3 -0
- package/core/utility/injectUtility.d.ts +4 -5
- package/core/utility/miscUtility.d.ts +0 -1
- package/core/utility/miscUtility.js +0 -44
- package/core/utility/sectionUtility.d.ts +6 -0
- package/core/utility/sectionUtility.js +11 -0
- package/core/utility/styleUtility.d.ts +17 -0
- package/core/utility/styleUtility.js +17 -0
- package/core/utility/templateUtility.d.ts +5 -2
- package/core/utility/templateUtility.js +4 -0
- package/index.d.ts +19 -3
- package/index.js +34 -51
- package/library/cmd/cmd.d.ts +22 -6
- package/library/cmd/cmd.js +37 -19
- package/library/lifecycle/afterMethods.d.ts +3 -4
- package/library/lifecycle/controllerCycle.d.ts +11 -4
- package/library/lifecycle/controllerCycle.js +8 -0
- package/library/lifecycle/mount.d.ts +10 -2
- package/library/lifecycle/mount.js +8 -0
- package/package.json +1 -4
- package/runtime/runtime.d.ts +5 -1
- package/runtime/runtime.js +5 -4
- package/runtime/tools.d.ts +14 -0
- package/runtime/tools.js +50 -0
- package/bin/bin.d.ts +0 -1
- package/bin/bin.js +0 -4
- package/class/component/apiComponent.d.ts +0 -55
- package/class/component/apiComponent.js +0 -111
- package/class/controller/apiController.d.ts +0 -14
- package/class/controller/apiController.js +0 -17
- package/core/cmd/v-el.d.ts +0 -1
- package/core/cmd/v-html.d.ts +0 -1
- package/core/cmd/v-html.js +0 -18
- package/core/cmd/v-solt.d.ts +0 -15
- package/core/cmd/v-txt.d.ts +0 -1
- package/meta/app.d.ts +0 -3
- package/meta/app.js +0 -19
- /package/core/cmd/{v-for.d.ts → loop/v-for.d.ts} +0 -0
- /package/core/cmd/{v-index.d.ts → loop/v-index.d.ts} +0 -0
- /package/core/cmd/{v-key.d.ts → loop/v-key.d.ts} +0 -0
- /package/core/cmd/{v-solt.js → solt/v-solt.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
2
|
import { controllerCycleTypeTwo } from "../../library/lifecycle/controllerCycle";
|
|
3
3
|
import { afterCmd, cmd } from "../../library/cmd/cmd";
|
|
4
4
|
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
|
+
import { resolver_solt } from "../cmd/solt/v-solt";
|
|
9
9
|
/**
|
|
10
10
|
* 该函数用于初次渲染需要记录状态的组件
|
|
11
11
|
* @param proto
|
|
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
|
|
|
16
16
|
*/
|
|
17
17
|
export function post_render(proto, parent, child, link, tagTemplate) {
|
|
18
18
|
//获取控制对象
|
|
19
|
-
var controller = new
|
|
19
|
+
var controller = new ComponentController();
|
|
20
20
|
//解析solt
|
|
21
21
|
resolver_solt(child, controller);
|
|
22
22
|
//控制对象预处理
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
2
|
import { Component } from "../../class/component/component";
|
|
3
|
-
import { ApiController } from "../../class/controller/apiController";
|
|
4
3
|
import { PageController } from "../../class/controller/pageController";
|
|
5
|
-
export declare function Render(proto: Component, parent: ParentNode, child: Element, link:
|
|
6
|
-
export declare function findComponent(collection: HTMLCollection, link:
|
|
4
|
+
export declare function Render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController): void;
|
|
5
|
+
export declare function findComponent(collection: HTMLCollection, link: ComponentController | PageController): void;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Component } from "../../class/component/component";
|
|
2
|
-
import {
|
|
3
|
-
import { ApiController } from "../../class/controller/apiController";
|
|
2
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
4
3
|
import { PageController } from "../../class/controller/pageController";
|
|
5
4
|
/**
|
|
6
5
|
* 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
|
|
@@ -10,4 +9,4 @@ import { PageController } from "../../class/controller/pageController";
|
|
|
10
9
|
* @param link
|
|
11
10
|
* @param tagTemplate
|
|
12
11
|
*/
|
|
13
|
-
export declare function init_render(proto: Component, parent: ParentNode, child: Element, link:
|
|
12
|
+
export declare function init_render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController, tagTemplate: Element): void;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
2
|
import { controllerCycleTypeOne } from "../../library/lifecycle/controllerCycle";
|
|
3
3
|
import { afterCmd, cmd } from "../../library/cmd/cmd";
|
|
4
4
|
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
|
+
import { resolver_solt } from "../cmd/solt/v-solt";
|
|
9
9
|
/**
|
|
10
10
|
* 该函数用于处理需要更更新时候,需要从父组件提取数据状态的渲染操作
|
|
11
11
|
* @param proto
|
|
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
|
|
|
16
16
|
*/
|
|
17
17
|
export function init_render(proto, parent, child, link, tagTemplate) {
|
|
18
18
|
//获取控制对象
|
|
19
|
-
var controller = new
|
|
19
|
+
var controller = new ComponentController();
|
|
20
20
|
//解析solt
|
|
21
21
|
resolver_solt(child, controller);
|
|
22
22
|
//控制对象预处理
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { resolver_array_single } from "../cmd/v-index";
|
|
2
|
-
import { resolver_map_single } from "../cmd/v-key";
|
|
1
|
+
import { resolver_array_single } from "../cmd/loop/v-index";
|
|
2
|
+
import { resolver_map_single } from "../cmd/loop/v-key";
|
|
3
3
|
/**
|
|
4
4
|
* 该函数用于处理数组类型数据的展开
|
|
5
5
|
* @param baseRoot
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Component } from "../../class/component/component";
|
|
2
|
-
import {
|
|
3
|
-
import { ApiController } from "../../class/controller/apiController";
|
|
2
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
4
3
|
import { PageController } from "../../class/controller/pageController";
|
|
5
4
|
/**
|
|
6
5
|
* 该函数用于渲染不需要记录状态的组件
|
|
@@ -10,4 +9,4 @@ import { PageController } from "../../class/controller/pageController";
|
|
|
10
9
|
* @param link
|
|
11
10
|
* @param tagTemplate
|
|
12
11
|
*/
|
|
13
|
-
export declare function raw_render(proto: Component, parent: ParentNode, child: Element, link:
|
|
12
|
+
export declare function raw_render(proto: Component, parent: ParentNode, child: Element, link: ComponentController | PageController, tagTemplate: Element): void;
|
package/core/render/rawRender.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
2
|
import { controllerCycleTypeTwo } from "../../library/lifecycle/controllerCycle";
|
|
3
3
|
import { afterCmd, cmd } from "../../library/cmd/cmd";
|
|
4
4
|
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
|
+
import { resolver_solt } from "../cmd/solt/v-solt";
|
|
9
9
|
/**
|
|
10
10
|
* 该函数用于渲染不需要记录状态的组件
|
|
11
11
|
* @param proto
|
|
@@ -16,7 +16,7 @@ import { resolver_solt } from "../cmd/v-solt";
|
|
|
16
16
|
*/
|
|
17
17
|
export function raw_render(proto, parent, child, link, tagTemplate) {
|
|
18
18
|
//获取控制对象
|
|
19
|
-
var controller = new
|
|
19
|
+
var controller = new ComponentController();
|
|
20
20
|
//解析solt
|
|
21
21
|
resolver_solt(child, controller);
|
|
22
22
|
//控制对象预处理
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
2
|
/**
|
|
3
3
|
* 更新渲染方法
|
|
4
4
|
* @param controller
|
|
5
5
|
*/
|
|
6
|
-
export declare function update_Render(controller:
|
|
6
|
+
export declare function update_Render(controller: ComponentController): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { bindModelForUpdater } from "../utility/miscUtility";
|
|
2
1
|
import { afterCmd, cmdForUpdate } from "../../library/cmd/cmd";
|
|
3
2
|
import { injectRefs } from "../inject/inject";
|
|
4
3
|
import { findComponent } from "./delivery";
|
|
5
4
|
import { getTemplate } from "../utility/templateUtility";
|
|
5
|
+
import { locateInputAddress } from "../utility/sectionUtility";
|
|
6
6
|
/**
|
|
7
7
|
* 更新渲染方法
|
|
8
8
|
* @param controller
|
|
@@ -38,7 +38,7 @@ export function update_Render(controller) {
|
|
|
38
38
|
var afterRender = controller.proto.getAfterRender().bind(controller.raw_data);
|
|
39
39
|
afterRender();
|
|
40
40
|
//获取定位
|
|
41
|
-
|
|
41
|
+
locateInputAddress(controller);
|
|
42
42
|
//深度渲染
|
|
43
43
|
findComponent(controller.root.children, controller);
|
|
44
44
|
}
|
package/core/resolver/props.d.ts
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function is used to resolve tag customed properties.
|
|
3
|
+
* @param node
|
|
4
|
+
* @param properties
|
|
5
|
+
*/
|
|
1
6
|
export declare function resolveProps(node: Element, properties: {} | []): any;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param node
|
|
10
|
+
* @param array
|
|
11
|
+
*/
|
|
2
12
|
export declare function getAllPropsByArray(node: Element, array: Array<string>): any;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param node
|
|
16
|
+
* @param object
|
|
17
|
+
*/
|
|
3
18
|
export declare function getAllPropsByObject(node: Element, object: {}): any;
|
package/core/resolver/props.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function is used to resolve tag customed properties.
|
|
3
|
+
* @param node
|
|
4
|
+
* @param properties
|
|
5
|
+
*/
|
|
1
6
|
export function resolveProps(node, properties) {
|
|
2
7
|
if (properties instanceof Array) {
|
|
3
8
|
return getAllPropsByArray(node, properties);
|
|
@@ -6,6 +11,11 @@ export function resolveProps(node, properties) {
|
|
|
6
11
|
return getAllPropsByObject(node, properties);
|
|
7
12
|
}
|
|
8
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param node
|
|
17
|
+
* @param array
|
|
18
|
+
*/
|
|
9
19
|
export function getAllPropsByArray(node, array) {
|
|
10
20
|
var props = new Map();
|
|
11
21
|
array.forEach(function (value) {
|
|
@@ -15,6 +25,11 @@ export function getAllPropsByArray(node, array) {
|
|
|
15
25
|
});
|
|
16
26
|
return props;
|
|
17
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param node
|
|
31
|
+
* @param object
|
|
32
|
+
*/
|
|
18
33
|
export function getAllPropsByObject(node, object) {
|
|
19
34
|
var props = new Map();
|
|
20
35
|
for (var objectKey in object) {
|
package/core/resolver/query.d.ts
CHANGED
package/core/resolver/query.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ApiController } from "../../class/controller/apiController";
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
3
2
|
import { PageController } from "../../class/controller/pageController";
|
|
4
3
|
export declare function getCodeSpaceForProps(data: {}, $props: Map<string, object>): void;
|
|
5
4
|
export declare function getCodeSpaceForQuery(data: {}, $query: Map<string, any>): void;
|
|
6
5
|
export declare function getCodeSpaceForRef(data: {}, $ref: Map<string, Element>): void;
|
|
7
|
-
export declare function getCommitMethod(controller:
|
|
8
|
-
export declare function getSetterMethod(controller:
|
|
6
|
+
export declare function getCommitMethod(controller: ComponentController | PageController): any;
|
|
7
|
+
export declare function getSetterMethod(controller: ComponentController | PageController): any;
|
|
9
8
|
export declare function getCodeSpaceForCommit(data: {}, commit: any): void;
|
|
10
|
-
export declare function getPublishMethod(controller:
|
|
9
|
+
export declare function getPublishMethod(controller: ComponentController | PageController): any;
|
|
11
10
|
export declare function getCodeSpaceForPublish(data: {}, publisher: any): void;
|
|
12
11
|
export declare function getCodeSpaceForProperty(data: {}, setter: any): void;
|
|
@@ -10,47 +10,3 @@ export function addLabel(nodes, component) {
|
|
|
10
10
|
addLabel(kk, component);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
export function bindModelForUpdater(nodes, data) {
|
|
14
|
-
for (var i = 0; i < nodes.length; i++) {
|
|
15
|
-
var result = nodes[i].hasAttribute("v-model");
|
|
16
|
-
if (result) {
|
|
17
|
-
var dataName = nodes[i].getAttribute("v-model");
|
|
18
|
-
nodes[i].removeAttribute("v-model");
|
|
19
|
-
var tagName = nodes[i].tagName;
|
|
20
|
-
nodes[i].setAttribute("name", dataName);
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
nodes[i].setAttribute("value", data[dataName]);
|
|
23
|
-
if (tagName === "INPUT" || tagName === "SELECT" || tagName === "TEXTAREA") {
|
|
24
|
-
nodes[i].setAttribute("name", dataName);
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
nodes[i].setAttribute("value", data[dataName]);
|
|
27
|
-
//光标定位
|
|
28
|
-
var listener = function (evt) {
|
|
29
|
-
if (!evt.target.hasAttribute("flag")) {
|
|
30
|
-
var element = evt.target;
|
|
31
|
-
var dataName_1 = element.name;
|
|
32
|
-
this[dataName_1] = element.value;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
var compositionstart = function (evt) {
|
|
36
|
-
evt.target.setAttribute("flag", "false");
|
|
37
|
-
};
|
|
38
|
-
var compositionend = function (evt) {
|
|
39
|
-
evt.target.setAttribute("flag", "true");
|
|
40
|
-
var element = evt.target;
|
|
41
|
-
var dataName = element.name;
|
|
42
|
-
this[dataName] = element.value;
|
|
43
|
-
};
|
|
44
|
-
nodes[i].addEventListener("input", listener.bind(data));
|
|
45
|
-
nodes[i].addEventListener("compositionstart", compositionstart);
|
|
46
|
-
nodes[i].addEventListener("compositionend", compositionend.bind(data));
|
|
47
|
-
// @ts-ignore
|
|
48
|
-
nodes[i].focus();
|
|
49
|
-
// @ts-ignore
|
|
50
|
-
nodes[i].setSelectionRange(data[dataName].length, data[dataName].length);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
var subElements = nodes[i].children;
|
|
54
|
-
bindModelForUpdater(subElements, data);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param controller
|
|
4
|
+
*/
|
|
5
|
+
export function locateInputAddress(controller) {
|
|
6
|
+
if (controller.proxyForMethods.hasOwnProperty("origin")) {
|
|
7
|
+
var doc = Reflect.get(controller.proxyForMethods, "origin");
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
document.querySelector(doc.tag.concat("[cpn=".concat(doc.cpn).concat("]").concat("[cpn=".concat(doc.name).concat("]")))).focus();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { Component } from "../../class/component/component";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param tag
|
|
5
|
+
*/
|
|
2
6
|
export declare function checkStyleLabel(tag: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param component
|
|
10
|
+
* @param styleLib
|
|
11
|
+
*/
|
|
3
12
|
export declare function themeStyle(component: Component, styleLib: Map<string, object>): void;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param tag
|
|
16
|
+
*/
|
|
4
17
|
export declare function styleResolve(tag: string): void;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param theme
|
|
21
|
+
*/
|
|
5
22
|
export declare function reloadStyle(theme: string): void;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { loadStyle } from "../../library/loader/loader";
|
|
2
2
|
// @ts-ignore
|
|
3
3
|
import { sessionStorageEngin_read } from "render-status/read/read";
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param tag
|
|
7
|
+
*/
|
|
4
8
|
export function checkStyleLabel(tag) {
|
|
5
9
|
//获取所有的style标签
|
|
6
10
|
var styles = document.getElementsByTagName("style");
|
|
@@ -13,6 +17,11 @@ export function checkStyleLabel(tag) {
|
|
|
13
17
|
//样式未加载
|
|
14
18
|
return false;
|
|
15
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param component
|
|
23
|
+
* @param styleLib
|
|
24
|
+
*/
|
|
16
25
|
export function themeStyle(component, styleLib) {
|
|
17
26
|
var template = component.getTemplate();
|
|
18
27
|
var dom = document.createElement("div");
|
|
@@ -24,6 +33,10 @@ export function themeStyle(component, styleLib) {
|
|
|
24
33
|
}
|
|
25
34
|
styleLib.set(component.getName().toUpperCase(), kk);
|
|
26
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param tag
|
|
39
|
+
*/
|
|
27
40
|
export function styleResolve(tag) {
|
|
28
41
|
var theme = sessionStorageEngin_read("theme");
|
|
29
42
|
if (Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme) === undefined) {
|
|
@@ -33,6 +46,10 @@ export function styleResolve(tag) {
|
|
|
33
46
|
loadStyle(tag, theme, Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme));
|
|
34
47
|
}
|
|
35
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @param theme
|
|
52
|
+
*/
|
|
36
53
|
export function reloadStyle(theme) {
|
|
37
54
|
Reflect.get(window, "styleLib").forEach(function (value, key) {
|
|
38
55
|
var styles = document.getElementsByTagName("style");
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Component } from "../../class/component/component";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param proto
|
|
5
|
+
*/
|
|
6
|
+
export declare function getTemplate(proto: Component): Element;
|
package/index.d.ts
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import { Component } from "./class/component/component";
|
|
2
2
|
import { routerController } from "render-security/class/Router";
|
|
3
|
+
/**
|
|
4
|
+
* This class is the application class.
|
|
5
|
+
*/
|
|
3
6
|
export declare class RenderJS {
|
|
4
7
|
readonly config: {};
|
|
5
8
|
readonly tagLib: Map<string, Component>;
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
readonly styleLib: Map<string, Map<string, string>>;
|
|
10
|
+
router: routerController;
|
|
11
|
+
private application;
|
|
12
|
+
private page;
|
|
8
13
|
constructor();
|
|
14
|
+
/**
|
|
15
|
+
* If you want to hava a permission control to your application,you can
|
|
16
|
+
* use our extra router moudle to define the router.
|
|
17
|
+
* @param router
|
|
18
|
+
*/
|
|
9
19
|
addRouter(router: routerController): void;
|
|
20
|
+
/**
|
|
21
|
+
* You can use the method to register your single component or an array of components.
|
|
22
|
+
* @param component
|
|
23
|
+
*/
|
|
10
24
|
addTag(component: Component | Component[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* This method is the boster method of the render.
|
|
27
|
+
*/
|
|
11
28
|
run(): void;
|
|
12
|
-
private render;
|
|
13
29
|
}
|
package/index.js
CHANGED
|
@@ -1,82 +1,65 @@
|
|
|
1
|
-
import { Component } from "./class/component/component";
|
|
2
1
|
import meta from "./meta/meta";
|
|
3
|
-
import { renderHtml } from "./runtime/runtime";
|
|
4
|
-
import { themeStyle } from "./core/utility/styleUtility";
|
|
5
2
|
// @ts-ignore
|
|
6
3
|
import { redirect } from "render-security/utility/redirect";
|
|
7
4
|
import { PageController } from "./class/controller/pageController";
|
|
8
|
-
import {
|
|
9
|
-
|
|
5
|
+
import { registerTagLib, render } from "./runtime/tools";
|
|
6
|
+
import { AppController } from "./class/controller/appController";
|
|
7
|
+
/**
|
|
8
|
+
* This class is the application class.
|
|
9
|
+
*/
|
|
10
10
|
var RenderJS = /** @class */ (function () {
|
|
11
|
-
//构造函数
|
|
12
11
|
function RenderJS() {
|
|
12
|
+
//initiate the tagLib object
|
|
13
13
|
this.tagLib = new Map();
|
|
14
|
+
//initiate the styleLib object
|
|
15
|
+
this.styleLib = new Map();
|
|
16
|
+
//initiate the application controller
|
|
17
|
+
this.application = new AppController();
|
|
18
|
+
//initiate the page controller
|
|
14
19
|
this.page = new PageController();
|
|
20
|
+
//initiate the config object
|
|
15
21
|
this.config = {};
|
|
16
22
|
Reflect.set(this.config, "version", meta.version);
|
|
17
23
|
Reflect.set(this.config, "theme", meta.style);
|
|
18
24
|
}
|
|
19
|
-
|
|
25
|
+
/**
|
|
26
|
+
* If you want to hava a permission control to your application,you can
|
|
27
|
+
* use our extra router moudle to define the router.
|
|
28
|
+
* @param router
|
|
29
|
+
*/
|
|
20
30
|
RenderJS.prototype.addRouter = function (router) {
|
|
21
|
-
this.
|
|
31
|
+
this.router = router;
|
|
22
32
|
};
|
|
23
|
-
|
|
33
|
+
/**
|
|
34
|
+
* You can use the method to register your single component or an array of components.
|
|
35
|
+
* @param component
|
|
36
|
+
*/
|
|
24
37
|
RenderJS.prototype.addTag = function (component) {
|
|
25
|
-
|
|
26
|
-
if (component instanceof Component) {
|
|
27
|
-
if (!this.tagLib.has(component.getName().toUpperCase())) {
|
|
28
|
-
this.tagLib.set(component.getName().toUpperCase(), component);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
console.warn("The Tag:" + component.getName().toUpperCase() + "has been registered!");
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
component.forEach(function (component) {
|
|
36
|
-
if (!_this.tagLib.has(component.getName().toUpperCase())) {
|
|
37
|
-
_this.tagLib.set(component.getName().toUpperCase(), component);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
console.warn("The Tag:" + component.getName().toUpperCase() + "has been registered!");
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
38
|
+
registerTagLib(this, component);
|
|
44
39
|
};
|
|
45
|
-
|
|
40
|
+
/**
|
|
41
|
+
* This method is the boster method of the render.
|
|
42
|
+
*/
|
|
46
43
|
RenderJS.prototype.run = function () {
|
|
47
|
-
if (this.
|
|
48
|
-
this.
|
|
49
|
-
if (typeof this.
|
|
50
|
-
|
|
44
|
+
if (this.router) {
|
|
45
|
+
this.router.data.beforeRouter();
|
|
46
|
+
if (typeof this.router.getRule(location.href) === "boolean") {
|
|
47
|
+
render(this);
|
|
51
48
|
}
|
|
52
49
|
else {
|
|
53
|
-
if (this.
|
|
54
|
-
|
|
50
|
+
if (this.router.getRule(location.href).beforeRouter()) {
|
|
51
|
+
render(this);
|
|
55
52
|
}
|
|
56
53
|
else {
|
|
57
54
|
redirect("/http/400.html");
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
|
-
this.
|
|
57
|
+
this.router.data.afterRouter();
|
|
61
58
|
}
|
|
62
59
|
else {
|
|
63
|
-
|
|
60
|
+
render(this);
|
|
64
61
|
}
|
|
65
62
|
};
|
|
66
|
-
RenderJS.prototype.render = function () {
|
|
67
|
-
//保存全局tagLib对象
|
|
68
|
-
Reflect.set(window, "tagLib", this.tagLib);
|
|
69
|
-
//获取styleLib对象
|
|
70
|
-
var styleLib = new Map();
|
|
71
|
-
this.tagLib.forEach(function (component) {
|
|
72
|
-
themeStyle(component, styleLib);
|
|
73
|
-
});
|
|
74
|
-
Reflect.set(window, "styleLib", styleLib);
|
|
75
|
-
Reflect.set(window, "context", new App());
|
|
76
|
-
Reflect.set(window, "router", this.routerC);
|
|
77
|
-
//开始渲染
|
|
78
|
-
renderHtml(document.body.children, this.page);
|
|
79
|
-
};
|
|
80
63
|
return RenderJS;
|
|
81
64
|
}());
|
|
82
65
|
export { RenderJS };
|
package/library/cmd/cmd.d.ts
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { Component } from "../../class/component/component";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
3
|
+
/**
|
|
4
|
+
* This function is used to resolver those commands which should be executed before mount.
|
|
5
|
+
* @param tagTemplate
|
|
6
|
+
* @param proto
|
|
7
|
+
* @param controller
|
|
8
|
+
*/
|
|
9
|
+
export declare function cmd(tagTemplate: Element, proto: Component, controller: ComponentController): void;
|
|
10
|
+
/**
|
|
11
|
+
* This function is used to resolver those commands which should be executed after mount.
|
|
12
|
+
* @param templateSpace
|
|
13
|
+
* @param proto
|
|
14
|
+
* @param controller
|
|
15
|
+
*/
|
|
16
|
+
export declare function afterCmd(templateSpace: ParentNode, proto: Component, controller: ComponentController): void;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param tagTemplate
|
|
20
|
+
* @param proto
|
|
21
|
+
* @param controller
|
|
22
|
+
*/
|
|
23
|
+
export declare function cmdForUpdate(tagTemplate: Element, proto: Component, controller: ComponentController): void;
|