efront 4.19.5 → 4.19.7
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/compile/Html.js +4 -0
- package/coms/kugou/buildList.js +1 -1
- package/coms/kugou/buildScroll.js +1 -1
- package/coms/kugou/buildScroll.less +2 -1
- package/coms/zimoli/on.js +19 -1
- package/coms/zimoli/once.js +7 -1
- package/coms/zimoli/onmounted.js +1 -13
- package/coms/zimoli/render.js +34 -19
- package/coms/zimoli/slider.js +1 -0
- package/package.json +2 -2
- package/public/efront.js +1 -1
- package/readme.md +2 -1
package/coms/compile/Html.js
CHANGED
|
@@ -153,6 +153,10 @@ Html.prototype.createScoped = function (code) {
|
|
|
153
153
|
var id = c.text.slice(1);
|
|
154
154
|
vars[toCamelCase(id)] = true;
|
|
155
155
|
}
|
|
156
|
+
else if (/\#$/.test(c.text)) {
|
|
157
|
+
var id = c.text.slice(0, c.text.length - 1);
|
|
158
|
+
vars[toCamelCase(id)] = true;
|
|
159
|
+
}
|
|
156
160
|
}
|
|
157
161
|
break;
|
|
158
162
|
case QUOTED:
|
package/coms/kugou/buildList.js
CHANGED
package/coms/zimoli/on.js
CHANGED
|
@@ -228,7 +228,7 @@ function checkKeyNeed(eventtypes, e) {
|
|
|
228
228
|
for (var cx = 0, dx = keyneed.length; cx < dx; cx++) {
|
|
229
229
|
var key = keyneed[cx];
|
|
230
230
|
keykeep[key] = true;
|
|
231
|
-
if (!e[key + "Key"]) return false;
|
|
231
|
+
if (!e[key + "Key"] && e.keyCode !== keyCodeMap[key]) return false;
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
if (eventtypes.only) {
|
|
@@ -545,3 +545,21 @@ var invoke = function (event, type, pointerType) {
|
|
|
545
545
|
}
|
|
546
546
|
|
|
547
547
|
}());
|
|
548
|
+
|
|
549
|
+
/**
|
|
550
|
+
* 在挂载后执行
|
|
551
|
+
* 如果是已挂载的元素,立即执行传入的函数
|
|
552
|
+
* 如果是未挂载的元素,等到挂载时执行
|
|
553
|
+
* @param {Element} target
|
|
554
|
+
* @param {Function} handle
|
|
555
|
+
*/
|
|
556
|
+
var autofire = function (key) {
|
|
557
|
+
var h = on(key);
|
|
558
|
+
handlersMap["on" + key] = function (target, handle) {
|
|
559
|
+
var on = h(target, handle);
|
|
560
|
+
if (isMounted(target)) handle.call(target);
|
|
561
|
+
return on;
|
|
562
|
+
};
|
|
563
|
+
};
|
|
564
|
+
autofire('mounted');
|
|
565
|
+
autofire('append');
|
package/coms/zimoli/once.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var oncetree = {};
|
|
3
3
|
function emit(ontype, target, handler, firstmost) {
|
|
4
|
+
var fired = false;
|
|
4
5
|
var off = ontype(target, function (event) {
|
|
5
|
-
|
|
6
|
+
if (fired) return;
|
|
7
|
+
fired = true;
|
|
8
|
+
if (!off) Promise.resolve().then(function () {
|
|
9
|
+
off();
|
|
10
|
+
});
|
|
11
|
+
else off();
|
|
6
12
|
return handler.call(this, event);
|
|
7
13
|
}, firstmost);
|
|
8
14
|
return off;
|
package/coms/zimoli/onmounted.js
CHANGED
|
@@ -1,13 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* 在挂载后执行
|
|
3
|
-
* 如果是已挂载的元素,立即执行传入的函数
|
|
4
|
-
* 如果是未挂载的元素,等到挂载时执行
|
|
5
|
-
* @param {Element} target
|
|
6
|
-
* @param {Function} handle
|
|
7
|
-
*/
|
|
8
|
-
function onmounted(target, handle) {
|
|
9
|
-
if (isMounted(target)) {
|
|
10
|
-
handle.call(target);
|
|
11
|
-
}
|
|
12
|
-
return on("mounted")(target, handle);
|
|
13
|
-
}
|
|
1
|
+
return on("mounted");
|
package/coms/zimoli/render.js
CHANGED
|
@@ -543,7 +543,7 @@ var directives = {
|
|
|
543
543
|
var style = elem.style;
|
|
544
544
|
if (style.display !== display) style.display = display;
|
|
545
545
|
}, function (elem) {
|
|
546
|
-
return elem.style.display
|
|
546
|
+
return elem.style.display !== 'none';
|
|
547
547
|
}),
|
|
548
548
|
style: createMapper(css, css.styleToMap),
|
|
549
549
|
class: createMapper(addClass, addClass.classToMap),
|
|
@@ -708,6 +708,7 @@ var emiters = {
|
|
|
708
708
|
};
|
|
709
709
|
emiters.v = emiters.ng = emiters.on;
|
|
710
710
|
|
|
711
|
+
var 驼峰化 = key => key.replace(/\-([a-z])/ig, (_, w) => w.toUpperCase());
|
|
711
712
|
var keyAdapters = [
|
|
712
713
|
key => key,
|
|
713
714
|
key => key.toLowerCase(),
|
|
@@ -860,7 +861,8 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
860
861
|
if (element.$renderid !== 9) {
|
|
861
862
|
on("append")(element, addRenderElement);
|
|
862
863
|
onremove(element, removeRenderElement);
|
|
863
|
-
if (isMounted(element)
|
|
864
|
+
if (isMounted(element));
|
|
865
|
+
else if (element.$renderid > 1) addRenderElement.call(element);
|
|
864
866
|
else if (eagermount) rebuild(element);
|
|
865
867
|
}
|
|
866
868
|
else {
|
|
@@ -947,7 +949,7 @@ class Struct {
|
|
|
947
949
|
|
|
948
950
|
var pushid = function (ids, name) {
|
|
949
951
|
ids.push(name);
|
|
950
|
-
var name1 = name
|
|
952
|
+
var name1 = 驼峰化(name);
|
|
951
953
|
if (name1 !== name) ids.push(name1);
|
|
952
954
|
};
|
|
953
955
|
|
|
@@ -1021,22 +1023,28 @@ function createStructure(element, useExists) {
|
|
|
1021
1023
|
}
|
|
1022
1024
|
// ng-html,ng-src,ng-text,ng-model,ng-style,ng-class,...
|
|
1023
1025
|
var key = name.replace(/^(ng|v|[^\_\:\.]*?)\-|^[\:\_\.\?\@\*&]|^v\-bind\:/i, "").toLowerCase();
|
|
1024
|
-
if (key.length !== name.length && directives.hasOwnProperty(key) || /^([\_\:\.]|v\-bind\:)/.test(name) || /^[
|
|
1026
|
+
if (key.length !== name.length && directives.hasOwnProperty(key) || /^([\_\:\.]|v\-bind\:)/.test(name) || /^[@&\?\*\+]/.test(name) && !value) {
|
|
1025
1027
|
if (value) binds[key] = value;
|
|
1026
|
-
else
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1028
|
+
else {
|
|
1029
|
+
key = 驼峰化(name.slice(1));
|
|
1030
|
+
switch (name.charAt(0)) {
|
|
1031
|
+
case "?":
|
|
1032
|
+
case ":":
|
|
1033
|
+
binds.text = key;
|
|
1034
|
+
break;
|
|
1035
|
+
case "@":
|
|
1036
|
+
binds.html = key;
|
|
1037
|
+
break;
|
|
1038
|
+
case "*":
|
|
1039
|
+
binds.model = key;
|
|
1040
|
+
break;
|
|
1041
|
+
case "&":
|
|
1042
|
+
binds.src = key;
|
|
1043
|
+
break;
|
|
1044
|
+
case "+":
|
|
1045
|
+
binds[key] = key;
|
|
1046
|
+
break;
|
|
1047
|
+
}
|
|
1040
1048
|
}
|
|
1041
1049
|
element.removeAttribute(name);
|
|
1042
1050
|
}
|
|
@@ -1048,10 +1056,11 @@ function createStructure(element, useExists) {
|
|
|
1048
1056
|
if (value) ons.push([emiters[ngon], name.replace(emiter_reg, ''), value]);
|
|
1049
1057
|
}
|
|
1050
1058
|
// placeholder_ href_ checked_ ...
|
|
1051
|
-
else if (/[_
|
|
1059
|
+
else if (/[_@\:\.&\?\*\+\#]$/.test(name)) {
|
|
1052
1060
|
var key = name.slice(0, name.length - 1);
|
|
1053
1061
|
if (value) attr1[key] = value;
|
|
1054
1062
|
else {
|
|
1063
|
+
key = 驼峰化(name.slice(0, name.length - 1));
|
|
1055
1064
|
switch (name.charAt(name.length - 1)) {
|
|
1056
1065
|
case "?":
|
|
1057
1066
|
binds.text = key;
|
|
@@ -1065,6 +1074,12 @@ function createStructure(element, useExists) {
|
|
|
1065
1074
|
case "&":
|
|
1066
1075
|
binds.src = key;
|
|
1067
1076
|
break;
|
|
1077
|
+
case "+":
|
|
1078
|
+
binds[key] = key;
|
|
1079
|
+
break;
|
|
1080
|
+
case "#":
|
|
1081
|
+
ids.push(key);
|
|
1082
|
+
break;
|
|
1068
1083
|
}
|
|
1069
1084
|
element.setAttribute(key.replace(/\./g, '-'), '');
|
|
1070
1085
|
}
|
package/coms/zimoli/slider.js
CHANGED
|
@@ -284,6 +284,7 @@ function slider() {
|
|
|
284
284
|
negative_index = -index;
|
|
285
285
|
var _removingMain = _imageMain;
|
|
286
286
|
reshape(index, false);
|
|
287
|
+
if (_removingMain === _imageMain) return;
|
|
287
288
|
css(_removingMain, "transition:.1s opacity ease-out,.1s transform;z-index:1;left:0;");
|
|
288
289
|
appendChild(outter, _removingMain);
|
|
289
290
|
setTimeout(function () {
|