efront 3.18.2 → 3.18.3
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/pivot/link/chat.js +2 -8
- package/coms/basic/cross_.js +8 -1
- package/coms/frame/chat.html +1 -1
- package/coms/frame/chat.js +13 -1
- package/coms/frame/chat.less +3 -3
- package/coms/frame/list.js +13 -4
- package/coms/maps/baidu.js +6 -1
- package/coms/maps/gaode.js +3 -0
- package/coms/maps/google.js +2 -2
- package/coms/maps/osm.js +1 -1
- package/coms/pivot/pedit.less +3 -0
- package/coms/pivot/plist.js +7 -1
- package/coms/random/sfz.js +154 -0
- package/coms/reptile/cross.js +9 -4
- package/coms/zimoli/contextmenu.js +1 -19
- package/coms/zimoli/createItemTarget.js +8 -2
- package/coms/zimoli/list.js +1 -1
- package/coms/zimoli/maps.js +323 -144
- package/coms/zimoli/maps.less +8 -0
- package/coms/zimoli/maps_test.html +2 -0
- package/coms/zimoli/maps_test.js +37 -28
- package/coms/zimoli/maps_test.less +4 -6
- package/coms/zimoli/menu.js +2 -2
- package/coms/zimoli/menuList.js +3 -2
- package/coms/zimoli/onmousewheel.js +1 -0
- package/coms/zimoli/popup.js +2 -1
- package/coms/zimoli/render.js +3 -1
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/apps/pivot/link/chat.js
CHANGED
|
@@ -12,17 +12,11 @@ async function link(id, page) {
|
|
|
12
12
|
var xhr = null;
|
|
13
13
|
while (true) {
|
|
14
14
|
if (removed) break;
|
|
15
|
-
xhr = data.from("care", { id }
|
|
16
|
-
|
|
17
|
-
var { msglist } = page.$scope;
|
|
18
|
-
var chat = page.querySelector("chat");
|
|
19
|
-
chat.go(msglist.length ? msglist.length - 1 : 0);
|
|
20
|
-
});
|
|
21
|
-
await xhr;
|
|
15
|
+
xhr = data.from("care", { id });
|
|
16
|
+
page.push(await xhr);
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
19
|
function main(id) {
|
|
25
|
-
console.log(id)
|
|
26
20
|
var page = frame$chat();
|
|
27
21
|
care(page, 'send', function (msg) {
|
|
28
22
|
data.from("cast", { id: page.roomid, msg });
|
package/coms/basic/cross_.js
CHANGED
|
@@ -230,12 +230,16 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
+
var is_gb2312 = /^[gbk][^e]/i.test(method);
|
|
234
|
+
if (is_gb2312) method = method.slice(1);
|
|
233
235
|
if (nocross) {
|
|
234
236
|
extend(realHeaders, _headers);
|
|
235
237
|
xhr.open(method, url);
|
|
236
238
|
} else {
|
|
237
239
|
xhr.open(method, getCrossUrl(url, _headers));
|
|
238
240
|
}
|
|
241
|
+
if (is_gb2312) xhr.overrideMimeType("text/plain; charset=gb2312");
|
|
242
|
+
|
|
239
243
|
Object.keys(realHeaders).forEach(key => setRequestHeader.call(xhr, key, realHeaders[key]));
|
|
240
244
|
if (!isEmpty(datas)) send.call(xhr, datas);
|
|
241
245
|
else send.call(xhr);
|
|
@@ -286,7 +290,10 @@ function addDirect(a) {
|
|
|
286
290
|
if (typeof a === 'string' || a instanceof RegExp) cors_hosts.push(a);
|
|
287
291
|
}
|
|
288
292
|
function notCross(domain) {
|
|
289
|
-
if (!base ||
|
|
293
|
+
if (!base ||
|
|
294
|
+
location_href && location_href === domain.slice(0, location_href.length) ||
|
|
295
|
+
!/^https?\:\/\/|^s?\/\//.test(domain) ||
|
|
296
|
+
domain.replace(domainReg, '$2') === base.replace(domainReg, '$2')) return true;
|
|
290
297
|
for (var cx = 0, dx = cors_hosts.length; cx < dx; cx++) {
|
|
291
298
|
var host = cors_hosts[cx];
|
|
292
299
|
if (host instanceof RegExp) {
|
package/coms/frame/chat.html
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</padding>
|
|
12
12
|
</chat>
|
|
13
13
|
<div textarea @mousedown="this.firstChild.focus()">
|
|
14
|
-
<div @
|
|
14
|
+
<div @keydown.alt.enter="send()" contenteditable="true" -model="text"></div>
|
|
15
15
|
</div>
|
|
16
16
|
</grid>
|
|
17
17
|
<div foot>
|
package/coms/frame/chat.js
CHANGED
|
@@ -17,8 +17,20 @@ function msg(elem, { m: data }, parentScopes) {
|
|
|
17
17
|
function chat(title = '会话窗口') {
|
|
18
18
|
var page = view();
|
|
19
19
|
page.innerHTML = template;
|
|
20
|
-
drag.on(page.
|
|
20
|
+
drag.on(page.firstElementChild, page);
|
|
21
21
|
resize.on(page);
|
|
22
|
+
page.push = function (msgs) {
|
|
23
|
+
var { msglist } = this.$scope;
|
|
24
|
+
msglist.push.apply(msglist, msgs);
|
|
25
|
+
var chat = page.querySelector("chat");
|
|
26
|
+
var lastmsg = chat.getLastVisibleElement();
|
|
27
|
+
if (msgs.length && (!lastmsg || lastmsg.offsetTop + lastmsg.offsetHeight === chat.scrollHeight)) {
|
|
28
|
+
chat.go(msglist.length ? msglist.length - 1 : 0);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
page.renders = [function () {
|
|
32
|
+
this.$scope.resize(this.$scope.body);
|
|
33
|
+
}];
|
|
22
34
|
renderWithDefaults(page, {
|
|
23
35
|
chat: list,
|
|
24
36
|
title,
|
package/coms/frame/chat.less
CHANGED
|
@@ -102,7 +102,7 @@ chat {
|
|
|
102
102
|
height: 100%;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
.editor-height(
|
|
105
|
+
.editor-height(96px);
|
|
106
106
|
|
|
107
107
|
[textarea] {
|
|
108
108
|
display: block;
|
|
@@ -114,13 +114,13 @@ chat {
|
|
|
114
114
|
border: none;
|
|
115
115
|
outline: none;
|
|
116
116
|
border-top: 1px solid #000;
|
|
117
|
-
border-bottom:
|
|
117
|
+
border-bottom: 28px solid transparent;
|
|
118
118
|
ime-mode: active;
|
|
119
119
|
overflow: auto;
|
|
120
120
|
|
|
121
121
|
>div {
|
|
122
122
|
height: auto;
|
|
123
|
-
min-height:
|
|
123
|
+
min-height: 52px;
|
|
124
124
|
width: 100%;
|
|
125
125
|
vertical-align: top;
|
|
126
126
|
padding: 6px 16px;
|
package/coms/frame/list.js
CHANGED
|
@@ -2,11 +2,20 @@ function main(title, { fields, options: options0, load, remove }, edit_ref) {
|
|
|
2
2
|
prepare(edit_ref);
|
|
3
3
|
var page = document.createElement("div");
|
|
4
4
|
var edit = function (o) {
|
|
5
|
+
if (!edit_ref) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
var callback = function () {
|
|
9
|
+
page.$scope.load();
|
|
10
|
+
};
|
|
11
|
+
if (isFunction(edit_ref)) {
|
|
12
|
+
var p = edit_ref(o, callback);
|
|
13
|
+
if (p) on('submited')(p, callback);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
5
16
|
zimoli.prepare(edit_ref, function () {
|
|
6
|
-
var p = popup(edit_ref, { fields, data: o
|
|
7
|
-
on("submited")(p,
|
|
8
|
-
page.$scope.load();
|
|
9
|
-
})
|
|
17
|
+
var p = popup(edit_ref, { fields, data: o})
|
|
18
|
+
on("submited")(p, callback);
|
|
10
19
|
})
|
|
11
20
|
};
|
|
12
21
|
page.innerHTML = template;
|
package/coms/maps/baidu.js
CHANGED
|
@@ -27,14 +27,19 @@ var baidu = {
|
|
|
27
27
|
getURL: function (x, y, z) {
|
|
28
28
|
if (x < 0) x = "M" + -x;
|
|
29
29
|
if (y < 0) y = "M" + -y;
|
|
30
|
-
return `
|
|
30
|
+
return `https://maponline2.bdimg.com/tile/?qt=tile&x=${x}&y=${y}&z=${z}&styles=pl&scaler=1&udt=20180721`;
|
|
31
31
|
},
|
|
32
32
|
lat2y,
|
|
33
33
|
lng2x,
|
|
34
34
|
x2lng,
|
|
35
35
|
y2lat,
|
|
36
|
+
minLng: -180,
|
|
37
|
+
maxLng: 180,
|
|
36
38
|
direction: -1,
|
|
37
39
|
lat2tile(lat, zoom) {
|
|
38
40
|
return Math.ceil(this.lat2y(lat, zoom));
|
|
41
|
+
},
|
|
42
|
+
lng2tile(lng, zoom) {
|
|
43
|
+
return Math.floor(this.lng2x(lng, zoom));
|
|
39
44
|
}
|
|
40
45
|
}
|
package/coms/maps/google.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var google = {
|
|
2
|
-
url: `
|
|
3
|
-
url: `
|
|
2
|
+
url: `https://mt{1-3}.google.cn/vt/lyrs=h&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}`,
|
|
3
|
+
url: `https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s%40781&hl=zh-CN&gl=CN&x={x}&y={y}&z={z}&src=app&scale=1&from=app`
|
|
4
4
|
};
|
package/coms/maps/osm.js
CHANGED
package/coms/pivot/plist.js
CHANGED
|
@@ -9,5 +9,11 @@ function main(title, type, fields, edit_ref, options, idkey = fields[0].key) {
|
|
|
9
9
|
},
|
|
10
10
|
fields,
|
|
11
11
|
options,
|
|
12
|
-
}, edit_ref)
|
|
12
|
+
}, edit_ref ? edit_ref : function (o) {
|
|
13
|
+
var p = pedit(title, type, { data: o, fields });
|
|
14
|
+
p.initialStyle = popup.style;
|
|
15
|
+
popup(p, true);
|
|
16
|
+
move.setPosition(p, [.5, .5]);
|
|
17
|
+
return p;
|
|
18
|
+
});
|
|
13
19
|
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// data.setConfig(data.parseConfig(`
|
|
2
|
+
// https://shenfen.supfree.net/:
|
|
3
|
+
// sheng: gget:[].bblue #title=!title&href=!href&short=!innerText
|
|
4
|
+
// shi: gget:[].bblue sheng.asp?sheng#title=!title&href=!href&short=!innerText
|
|
5
|
+
// qu: gget:[].bblue shi.asp?sheng&shi#title=!title&href=!href&short=!innerText
|
|
6
|
+
// `));
|
|
7
|
+
// var setid = function (a) {
|
|
8
|
+
// a = a.filter(a => a.title);
|
|
9
|
+
// for (var o of a) {
|
|
10
|
+
// o.name = o.title.replace(/身份证|号码/g, "").replace(/市县/, '市');
|
|
11
|
+
// o.id = o.href.replace(/^([^\d]+)\.asp\?[\s\S]*\1\=(\d+)[\s\S]*?$/g, "$2");
|
|
12
|
+
// delete o.href;
|
|
13
|
+
// delete o.title;
|
|
14
|
+
// }
|
|
15
|
+
// return a;
|
|
16
|
+
// };
|
|
17
|
+
// var prefix = {};
|
|
18
|
+
// var tree = {};
|
|
19
|
+
// await queue.call(await data.from("sheng", setid), async function (h) {
|
|
20
|
+
// var shi = await data.from("shi", { sheng: h.id }, setid);
|
|
21
|
+
// var so = {};
|
|
22
|
+
// tree[h.short] = so;
|
|
23
|
+
// while (shi.length) {
|
|
24
|
+
// var s = shi.pop();
|
|
25
|
+
// var qu = await data.from("qu", { sheng: h.id, shi: s.id }, setid);
|
|
26
|
+
// var qo = {};
|
|
27
|
+
// so[s.short] = qo;
|
|
28
|
+
// while (qu.length) {
|
|
29
|
+
// var q = qu.pop();
|
|
30
|
+
// var id = +`${h.id}${s.id}${q.id}`;
|
|
31
|
+
// qo[q.short] = id;
|
|
32
|
+
// prefix[id] = { id, sheng: h.short, shi: s.short, qu: q.short };
|
|
33
|
+
// }
|
|
34
|
+
// }
|
|
35
|
+
// }, 9);
|
|
36
|
+
// prefix = Object.keys(prefix).sort((a, b) => a - b).map(k => prefix[k]);
|
|
37
|
+
// console.log(tree)
|
|
38
|
+
// var prefix = [...];
|
|
39
|
+
// console.log(prefix)
|
|
40
|
+
// for (var cx = 0, ci = 0, cs = prefix[0]; cx < prefix.length; cx++) {
|
|
41
|
+
// if (prefix[cx + 1] !== prefix[cx] + 1) {
|
|
42
|
+
// prefix.splice(ci + 1, cx - ci, prefix[cx] - prefix[ci]);
|
|
43
|
+
// if (ci > 1) {
|
|
44
|
+
// var temp = prefix[ci];
|
|
45
|
+
// prefix[ci] -= cs;
|
|
46
|
+
// cs = temp;
|
|
47
|
+
// }
|
|
48
|
+
// cx = ci + 1;
|
|
49
|
+
// ci = cx + 1;
|
|
50
|
+
// };
|
|
51
|
+
// }
|
|
52
|
+
// console.log(prefix)
|
|
53
|
+
|
|
54
|
+
var prefix = function (source) {
|
|
55
|
+
var src = [];
|
|
56
|
+
do {
|
|
57
|
+
var s = source[0];
|
|
58
|
+
src.push(s);
|
|
59
|
+
if (source[1] === 0) {
|
|
60
|
+
if (source.length <= 2) break;
|
|
61
|
+
source[2] += source[0], source.shift(), source.shift();
|
|
62
|
+
}
|
|
63
|
+
else source[0]++, source[1]--;
|
|
64
|
+
} while (source.length);
|
|
65
|
+
return src;
|
|
66
|
+
}([110101, 8, 10, 6, 117, 1, 9873, 14, 120, 0, 2, 0, 2, 0, 9876, 7, 20, 0, 2, 10, 58, 4, 20, 7, 20, 0, 2, 2, 4, 0, 2, 1, 52, 2, 20, 3, 20, 3, 80, 3, 5, 0, 15, 0, 2, 12, 58, 0, 20, 2, 20, 14, 60, 1, 20, 3, 20, 17, 60, 3, 20, 2, 4, 1, 16, 12, 80, 3, 20, 7, 80, 2, 20, 9, 60, 3, 20, 2, 21, 4, 6, 0, 53, 1, 20, 1, 20, 7, 60, 1, 8920, 0, 4, 5, 16, 2, 60, 0, 20, 2, 10, 1, 10, 6, 80, 2, 10, 0, 10, 1, 80, 1, 10, 0, 10, 0, 2, 8, 58, 0, 20, 1, 20, 1, 3, 1, 57, 0, 20, 2, 20, 3, 80, 1, 20, 8, 60, 0, 20, 1, 20, 9, 60, 1, 20, 1, 20, 11, 60, 0, 20, 1, 20, 13, 60, 1, 20, 1, 20, 9, 60, 1, 1020, 1, 21, 1, 3, 9, 176, 1, 20, 3, 6, 0, 2, 2, 4, 0, 168, 2, 20, 2, 4, 0, 2, 9, 74, 2, 22, 4, 6, 4, 7372, 4, 20, 4, 80, 6, 20, 2, 80, 3, 100, 3, 20, 5, 7, 2, 73, 1, 20, 5, 60, 0, 21, 0, 19, 6, 80, 1, 20, 6, 60, 4, 20, 1, 20, 5, 80, 1, 20, 8, 60, 0, 1120, 5, 21, 1, 5, 4, 74, 1, 20, 3, 80, 1, 21, 5, 179, 1, 21, 9, 79, 1, 23, 3, 5, 3, 5, 0, 67, 0, 21, 6, 79, 0, 21, 5, 99, 2, 57180, 5, 10, 3, 11, 2, 59, 0, 20, 3, 10, 2, 13, 0, 57, 2, 20, 3, 10, 0, 10, 0, 2, 0, 58, 0, 20, 3, 10, 0, 10, 2, 80, 4, 20, 1, 80, 3, 23, 0, 57, 1, 20, 2, 10, 0, 15, 1, 55, 1, 20, 3, 10, 0, 70, 1, 20, 4, 10, 0, 10, 1, 80, 4, 10, 0, 10, 0, 60, 0, 20, 2, 20, 1, 80, 1, 3, 0, 17, 0, 2, 1, 58, 1, 20, 2, 20, 1, 3, 0, 57, 1, 20, 3, 20, 1, 60, 0, 8620, 5, 11, 0, 10, 0, 59, 2, 20, 3, 10, 0, 10, 0, 60, 3, 20, 2, 21, 1, 59, 1, 20, 2, 20, 1, 80, 2, 20, 0, 2, 1, 58, 1, 20, 1, 20, 2, 4, 0, 56, 0, 20, 1, 20, 3, 80, 1, 20, 1, 60, 1, 1520, 5, 23, 0, 2, 0, 7675, 7, 20, 0, 2, 6, 58, 3, 20, 7, 20, 0, 2, 2, 4, 0, 2, 2, 52, 0, 20, 6, 20, 0, 60, 1, 20, 6, 20, 1, 80, 2, 4, 1, 16, 3, 80, 5, 20, 3, 80, 15, 21, 0, 59, 0, 20, 4, 10, 0, 11, 0, 4, 0, 2, 0, 5, 0, 48, 1, 20, 3, 20, 0, 80, 4, 23, 1, 57, 0, 2, 2, 18, 1, 20, 0, 2, 1, 58, 1, 20, 1, 20, 5, 60, 2, 1020, 3, 23, 2, 6, 2, 391, 2, 77380, 0, 2, 7, 9, 8, 118, 0, 9871, 6, 10, 5, 10, 4, 80, 5, 10, 0, 70, 2, 20, 4, 10, 0, 10, 3, 60, 1, 20, 1, 3, 1, 7, 1, 70, 2, 20, 6, 10, 0, 70, 5, 20, 1, 10, 0, 10, 0, 2, 0, 58, 3, 20, 0, 2, 3, 18, 3, 80, 3, 10, 0, 10, 0, 5, 0, 3, 2, 53, 0, 19, 2, 20, 4, 7, 0, 53, 1, 20, 2, 10, 0, 12, 0, 4, 0, 54, 0, 3, 0, 4, 0, 13, 1, 10, 1, 10, 0, 60, 2, 20, 2, 80, 3, 20, 1, 20, 3, 8780, 5, 7, 2, 14, 0, 5, 0, 54, 4, 20, 0, 2, 3, 8, 1, 14, 2, 56, 2, 20, 3, 21, 0, 2, 0, 2, 3, 55, 1, 20, 1, 10, 0, 10, 0, 3, 0, 57, 2, 20, 2, 20, 2, 80, 1, 20, 0, 3, 0, 57, 2, 20, 2, 20, 0, 2, 0, 3, 1, 55, 3, 20, 2, 20, 1, 3, 1, 57, 0, 20, 2, 20, 1, 80, 3, 20, 3, 60, 1, 20, 1, 20, 6, 60, 0, 1320, 1, 21, 1, 3, 4, 7576, 3, 10, 0, 10, 2, 80, 3, 6, 0, 14, 2, 80, 3, 10, 0, 10, 2, 80, 5, 20, 0, 80, 4, 20, 0, 80, 3, 20, 0, 80, 2, 10, 0, 10, 0, 80, 2, 10, 0, 11, 6, 59, 0, 120, 3, 20, 3, 80, 2, 21, 0, 2, 2, 57, 1, 20, 3, 20, 6, 60, 1, 20, 1, 20, 3, 80, 1, 20, 3, 80, 2, 20, 4, 80, 1, 20, 2, 80, 1, 20, 2, 80, 1, 20, 4, 60, 0, 520, 0, 21, 1, 3, 2, 76, 1, 21, 1, 7, 2, 72, 0, 21, 1, 3, 1, 276, 0, 20, 2, 7180, 4, 10, 0, 10, 4, 7, 0, 53, 1, 20, 5, 10, 2, 90, 4, 20, 1, 80, 2, 20, 0, 2, 7, 58, 0, 20, 4, 20, 0, 3, 3, 57, 2, 20, 2, 21, 7, 59, 0, 20, 1, 20, 4, 60, 3, 20, 1, 20, 4, 60, 0, 20, 1, 20, 5, 60, 1, 1220, 2, 24, 0, 2, 4, 7874, 4, 10, 0, 10, 3, 80, 2, 21, 0, 59, 0, 20, 1, 12, 0, 8, 2, 80, 2, 20, 0, 2, 7, 58, 0, 20, 1, 20, 0, 80, 1, 21, 0, 59, 0, 20, 1, 20, 14, 60, 1, 20, 2, 20, 9, 60, 0, 20, 1, 20, 5, 60, 2, 20, 1, 20, 9, 80, 1, 20, 9, 60, 0, 1020, 3, 25, 3, 6, 1, 69, 1, 20, 5, 8, 2, 5, 0, 67, 1, 20, 9, 11, 0, 70, 0, 20, 7, 9, 1, 7570, 4, 11, 1, 11, 3, 58, 0, 20, 2, 4, 0, 6, 3, 70, 4, 20, 5, 20, 2, 80, 5, 80, 0, 20, 2, 20, 2, 80, 1, 10, 2, 23, 0, 47, 6, 20, 4, 23, 1, 57, 5, 20, 1, 10, 0, 15, 6, 55, 2, 20, 2, 10, 0, 10, 0, 2, 0, 59, 1, 19, 1, 80, 2, 20, 1, 20, 1, 80, 2, 100, 1, 10, 1, 10, 8, 80, 1, 20, 7, 60, 1, 20, 1, 20, 5, 60, 0, 20, 1, 20, 5, 80, 1, 20, 7, 580, 0, 20, 0, 2, 2, 5, 0, 2, 0, 571, 0, 21, 4, 6, 2, 37173, 5, 7, 0, 14, 0, 59, 4, 20, 4, 10, 0, 10, 4, 80, 6, 10, 0, 11, 7, 59, 0, 20, 3, 10, 0, 10, 2, 4, 0, 56, 1, 20, 5, 10, 0, 11, 1, 4, 1, 55, 0, 20, 2, 10, 0, 10, 1, 80, 3, 10, 0, 10, 0, 3, 4, 57, 1, 20, 3, 10, 0, 10, 2, 4, 0, 56, 2, 20, 1, 21, 1, 4, 2, 75, 1, 22, 2, 58, 1, 20, 1, 20, 2, 80, 1, 20, 1, 3, 0, 57, 1, 20, 2, 20, 9, 60, 0, 20, 2, 20, 5, 60, 0, 20, 2, 20, 7, 80, 1, 20, 7, 60, 0, 20, 1, 20, 8, 980, 1, 20, 7, 80, 0, 20, 8, 7280, 6, 10, 6, 90, 4, 21, 0, 59, 0, 20, 2, 20, 4, 60, 0, 120, 5, 20, 0, 4, 4, 56, 2, 20, 1, 5, 1, 15, 0, 3, 2, 58, 2, 19, 3, 100, 1, 3, 0, 17, 1, 60, 0, 20, 1, 20, 2, 60, 3, 20, 2, 21, 2, 59, 0, 2, 0, 4, 0, 14, 1, 20, 6, 60, 1, 20, 1, 20, 3, 60, 0, 20, 1, 80, 0, 1420, 1, 21, 1, 3, 3, 6179, 2, 17, 0, 1080, 4, 10, 0, 10, 1, 3, 0, 57, 0, 20, 3, 10, 0, 10, 0, 2, 2, 58, 0, 20, 1, 3, 0, 17, 0, 60, 1, 20, 7, 10, 1, 10, 3, 5, 0, 55, 1, 20, 2, 10, 0, 10, 4, 6, 2, 54, 0, 20, 2, 10, 0, 10, 0, 2, 1, 3, 0, 55, 1, 20, 2, 20, 5, 60, 0, 20, 1, 10, 0, 10, 1, 80, 2, 20, 2, 60, 0, 20, 2, 20, 7, 60, 0, 20, 2, 20, 8, 80, 1, 20, 9, 60, 0, 20, 1, 20, 1, 60, 1, 1120, 2, 21, 0, 2, 0, 477, 0, 100, 0, 21, 5, 8, 0, 6971, 6, 10, 3, 70, 3, 20, 3, 20, 3, 8, 0, 3, 1, 49, 1, 20, 0, 2, 5, 98, 3, 20, 0, 80, 0, 5, 9, 17, 0, 59, 1, 19, 7, 80, 3, 20, 0, 2, 2, 78, 4, 20, 3, 10, 0, 12, 0, 2, 0, 56, 2, 20, 2, 22, 0, 58, 2, 220, 2, 22, 3, 60, 1, 18, 2, 21, 2, 59, 0, 20, 1, 20, 3, 5, 1, 55, 0, 20, 1, 20, 0, 2, 0, 58, 0, 20, 1, 20, 4, 80, 1, 20, 0, 2, 0, 58, 0, 20, 1, 20, 0, 2, 0, 2, 2, 56, 1, 20, 0, 100, 0, 3100, 1, 20, 1, 80, 1, 20, 1, 3, 0, 57, 0, 20, 1, 20, 2, 60, 0, 4720, 5, 10, 0, 10, 6, 80, 4, 10, 0, 10, 5, 80, 4, 10, 0, 10, 11, 80, 0, 2, 2, 8, 0, 10, 2, 60, 0, 20, 2, 11, 0, 9, 0, 80, 2, 20, 0, 60, 0, 20, 2, 20, 1, 80, 3, 20, 0, 60, 0, 20, 1, 20, 3, 60, 0, 20, 1, 20, 10, 80, 1, 20, 2, 80, 1, 20, 8, 60, 0, 20, 1, 20, 3, 60, 0, 20, 1, 20, 4, 60, 0, 620, 0, 21, 2, 4, 7, 75, 0, 22, 8, 179, 0, 22, 0, 3, 1, 174, 0, 21, 10, 79, 1, 22, 8, 7278, 6, 24, 3, 5, 1, 3, 3, 68, 7, 100, 0, 8800, 2, 4, 2, 20, 3, 5, 1, 3, 6, 31068, 14, 121, 16, 18, 3, 141, 3, 9720, 0, 3, 4, 8, 3, 9, 4, 8, 0, 2, 1, 50, 3, 120, 3, 10, 0, 10, 1, 80, 2, 10, 0, 10, 1, 80, 3, 20, 1, 3, 1, 77, 0, 2, 0, 20, 0, 3, 0, 55, 2, 20, 0, 2, 1, 19, 5, 59, 0, 20, 1, 10, 1, 10, 3, 80, 3, 20, 2, 80, 1, 10, 0, 13, 1, 4, 0, 73, 1, 10, 2, 12, 1, 3, 0, 3, 0, 3, 1, 49, 0, 120, 3, 20, 4, 60, 0, 20, 1, 20, 4, 80, 1, 20, 8, 80, 1, 20, 2, 60, 0, 20, 1, 20, 4, 60, 0, 20, 1, 20, 6, 80, 1, 20, 2, 80, 1, 20, 1, 60, 0, 920, 1, 20, 2, 8, 1, 72, 0, 21, 6, 99, 12, 100, 17, 80, 0, 21, 15, 279, 0, 20, 2, 100, 5, 6280, 2, 10, 3, 10, 2, 60, 0, 20, 2, 20, 1, 80, 2, 20, 9, 60, 1, 20, 1, 20, 4, 1780, 0, 21, 8, 79, 0, 21, 6, 79, 0, 21, 6, 79, 0, 25, 4, 75, 0, 21, 14, 79, 1, 21, 1, 3, 7, 7376, 2, 10, 2, 10, 1, 3, 5, 57, 0, 120, 1, 20, 5, 7, 0, 53, 0, 20, 1, 20, 7, 80, 1, 20, 3, 80, 1, 20, 9, 80, 1, 20, 3, 80, 1, 20, 8, 80, 1, 20, 6, 1180, 0, 21, 9, 179, 0, 21, 7, 9, 0, 170, 1, 21, 10, 99, 7, 80, 0, 21, 8, 79, 0, 21, 1, 79, 0, 21, 10, 79, 0, 21, 3, 79, 2, 21, 2, 99, 3, 100, 0, 2, 2, 98, 2, 100, 7, 6580, 1, 20, 6, 2000, 8, 11, 5, 89, 8, 10, 2, 70, 0, 21, 16, 99, 9, 100, 7, 100, 6, 67480, 3, 10, 5, 10, 1, 3, 2, 77, 3, 20, 1, 80, 3, 20, 3, 5, 5, 75, 3, 21, 9, 59, 0, 20, 1, 20, 7, 60, 1, 20, 1, 20, 11, 80, 1, 20, 9, 80, 1, 20, 10, 80, 1, 20, 8, 80, 1, 20, 5, 1380, 0, 21, 8, 79, 0, 21, 5, 179, 0, 21, 10, 7379, 4, 10, 0, 10, 2, 80, 0, 100, 1, 20, 0, 80, 2, 20, 2, 80, 2, 20, 4, 80, 1, 20, 2, 80, 1, 20, 4, 80, 1, 20, 5, 80, 1, 20, 3, 60, 1, 20, 1, 20, 6, 80, 1, 20, 5, 980, 2, 22, 3, 78, 0, 21, 4, 79, 0, 21, 1, 4, 0, 95, 0, 3, 5, 197, 0, 2, 7, 78, 0, 21, 5, 79, 0, 20, 6, 80, 0, 20, 6, 80, 0, 20, 6, 7080, 4, 20, 2, 2000, 7, 100, 3, 100, 3, 200, 4, 100, 5, 100, 5, 80, 1, 20, 2, 7280, 5, 10, 0, 10, 1, 60, 0, 20, 4, 20, 2, 80, 1, 20, 3, 60, 1, 20, 1, 21, 3, 79, 1, 20, 1, 1700, 5, 7880, 7, 20, 0, 80, 4, 1900, 0, 21, 1, 79, 0, 21, 1, 79, 2, 22, 2, 4, 1, 374, 0, 21, 1, 79, 0, 21, 7, 79, 0, 21, 7, 79, 0, 21, 2, 79, 0, 20, 10, 80, 0, 20, 6, 780, 2, 20, 7, 180, 1, 20, 0, 2, 3, 78, 0, 20, 5, 4680, 3]);
|
|
67
|
+
// var prefix = function (source) {
|
|
68
|
+
// var src = [];
|
|
69
|
+
// do {
|
|
70
|
+
// var sheng = source[0]++;
|
|
71
|
+
// src.push(sheng);
|
|
72
|
+
// if (source[0] > source[1]) source.shift(), source.shift();
|
|
73
|
+
// } while (source.length);
|
|
74
|
+
// return src;
|
|
75
|
+
// }([11, 15, 21, 23, 31, 37, 41, 46, 50, 54, 61, 65, 71, 71, 81, 82]);
|
|
76
|
+
var birth = function (q) {
|
|
77
|
+
var d = new Date(1000, q % 12, 1 + q % 31);
|
|
78
|
+
d = new Date(+d + (Date.now() - d) * (1 - Math.pow(.5, q % 9 + 2)));
|
|
79
|
+
return d;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @param {Date} d;
|
|
83
|
+
*/
|
|
84
|
+
var date = function (d = birth(), y = d.getFullYear()) {
|
|
85
|
+
return y * 10000 + (d.getMonth() + 1) * 100 + d.getDate();
|
|
86
|
+
};
|
|
87
|
+
var order = function (r = Math.random(), q = r * 20220309 | 0) {
|
|
88
|
+
return (Math.pow(r, q % 10 + 4) * 498 + 1 | 0);
|
|
89
|
+
};
|
|
90
|
+
var code = function (q = Math.random() * 202203091636) {
|
|
91
|
+
return String(prefix[q % prefix.length]);
|
|
92
|
+
};
|
|
93
|
+
var parse = function (r) {
|
|
94
|
+
var p, y, m, d, o, s, x;
|
|
95
|
+
if (typeof r === 'string') switch (r.length) {
|
|
96
|
+
case 18:
|
|
97
|
+
s = r.slice(17, 18);
|
|
98
|
+
case 17:
|
|
99
|
+
o = r.slice(14, 17);
|
|
100
|
+
case 14:
|
|
101
|
+
d = r.slice(12, 14);
|
|
102
|
+
case 12:
|
|
103
|
+
m = r.slice(10, 12);
|
|
104
|
+
case 10:
|
|
105
|
+
y = r.slice(6, 10);
|
|
106
|
+
case 6:
|
|
107
|
+
p = r.slice(0, 6);
|
|
108
|
+
break;
|
|
109
|
+
case 8:
|
|
110
|
+
y = r.slice(0, 4);
|
|
111
|
+
m = r.slice(4, 6);
|
|
112
|
+
d = r.slice(6, 8);
|
|
113
|
+
break;
|
|
114
|
+
case 4:
|
|
115
|
+
y = r.slice(0, 4);
|
|
116
|
+
break;
|
|
117
|
+
case 3:
|
|
118
|
+
o = r >> 1;
|
|
119
|
+
case 1:
|
|
120
|
+
x = o & 1;
|
|
121
|
+
break;
|
|
122
|
+
case 2:
|
|
123
|
+
m = r;
|
|
124
|
+
}
|
|
125
|
+
else if (r === 1 || r === 0) x = r;
|
|
126
|
+
return [p, y, m, d, o, x, s];
|
|
127
|
+
}
|
|
128
|
+
function sex(r = Math.random()) {
|
|
129
|
+
return r < .5 | 0;
|
|
130
|
+
}
|
|
131
|
+
function sfz(r) {
|
|
132
|
+
var p17, middle;
|
|
133
|
+
if (typeof r === 'string' || r === 1 || r === 0) {
|
|
134
|
+
var r0 = Math.random();
|
|
135
|
+
var q = r0 * 20220309 | 0;
|
|
136
|
+
var d = birth(q);
|
|
137
|
+
var [p = code(q), y = d.getFullYear(), m = d.getMonth() + 1, d = d.getDate(), o = order(r0), x = sex(r0)] = parse(r);
|
|
138
|
+
middle = (y * 10000 + m * 100 + d) * 1000 + (o << 1 | x);
|
|
139
|
+
p17 = p + middle;
|
|
140
|
+
}
|
|
141
|
+
if (!p17) {
|
|
142
|
+
var q = r * 20220309 | 0;
|
|
143
|
+
var d = birth(q);
|
|
144
|
+
middle = (d.getFullYear() * 10000 + (d.getMonth() + 1) * 100 + d.getDate()) * 1000 + (order(r) << 1 | sex(r))
|
|
145
|
+
p17 = code(q) + middle;
|
|
146
|
+
}
|
|
147
|
+
var s = 0;
|
|
148
|
+
var a = [2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7];
|
|
149
|
+
for (var p of p17) {
|
|
150
|
+
s += p * a.pop();
|
|
151
|
+
}
|
|
152
|
+
var end = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2][s % 11];
|
|
153
|
+
return p17 + end;
|
|
154
|
+
}
|
package/coms/reptile/cross.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
return cross_.bind(function (callback, onerror) {
|
|
2
|
-
var response, responseObject, responseType = "", error;
|
|
2
|
+
var response, responseObject, responseType = "", decoder, error;
|
|
3
3
|
var xhr = {
|
|
4
4
|
status: 0,
|
|
5
5
|
readyState: 0,
|
|
@@ -11,7 +11,7 @@ return cross_.bind(function (callback, onerror) {
|
|
|
11
11
|
get response() {
|
|
12
12
|
if (responseType === "" || responseType === "text") {
|
|
13
13
|
if (this.readyState !== 4) return '';
|
|
14
|
-
return String(response);
|
|
14
|
+
return decoder ? decoder(response) : String(response);
|
|
15
15
|
}
|
|
16
16
|
else if (error) return null;
|
|
17
17
|
if (responseObject !== null) return responseObject;
|
|
@@ -20,7 +20,7 @@ return cross_.bind(function (callback, onerror) {
|
|
|
20
20
|
return response.buffer;
|
|
21
21
|
case "json":
|
|
22
22
|
if (!response) return null;
|
|
23
|
-
responseObject = JSON.parse(String(response));
|
|
23
|
+
responseObject = JSON.parse(decoder ? decoder(response) : String(response));
|
|
24
24
|
return responseObject;
|
|
25
25
|
}
|
|
26
26
|
return responseObject;
|
|
@@ -103,7 +103,12 @@ return cross_.bind(function (callback, onerror) {
|
|
|
103
103
|
setRequestHeader(key, value) {
|
|
104
104
|
this.headers[key] = value;
|
|
105
105
|
},
|
|
106
|
-
|
|
106
|
+
overrideMimeType(type) {
|
|
107
|
+
responseType = type;
|
|
108
|
+
if (/gb(k|2312|18030)/.test(type)) {
|
|
109
|
+
decoder = require("../efront/gbk2utf8");
|
|
110
|
+
}
|
|
111
|
+
},
|
|
107
112
|
};
|
|
108
113
|
return xhr;
|
|
109
114
|
}, null, undefined);
|
|
@@ -30,26 +30,8 @@ function contextmenu(target, menuItems) {
|
|
|
30
30
|
css(menu, {
|
|
31
31
|
position: "absolute",
|
|
32
32
|
});
|
|
33
|
-
popup(menu);
|
|
33
|
+
popup(menu, event);
|
|
34
34
|
menu.focus();
|
|
35
|
-
var { offsetWidth, offsetHeight } = menu;
|
|
36
|
-
var left = event.clientX, top = event.clientY;
|
|
37
|
-
if (offsetWidth + left > innerWidth) {
|
|
38
|
-
left = left - offsetWidth;
|
|
39
|
-
}
|
|
40
|
-
if (left < 0) {
|
|
41
|
-
left = 0;
|
|
42
|
-
}
|
|
43
|
-
if (offsetHeight + top > innerHeight) {
|
|
44
|
-
top = top - offsetHeight;
|
|
45
|
-
}
|
|
46
|
-
if (top < 0) {
|
|
47
|
-
top = 0;
|
|
48
|
-
}
|
|
49
|
-
css(menu, {
|
|
50
|
-
left: left + "px",
|
|
51
|
-
top: top + "px"
|
|
52
|
-
});
|
|
53
35
|
onmousedown(menu, e => e.preventDefault());
|
|
54
36
|
onblur(menu, lazy(e => remove(menu)));
|
|
55
37
|
});
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
function createItemTarget(item) {
|
|
1
|
+
function createItemTarget(item, target) {
|
|
2
2
|
var $scope = {};
|
|
3
|
-
var { itemName } = this.$src;
|
|
3
|
+
var { itemName, indexName, keyName } = this.$src;
|
|
4
4
|
if (itemName) $scope[itemName] = item;
|
|
5
5
|
else $scope.$item = item;
|
|
6
|
+
if (target && target.$scope) {
|
|
7
|
+
if (indexName) $scope[indexName] = target.$scope[indexName];
|
|
8
|
+
if (keyName) $scope[keyName] = target.$scope[keyName];
|
|
9
|
+
$scope.$index = target.$scope.$index;
|
|
10
|
+
$scope.$key = target.$scope.$key;
|
|
11
|
+
}
|
|
6
12
|
return { $scope };
|
|
7
13
|
}
|
package/coms/zimoli/list.js
CHANGED
|
@@ -351,7 +351,7 @@ function ylist(container, generator, $Y) {
|
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
};
|
|
354
|
-
|
|
354
|
+
list.getLastVisibleElement = getLastVisibleElement;
|
|
355
355
|
list.stopY = function (count, spd) {
|
|
356
356
|
var firstElement = getFirstVisibleElement();
|
|
357
357
|
var lastElement = getLastVisibleElement();
|