efront 3.4.4 → 3.5.0
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/api.yml +2 -1
- package/apps/pivot/home/welcome.js +4 -4
- package/apps/pivot/main.js +4 -1
- package/apps/pivot/main.less +3 -0
- package/apps/pivot/menu.yml +3 -1
- package/apps/pivot/share/list.html +1 -0
- package/apps/pivot/share/list.js +24 -0
- package/coms/layer/glance.js +2 -2
- package/coms/zimoli/alert.js +4 -3
- package/coms/zimoli/appendChild.js +1 -0
- package/coms/zimoli/checker.html +1 -1
- package/coms/zimoli/checker.less +9 -5
- package/coms/zimoli/color.js +3 -2
- package/coms/zimoli/data.js +5 -1
- package/coms/zimoli/gallery.js +2 -12
- package/coms/zimoli/getGenerator.js +10 -9
- package/coms/zimoli/image.less +2 -0
- package/coms/zimoli/list.js +2 -12
- package/coms/zimoli/menu.js +3 -14
- package/coms/zimoli/menuList.js +4 -3
- package/coms/zimoli/radio.html +1 -1
- package/coms/zimoli/radio.less +26 -8
- package/coms/zimoli/render.js +94 -100
- package/coms/zimoli/table.html +16 -0
- package/coms/zimoli/table.js +14 -0
- package/coms/zimoli/table.less +44 -34
- package/coms/zimoli/view.less +6 -3
- package/coms/zimoli/zimoli.js +11 -5
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/apps/pivot/api.yml
CHANGED
|
@@ -13,12 +13,12 @@ function main() {
|
|
|
13
13
|
} catch { }
|
|
14
14
|
target.removeAttribute('pending');
|
|
15
15
|
},
|
|
16
|
-
logout() {
|
|
16
|
+
async logout() {
|
|
17
17
|
data.setSource('authorization', null);
|
|
18
|
-
user.
|
|
19
|
-
|
|
18
|
+
await user.Logout();
|
|
19
|
+
zimoli.switch();
|
|
20
|
+
zimoli();
|
|
20
21
|
}
|
|
21
22
|
});
|
|
22
|
-
console.log(page)
|
|
23
23
|
return page;
|
|
24
24
|
}
|
package/apps/pivot/main.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
data.loadConfig("api.yml");
|
|
2
2
|
user.loginPath = '/auth/login';
|
|
3
|
-
|
|
3
|
+
var token = data.getSource('authorization');
|
|
4
|
+
if (token) {
|
|
5
|
+
user.login({});
|
|
6
|
+
}
|
|
4
7
|
setInterval(function () {
|
|
5
8
|
var auth = data.getSource('authorization');
|
|
6
9
|
if (!auth) return;
|
package/apps/pivot/menu.yml
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<table :src=[fields,data]></table>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var fields = refilm`
|
|
2
|
+
路径/path
|
|
3
|
+
操作 btn ${[{
|
|
4
|
+
name: "删除",
|
|
5
|
+
do(e) {
|
|
6
|
+
console.log(e)
|
|
7
|
+
alert("暂不支持删除!");
|
|
8
|
+
}
|
|
9
|
+
}]}
|
|
10
|
+
`;
|
|
11
|
+
console.log(fields)
|
|
12
|
+
function main() {
|
|
13
|
+
var page = div();
|
|
14
|
+
page.innerHTML = list;
|
|
15
|
+
var a = data.from("share", a => {
|
|
16
|
+
if (a) return a.map(b => ({ path: b }));
|
|
17
|
+
});
|
|
18
|
+
renderWithDefaults(page, {
|
|
19
|
+
data: a,
|
|
20
|
+
fields,
|
|
21
|
+
});
|
|
22
|
+
console.log(a)
|
|
23
|
+
return page;
|
|
24
|
+
}
|
package/coms/layer/glance.js
CHANGED
|
@@ -90,14 +90,14 @@ function main(mainPath, historyName = "") {
|
|
|
90
90
|
var hook = function () {
|
|
91
91
|
if (--index !== 0) return;
|
|
92
92
|
if (leftPath) {
|
|
93
|
-
var page = zimoli.
|
|
93
|
+
var page = zimoli.create(leftPath);
|
|
94
94
|
page.setAttribute('layer', 'left');
|
|
95
95
|
appendChild.replace(leftLayer, page);
|
|
96
96
|
leftLayer = page;
|
|
97
97
|
dragview({ page: layer, toLeft: layer.closeLeft, toRight: layer.openLeft, menu: leftLayer });
|
|
98
98
|
}
|
|
99
99
|
if (topPath) {
|
|
100
|
-
var page = zimoli.
|
|
100
|
+
var page = zimoli.create(topPath);
|
|
101
101
|
page.setAttribute('layer', 'top');
|
|
102
102
|
appendChild.replace(topLayer, page);
|
|
103
103
|
topLayer = page;
|
package/coms/zimoli/alert.js
CHANGED
|
@@ -8,6 +8,7 @@ styles.success = styles.pass = styles.green;
|
|
|
8
8
|
styles.info = styles.blue;
|
|
9
9
|
styles.error = styles.danger = styles.red;
|
|
10
10
|
styles.warn = styles.orange;
|
|
11
|
+
styles.default = '#000';
|
|
11
12
|
var alerts = [];
|
|
12
13
|
var clean = Cleanup(alerts);
|
|
13
14
|
var build = function () {
|
|
@@ -21,15 +22,15 @@ var build = function () {
|
|
|
21
22
|
};
|
|
22
23
|
var fontSize = 16;
|
|
23
24
|
var singleHeight = fontSize * 3.125 | 0;
|
|
24
|
-
var _text = function (
|
|
25
|
+
var _text = function (bgcolor, parameters) {
|
|
25
26
|
var box = div();
|
|
26
27
|
css(box, `top:${fromPixel(alerts.length ? Math.max.apply(Math, alerts.map(e => e.offsetTop + e.children[0].offsetHeight)) : 0)};height:0;line-height:${fromPixel(singleHeight - 20)};left:0;right:0;font-size:${fromPixel(fontSize)}; transition: all 0.2s ease-out;position:absolute;color:#fff;text-align:center;`);
|
|
27
|
-
box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${color};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
|
|
28
|
+
box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${bgcolor};color:${color.pair(bgcolor)};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
|
|
28
29
|
box.initialStyle = `margin:-${fromPixel(singleHeight)} auto;opacity:0;`;
|
|
29
30
|
return box;
|
|
30
31
|
};
|
|
31
32
|
function alert() {
|
|
32
|
-
var color = String(this), text, autoclose = true, onclose;
|
|
33
|
+
var color = String(isString(this) && this || styles.default), text, autoclose = true, onclose;
|
|
33
34
|
var color_reg = /^#(?:\w{6}|\w{3})$/;
|
|
34
35
|
[].map.call(arguments, function (arg) {
|
|
35
36
|
switch (typeof arg) {
|
|
@@ -116,6 +116,7 @@ appendChild.insert = function (parent, element, relative = parent.childNodes[0]
|
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
118
|
appendChild.replace = function (alreadyMounted, element) {
|
|
119
|
+
if (alreadyMounted === element) return;
|
|
119
120
|
if (!alreadyMounted || !alreadyMounted.parentNode) return;
|
|
120
121
|
insertBefore(alreadyMounted, element);
|
|
121
122
|
remove(alreadyMounted);
|
package/coms/zimoli/checker.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
<s>✓</s>
|
package/coms/zimoli/checker.less
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
& {
|
|
2
|
-
height:
|
|
3
|
-
width:
|
|
2
|
+
height: .8em;
|
|
3
|
+
width: .8em;
|
|
4
4
|
position: relative;
|
|
5
|
-
|
|
5
|
+
border: .1em solid;
|
|
6
|
+
margin-right: .3em;
|
|
6
7
|
font-family: sans-serif;
|
|
7
8
|
display: inline-block;
|
|
8
9
|
line-height: 1;
|
|
9
10
|
text-align: center;
|
|
11
|
+
margin-top: .15em;
|
|
12
|
+
border-radius: .12em;
|
|
13
|
+
vertical-align: middle;
|
|
10
14
|
|
|
11
15
|
>s {
|
|
12
16
|
display: none;
|
|
@@ -15,13 +19,13 @@
|
|
|
15
19
|
font-weight: bold;
|
|
16
20
|
left: 0;
|
|
17
21
|
right: 0;
|
|
18
|
-
top: -.
|
|
22
|
+
top: -.4em;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
|
|
23
27
|
&.checked {
|
|
24
28
|
>s {
|
|
25
|
-
display:
|
|
29
|
+
display: block;
|
|
26
30
|
}
|
|
27
31
|
}
|
package/coms/zimoli/color.js
CHANGED
|
@@ -37,6 +37,7 @@ var trim3v = function (r, g, b) {
|
|
|
37
37
|
if (b > 0) b += rest;
|
|
38
38
|
}
|
|
39
39
|
} while (rest > 0);
|
|
40
|
+
|
|
40
41
|
return [r, g, b];
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -56,7 +57,7 @@ var rgb4s = function (r, g, b, s) {
|
|
|
56
57
|
g -= m;
|
|
57
58
|
b -= m;
|
|
58
59
|
}
|
|
59
|
-
s = s * 255 / Math.max(r, g, b);
|
|
60
|
+
s = s * 255 / (Math.max(r, g, b) || 1);
|
|
60
61
|
if (s) {
|
|
61
62
|
r *= s;
|
|
62
63
|
g *= s;
|
|
@@ -276,7 +277,7 @@ var rgb2v = function (r, g, b) {
|
|
|
276
277
|
r *= .299;
|
|
277
278
|
g *= .587;
|
|
278
279
|
b *= .114;
|
|
279
|
-
return r
|
|
280
|
+
return Math.max(r, g, b) / .587;
|
|
280
281
|
};
|
|
281
282
|
var v2rgb = function (v, r, g, b) {
|
|
282
283
|
var t = r + g + b || 1;
|
package/coms/zimoli/data.js
CHANGED
|
@@ -310,7 +310,11 @@ var parseData = function (sourceText) {
|
|
|
310
310
|
sourceText = sourceText.replace(/^[^\(]+\(([\s\S]*)\)[^\)]*$/, "$1");
|
|
311
311
|
}
|
|
312
312
|
try {
|
|
313
|
-
|
|
313
|
+
if (/^[\[\{][\d\:,]+[\}\]],|^(Infinity|''|NaN|\d+|)$|^\/[\s\S]*?\/\w*$/.test(sourceText)) {
|
|
314
|
+
sourceText = JSAM.parse(sourceText);
|
|
315
|
+
} else {
|
|
316
|
+
sourceText = parseYML(sourceText);
|
|
317
|
+
}
|
|
314
318
|
} catch (e) {
|
|
315
319
|
throw "数据无法解析";
|
|
316
320
|
}
|
package/coms/zimoli/gallery.js
CHANGED
|
@@ -121,18 +121,8 @@ function main() {
|
|
|
121
121
|
minWidth = arg;
|
|
122
122
|
}
|
|
123
123
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var parsedSrc = render.parseRepeat(src);
|
|
127
|
-
if (!parsedSrc) {
|
|
128
|
-
element.setAttribute("ng-src", src);
|
|
129
|
-
element.removeAttribute("src");
|
|
130
|
-
var generator = getGenerator(element);
|
|
131
|
-
} else {
|
|
132
|
-
element.setAttribute("ng-src", parsedSrc.srcName);
|
|
133
|
-
element.removeAttribute("src");
|
|
134
|
-
var generator = getGenerator(element, parsedSrc);
|
|
135
|
-
}
|
|
124
|
+
if ("$src" in element) {
|
|
125
|
+
var generator = getGenerator(element);
|
|
136
126
|
care(element, function () {
|
|
137
127
|
var index = element.index();
|
|
138
128
|
element.clean();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
var _slider = createElement(div);
|
|
3
|
-
var getGenerator = function (container
|
|
3
|
+
var getGenerator = function (container) {
|
|
4
4
|
if (!container) return;
|
|
5
5
|
var template = document.createElement("div");
|
|
6
6
|
var templates = [].concat.apply([], container.childNodes).filter(a => {
|
|
@@ -20,26 +20,27 @@ var getGenerator = function (container, parsedSrc) {
|
|
|
20
20
|
appendChild(template, templates);
|
|
21
21
|
container.insertBefore = _slider.insertBefore;
|
|
22
22
|
container.appendChild = _slider.appendChild;
|
|
23
|
+
var scopes = container.$parentScopes.concat(container.$scope);
|
|
23
24
|
return function (index, com) {
|
|
24
25
|
if (!com) {
|
|
25
26
|
if (!container.src || index >= container.src.length) return;
|
|
26
27
|
com = container.src[index];
|
|
27
28
|
}
|
|
28
29
|
if (!com) return;
|
|
29
|
-
var template1 = template.cloneNode();
|
|
30
|
-
template1.innerHTML = template.innerHTML;
|
|
30
|
+
var template1 = template.cloneNode(true);
|
|
31
31
|
if (!template1.childNodes.length) return template1;
|
|
32
32
|
var item = template1.childNodes[0];
|
|
33
33
|
item.with = [].concat.apply([], template1.childNodes).slice(1);
|
|
34
|
+
var parsedSrc = container.$src;
|
|
34
35
|
if (parsedSrc) {
|
|
35
36
|
var { keyName, itemName, indexName } = parsedSrc;
|
|
36
|
-
var newScope =
|
|
37
|
+
var newScope = {
|
|
37
38
|
[keyName || '$key']: index,
|
|
38
39
|
[itemName || '$item']: com,
|
|
39
40
|
[indexName || '$index']: index
|
|
40
|
-
}
|
|
41
|
-
var newItem = render(item, newScope);
|
|
42
|
-
newItem.with = render(item.with, newScope);
|
|
41
|
+
};
|
|
42
|
+
var newItem = render(item, newScope, scopes);
|
|
43
|
+
if (item.with.length) newItem.with = render(item.with, newScope, scopes);
|
|
43
44
|
} else {
|
|
44
45
|
var newScope = container.src[index];
|
|
45
46
|
if (!isObject(newScope)) newScope = {
|
|
@@ -59,8 +60,8 @@ var getGenerator = function (container, parsedSrc) {
|
|
|
59
60
|
return this.$item;
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
|
-
var newItem = render(item, newScope,
|
|
63
|
-
newItem.with = render(newItem.with = item.with, newScope,
|
|
63
|
+
var newItem = render(item, newScope, scopes);
|
|
64
|
+
newItem.with = render(newItem.with = item.with, newScope, scopes);
|
|
64
65
|
}
|
|
65
66
|
return newItem;
|
|
66
67
|
};
|
package/coms/zimoli/image.less
CHANGED
package/coms/zimoli/list.js
CHANGED
|
@@ -433,18 +433,8 @@ function list() {
|
|
|
433
433
|
bindSrc = container;
|
|
434
434
|
container = div();
|
|
435
435
|
} else if (container && !generator) {
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
var parsedSrc = render.parseRepeat(src);
|
|
439
|
-
if (!parsedSrc) {
|
|
440
|
-
container.setAttribute("ng-src", src);
|
|
441
|
-
container.removeAttribute("src");
|
|
442
|
-
var generator = getGenerator(container);
|
|
443
|
-
} else {
|
|
444
|
-
container.setAttribute("ng-src", parsedSrc.srcName);
|
|
445
|
-
container.removeAttribute("src");
|
|
446
|
-
var generator = getGenerator(container, parsedSrc);
|
|
447
|
-
}
|
|
436
|
+
if ("$src" in container) {
|
|
437
|
+
generator = getGenerator(container);
|
|
448
438
|
care(container, function () {
|
|
449
439
|
var index = container.index();
|
|
450
440
|
container.clean();
|
package/coms/zimoli/menu.js
CHANGED
|
@@ -110,18 +110,6 @@ function main(elem, mode) {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
mode = mode ? mode.toLowerCase() : "horizonal";
|
|
113
|
-
var src = elem.getAttribute("src") || elem.getAttribute("ng-src") || elem.getAttribute("v-src");
|
|
114
|
-
if (src) {
|
|
115
|
-
var parsedSrc = render.parseRepeat(src);
|
|
116
|
-
if (!parsedSrc) {
|
|
117
|
-
elem.removeAttribute("src");
|
|
118
|
-
var generator = getGenerator(elem);
|
|
119
|
-
} else {
|
|
120
|
-
elem.removeAttribute("src");
|
|
121
|
-
var generator = getGenerator(elem, parsedSrc);
|
|
122
|
-
}
|
|
123
|
-
elem.setAttribute("ng-src", parsedSrc ? parsedSrc.srcName : src);
|
|
124
|
-
}
|
|
125
113
|
|
|
126
114
|
switch (mode) {
|
|
127
115
|
case "i":
|
|
@@ -130,6 +118,7 @@ function main(elem, mode) {
|
|
|
130
118
|
case "t":
|
|
131
119
|
case "tree":
|
|
132
120
|
if (elem) {
|
|
121
|
+
var generator = getGenerator(elem);
|
|
133
122
|
tree(elem, function (index, item) {
|
|
134
123
|
var e = generator(index, item);
|
|
135
124
|
if (!e || e.children.length) return e;
|
|
@@ -165,9 +154,9 @@ function main(elem, mode) {
|
|
|
165
154
|
var emit = function (item) {
|
|
166
155
|
active(elem, item, item.value);
|
|
167
156
|
};
|
|
168
|
-
if (src) {
|
|
157
|
+
if ("$src" in elem) {
|
|
169
158
|
care(elem, function (src) {
|
|
170
|
-
menuList(elem, getTreeFromData(src), emit,
|
|
159
|
+
menuList(elem, getTreeFromData(src), emit, direction);
|
|
171
160
|
});
|
|
172
161
|
} else {
|
|
173
162
|
var nodes = getArrayNodes(elem);
|
package/coms/zimoli/menuList.js
CHANGED
|
@@ -8,7 +8,7 @@ var release = function () {
|
|
|
8
8
|
var clear = function () {
|
|
9
9
|
clearTimeout(releaseTimer);
|
|
10
10
|
};
|
|
11
|
-
function main(page, items, active,
|
|
11
|
+
function main(page, items, active, direction = 'y') {
|
|
12
12
|
if (!isNode(page)) {
|
|
13
13
|
var page = div();
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@ function main(page, items, active, generator, direction = 'y') {
|
|
|
21
21
|
if (!item.children || !item.children.length) return;
|
|
22
22
|
var clone = template.cloneNode();
|
|
23
23
|
clone.innerHTML = template.innerHTML;
|
|
24
|
-
var menu = main(clone, item.children, active
|
|
24
|
+
var menu = main(clone, item.children, active);
|
|
25
25
|
mounted_menus.push(menu);
|
|
26
26
|
|
|
27
27
|
page.active = menu;
|
|
@@ -46,7 +46,7 @@ function main(page, items, active, generator, direction = 'y') {
|
|
|
46
46
|
template.innerHTML = page.innerHTML;
|
|
47
47
|
page.tempalte = template;
|
|
48
48
|
}
|
|
49
|
-
if (!
|
|
49
|
+
if (!page.children.length || page.menutype === 1) {
|
|
50
50
|
page.innerHTML = menuList;
|
|
51
51
|
page.menutype = 1;
|
|
52
52
|
var hasIcon = function () {
|
|
@@ -82,6 +82,7 @@ function main(page, items, active, generator, direction = 'y') {
|
|
|
82
82
|
this.$scope.hasIcon = hasIcon();
|
|
83
83
|
});
|
|
84
84
|
} else {
|
|
85
|
+
var generator = getGenerator(page);
|
|
85
86
|
list(page, function (index) {
|
|
86
87
|
var elem = generator(index);
|
|
87
88
|
if (!elem) return;
|
package/coms/zimoli/radio.html
CHANGED
package/coms/zimoli/radio.less
CHANGED
|
@@ -6,18 +6,36 @@
|
|
|
6
6
|
font-family: sans-serif;
|
|
7
7
|
display: inline-block;
|
|
8
8
|
position: relative;
|
|
9
|
-
margin-right:
|
|
10
|
-
line-height: 1;
|
|
9
|
+
margin-right: .3em;
|
|
11
10
|
text-align: center;
|
|
12
|
-
|
|
11
|
+
vertical-align: middle;
|
|
12
|
+
width: 1em;
|
|
13
|
+
height: 1em;
|
|
14
|
+
border: .1em solid;
|
|
15
|
+
border-radius: 50%;
|
|
16
|
+
|
|
13
17
|
>s {
|
|
14
18
|
display: none;
|
|
15
19
|
position: absolute;
|
|
16
20
|
text-decoration: none;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
border-radius: 50%;
|
|
23
|
+
width: .4em;
|
|
24
|
+
height: .4em;
|
|
25
|
+
top: 50%;
|
|
26
|
+
left: 50%;
|
|
27
|
+
margin: -.2em;
|
|
28
|
+
|
|
29
|
+
text-indent: -.5em;
|
|
30
|
+
|
|
31
|
+
&:after {
|
|
32
|
+
position: absolute;
|
|
33
|
+
left: 0;
|
|
34
|
+
top: 0;
|
|
35
|
+
display: block;
|
|
36
|
+
content: "";
|
|
37
|
+
border: .3em solid;
|
|
38
|
+
}
|
|
21
39
|
}
|
|
22
40
|
}
|
|
23
41
|
|
|
@@ -25,7 +43,7 @@
|
|
|
25
43
|
&.activate {
|
|
26
44
|
>r {
|
|
27
45
|
>s {
|
|
28
|
-
display:
|
|
46
|
+
display: block;
|
|
29
47
|
}
|
|
30
48
|
}
|
|
31
49
|
}
|