efront 3.34.4 → 3.34.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/apps/kugou/favicon.ico +0 -0
- package/apps/kugou/home.js +1 -1
- package/apps/kugou/ie8.js +93 -0
- package/apps/kugou/index.html +5 -2
- package/apps/kugou/search/search.js +2 -1
- package/coms/basic/#decrypt.js +1 -0
- package/coms/basic/#loader.js +26 -14
- package/coms/basic/ArrayFill.js +1 -1
- package/coms/basic/JSAM.js +7 -3
- package/coms/basic/Matrix.js +8 -2
- package/coms/basic/awaitable.js +1 -1
- package/coms/{zimoli → basic}/color.js +14 -4
- package/coms/{zimoli → basic}/color_test.js +0 -0
- package/coms/basic/decodeUTF16.js +4 -3
- package/coms/basic/encodeUTF16.js +18 -3
- package/coms/basic/parseURL.js +49 -13
- package/coms/basic/parseURL_test.js +6 -1
- package/coms/basic/renderExpress.js +1 -1
- package/coms/basic_/Array2.js +1 -1
- package/coms/basic_/Promise.js +21 -14
- package/coms/basic_/[]map.js +27 -3
- package/coms/basic_/readme.md +83 -0
- package/coms/kugou/api.js +2 -2
- package/coms/kugou/dance.js +50 -2
- package/coms/kugou/krc.js +5 -0
- package/coms/kugou/playList.html +1 -1
- package/coms/kugou/playList.js +1 -0
- package/coms/kugou/player.html +3 -3
- package/coms/kugou/player.js +17 -13
- package/coms/kugou/shortcurt.js +8 -0
- package/coms/zimoli/LoadingArray.js +9 -25
- package/coms/zimoli/appendChild.js +1 -1
- package/coms/zimoli/cless.js +0 -1
- package/coms/zimoli/data.js +16 -6
- package/coms/zimoli/gallery.js +1 -1
- package/coms/zimoli/getGenerator.js +1 -1
- package/coms/zimoli/on.js +2 -0
- package/coms/zimoli/render.js +33 -33
- package/coms/zimoli/selectList.js +1 -1
- package/data/packexe-setup.sfx +0 -0
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/readme.md +9 -8
- package/coms/basic/encodeUTF16.asm +0 -62
package/coms/zimoli/render.js
CHANGED
|
@@ -32,10 +32,10 @@ var createTemplateNodes = function (text) {
|
|
|
32
32
|
} else {
|
|
33
33
|
var node = document.createElement(this.parentNode.tagName || "div");
|
|
34
34
|
node.innerHTML = text;
|
|
35
|
-
this.with =
|
|
35
|
+
this.with = Array.apply(null, node.childNodes);
|
|
36
36
|
}
|
|
37
37
|
appendChild.after(this, this.with);
|
|
38
|
-
this.with = renderElement(this.with, this.$scope, this.$parentScopes, this
|
|
38
|
+
this.with = renderElement(this.with, this.$scope, this.$parentScopes, this.$renderid === 9);
|
|
39
39
|
};
|
|
40
40
|
presets.template = function (t) {
|
|
41
41
|
var comment = document.createComment('template');
|
|
@@ -57,16 +57,16 @@ var renderidClosed = 0;
|
|
|
57
57
|
var addRenderElement = function () {
|
|
58
58
|
var element = this;
|
|
59
59
|
if (!isNode(element)) return;
|
|
60
|
-
if (element
|
|
60
|
+
if (element.$renderid !== 9) {
|
|
61
61
|
// 只渲染一次
|
|
62
|
-
if (element
|
|
63
|
-
renderElements[element
|
|
62
|
+
if (element.$renderid < 10 && element.$renderid > 0) element.$renderid = ++renderidOffset;
|
|
63
|
+
renderElements[element.$renderid] = element;
|
|
64
64
|
}
|
|
65
65
|
rebuild(element);
|
|
66
66
|
};
|
|
67
67
|
var removeRenderElement = function () {
|
|
68
68
|
var element = this;
|
|
69
|
-
delete renderElements[element
|
|
69
|
+
delete renderElements[element.$renderid];
|
|
70
70
|
};
|
|
71
71
|
function refresh(root) {
|
|
72
72
|
var rest = [];
|
|
@@ -130,15 +130,15 @@ var createComment = function (renders, type, expression) {
|
|
|
130
130
|
|
|
131
131
|
var initialComment = function (comment) {
|
|
132
132
|
if (!comment.$struct.once) {
|
|
133
|
-
comment
|
|
133
|
+
comment.$renderid = ++renderidOffset;
|
|
134
134
|
onmounted(comment, addRenderElement);
|
|
135
135
|
onremove(comment, removeRenderElement);
|
|
136
136
|
if (isMounted(comment) || eagermount) rebuild(comment);
|
|
137
137
|
}
|
|
138
138
|
else {
|
|
139
|
-
comment
|
|
139
|
+
comment.$renderid = 9;
|
|
140
140
|
rebuild(comment);
|
|
141
|
-
|
|
141
|
+
if (comment.with) comment.with = null;
|
|
142
142
|
remove(comment);
|
|
143
143
|
}
|
|
144
144
|
};
|
|
@@ -248,7 +248,7 @@ var createRepeat = function (search, id = 0) {
|
|
|
248
248
|
}
|
|
249
249
|
var clone = element.cloneNode();
|
|
250
250
|
clone.innerHTML = element.innerHTML;
|
|
251
|
-
clone
|
|
251
|
+
clone.$renderid = id;
|
|
252
252
|
clone.$scope = $scope;
|
|
253
253
|
clone.$parentScopes = $parentScopes;
|
|
254
254
|
clone.$struct = $struct;
|
|
@@ -300,7 +300,6 @@ var createIf = function (search, id = 0) {
|
|
|
300
300
|
break;
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
|
-
// console.log(shouldMount,savedValue,this,this.$scope)
|
|
304
303
|
if (savedValue === shouldMount) return;
|
|
305
304
|
savedValue = shouldMount;
|
|
306
305
|
for (var cx = 0, dx = elements.length; cx < dx; cx += 2) {
|
|
@@ -308,8 +307,8 @@ var createIf = function (search, id = 0) {
|
|
|
308
307
|
if (cx === shouldMount) {
|
|
309
308
|
var e = c.$template;
|
|
310
309
|
appendChild.after(c, e);
|
|
311
|
-
if (e
|
|
312
|
-
e
|
|
310
|
+
if (e.$renderid < 0) {
|
|
311
|
+
e.$renderid = id;
|
|
313
312
|
e = c.$template = render(e, this.$scope, this.$parentScopes);
|
|
314
313
|
e.$comment = c;
|
|
315
314
|
}
|
|
@@ -722,21 +721,21 @@ function renderRest(element, struct, replacer = element) {
|
|
|
722
721
|
|
|
723
722
|
function renderElement(element, scope = element.$scope, parentScopes = element.$parentScopes, once) {
|
|
724
723
|
if (isArrayLike(element)) {
|
|
725
|
-
return Array.
|
|
724
|
+
return Array.apply(null, element).map(function (element) {
|
|
726
725
|
return renderElement(element, scope, parentScopes, once);
|
|
727
726
|
});
|
|
728
727
|
}
|
|
729
728
|
if (!isElement(element)) {
|
|
730
729
|
return element;
|
|
731
730
|
}
|
|
732
|
-
if (!isNumber(element
|
|
733
|
-
element
|
|
731
|
+
if (!isNumber(element.$renderid)) {
|
|
732
|
+
element.$renderid = 0;
|
|
734
733
|
element.$scope = scope;
|
|
735
734
|
if (!isEmpty(parentScopes) && !isArray(parentScopes)) {
|
|
736
735
|
throw new Error('父级作用域链应以数组的类型传入');
|
|
737
736
|
}
|
|
738
737
|
if (parentScopes) {
|
|
739
|
-
if (element
|
|
738
|
+
if (element.$renderid && !element.$parentScopes || element.$parentScopes && element.$parentScopes.length !== parentScopes.length) {
|
|
740
739
|
throw new Error("父作用域链的长度必须相等着");
|
|
741
740
|
}
|
|
742
741
|
}
|
|
@@ -746,25 +745,26 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
746
745
|
if (isEmpty(s.once)) s.once = once;
|
|
747
746
|
element.$eval = $eval;
|
|
748
747
|
}
|
|
749
|
-
if (element
|
|
748
|
+
if (element.$renderid <= -1) element = renderStructure(element);
|
|
750
749
|
if (!element) return;
|
|
751
|
-
if (!element || element
|
|
750
|
+
if (!element || element.$renderid < 0 || element.nodeType !== 1) {
|
|
752
751
|
return element;
|
|
753
752
|
}
|
|
754
753
|
for (var id of element.$struct.ids) {
|
|
755
754
|
if (scope[id] && scope[id] !== element) throw new Error("同一个id不能使用两次:" + id);
|
|
756
755
|
scope[id] = element;
|
|
757
756
|
}
|
|
758
|
-
var isFirstRender = !element
|
|
757
|
+
var isFirstRender = !element.$renderid;
|
|
758
|
+
|
|
759
759
|
if (isFirstRender) {
|
|
760
|
-
element
|
|
760
|
+
element.$renderid = 1;
|
|
761
761
|
var parentNode = element.parentNode;
|
|
762
762
|
if (parentNode) {
|
|
763
|
-
if (parentNode
|
|
763
|
+
if (parentNode.$renderid > 1 || isMounted(parentNode)) element.$renderid = 2;
|
|
764
764
|
}
|
|
765
765
|
element.renders = element.renders ? [].concat(element.renders) : [];
|
|
766
766
|
var { copys, binds, once } = element.$struct;
|
|
767
|
-
if (once) element
|
|
767
|
+
if (once) element.$renderid = 9;
|
|
768
768
|
if (binds.src) {
|
|
769
769
|
element.$src = parseRepeat(binds.src);
|
|
770
770
|
}
|
|
@@ -784,7 +784,7 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
784
784
|
if (isNode(replacer) && element !== replacer) {
|
|
785
785
|
if (!replacer.$scope) replacer.$scope = scope;
|
|
786
786
|
if (!replacer.$parentScopes) replacer.$parentScopes = parentScopes;
|
|
787
|
-
if (isElement(replacer) && !replacer
|
|
787
|
+
if (isElement(replacer) && !replacer.$renderid) {
|
|
788
788
|
createStructure(replacer);
|
|
789
789
|
if (replacer.children && replacer.children.length) renderElement(replacer.children, replacer.$scope, replacer.$parentScopes, once);
|
|
790
790
|
renderRest(replacer, replacer.$struct);
|
|
@@ -794,7 +794,7 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
794
794
|
if (nextSibling) appendChild.before(nextSibling, replacer);
|
|
795
795
|
else if (parentNode) appendChild(parentNode, replacer);
|
|
796
796
|
if (element.parentNode === parentNode) remove(element);
|
|
797
|
-
if (!replacer
|
|
797
|
+
if (!replacer.$renderid) replacer.$renderid = element.$renderid;
|
|
798
798
|
for (var id of element.$struct.ids) {
|
|
799
799
|
scope[id] = replacer;
|
|
800
800
|
}
|
|
@@ -818,10 +818,10 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
818
818
|
element.$struct.ons.forEach(([on, key, value]) => on.call(element, element, key, value));
|
|
819
819
|
}
|
|
820
820
|
if (element.renders.length) {
|
|
821
|
-
if (element
|
|
821
|
+
if (element.$renderid !== 9) {
|
|
822
822
|
onmounted(element, addRenderElement);
|
|
823
823
|
onremove(element, removeRenderElement);
|
|
824
|
-
if (isMounted(element) || element
|
|
824
|
+
if (isMounted(element) || element.$renderid > 1) addRenderElement.call(element);
|
|
825
825
|
else if (eagermount) rebuild(element);
|
|
826
826
|
}
|
|
827
827
|
else {
|
|
@@ -876,7 +876,7 @@ function createStructure(element) {
|
|
|
876
876
|
if (isArrayLike(element)) return Array.prototype.map.call(element, createStructure);
|
|
877
877
|
if (element.$struct) return element.$struct;
|
|
878
878
|
// 处理结构流
|
|
879
|
-
var attrs = Array.
|
|
879
|
+
var attrs = Array.apply(null, element.attributes);
|
|
880
880
|
var types = {};
|
|
881
881
|
var emiter_reg = /^(?:(v|ng|on|once)?\-|v\-on\:|@|once|on)/i;
|
|
882
882
|
var ons = [];
|
|
@@ -888,6 +888,7 @@ function createStructure(element) {
|
|
|
888
888
|
var ids = [];
|
|
889
889
|
for (var attr of attrs) {
|
|
890
890
|
var { name, value } = attr;
|
|
891
|
+
if (/^\$/.test(name)) continue;
|
|
891
892
|
if (name === 'elementid' || name === 'renderid' || name === 'id') {
|
|
892
893
|
ids.push(value);
|
|
893
894
|
continue;
|
|
@@ -912,7 +913,7 @@ function createStructure(element) {
|
|
|
912
913
|
}
|
|
913
914
|
var key = name.replace(/^(ng|v|.*?)\-/i, "").toLowerCase();
|
|
914
915
|
if (structures.hasOwnProperty(key)) {
|
|
915
|
-
if (element
|
|
916
|
+
if (element.$renderid <= -2) {
|
|
916
917
|
if (/^if$|^else/i.test(key)) {
|
|
917
918
|
if (types.if) {
|
|
918
919
|
throw new Error(`暂不支持在同一元素上使用多次if结构!`);
|
|
@@ -924,14 +925,13 @@ function createStructure(element) {
|
|
|
924
925
|
}
|
|
925
926
|
}
|
|
926
927
|
if (/^if$|^else/i.test(key)) {
|
|
927
|
-
types.if =
|
|
928
|
-
attr.key = key;
|
|
928
|
+
types.if = { key, name, value };
|
|
929
929
|
}
|
|
930
930
|
else {
|
|
931
931
|
types.repeat = attr;
|
|
932
932
|
}
|
|
933
|
-
if (!element
|
|
934
|
-
else element
|
|
933
|
+
if (!element.$renderid) element.$renderid = -1;
|
|
934
|
+
else element.$renderid = -2;
|
|
935
935
|
element.removeAttribute(name);
|
|
936
936
|
continue;
|
|
937
937
|
}
|
|
@@ -188,7 +188,7 @@ function main() {
|
|
|
188
188
|
appendChild(page, adder);
|
|
189
189
|
break;
|
|
190
190
|
case this.children[1]:
|
|
191
|
-
var options =
|
|
191
|
+
var options = Array.apply(null, children);
|
|
192
192
|
var edit = selectListEdit(options.slice(0));
|
|
193
193
|
page.with = edit;
|
|
194
194
|
on("remove")(edit, function () {
|
package/data/packexe-setup.sfx
CHANGED
|
Binary file
|