efront 4.35.4 → 4.35.6
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/apps/_index.html +41 -41
- package/apps/blank/index.html +20 -20
- package/apps/noice/index.html +42 -42
- package/apps/pay/paypal.jsp +0 -0
- package/apps/pay/wxpay.jsp +32 -0
- package/apps/pivot/dht/rent.html +14 -0
- package/apps/pivot/dht/rent.js +148 -0
- package/apps/pivot/dht/rent.less +46 -0
- package/apps/pivot/home/desktop.xht +0 -0
- package/apps/pivot/menu.yml +6 -1
- package/apps/pivot/shop/goods/list.xht +183 -0
- package/apps/pivot/shop/home.xht +20 -0
- package/apps/pivot/shop/mind/list.xht +1 -0
- package/apps/pivot/shop/order/create.xht +49 -0
- package/apps/pivot/shop/order/list.xht +1 -0
- package/apps/pivot/shop/paypal.jsp +23 -0
- package/apps/pivot/soft/list.html +0 -0
- package/apps/pivot/soft/list.js +9 -0
- package/apps/pivot/soft/list.less +0 -0
- package/apps/pivot//344/270/273/351/241/265.html +42 -42
- package/coms/7z_temp/Java.js +93 -0
- package/coms/7z_temp/LzmaBench.java +392 -0
- package/coms/7z_temp/read-from-java-code.js +28 -0
- package/coms/7z_temp//350/257/264/346/230/216.md +1 -0
- package/coms/basic/JSAM.js +259 -259
- package/coms/basic/JSAM_test.js +3 -5
- package/coms/basic/check.js +42 -42
- package/coms/basic/color.js +696 -696
- package/coms/basic/crc.js +39 -39
- package/coms/basic/getIndexFromOrderedArray.js +39 -39
- package/coms/basic/isObject.js +3 -3
- package/coms/basic/keys.js +4 -4
- package/coms/basic/lazy.js +78 -78
- package/coms/basic/math.js +7 -1
- package/coms/basic/math.md +11 -0
- package/coms/basic/refilm.js +96 -96
- package/coms/basic/saveToOrderedArray.js +11 -11
- package/coms/basic/strings.js +7 -5
- package/coms/basic_/&pget.js +1 -0
- package/coms/basic_/&pset.js +1 -0
- package/coms/basic_/Proxy.js +6 -0
- package/coms/basic_/Reflect.js +55 -0
- package/coms/compile/Html.js +15 -7
- package/coms/compile/Program.js +3 -1
- package/coms/compile/autoeval.js +26 -7
- package/coms/compile/autoeval_test.js +9 -0
- package/coms/compile/bracket.js +51 -0
- package/coms/compile/bracket_test.js +9 -0
- package/coms/compile/createvm.js +35 -0
- package/coms/compile/createvm_test.js +7 -0
- package/coms/compile/scanner.js +653 -653
- package/coms/compile/scanner2.js +24 -1
- package/coms/compile//347/264/240/351/246/250.js +4 -4
- package/coms/docs/getMimeData_test.js +19 -19
- package/coms/docs/md5.js +173 -173
- package/coms/frame/top.less +190 -190
- package/coms/pivot/DB.js +9 -0
- package/coms/pivot/paypal-var.js +1 -0
- package/coms/pivot//345/225/206/345/223/201.js +1 -0
- package/coms/zimoli/AudioContext_test.html +5 -5
- package/coms/zimoli/AudioContext_test.js +92 -92
- package/coms/zimoli/AudioContext_test.less +114 -114
- package/coms/zimoli/alert_test.js +11 -11
- package/coms/zimoli/dispatch.js +50 -50
- package/coms/zimoli/extendTouchEvent.js +8 -8
- package/coms/zimoli/fullscreen.js +52 -52
- package/coms/zimoli/gallery.less +13 -13
- package/coms/zimoli/gallery_test.html +2 -2
- package/coms/zimoli/gallery_test.js +14 -14
- package/coms/zimoli/gallery_test.less +17 -17
- package/coms/zimoli/getChanged.js +7 -7
- package/coms/zimoli/getChanges.js +13 -13
- package/coms/zimoli/lattice.js +109 -109
- package/coms/zimoli/lattice_test.less +23 -23
- package/coms/zimoli/picture.less +71 -71
- package/coms/zimoli/refilm_test.html +41 -41
- package/coms/zimoli/refilm_test.less +102 -102
- package/coms/zimoli/xml.js +131 -131
- package/data/keystore/cross-cert.pem +21 -21
- package/data/keystore/cross-key.pem +27 -27
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/public//346/226/207/344/273/266/347/263/273/347/273/237//344/270/273/351/241/265.jsp +2 -2
- /package/apps/pivot/{tick → ticket}/list.js +0 -0
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
& {
|
|
2
|
-
white-space: nowrap;
|
|
3
|
-
overflow: auto;
|
|
4
|
-
background: #421;
|
|
5
|
-
border-top: 10px solid #000;
|
|
6
|
-
padding: 20px 40px 60px 40px;
|
|
7
|
-
// perspective: 3000px; 多嵌套一层,不起作用
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
&>div {
|
|
11
|
-
>span {
|
|
12
|
-
position: absolute;
|
|
13
|
-
top: 0;
|
|
14
|
-
left: 0;
|
|
15
|
-
z-index: 2;
|
|
16
|
-
width: 60px;
|
|
17
|
-
text-align: center;
|
|
18
|
-
text-transform: uppercase;
|
|
19
|
-
font-family: 'Times New Roman', Times, serif;
|
|
20
|
-
font-style: italic;
|
|
21
|
-
font-weight: 900;
|
|
22
|
-
color: #999;
|
|
23
|
-
|
|
24
|
-
&:before {
|
|
25
|
-
content: "c";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
display: inline-block;
|
|
30
|
-
vertical-align: top;
|
|
31
|
-
width: 420px;
|
|
32
|
-
position: relative;
|
|
33
|
-
pointer-events: none;
|
|
34
|
-
|
|
35
|
-
button {
|
|
36
|
-
pointer-events: all;
|
|
37
|
-
transform-style: preserve-3d;
|
|
38
|
-
|
|
39
|
-
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|
40
|
-
position: relative;
|
|
41
|
-
|
|
42
|
-
&.hover {
|
|
43
|
-
>.track {
|
|
44
|
-
box-shadow: none;
|
|
45
|
-
background: #fff1;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
box-shadow: 0 0 12px -4px #0003;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&.pending {
|
|
52
|
-
z-index: 0;
|
|
53
|
-
|
|
54
|
-
>.track {
|
|
55
|
-
background: #0003;
|
|
56
|
-
background: linear-gradient(0deg, #0003, #0000);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
transform-origin: 30px -270px -10px;
|
|
60
|
-
transform:rotateX(-7deg);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
&.odd {
|
|
66
|
-
|
|
67
|
-
button {
|
|
68
|
-
margin: 0 2px;
|
|
69
|
-
width: 56px;
|
|
70
|
-
background: #fff;
|
|
71
|
-
color: #aaa;
|
|
72
|
-
height: 280px;
|
|
73
|
-
padding: 80px 0 0 0;
|
|
74
|
-
box-shadow: 0 0 20px -6px rgba(0, 0, 0, .3);
|
|
75
|
-
|
|
76
|
-
span {
|
|
77
|
-
vertical-align: bottom;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
&.even {
|
|
83
|
-
margin-left: -420px;
|
|
84
|
-
z-index: 2;
|
|
85
|
-
|
|
86
|
-
button {
|
|
87
|
-
width: 40px;
|
|
88
|
-
margin: 10px 10px;
|
|
89
|
-
box-shadow: 0 0 20px -6px rgba(0, 0, 0, .3);
|
|
90
|
-
|
|
91
|
-
&:nth-child(1) {
|
|
92
|
-
margin-left: 40px;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
span {
|
|
96
|
-
writing-mode: vertical-rl;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
background: #333;
|
|
101
|
-
color: #fff;
|
|
102
|
-
height: 120px;
|
|
103
|
-
|
|
104
|
-
&:nth-child(2) {
|
|
105
|
-
margin-right: 70px;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
button.pending {
|
|
112
|
-
color: red;
|
|
113
|
-
}
|
|
114
|
-
|
|
1
|
+
& {
|
|
2
|
+
white-space: nowrap;
|
|
3
|
+
overflow: auto;
|
|
4
|
+
background: #421;
|
|
5
|
+
border-top: 10px solid #000;
|
|
6
|
+
padding: 20px 40px 60px 40px;
|
|
7
|
+
// perspective: 3000px; 多嵌套一层,不起作用
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&>div {
|
|
11
|
+
>span {
|
|
12
|
+
position: absolute;
|
|
13
|
+
top: 0;
|
|
14
|
+
left: 0;
|
|
15
|
+
z-index: 2;
|
|
16
|
+
width: 60px;
|
|
17
|
+
text-align: center;
|
|
18
|
+
text-transform: uppercase;
|
|
19
|
+
font-family: 'Times New Roman', Times, serif;
|
|
20
|
+
font-style: italic;
|
|
21
|
+
font-weight: 900;
|
|
22
|
+
color: #999;
|
|
23
|
+
|
|
24
|
+
&:before {
|
|
25
|
+
content: "c";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
display: inline-block;
|
|
30
|
+
vertical-align: top;
|
|
31
|
+
width: 420px;
|
|
32
|
+
position: relative;
|
|
33
|
+
pointer-events: none;
|
|
34
|
+
|
|
35
|
+
button {
|
|
36
|
+
pointer-events: all;
|
|
37
|
+
transform-style: preserve-3d;
|
|
38
|
+
|
|
39
|
+
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|
40
|
+
position: relative;
|
|
41
|
+
|
|
42
|
+
&.hover {
|
|
43
|
+
>.track {
|
|
44
|
+
box-shadow: none;
|
|
45
|
+
background: #fff1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
box-shadow: 0 0 12px -4px #0003;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&.pending {
|
|
52
|
+
z-index: 0;
|
|
53
|
+
|
|
54
|
+
>.track {
|
|
55
|
+
background: #0003;
|
|
56
|
+
background: linear-gradient(0deg, #0003, #0000);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
transform-origin: 30px -270px -10px;
|
|
60
|
+
transform:rotateX(-7deg);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&.odd {
|
|
66
|
+
|
|
67
|
+
button {
|
|
68
|
+
margin: 0 2px;
|
|
69
|
+
width: 56px;
|
|
70
|
+
background: #fff;
|
|
71
|
+
color: #aaa;
|
|
72
|
+
height: 280px;
|
|
73
|
+
padding: 80px 0 0 0;
|
|
74
|
+
box-shadow: 0 0 20px -6px rgba(0, 0, 0, .3);
|
|
75
|
+
|
|
76
|
+
span {
|
|
77
|
+
vertical-align: bottom;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&.even {
|
|
83
|
+
margin-left: -420px;
|
|
84
|
+
z-index: 2;
|
|
85
|
+
|
|
86
|
+
button {
|
|
87
|
+
width: 40px;
|
|
88
|
+
margin: 10px 10px;
|
|
89
|
+
box-shadow: 0 0 20px -6px rgba(0, 0, 0, .3);
|
|
90
|
+
|
|
91
|
+
&:nth-child(1) {
|
|
92
|
+
margin-left: 40px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
span {
|
|
96
|
+
writing-mode: vertical-rl;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
background: #333;
|
|
101
|
+
color: #fff;
|
|
102
|
+
height: 120px;
|
|
103
|
+
|
|
104
|
+
&:nth-child(2) {
|
|
105
|
+
margin-right: 70px;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
button.pending {
|
|
112
|
+
color: red;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
115
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
function alert_test() {
|
|
2
|
-
var page = document.createElement("div");
|
|
3
|
-
page.innerHTML = `
|
|
4
|
-
<button @click="alert('你好',this.innerText)">error</button>
|
|
5
|
-
<button @click="alert('你好',this.innerText)">info</button>
|
|
6
|
-
<button @click="alert('你好',this.innerText)">warn</button>
|
|
7
|
-
<button @click="alert('你好',this.innerText)">#f2c</button>
|
|
8
|
-
<button @click="alert('你好',this.innerText)">default</button>
|
|
9
|
-
`;
|
|
10
|
-
renderWithDefaults(page, { alert });
|
|
11
|
-
return page;
|
|
1
|
+
function alert_test() {
|
|
2
|
+
var page = document.createElement("div");
|
|
3
|
+
page.innerHTML = `
|
|
4
|
+
<button @click="alert('你好',this.innerText)">error</button>
|
|
5
|
+
<button @click="alert('你好',this.innerText)">info</button>
|
|
6
|
+
<button @click="alert('你好',this.innerText)">warn</button>
|
|
7
|
+
<button @click="alert('你好',this.innerText)">#f2c</button>
|
|
8
|
+
<button @click="alert('你好',this.innerText)">default</button>
|
|
9
|
+
`;
|
|
10
|
+
renderWithDefaults(page, { alert });
|
|
11
|
+
return page;
|
|
12
12
|
}
|
package/coms/zimoli/dispatch.js
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
var dispatch = "dispatchEvent" in document ? function dispatchEvent2(target, event) {
|
|
2
|
-
try {
|
|
3
|
-
return target.dispatchEvent(event);
|
|
4
|
-
} catch (e) {
|
|
5
|
-
return -1;
|
|
6
|
-
}
|
|
7
|
-
} : function (target, event) {
|
|
8
|
-
var fire = "on" + event.type;
|
|
9
|
-
try {
|
|
10
|
-
return target.fireEvent(fire, event);
|
|
11
|
-
} catch (e) {
|
|
12
|
-
return -1;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
var isWorseEnv = /MSIE\s([2-9]|10)|Presto/.test(navigator.userAgent);
|
|
16
|
-
/**
|
|
17
|
-
* @param {Event} e
|
|
18
|
-
*/
|
|
19
|
-
function dispatch2(t, e) {
|
|
20
|
-
var on = 'on' + e.type;
|
|
21
|
-
var f = t[on];
|
|
22
|
-
var res = dispatch(t, e);
|
|
23
|
-
if (f && (res === -1 || t.nodeType && t.nodeType !== 1 || t.constructor === window.HTMLUnknownElement || isWorseEnv && !(on in t.constructor.prototype))) {
|
|
24
|
-
return f.call(t, e) !== false;
|
|
25
|
-
}
|
|
26
|
-
return res;
|
|
27
|
-
}
|
|
28
|
-
function main() {
|
|
29
|
-
var target, event, value;
|
|
30
|
-
for (var cx = 0, dx = arguments.length; cx < dx; cx++) {
|
|
31
|
-
var arg = arguments[cx];
|
|
32
|
-
if (isNode(arg) || arg === window || arg === document) {
|
|
33
|
-
target = arg;
|
|
34
|
-
}
|
|
35
|
-
else if (!event) {
|
|
36
|
-
if (isString(arg)) {
|
|
37
|
-
event = createEvent(arg);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
event = arg;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
event.value = arg;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (dispatch2(target || window, event)) {
|
|
48
|
-
return event;
|
|
49
|
-
};
|
|
50
|
-
return false;
|
|
1
|
+
var dispatch = "dispatchEvent" in document ? function dispatchEvent2(target, event) {
|
|
2
|
+
try {
|
|
3
|
+
return target.dispatchEvent(event);
|
|
4
|
+
} catch (e) {
|
|
5
|
+
return -1;
|
|
6
|
+
}
|
|
7
|
+
} : function (target, event) {
|
|
8
|
+
var fire = "on" + event.type;
|
|
9
|
+
try {
|
|
10
|
+
return target.fireEvent(fire, event);
|
|
11
|
+
} catch (e) {
|
|
12
|
+
return -1;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var isWorseEnv = /MSIE\s([2-9]|10)|Presto/.test(navigator.userAgent);
|
|
16
|
+
/**
|
|
17
|
+
* @param {Event} e
|
|
18
|
+
*/
|
|
19
|
+
function dispatch2(t, e) {
|
|
20
|
+
var on = 'on' + e.type;
|
|
21
|
+
var f = t[on];
|
|
22
|
+
var res = dispatch(t, e);
|
|
23
|
+
if (f && (res === -1 || t.nodeType && t.nodeType !== 1 || t.constructor === window.HTMLUnknownElement || isWorseEnv && !(on in t.constructor.prototype))) {
|
|
24
|
+
return f.call(t, e) !== false;
|
|
25
|
+
}
|
|
26
|
+
return res;
|
|
27
|
+
}
|
|
28
|
+
function main() {
|
|
29
|
+
var target, event, value;
|
|
30
|
+
for (var cx = 0, dx = arguments.length; cx < dx; cx++) {
|
|
31
|
+
var arg = arguments[cx];
|
|
32
|
+
if (isNode(arg) || arg === window || arg === document) {
|
|
33
|
+
target = arg;
|
|
34
|
+
}
|
|
35
|
+
else if (!event) {
|
|
36
|
+
if (isString(arg)) {
|
|
37
|
+
event = createEvent(arg);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
event = arg;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
event.value = arg;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (dispatch2(target || window, event)) {
|
|
48
|
+
return event;
|
|
49
|
+
};
|
|
50
|
+
return false;
|
|
51
51
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function extendTouchEvent(e) {
|
|
2
|
-
var touch = e.changedTouches[0];
|
|
3
|
-
for (var k in touch) {
|
|
4
|
-
if (!(k in e)) e[k] = touch[k];
|
|
5
|
-
}
|
|
6
|
-
e.screenX = window.screenLeft + e.clientX;
|
|
7
|
-
e.screenY = window.screenTop + e.clientY;
|
|
8
|
-
return e;
|
|
1
|
+
function extendTouchEvent(e) {
|
|
2
|
+
var touch = e.changedTouches[0];
|
|
3
|
+
for (var k in touch) {
|
|
4
|
+
if (!(k in e)) e[k] = touch[k];
|
|
5
|
+
}
|
|
6
|
+
e.screenX = window.screenLeft + e.clientX;
|
|
7
|
+
e.screenY = window.screenTop + e.clientY;
|
|
8
|
+
return e;
|
|
9
9
|
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
var hasTarget = function () {
|
|
2
|
-
return !!(document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement);
|
|
3
|
-
};
|
|
4
|
-
var fullscreen = {
|
|
5
|
-
allow: function () {
|
|
6
|
-
switch (null) {
|
|
7
|
-
case document.fullscreenElement:
|
|
8
|
-
case document.msFullscreenElement:
|
|
9
|
-
case document.mozFullScreenElement:
|
|
10
|
-
case document.webkitFullscreenElement:
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return hasTarget();
|
|
14
|
-
}(),
|
|
15
|
-
is() {
|
|
16
|
-
if (/Android|iPad|iPhone/i.test(navigator.userAgent)) {
|
|
17
|
-
return hasTarget();
|
|
18
|
-
}
|
|
19
|
-
if (/chrome/i.test(navigator.userAgent)) {//webkit
|
|
20
|
-
var ratio = renderPixelRatio > 1 ? devicePixelRatio : 1;
|
|
21
|
-
var innerHeight = window.innerHeight / ratio;
|
|
22
|
-
var innerWidth = window.innerWidth / ratio;
|
|
23
|
-
return window.innerHeight === screen.height && window.innerWidth === screen.width
|
|
24
|
-
|| screen.height - window.outerHeight <= 16 && screen.width <= innerWidth && window.outerWidth <= innerWidth
|
|
25
|
-
|| screen.width - window.outerWidth <= 16 && screen.height <= innerHeight && window.outerHeight <= innerHeight
|
|
26
|
-
} else {//IE 9+ fireFox
|
|
27
|
-
return window.outerHeight === screen.height && window.outerWidth === screen.width;
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
hasTarget,
|
|
31
|
-
exec(element) {
|
|
32
|
-
requestFullScreen(element);
|
|
33
|
-
},
|
|
34
|
-
open() {
|
|
35
|
-
if (!this.is()) this.change();
|
|
36
|
-
},
|
|
37
|
-
close() {
|
|
38
|
-
this.exit();
|
|
39
|
-
},
|
|
40
|
-
change() {
|
|
41
|
-
if (this.is()) this.exit(alert);
|
|
42
|
-
else this.exec(arguments[0] || document.documentElement);
|
|
43
|
-
},
|
|
44
|
-
exit(alert) {
|
|
45
|
-
if (this.hasTarget()) cancelFullScreen();
|
|
46
|
-
else
|
|
47
|
-
var error = "按 F11 退出全屏";
|
|
48
|
-
if (isFunction(alert) && error) alert(error);
|
|
49
|
-
return error;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
fullscreen.request = fullscreen.requestFullscreen = fullscreen.exec;
|
|
1
|
+
var hasTarget = function () {
|
|
2
|
+
return !!(document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement);
|
|
3
|
+
};
|
|
4
|
+
var fullscreen = {
|
|
5
|
+
allow: function () {
|
|
6
|
+
switch (null) {
|
|
7
|
+
case document.fullscreenElement:
|
|
8
|
+
case document.msFullscreenElement:
|
|
9
|
+
case document.mozFullScreenElement:
|
|
10
|
+
case document.webkitFullscreenElement:
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return hasTarget();
|
|
14
|
+
}(),
|
|
15
|
+
is() {
|
|
16
|
+
if (/Android|iPad|iPhone/i.test(navigator.userAgent)) {
|
|
17
|
+
return hasTarget();
|
|
18
|
+
}
|
|
19
|
+
if (/chrome/i.test(navigator.userAgent)) {//webkit
|
|
20
|
+
var ratio = renderPixelRatio > 1 ? devicePixelRatio : 1;
|
|
21
|
+
var innerHeight = window.innerHeight / ratio;
|
|
22
|
+
var innerWidth = window.innerWidth / ratio;
|
|
23
|
+
return window.innerHeight === screen.height && window.innerWidth === screen.width
|
|
24
|
+
|| screen.height - window.outerHeight <= 16 && screen.width <= innerWidth && window.outerWidth <= innerWidth
|
|
25
|
+
|| screen.width - window.outerWidth <= 16 && screen.height <= innerHeight && window.outerHeight <= innerHeight
|
|
26
|
+
} else {//IE 9+ fireFox
|
|
27
|
+
return window.outerHeight === screen.height && window.outerWidth === screen.width;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
hasTarget,
|
|
31
|
+
exec(element) {
|
|
32
|
+
requestFullScreen(element);
|
|
33
|
+
},
|
|
34
|
+
open() {
|
|
35
|
+
if (!this.is()) this.change();
|
|
36
|
+
},
|
|
37
|
+
close() {
|
|
38
|
+
this.exit();
|
|
39
|
+
},
|
|
40
|
+
change() {
|
|
41
|
+
if (this.is()) this.exit(alert);
|
|
42
|
+
else this.exec(arguments[0] || document.documentElement);
|
|
43
|
+
},
|
|
44
|
+
exit(alert) {
|
|
45
|
+
if (this.hasTarget()) cancelFullScreen();
|
|
46
|
+
else
|
|
47
|
+
var error = "按 F11 退出全屏";
|
|
48
|
+
if (isFunction(alert) && error) alert(error);
|
|
49
|
+
return error;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
fullscreen.request = fullscreen.requestFullscreen = fullscreen.exec;
|
|
53
53
|
fullscreen.cancel = fullscreen.exitFullscreen = fullscreen.exit;
|
package/coms/zimoli/gallery.less
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
& {
|
|
2
|
-
display: block;
|
|
3
|
-
width: 100%;
|
|
4
|
-
position: relative;
|
|
5
|
-
height: 100%;
|
|
6
|
-
|
|
7
|
-
>.list {
|
|
8
|
-
vertical-align: top;
|
|
9
|
-
display: inline-block;
|
|
10
|
-
position: relative;
|
|
11
|
-
height: 100%;
|
|
12
|
-
overflow: hidden;
|
|
13
|
-
}
|
|
1
|
+
& {
|
|
2
|
+
display: block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
position: relative;
|
|
5
|
+
height: 100%;
|
|
6
|
+
|
|
7
|
+
>.list {
|
|
8
|
+
vertical-align: top;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
position: relative;
|
|
11
|
+
height: 100%;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
}
|
|
14
14
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<gallery ng-src="d in data" min-width=200>
|
|
2
|
-
<div ng-bind=d.name ng-style="{background:d.color,height:d.height}"></div>
|
|
1
|
+
<gallery ng-src="d in data" min-width=200>
|
|
2
|
+
<div ng-bind=d.name ng-style="{background:d.color,height:d.height}"></div>
|
|
3
3
|
</gallery>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
function main() {
|
|
2
|
-
var items = new Array(100).fill(0).map((_, i) => ({ color: color.random(), name: "item " + (i + 1), height: Math.random() * 100 + 60 }));
|
|
3
|
-
var layer = div();
|
|
4
|
-
layer.innerHTML = template;
|
|
5
|
-
var scope = {
|
|
6
|
-
gallery,
|
|
7
|
-
data: []
|
|
8
|
-
};
|
|
9
|
-
renderWithDefaults(layer, scope);
|
|
10
|
-
layer.querySelector("gallery").go(0);
|
|
11
|
-
onappend(layer, function () {
|
|
12
|
-
scope.data = items;
|
|
13
|
-
});
|
|
14
|
-
return layer;
|
|
1
|
+
function main() {
|
|
2
|
+
var items = new Array(100).fill(0).map((_, i) => ({ color: color.random(), name: "item " + (i + 1), height: Math.random() * 100 + 60 }));
|
|
3
|
+
var layer = div();
|
|
4
|
+
layer.innerHTML = template;
|
|
5
|
+
var scope = {
|
|
6
|
+
gallery,
|
|
7
|
+
data: []
|
|
8
|
+
};
|
|
9
|
+
renderWithDefaults(layer, scope);
|
|
10
|
+
layer.querySelector("gallery").go(0);
|
|
11
|
+
onappend(layer, function () {
|
|
12
|
+
scope.data = items;
|
|
13
|
+
});
|
|
14
|
+
return layer;
|
|
15
15
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
& {
|
|
2
|
-
height: 300px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
&>gallery {
|
|
6
|
-
height: 100%;
|
|
7
|
-
background-size: 20px 20px;
|
|
8
|
-
background-repeat: repeat;
|
|
9
|
-
border:2px solid transparent;
|
|
10
|
-
background-clip: content-box;
|
|
11
|
-
white-space: nowrap;
|
|
12
|
-
>div{
|
|
13
|
-
background: #fff;
|
|
14
|
-
box-sizing: border-box;
|
|
15
|
-
border: 1px solid transparent;
|
|
16
|
-
display: inline-block;
|
|
17
|
-
}
|
|
1
|
+
& {
|
|
2
|
+
height: 300px;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
&>gallery {
|
|
6
|
+
height: 100%;
|
|
7
|
+
background-size: 20px 20px;
|
|
8
|
+
background-repeat: repeat;
|
|
9
|
+
border:2px solid transparent;
|
|
10
|
+
background-clip: content-box;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
>div{
|
|
13
|
+
background: #fff;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
border: 1px solid transparent;
|
|
16
|
+
display: inline-block;
|
|
17
|
+
}
|
|
18
18
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function getChanged(current_props, previous_props) {
|
|
2
|
-
var changed = [];
|
|
3
|
-
keys(previous_props, current_props).forEach(function (key) {
|
|
4
|
-
if (key.charAt(0) === "$") return;
|
|
5
|
-
if (!isSame(current_props[key], previous_props[key])) changed.push(key);
|
|
6
|
-
});
|
|
7
|
-
return changed;
|
|
1
|
+
function getChanged(current_props, previous_props) {
|
|
2
|
+
var changed = [];
|
|
3
|
+
keys(previous_props, current_props).forEach(function (key) {
|
|
4
|
+
if (key.charAt(0) === "$") return;
|
|
5
|
+
if (!isSame(current_props[key], previous_props[key])) changed.push(key);
|
|
6
|
+
});
|
|
7
|
+
return changed;
|
|
8
8
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
function getChanges(current_props, previous_props) {
|
|
2
|
-
if (!isObject(current_props) && !isObject(previous_props)) return !shallowEqual(current_props, previous_props);
|
|
3
|
-
var changes = null;
|
|
4
|
-
if (!isObject(current_props)) current_props = Object.create(null), changes = {};
|
|
5
|
-
if (!isObject(previous_props)) previous_props = Object.create(null), changes = {};
|
|
6
|
-
keys(previous_props, current_props).forEach(function (key) {
|
|
7
|
-
if (key.charAt(0) === "$") return;
|
|
8
|
-
if (!shallowEqual(current_props[key], previous_props[key])) {
|
|
9
|
-
if (!changes) changes = {};
|
|
10
|
-
changes[key] = { previous: previous_props[key], current: current_props[key] };
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
return changes;
|
|
1
|
+
function getChanges(current_props, previous_props) {
|
|
2
|
+
if (!isObject(current_props) && !isObject(previous_props)) return !shallowEqual(current_props, previous_props);
|
|
3
|
+
var changes = null;
|
|
4
|
+
if (!isObject(current_props)) current_props = Object.create(null), changes = {};
|
|
5
|
+
if (!isObject(previous_props)) previous_props = Object.create(null), changes = {};
|
|
6
|
+
keys(previous_props, current_props).forEach(function (key) {
|
|
7
|
+
if (key.charAt(0) === "$") return;
|
|
8
|
+
if (!shallowEqual(current_props[key], previous_props[key])) {
|
|
9
|
+
if (!changes) changes = {};
|
|
10
|
+
changes[key] = { previous: previous_props[key], current: current_props[key] };
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return changes;
|
|
14
14
|
}
|