render-core 1.3.38 → 1.3.40
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 +41 -41
- package/class/component/component.js +108 -108
- package/class/controller/appController.d.ts +17 -44
- package/class/controller/appController.js +25 -132
- package/class/controller/componentController.d.ts +15 -15
- package/class/controller/componentController.js +22 -22
- package/class/controller/pageController.d.ts +23 -23
- package/class/controller/pageController.js +40 -40
- package/class/tips/appTip.d.ts +2 -2
- package/class/tips/appTip.js +1 -1
- package/class/tips/componentTip.d.ts +13 -13
- package/class/tips/componentTip.js +1 -1
- package/class/tips/renderTip.d.ts +3 -5
- package/class/tips/renderTip.js +1 -1
- package/core/cmd/data/v-el.d.ts +8 -8
- package/core/cmd/data/v-el.js +28 -28
- package/core/cmd/data/v-html.d.ts +8 -8
- package/core/cmd/data/v-html.js +26 -26
- package/core/cmd/data/v-txt.d.ts +8 -8
- package/core/cmd/data/v-txt.js +29 -29
- package/core/cmd/justify/v-if.d.ts +6 -6
- package/core/cmd/justify/v-if.js +43 -43
- package/core/cmd/justify/v-render.d.ts +6 -6
- package/core/cmd/justify/v-render.js +26 -26
- package/core/cmd/justify/v-show.d.ts +6 -6
- package/core/cmd/justify/v-show.js +26 -26
- package/core/cmd/justify/v-switch.d.ts +6 -6
- package/core/cmd/justify/v-switch.js +35 -35
- package/core/cmd/loop/v-for.d.ts +12 -12
- package/core/cmd/loop/v-for.js +63 -63
- package/core/cmd/loop/v-index.d.ts +14 -14
- package/core/cmd/loop/v-index.js +80 -79
- package/core/cmd/loop/v-key.d.ts +12 -12
- package/core/cmd/loop/v-key.js +70 -70
- package/core/cmd/method/v-on.d.ts +8 -8
- package/core/cmd/method/v-on.js +40 -40
- package/core/cmd/property/v-bind.d.ts +6 -6
- package/core/cmd/property/v-bind.js +33 -33
- package/core/cmd/react/v-model.d.ts +6 -6
- package/core/cmd/react/v-model.js +22 -22
- package/core/cmd/ref/v-ref.d.ts +6 -6
- package/core/cmd/ref/v-ref.js +16 -16
- package/core/cmd/solt/v-solt.d.ts +14 -14
- package/core/cmd/solt/v-solt.js +46 -46
- package/core/inject/inject.d.ts +30 -35
- package/core/inject/inject.js +63 -70
- package/core/lifecycle/afterMethods.d.ts +16 -16
- package/core/lifecycle/afterMethods.js +22 -22
- package/core/lifecycle/controllerCycle.d.ts +13 -13
- package/core/lifecycle/controllerCycle.js +42 -42
- package/core/lifecycle/mount.d.ts +16 -17
- package/core/lifecycle/mount.js +31 -34
- package/core/loader/loader.d.ts +7 -7
- package/core/loader/loader.js +18 -18
- package/core/proxy/getProxy.d.ts +13 -13
- package/core/proxy/getProxy.js +42 -42
- package/core/render/PostRender.d.ts +12 -12
- package/core/render/PostRender.js +42 -45
- package/core/render/delivery.d.ts +5 -5
- package/core/render/delivery.js +42 -42
- package/core/render/initRender.d.ts +12 -12
- package/core/render/initRender.js +39 -41
- package/core/render/partRender.d.ts +15 -15
- package/core/render/partRender.js +31 -31
- package/core/render/rawRender.d.ts +12 -12
- package/core/render/rawRender.js +43 -45
- package/core/render/updateRender.d.ts +6 -6
- package/core/render/updateRender.js +29 -32
- package/core/resolver/props.d.ts +18 -18
- package/core/resolver/props.js +60 -60
- package/core/resolver/query.d.ts +4 -4
- package/core/resolver/query.js +15 -15
- package/core/utility/checkUtility.d.ts +1 -1
- package/core/utility/checkUtility.js +4 -4
- package/core/utility/cmdUtility.d.ts +16 -16
- package/core/utility/cmdUtility.js +57 -57
- package/core/utility/dataUtility.d.ts +1 -1
- package/core/utility/dataUtility.js +8 -8
- package/core/utility/errorUtility.d.ts +3 -3
- package/core/utility/errorUtility.js +9 -9
- package/core/utility/injectUtility.d.ts +13 -13
- package/core/utility/injectUtility.js +58 -58
- package/core/utility/inputType.d.ts +5 -5
- package/core/utility/inputType.js +20 -20
- package/core/utility/inputUtility.d.ts +4 -4
- package/core/utility/inputUtility.js +100 -100
- package/core/utility/miscUtility.d.ts +6 -6
- package/core/utility/miscUtility.js +12 -12
- package/core/utility/modelUtility.d.ts +15 -15
- package/core/utility/modelUtility.js +66 -66
- package/core/utility/sectionUtility.d.ts +6 -6
- package/core/utility/sectionUtility.js +104 -104
- package/core/utility/styleUtility.d.ts +17 -29
- package/core/utility/styleUtility.js +67 -114
- package/core/utility/templateUtility.d.ts +6 -6
- package/core/utility/templateUtility.js +13 -13
- package/core/utility/vForUtility.d.ts +15 -15
- package/core/utility/vForUtility.js +20 -20
- package/http/redirect/redirect.d.ts +11 -11
- package/http/redirect/redirect.js +36 -36
- package/index.d.ts +44 -71
- package/index.js +70 -130
- package/package.json +3 -8
- package/runtime/metaTagLib.d.ts +2 -2
- package/runtime/metaTagLib.js +27 -27
- package/runtime/runtime.d.ts +7 -7
- package/runtime/runtime.js +26 -26
- package/runtime/tools.d.ts +14 -14
- package/runtime/tools.js +43 -49
- package/README.md +0 -2
- package/class/controller/contextController.d.ts +0 -18
- package/class/controller/contextController.js +0 -79
- package/func/Theme.d.ts +0 -16
- package/func/Theme.js +0 -27
- package/status/read/read.d.ts +0 -10
- package/status/read/read.js +0 -26
- package/status/write/write.d.ts +0 -12
- package/status/write/write.js +0 -92
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { inputUtility, selectUtility, textareaUtility } from "./inputUtility";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param evt
|
|
5
|
-
*/
|
|
6
|
-
export function compositionstart(evt) {
|
|
7
|
-
evt.target.setAttribute("flag", "false");
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param evt
|
|
12
|
-
*/
|
|
13
|
-
export function listener(evt) {
|
|
14
|
-
if (!evt.target.hasAttribute("flag")) {
|
|
15
|
-
//Get the event element
|
|
16
|
-
var element = evt.target;
|
|
17
|
-
switch (element.nodeName.toUpperCase()) {
|
|
18
|
-
case "INPUT":
|
|
19
|
-
inputUtility(element, this);
|
|
20
|
-
break;
|
|
21
|
-
case "SELECT":
|
|
22
|
-
selectUtility(element, this);
|
|
23
|
-
break;
|
|
24
|
-
case "TEXTAREA":
|
|
25
|
-
textareaUtility(element, this);
|
|
26
|
-
break;
|
|
27
|
-
default:
|
|
28
|
-
console.error("Can`t bind this type input tag!");
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
//Update the value
|
|
32
|
-
if (element.type === "file") {
|
|
33
|
-
this[element.name] = element.files;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this[element.name] = element.value;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @param evt
|
|
43
|
-
*/
|
|
44
|
-
export function compositionend(evt) {
|
|
45
|
-
evt.target.setAttribute("flag", "true");
|
|
46
|
-
//Get the event element
|
|
47
|
-
var element = evt.target;
|
|
48
|
-
//Get the name attribute
|
|
49
|
-
var dataName = element.name;
|
|
50
|
-
switch (element.nodeName.toUpperCase()) {
|
|
51
|
-
case "INPUT":
|
|
52
|
-
inputUtility(element, this);
|
|
53
|
-
break;
|
|
54
|
-
case "SELECT":
|
|
55
|
-
selectUtility(element, this);
|
|
56
|
-
break;
|
|
57
|
-
case "TEXTAREA":
|
|
58
|
-
textareaUtility(element, this);
|
|
59
|
-
break;
|
|
60
|
-
default:
|
|
61
|
-
console.error("Can`t bind this type input tag!");
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
//Update the value
|
|
65
|
-
this[dataName] = element.value;
|
|
66
|
-
}
|
|
1
|
+
import { inputUtility, selectUtility, textareaUtility } from "./inputUtility";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param evt
|
|
5
|
+
*/
|
|
6
|
+
export function compositionstart(evt) {
|
|
7
|
+
evt.target.setAttribute("flag", "false");
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param evt
|
|
12
|
+
*/
|
|
13
|
+
export function listener(evt) {
|
|
14
|
+
if (!evt.target.hasAttribute("flag")) {
|
|
15
|
+
//Get the event element
|
|
16
|
+
var element = evt.target;
|
|
17
|
+
switch (element.nodeName.toUpperCase()) {
|
|
18
|
+
case "INPUT":
|
|
19
|
+
inputUtility(element, this);
|
|
20
|
+
break;
|
|
21
|
+
case "SELECT":
|
|
22
|
+
selectUtility(element, this);
|
|
23
|
+
break;
|
|
24
|
+
case "TEXTAREA":
|
|
25
|
+
textareaUtility(element, this);
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
console.error("Can`t bind this type input tag!");
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
//Update the value
|
|
32
|
+
if (element.type === "file") {
|
|
33
|
+
this[element.name] = element.files;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this[element.name] = element.value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @param evt
|
|
43
|
+
*/
|
|
44
|
+
export function compositionend(evt) {
|
|
45
|
+
evt.target.setAttribute("flag", "true");
|
|
46
|
+
//Get the event element
|
|
47
|
+
var element = evt.target;
|
|
48
|
+
//Get the name attribute
|
|
49
|
+
var dataName = element.name;
|
|
50
|
+
switch (element.nodeName.toUpperCase()) {
|
|
51
|
+
case "INPUT":
|
|
52
|
+
inputUtility(element, this);
|
|
53
|
+
break;
|
|
54
|
+
case "SELECT":
|
|
55
|
+
selectUtility(element, this);
|
|
56
|
+
break;
|
|
57
|
+
case "TEXTAREA":
|
|
58
|
+
textareaUtility(element, this);
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
console.error("Can`t bind this type input tag!");
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
//Update the value
|
|
65
|
+
this[dataName] = element.value;
|
|
66
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ComponentController } from "../../class/controller/componentController";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param controller
|
|
5
|
-
*/
|
|
6
|
-
export declare function locateInputAddress(controller: ComponentController): void;
|
|
1
|
+
import { ComponentController } from "../../class/controller/componentController";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param controller
|
|
5
|
+
*/
|
|
6
|
+
export declare function locateInputAddress(controller: ComponentController): void;
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
import { assignType, checkType, fileType, textType } from "./inputType";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param controller
|
|
5
|
-
*/
|
|
6
|
-
export function locateInputAddress(controller) {
|
|
7
|
-
//判断是否是输入导致的数据更新
|
|
8
|
-
if (controller.proxyForMethods.hasOwnProperty("origin")) {
|
|
9
|
-
var doc = Reflect.get(controller.proxyForMethods, "origin");
|
|
10
|
-
var target = document.getElementById(doc.id);
|
|
11
|
-
switch (doc.tag) {
|
|
12
|
-
case "INPUT":
|
|
13
|
-
locateInput(target, doc, controller);
|
|
14
|
-
break;
|
|
15
|
-
case "SELECT":
|
|
16
|
-
locateSelect(target, doc);
|
|
17
|
-
break;
|
|
18
|
-
case "TEXTAREA":
|
|
19
|
-
locateTextArea(target, doc, controller);
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function locateInput(target, doc, controller) {
|
|
25
|
-
switch (target.getAttribute("type")) {
|
|
26
|
-
case "text":
|
|
27
|
-
textType(target, doc, controller);
|
|
28
|
-
break;
|
|
29
|
-
case "color":
|
|
30
|
-
assignType(target, doc, controller);
|
|
31
|
-
break;
|
|
32
|
-
case "date":
|
|
33
|
-
assignType(target, doc, controller);
|
|
34
|
-
break;
|
|
35
|
-
case "time":
|
|
36
|
-
assignType(target, doc, controller);
|
|
37
|
-
break;
|
|
38
|
-
case "email":
|
|
39
|
-
textType(target, doc, controller);
|
|
40
|
-
break;
|
|
41
|
-
case "url":
|
|
42
|
-
textType(target, doc, controller);
|
|
43
|
-
break;
|
|
44
|
-
case "week":
|
|
45
|
-
assignType(target, doc, controller);
|
|
46
|
-
break;
|
|
47
|
-
case "tel":
|
|
48
|
-
textType(target, doc, controller);
|
|
49
|
-
break;
|
|
50
|
-
case "search":
|
|
51
|
-
textType(target, doc, controller);
|
|
52
|
-
break;
|
|
53
|
-
case "range":
|
|
54
|
-
assignType(target, doc, controller);
|
|
55
|
-
break;
|
|
56
|
-
case "radio":
|
|
57
|
-
checkType(target);
|
|
58
|
-
break;
|
|
59
|
-
case "password":
|
|
60
|
-
textType(target, doc, controller);
|
|
61
|
-
break;
|
|
62
|
-
case "number":
|
|
63
|
-
textType(target, doc, controller);
|
|
64
|
-
break;
|
|
65
|
-
case "month":
|
|
66
|
-
assignType(target, doc, controller);
|
|
67
|
-
break;
|
|
68
|
-
case "hidden":
|
|
69
|
-
assignType(target, doc, controller);
|
|
70
|
-
break;
|
|
71
|
-
case "file":
|
|
72
|
-
fileType(target, doc, controller);
|
|
73
|
-
break;
|
|
74
|
-
case "datetime-local":
|
|
75
|
-
assignType(target, doc, controller);
|
|
76
|
-
break;
|
|
77
|
-
case "datetime":
|
|
78
|
-
assignType(target, doc, controller);
|
|
79
|
-
break;
|
|
80
|
-
case "checkbox":
|
|
81
|
-
assignType(target, doc, controller);
|
|
82
|
-
break;
|
|
83
|
-
default:
|
|
84
|
-
console.log("This type input can`t be dealed!");
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
function locateTextArea(target, doc, controller) {
|
|
89
|
-
// @ts-ignore
|
|
90
|
-
target.value = controller.proxyForMethods[target.getAttribute("name")];
|
|
91
|
-
// @ts-ignore
|
|
92
|
-
target.focus();
|
|
93
|
-
// @ts-ignore
|
|
94
|
-
target.setSelectionRange(doc.start, doc.start);
|
|
95
|
-
}
|
|
96
|
-
function locateSelect(target, doc) {
|
|
97
|
-
// @ts-ignore
|
|
98
|
-
var list = target.getElementsByTagName("option");
|
|
99
|
-
for (var i = 0; i < list.length; i++) {
|
|
100
|
-
if (list[i].value === doc.selected) {
|
|
101
|
-
list[i].selected = true;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
1
|
+
import { assignType, checkType, fileType, textType } from "./inputType";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param controller
|
|
5
|
+
*/
|
|
6
|
+
export function locateInputAddress(controller) {
|
|
7
|
+
//判断是否是输入导致的数据更新
|
|
8
|
+
if (controller.proxyForMethods.hasOwnProperty("origin")) {
|
|
9
|
+
var doc = Reflect.get(controller.proxyForMethods, "origin");
|
|
10
|
+
var target = document.getElementById(doc.id);
|
|
11
|
+
switch (doc.tag) {
|
|
12
|
+
case "INPUT":
|
|
13
|
+
locateInput(target, doc, controller);
|
|
14
|
+
break;
|
|
15
|
+
case "SELECT":
|
|
16
|
+
locateSelect(target, doc);
|
|
17
|
+
break;
|
|
18
|
+
case "TEXTAREA":
|
|
19
|
+
locateTextArea(target, doc, controller);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function locateInput(target, doc, controller) {
|
|
25
|
+
switch (target.getAttribute("type")) {
|
|
26
|
+
case "text":
|
|
27
|
+
textType(target, doc, controller);
|
|
28
|
+
break;
|
|
29
|
+
case "color":
|
|
30
|
+
assignType(target, doc, controller);
|
|
31
|
+
break;
|
|
32
|
+
case "date":
|
|
33
|
+
assignType(target, doc, controller);
|
|
34
|
+
break;
|
|
35
|
+
case "time":
|
|
36
|
+
assignType(target, doc, controller);
|
|
37
|
+
break;
|
|
38
|
+
case "email":
|
|
39
|
+
textType(target, doc, controller);
|
|
40
|
+
break;
|
|
41
|
+
case "url":
|
|
42
|
+
textType(target, doc, controller);
|
|
43
|
+
break;
|
|
44
|
+
case "week":
|
|
45
|
+
assignType(target, doc, controller);
|
|
46
|
+
break;
|
|
47
|
+
case "tel":
|
|
48
|
+
textType(target, doc, controller);
|
|
49
|
+
break;
|
|
50
|
+
case "search":
|
|
51
|
+
textType(target, doc, controller);
|
|
52
|
+
break;
|
|
53
|
+
case "range":
|
|
54
|
+
assignType(target, doc, controller);
|
|
55
|
+
break;
|
|
56
|
+
case "radio":
|
|
57
|
+
checkType(target);
|
|
58
|
+
break;
|
|
59
|
+
case "password":
|
|
60
|
+
textType(target, doc, controller);
|
|
61
|
+
break;
|
|
62
|
+
case "number":
|
|
63
|
+
textType(target, doc, controller);
|
|
64
|
+
break;
|
|
65
|
+
case "month":
|
|
66
|
+
assignType(target, doc, controller);
|
|
67
|
+
break;
|
|
68
|
+
case "hidden":
|
|
69
|
+
assignType(target, doc, controller);
|
|
70
|
+
break;
|
|
71
|
+
case "file":
|
|
72
|
+
fileType(target, doc, controller);
|
|
73
|
+
break;
|
|
74
|
+
case "datetime-local":
|
|
75
|
+
assignType(target, doc, controller);
|
|
76
|
+
break;
|
|
77
|
+
case "datetime":
|
|
78
|
+
assignType(target, doc, controller);
|
|
79
|
+
break;
|
|
80
|
+
case "checkbox":
|
|
81
|
+
assignType(target, doc, controller);
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
console.log("This type input can`t be dealed!");
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function locateTextArea(target, doc, controller) {
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
target.value = controller.proxyForMethods[target.getAttribute("name")];
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
target.focus();
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
target.setSelectionRange(doc.start, doc.start);
|
|
95
|
+
}
|
|
96
|
+
function locateSelect(target, doc) {
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
var list = target.getElementsByTagName("option");
|
|
99
|
+
for (var i = 0; i < list.length; i++) {
|
|
100
|
+
if (list[i].value === doc.selected) {
|
|
101
|
+
list[i].selected = true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
import { Component } from "../../class/component/component";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param tag
|
|
5
|
-
*/
|
|
6
|
-
export declare function checkStyleLabel(tag: string): boolean;
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* @param component
|
|
10
|
-
* @param styleLib
|
|
11
|
-
*/
|
|
12
|
-
export declare function themeStyle(component: Component, styleLib: Map<string, object>): void;
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param tag
|
|
16
|
-
*/
|
|
17
|
-
export declare function styleResolve(tag: string): void;
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @param theme
|
|
21
|
-
*/
|
|
22
|
-
export declare function reloadStyle(theme: string): void;
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
* @param tag
|
|
26
|
-
* @param theme
|
|
27
|
-
*/
|
|
28
|
-
export declare function changeStyle(tag: string, theme: string): void;
|
|
29
|
-
export declare function changeTheme(theme: string): void;
|
|
1
|
+
import { Component } from "../../class/component/component";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param tag
|
|
5
|
+
*/
|
|
6
|
+
export declare function checkStyleLabel(tag: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param component
|
|
10
|
+
* @param styleLib
|
|
11
|
+
*/
|
|
12
|
+
export declare function themeStyle(component: Component, styleLib: Map<string, object>): void;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param tag
|
|
16
|
+
*/
|
|
17
|
+
export declare function styleResolve(tag: string): void;
|
|
@@ -1,114 +1,67 @@
|
|
|
1
|
-
import { loadStyle } from "../loader/loader";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param tag
|
|
5
|
-
*/
|
|
6
|
-
export function checkStyleLabel(tag) {
|
|
7
|
-
//获取所有的style标签
|
|
8
|
-
var styles = document.getElementsByTagName("style");
|
|
9
|
-
//遍历标签,查看是否已经加载tag样式
|
|
10
|
-
for (var i = 0; i < styles.length; i++) {
|
|
11
|
-
if (styles[i].getAttribute("tag") === tag.toUpperCase())
|
|
12
|
-
//样式已经加载
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
//样式未加载
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @param component
|
|
21
|
-
* @param styleLib
|
|
22
|
-
*/
|
|
23
|
-
export function themeStyle(component, styleLib) {
|
|
24
|
-
var template = component.getTemplate();
|
|
25
|
-
var dom = document.createElement("div");
|
|
26
|
-
dom.innerHTML = template;
|
|
27
|
-
var styles = dom.getElementsByTagName("template")[0].content.querySelectorAll("style");
|
|
28
|
-
var kk = new Map();
|
|
29
|
-
for (var i = 0; i < styles.length; i++) {
|
|
30
|
-
kk.set(styles[i].getAttribute("theme"), styles[i].innerText);
|
|
31
|
-
}
|
|
32
|
-
styleLib.set(component.getName().toUpperCase(), kk);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* @param tag
|
|
37
|
-
*/
|
|
38
|
-
export function styleResolve(tag) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
style.setAttribute("theme", theme);
|
|
69
|
-
var head = document.getElementsByTagName('head')[0];
|
|
70
|
-
head.replaceChild(style, styles[i]);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
*
|
|
78
|
-
* @param tag
|
|
79
|
-
* @param theme
|
|
80
|
-
*/
|
|
81
|
-
export function changeStyle(tag, theme) {
|
|
82
|
-
var styleTxt = Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme);
|
|
83
|
-
if (styleTxt === undefined) {
|
|
84
|
-
console.log("Dont`t find this style!");
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
var style = document.createElement('style');
|
|
88
|
-
var text = document.createTextNode(styleTxt);
|
|
89
|
-
style.appendChild(text);
|
|
90
|
-
style.setAttribute("tag", tag.toUpperCase());
|
|
91
|
-
style.setAttribute("theme", theme);
|
|
92
|
-
var head = document.getElementsByTagName('head')[0];
|
|
93
|
-
var target = head.querySelector("style" + "[tag=" + tag.toUpperCase() + "]");
|
|
94
|
-
head.replaceChild(style, target);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
export function changeTheme(theme) {
|
|
98
|
-
Reflect.get(window, "styleLib").forEach(function (value, key) {
|
|
99
|
-
var styles = document.getElementsByTagName("style");
|
|
100
|
-
for (var i = 0; i < styles.length; i++) {
|
|
101
|
-
if (styles[i].getAttribute("tag") === key) {
|
|
102
|
-
var style = document.createElement('style');
|
|
103
|
-
if (value.get(theme)) {
|
|
104
|
-
var text = document.createTextNode(value.get(theme));
|
|
105
|
-
style.appendChild(text);
|
|
106
|
-
style.setAttribute("tag", key.toUpperCase());
|
|
107
|
-
style.setAttribute("theme", theme);
|
|
108
|
-
var head = document.getElementsByTagName('head')[0];
|
|
109
|
-
head.replaceChild(style, styles[i]);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
1
|
+
import { loadStyle } from "../loader/loader";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param tag
|
|
5
|
+
*/
|
|
6
|
+
export function checkStyleLabel(tag) {
|
|
7
|
+
//获取所有的style标签
|
|
8
|
+
var styles = document.getElementsByTagName("style");
|
|
9
|
+
//遍历标签,查看是否已经加载tag样式
|
|
10
|
+
for (var i = 0; i < styles.length; i++) {
|
|
11
|
+
if (styles[i].getAttribute("tag") === tag.toUpperCase())
|
|
12
|
+
//样式已经加载
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
//样式未加载
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param component
|
|
21
|
+
* @param styleLib
|
|
22
|
+
*/
|
|
23
|
+
export function themeStyle(component, styleLib) {
|
|
24
|
+
var template = component.getTemplate();
|
|
25
|
+
var dom = document.createElement("div");
|
|
26
|
+
dom.innerHTML = template;
|
|
27
|
+
var styles = dom.getElementsByTagName("template")[0].content.querySelectorAll("style");
|
|
28
|
+
var kk = new Map();
|
|
29
|
+
for (var i = 0; i < styles.length; i++) {
|
|
30
|
+
kk.set(styles[i].getAttribute("theme"), styles[i].innerText);
|
|
31
|
+
}
|
|
32
|
+
styleLib.set(component.getName().toUpperCase(), kk);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @param tag
|
|
37
|
+
*/
|
|
38
|
+
export function styleResolve(tag) {
|
|
39
|
+
var theme = getUrlParam("theme");
|
|
40
|
+
if (Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme) === undefined) {
|
|
41
|
+
console.log("tag:" + tag + " has no theme " + theme);
|
|
42
|
+
if (Reflect.get(window, "styleLib").get(tag.toUpperCase()).get("default") === undefined) {
|
|
43
|
+
console.log("tag:" + tag + " has no theme " + "default");
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
loadStyle(tag, "default", Reflect.get(window, "styleLib").get(tag.toUpperCase()).get("default"));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
loadStyle(tag, theme, Reflect.get(window, "styleLib").get(tag.toUpperCase()).get(theme));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 从url中获取主题参数
|
|
55
|
+
* @param name
|
|
56
|
+
*/
|
|
57
|
+
function getUrlParam(name) {
|
|
58
|
+
//构造一个含有目标参数的正则表达式对象
|
|
59
|
+
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
|
60
|
+
//匹配目标参数
|
|
61
|
+
var r = window.location.search.substr(1).match(reg);
|
|
62
|
+
//返回参数值
|
|
63
|
+
if (r != null) {
|
|
64
|
+
return decodeURI(r[2]);
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Component } from "../../class/component/component";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param proto
|
|
5
|
-
*/
|
|
6
|
-
export declare function getTemplate(proto: Component): Element;
|
|
1
|
+
import { Component } from "../../class/component/component";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param proto
|
|
5
|
+
*/
|
|
6
|
+
export declare function getTemplate(proto: Component): Element;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param proto
|
|
4
|
-
*/
|
|
5
|
-
export function getTemplate(proto) {
|
|
6
|
-
//生成DOM
|
|
7
|
-
var temp = document.createElement("div");
|
|
8
|
-
temp.innerHTML = proto.getTemplate();
|
|
9
|
-
var template = temp.getElementsByTagName("template")[0];
|
|
10
|
-
var content = template.content;
|
|
11
|
-
//获得模板元素
|
|
12
|
-
return content.querySelector("view");
|
|
13
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param proto
|
|
4
|
+
*/
|
|
5
|
+
export function getTemplate(proto) {
|
|
6
|
+
//生成DOM
|
|
7
|
+
var temp = document.createElement("div");
|
|
8
|
+
temp.innerHTML = proto.getTemplate();
|
|
9
|
+
var template = temp.getElementsByTagName("template")[0];
|
|
10
|
+
var content = template.content;
|
|
11
|
+
//获得模板元素
|
|
12
|
+
return content.querySelector("view");
|
|
13
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param baseRoot
|
|
4
|
-
* @param temp
|
|
5
|
-
* @param index
|
|
6
|
-
* @param data
|
|
7
|
-
*/
|
|
8
|
-
export declare function extractForArray(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param baseRoot
|
|
12
|
-
* @param temp
|
|
13
|
-
* @param data
|
|
14
|
-
*/
|
|
15
|
-
export declare function extractForMap(baseRoot: ParentNode, temp: Node, data: any): void;
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param baseRoot
|
|
4
|
+
* @param temp
|
|
5
|
+
* @param index
|
|
6
|
+
* @param data
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractForArray(baseRoot: ParentNode, temp: Node, index: number, data: any): void;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param baseRoot
|
|
12
|
+
* @param temp
|
|
13
|
+
* @param data
|
|
14
|
+
*/
|
|
15
|
+
export declare function extractForMap(baseRoot: ParentNode, temp: Node, data: any): void;
|