efront 3.20.8 → 3.20.13
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/coms/basic/cross_.js +10 -6
- package/coms/basic/lazy.js +5 -2
- package/coms/zimoli/autofocus.js +20 -0
- package/coms/zimoli/bind.js +2 -3
- package/coms/zimoli/cross.js +2 -2
- package/coms/zimoli/onmounted.js +1 -1
- package/coms/zimoli/popup.js +1 -2
- package/coms/zimoli/render.js +1 -1
- package/coms/zimoli/resize.js +25 -28
- package/coms/zimoli/script.js +1 -1
- package/coms/zimoli/scrollbar.js +1 -1
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/coms/basic/cross_.js
CHANGED
|
@@ -29,7 +29,12 @@ function isChildPath(relative, path) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
var getCrossUrl = function (domain, headers, encrypt) {
|
|
32
|
-
if (notCross(domain,
|
|
32
|
+
if (notCross(domain, encrypt)) return domain;
|
|
33
|
+
var basehost = parseURL(base).host || parseURL(location_href).host;
|
|
34
|
+
if (parseURL(domain).host === basehost) {
|
|
35
|
+
if (!encrypt) return domain;
|
|
36
|
+
domain = domain.replace(domainReg, "/$3$4");
|
|
37
|
+
}
|
|
33
38
|
var originDomain = getDomainPath(domain);
|
|
34
39
|
var _cookies = getCookies(originDomain);
|
|
35
40
|
var _headers = {};
|
|
@@ -102,7 +107,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
102
107
|
};
|
|
103
108
|
if (/^jsonp/i.test(method)) {
|
|
104
109
|
var cb = method.split('\-')[1] || 'callback';
|
|
105
|
-
|
|
110
|
+
Promise.resolve().then(function () {
|
|
106
111
|
if (!isEmpty(jsondata) && isEmpty(datas)) {
|
|
107
112
|
datas = serialize(jsondata);
|
|
108
113
|
}
|
|
@@ -112,6 +117,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
112
117
|
});
|
|
113
118
|
var xhr = jsonp(url, {
|
|
114
119
|
[cb](a) {
|
|
120
|
+
removeFromList(requests, this);
|
|
115
121
|
onload({ status: 200, response: JSON.stringify(a), toString: toResponse });
|
|
116
122
|
}
|
|
117
123
|
});
|
|
@@ -280,9 +286,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
280
286
|
else send.call(xhr);
|
|
281
287
|
digest();
|
|
282
288
|
};
|
|
283
|
-
|
|
284
|
-
setTimeout(fire, 0);
|
|
285
|
-
|
|
289
|
+
Promise.resolve().then(fire);
|
|
286
290
|
}
|
|
287
291
|
var setRequestHeader = xhr.setRequestHeader;
|
|
288
292
|
var realHeaders = Object.create(null);
|
|
@@ -335,7 +339,7 @@ function addDirect(a) {
|
|
|
335
339
|
function notCross(domain, encrypt) {
|
|
336
340
|
if (!location_href || !base || !/^https?\:\/\/|^s?\/\//.test(domain)) return true;
|
|
337
341
|
if (location_href === domain.slice(0, location_href.length) ||
|
|
338
|
-
domain.replace(domainReg, '$2') === base.replace(domainReg, '$2')) return !encrypt;
|
|
342
|
+
domain.replace(domainReg, '$2') === base.replace(domainReg, '$2') || /^\/[^\/]/.test(domain)) return !encrypt;
|
|
339
343
|
for (var cx = 0, dx = cors_hosts.length; cx < dx; cx++) {
|
|
340
344
|
var host = cors_hosts[cx];
|
|
341
345
|
if (host instanceof RegExp) {
|
package/coms/basic/lazy.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// 2.如果time小于0,传入的函数会立即执行,并忽略-time内的连续调用,time时间后触发最后一次调用
|
|
3
3
|
// 如果time传false或0 使用requestAnimationFrame代替setTimeout按第1步执行
|
|
4
4
|
// 如果time传null或undefined或NaN使用requestAnimationFrame代替setTimeout按第2步执行
|
|
5
|
-
function lazy(run, time
|
|
5
|
+
function lazy(run, time) {
|
|
6
6
|
var wait = +time ? setTimeout : requestAnimationFrame;
|
|
7
7
|
var ing, args, that;
|
|
8
8
|
var hire = function () {
|
|
@@ -49,11 +49,14 @@ function lazy(run, time = false) {
|
|
|
49
49
|
if (time >= 0) {
|
|
50
50
|
ing = wait(fire, +time);
|
|
51
51
|
}
|
|
52
|
-
else {
|
|
52
|
+
else if (time < 0) {
|
|
53
53
|
ing = run.apply(that, args);
|
|
54
54
|
if (ing instanceof Promise) ing.then(hire, hire);
|
|
55
55
|
else ing = wait(fire, -time);
|
|
56
56
|
}
|
|
57
|
+
else {
|
|
58
|
+
ing = true; wait(fire);
|
|
59
|
+
}
|
|
57
60
|
};
|
|
58
61
|
}
|
|
59
62
|
module.exports = lazy;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function autofocus(e) {
|
|
2
|
+
if (!e.renders) e.renders = [];
|
|
3
|
+
var savedElement;
|
|
4
|
+
e.renders.push(function () {
|
|
5
|
+
var parent = rootElements[rootElements.length - 1] || document.body;
|
|
6
|
+
if (savedElement === parent) {
|
|
7
|
+
if (this !== parent || getTargetIn(parent, document.activeElement)) return;
|
|
8
|
+
}
|
|
9
|
+
savedElement = parent;
|
|
10
|
+
if (/^(input|textarea)$/i.test(this.tagName) || /^true$/.test(this.contentEditable)) {
|
|
11
|
+
if (getTargetIn(parent, this)) {
|
|
12
|
+
this.focus();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else if (parent === this) {
|
|
16
|
+
var e = this.querySelector("input,textarea,[contenteditable]");
|
|
17
|
+
if (e) e.focus();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
package/coms/zimoli/bind.js
CHANGED
|
@@ -5,12 +5,11 @@ function bind(eventName, bindTo = window) {
|
|
|
5
5
|
if (off) off();
|
|
6
6
|
off = on(eventName).call(bindTo, target, eventListener);
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
var off1 = on("append")(target, mount);
|
|
8
|
+
var off1 = onmounted(target, mount);
|
|
10
9
|
var off2 = on("remove")(target, function () {
|
|
11
10
|
if (off) off();
|
|
12
11
|
off = null;
|
|
13
12
|
});
|
|
14
|
-
return function () { off1(); off2(); };
|
|
13
|
+
return function () { off1(); off2(); if (off) off(); };
|
|
15
14
|
}
|
|
16
15
|
}
|
package/coms/zimoli/cross.js
CHANGED
package/coms/zimoli/onmounted.js
CHANGED
package/coms/zimoli/popup.js
CHANGED
|
@@ -99,8 +99,7 @@ var popup_path = function (path = "", parameters, target) {
|
|
|
99
99
|
element.$reload = fullfill;
|
|
100
100
|
if (!target && target !== false && parameters !== false) {
|
|
101
101
|
element.style.opacity = 0;
|
|
102
|
-
|
|
103
|
-
else once('append')(element, function () {
|
|
102
|
+
oncemount(element, function () {
|
|
104
103
|
move.bindPosition(element, [.5, .5]);
|
|
105
104
|
element.style.opacity = 1;
|
|
106
105
|
});
|
package/coms/zimoli/render.js
CHANGED
|
@@ -573,6 +573,7 @@ var createEmiter = function (on) {
|
|
|
573
573
|
getter1 = createGetter(search, false);
|
|
574
574
|
}
|
|
575
575
|
on(key)(this, function (e) {
|
|
576
|
+
digest();
|
|
576
577
|
if (parsedSrc) {
|
|
577
578
|
var target = e.currentTarget || e.target;
|
|
578
579
|
var scopes = target && target.$parentScopes;
|
|
@@ -601,7 +602,6 @@ var createEmiter = function (on) {
|
|
|
601
602
|
res = getter0.call(this, e);
|
|
602
603
|
}
|
|
603
604
|
if (res && isFunction(res.then)) res.then(digest, digest);
|
|
604
|
-
digest();
|
|
605
605
|
return res;
|
|
606
606
|
});
|
|
607
607
|
};
|
package/coms/zimoli/resize.js
CHANGED
|
@@ -135,39 +135,36 @@ function resize(elem, initialEvent) {
|
|
|
135
135
|
}
|
|
136
136
|
moveupon(window, handle);
|
|
137
137
|
|
|
138
|
+
var offmousemove;
|
|
139
|
+
var resizeh = lazy(function () {
|
|
140
|
+
// 用于刷新自定义的scrollbar/lattice/gallery组件
|
|
141
|
+
var elem = this;
|
|
142
|
+
var resized = false;
|
|
143
|
+
if (elem.scrollWidth > elem.clientWidth) {
|
|
144
|
+
css(elem, { width: elem.offsetWidth });
|
|
145
|
+
resized = true;
|
|
146
|
+
}
|
|
147
|
+
if (elem.scrollHeight > elem.clientHeight) {
|
|
148
|
+
css(elem, { height: elem.offsetHeight });
|
|
149
|
+
resized = true;
|
|
150
|
+
}
|
|
151
|
+
if (resized) dispatch(elem, 'resize'), resizingList.hit(elem);
|
|
152
|
+
});
|
|
138
153
|
|
|
139
154
|
resize.on = function (elem, dragHandle) {
|
|
140
155
|
if (elem) {
|
|
141
156
|
elem.dragHandle = dragHandle;
|
|
142
157
|
}
|
|
143
158
|
onmounted(elem, function () {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
var computed = getComputedStyle(elem);
|
|
148
|
-
var resizeh = function () {
|
|
149
|
-
var elem = this;
|
|
150
|
-
var resized = false;
|
|
151
|
-
if (elem.scrollWidth > elem.clientWidth) {
|
|
152
|
-
css(elem, { width: elem.offsetWidth });
|
|
153
|
-
resized = true;
|
|
159
|
+
if (!offmousemove) offmousemove = onmousemove(window, getResizer);
|
|
160
|
+
if (!~resizingElements.indexOf(elem)) {
|
|
161
|
+
resizingElements.push(elem);
|
|
154
162
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (
|
|
160
|
-
if (
|
|
161
|
-
|
|
162
|
-
unbind = null;
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
if (!parseInt(computed.height) || !parseInt(computed.width)) var unbind = bind('render')(elem, resizeh);
|
|
166
|
-
if (!~resizingElements.indexOf(elem)) {
|
|
167
|
-
resizingElements.push(elem);
|
|
168
|
-
once('remove')(elem, function () {
|
|
169
|
-
var index = resizingElements.indexOf(this);
|
|
170
|
-
if (~index) resizingElements.splice(index, 1);
|
|
171
|
-
});
|
|
172
|
-
}
|
|
163
|
+
bind('render')(elem, resizeh);
|
|
164
|
+
});
|
|
165
|
+
on('remove')(elem, function () {
|
|
166
|
+
var index = resizingElements.indexOf(this);
|
|
167
|
+
if (~index) resizingElements.splice(index, 1);
|
|
168
|
+
if (!resizingElements.length && offmousemove) offmousemove(), offmousemove = null;
|
|
169
|
+
});
|
|
173
170
|
};
|
package/coms/zimoli/script.js
CHANGED
package/coms/zimoli/scrollbar.js
CHANGED
|
@@ -144,8 +144,8 @@ var scrollbary = function () {
|
|
|
144
144
|
function bindTarget(_container, followResize = _container) {
|
|
145
145
|
var _scrollbar = this;
|
|
146
146
|
_container.with = _scrollbar;
|
|
147
|
-
onappend(_container, _scrollbar.reshape);
|
|
148
147
|
_scrollbar.target = _container;
|
|
148
|
+
onmounted(_container, _scrollbar.reshape);
|
|
149
149
|
on("scroll")(_container, function () {
|
|
150
150
|
var top = getTargetTop(_container);
|
|
151
151
|
_scrollbar.scrollTo(top);
|