efront 3.5.0 → 3.5.1
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 +1 -1
- package/apps/pivot/share/edit.html +10 -0
- package/apps/pivot/share/edit.js +16 -0
- package/apps/pivot/share/list.js +19 -7
- package/coms/zimoli/alert.js +3 -3
- package/coms/zimoli/button.js +5 -0
- package/coms/zimoli/button.less +6 -2
- package/coms/zimoli/color.js +128 -84
- package/coms/zimoli/colorpad.js +2 -4
- package/coms/zimoli/data.js +3 -3
- package/coms/zimoli/getGenerator.js +6 -1
- package/coms/zimoli/image.less +2 -0
- package/coms/zimoli/menu.js +1 -0
- package/coms/zimoli/on.js +18 -0
- package/coms/zimoli/render.js +4 -2
- package/coms/zimoli/table.html +1 -1
- package/coms/zimoli/table.js +1 -0
- package/coms/zimoli/table.less +16 -9
- package/coms/zimoli/view.less +4 -3
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/apps/pivot/api.yml
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function main({ fields, item }) {
|
|
2
|
+
var page = view();
|
|
3
|
+
page.innerHTML = edit;
|
|
4
|
+
renderWithDefaults(page, {
|
|
5
|
+
fields,
|
|
6
|
+
close() {
|
|
7
|
+
return remove(page);
|
|
8
|
+
},
|
|
9
|
+
save() {
|
|
10
|
+
return data.from("share", { opt: item ? 'update' : 'create', data: this.data }).loading_promise;
|
|
11
|
+
},
|
|
12
|
+
data: Object.assign({}, item)
|
|
13
|
+
});
|
|
14
|
+
drag.on(page.firstChild, page);
|
|
15
|
+
return page;
|
|
16
|
+
}
|
package/apps/pivot/share/list.js
CHANGED
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
var fields = refilm`
|
|
2
2
|
路径/path
|
|
3
|
-
|
|
3
|
+
挂载点/name
|
|
4
|
+
`;
|
|
5
|
+
var options = [
|
|
6
|
+
{
|
|
4
7
|
name: "删除",
|
|
5
8
|
do(e) {
|
|
6
|
-
|
|
7
|
-
alert("暂不支持删除!");
|
|
9
|
+
data.from('share', { opt: 'delete', item: e });
|
|
8
10
|
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: "修改",
|
|
14
|
+
do(e) {
|
|
15
|
+
popup('/share/edit', { fields, item: e });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
];
|
|
11
19
|
console.log(fields)
|
|
12
20
|
function main() {
|
|
13
21
|
var page = div();
|
|
14
22
|
page.innerHTML = list;
|
|
15
|
-
var a = data.from("share", a => {
|
|
23
|
+
var a = data.from("share", { opt: 'list' }, a => {
|
|
16
24
|
if (a) return a.map(b => ({ path: b }));
|
|
17
25
|
});
|
|
18
26
|
renderWithDefaults(page, {
|
|
19
27
|
data: a,
|
|
20
|
-
fields
|
|
28
|
+
fields: fields.concat({
|
|
29
|
+
name: "操作",
|
|
30
|
+
type: 'button',
|
|
31
|
+
options,
|
|
32
|
+
}),
|
|
21
33
|
});
|
|
22
34
|
console.log(a)
|
|
23
35
|
return page;
|
package/coms/zimoli/alert.js
CHANGED
package/coms/zimoli/button.js
CHANGED
|
@@ -95,6 +95,11 @@ function button(texter, type) {
|
|
|
95
95
|
if (_texter.tagName) {
|
|
96
96
|
var button = _texter;
|
|
97
97
|
if (button.childNodes.length) {
|
|
98
|
+
if (button.childNodes.length === 1 && button.childNodes[0].nodeType !== 1) {
|
|
99
|
+
_texter = createElement(_label);
|
|
100
|
+
_texter.appendChild(button.childNodes[0]);
|
|
101
|
+
button.appendChild(_texter);
|
|
102
|
+
}
|
|
98
103
|
appendChild.before(button.childNodes[0], tracker);
|
|
99
104
|
} else {
|
|
100
105
|
appendChild(button, tracker);
|
package/coms/zimoli/button.less
CHANGED
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
overflow: hidden;
|
|
19
19
|
outline: none;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
>.label{
|
|
22
|
+
position: relative;
|
|
23
|
+
}
|
|
22
24
|
|
|
23
25
|
@keyframes busy-loading {
|
|
24
26
|
0% {
|
|
@@ -139,9 +141,11 @@
|
|
|
139
141
|
margin-left: -2px;
|
|
140
142
|
height: 200%;
|
|
141
143
|
background: #fff9;
|
|
144
|
+
background: inherit;
|
|
145
|
+
opacity: 0.9;
|
|
142
146
|
border-left: 1px #fff3 solid;
|
|
143
147
|
border-right: 3px #fff6 solid;
|
|
144
|
-
animation: ltr
|
|
148
|
+
animation: ltr 2s linear 0s infinite;
|
|
145
149
|
}
|
|
146
150
|
|
|
147
151
|
}
|
package/coms/zimoli/color.js
CHANGED
|
@@ -3,61 +3,92 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
var { min, max, sin, cos, round, sqrt, random, PI, abs = a => a < 0 ? -a : a } = Math;
|
|
6
|
-
|
|
6
|
+
var [v_r, v_g, v_b] = [.299, .587, .114];
|
|
7
7
|
|
|
8
8
|
var rgb4v = function (r, g, b, v) {
|
|
9
|
-
|
|
10
|
-
return
|
|
9
|
+
var d = v - rgb2v(r, g, b);
|
|
10
|
+
return [r + d, g + d, b + d];
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
var trim3v = function (r, g, b) {
|
|
14
|
-
do {
|
|
15
|
-
var rest = 0;
|
|
16
|
-
var count = 1;
|
|
17
|
-
if (r >= 255) rest += (r - 255) * .299, r = 255, count -= .299;
|
|
18
|
-
if (g >= 255) rest += (g - 255) * .587, g = 255, count -= .587;
|
|
19
|
-
if (b >= 255) rest += (b - 255) * .114, b = 255, count -= .114;
|
|
20
|
-
if (count > 0.01 && rest > 0) {
|
|
21
|
-
rest = rest / count;
|
|
22
|
-
if (r < 255) r += rest;
|
|
23
|
-
if (g < 255) g += rest;
|
|
24
|
-
if (b < 255) b += rest;
|
|
25
|
-
}
|
|
26
|
-
} while (rest > 0);
|
|
27
|
-
do {
|
|
28
|
-
var rest = 0;
|
|
29
|
-
var count = 1;
|
|
30
|
-
if (r <= 0) rest += r * .299, r = 0, count -= .299;
|
|
31
|
-
if (g <= 0) rest += g * .587, g = 0, count -= .587;
|
|
32
|
-
if (b <= 0) rest += b * .114, b = 0, count -= .114;
|
|
33
|
-
if (count > 0.01 && rest > 0) {
|
|
34
|
-
rest = rest / count;
|
|
35
|
-
if (r > 0) r += rest;
|
|
36
|
-
if (g > 0) g += rest;
|
|
37
|
-
if (b > 0) b += rest;
|
|
38
|
-
}
|
|
39
|
-
} while (rest > 0);
|
|
40
13
|
|
|
14
|
+
|
|
15
|
+
var rgb4h = function (r, g, b, h) {
|
|
16
|
+
var [p, q, s] = [r, g, b].sort();
|
|
17
|
+
var m = s - p;
|
|
18
|
+
h = (h % 360 + 360) % 360;
|
|
19
|
+
if (h < 60) {
|
|
20
|
+
r = s;
|
|
21
|
+
g = p + m * h / 60;
|
|
22
|
+
b = p;
|
|
23
|
+
}
|
|
24
|
+
else if (h < 120) {
|
|
25
|
+
r = p + m * (120 - h) / 60;
|
|
26
|
+
g = s;
|
|
27
|
+
b = p;
|
|
28
|
+
}
|
|
29
|
+
else if (h < 180) {
|
|
30
|
+
r = p;
|
|
31
|
+
g = s;
|
|
32
|
+
b = p + m * (h - 120) / 60
|
|
33
|
+
}
|
|
34
|
+
else if (h < 240) {
|
|
35
|
+
r = p;
|
|
36
|
+
g = p + m * (240 - h) / 60;
|
|
37
|
+
b = s;
|
|
38
|
+
}
|
|
39
|
+
else if (h < 300) {
|
|
40
|
+
r = p + m * (h - 240) / 60;
|
|
41
|
+
g = p;
|
|
42
|
+
b = s;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
r = s;
|
|
46
|
+
g = p;
|
|
47
|
+
b = p + m * (360 - h) / 60;
|
|
48
|
+
}
|
|
41
49
|
return [r, g, b];
|
|
42
|
-
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
var rgb2h = function (r, g, b) {
|
|
54
|
+
var m = max(r, g, b);
|
|
55
|
+
var n = min(r, g, b);
|
|
56
|
+
var h;
|
|
57
|
+
if (m === n) h = 0;
|
|
58
|
+
else if (m === r) {
|
|
59
|
+
if (g >= b) {
|
|
60
|
+
h = 60 * (g - b) / (m - n);
|
|
61
|
+
} else {
|
|
62
|
+
h = 360 + 60 * (g - b) / (m - n);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else if (m === g) {
|
|
66
|
+
h = 120 + 60 * (b - r) / (m - n);
|
|
67
|
+
}
|
|
68
|
+
else if (m === b) {
|
|
69
|
+
h = 240 + 60 * (r - g) / (m - n);
|
|
70
|
+
|
|
71
|
+
}
|
|
72
|
+
return h;
|
|
73
|
+
};
|
|
43
74
|
|
|
44
75
|
var rgb2s = function (r, g, b) {
|
|
45
|
-
var m =
|
|
76
|
+
var m = min(r, g, b);
|
|
46
77
|
if (m) {
|
|
47
78
|
r -= m;
|
|
48
79
|
g -= m;
|
|
49
80
|
b -= m;
|
|
50
81
|
}
|
|
51
|
-
return
|
|
82
|
+
return max(r, g, b) / 255;
|
|
52
83
|
};
|
|
53
84
|
var rgb4s = function (r, g, b, s) {
|
|
54
|
-
var m =
|
|
85
|
+
var m = min(r, g, b);
|
|
55
86
|
if (m) {
|
|
56
87
|
r -= m;
|
|
57
88
|
g -= m;
|
|
58
89
|
b -= m;
|
|
59
90
|
}
|
|
60
|
-
s = s * 255 / (
|
|
91
|
+
s = s * 255 / (max(r, g, b) || 1);
|
|
61
92
|
if (s) {
|
|
62
93
|
r *= s;
|
|
63
94
|
g *= s;
|
|
@@ -70,37 +101,45 @@ var rgb4s = function (r, g, b, s) {
|
|
|
70
101
|
function rotate_rgb(RGBA, theta) {
|
|
71
102
|
var [r, g, b, a] = RGBA;
|
|
72
103
|
if (isNaN(theta)) return [r, g, b, a];
|
|
104
|
+
var h = rgb2h(r, g, b);
|
|
73
105
|
var s = rgb2s(r, g, b);
|
|
74
106
|
var v = rgb2v(r, g, b);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var
|
|
81
|
-
var
|
|
82
|
-
var
|
|
83
|
-
var
|
|
84
|
-
var
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
green
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
h += theta * 180 / Math.PI;
|
|
108
|
+
[r, g, b] = rgb4h(r, g, b, h);
|
|
109
|
+
[r, g, b] = rgb4s(r, g, b, s);
|
|
110
|
+
[r, g, b] = rgb4v(r, g, b, v);
|
|
111
|
+
return [r, g, b];
|
|
112
|
+
// var s = rgb2s(r, g, b);
|
|
113
|
+
// var v = rgb2v(r, g, b);
|
|
114
|
+
// var u = sqrt(3) / 3;
|
|
115
|
+
// var pu = 1 / 3;
|
|
116
|
+
// var cosa = cos(theta);
|
|
117
|
+
// var sina = sin(theta);
|
|
118
|
+
// var vera = 1 - cosa;
|
|
119
|
+
// var red = (cosa + pu * vera) * r + (pu * vera - u * sina) * g + (pu * vera + u * sina) * b;
|
|
120
|
+
// var green = (pu * vera + u * sina) * r + (cosa + pu * vera) * g + (pu * vera - u * sina) * b;
|
|
121
|
+
// var blue = (pu * vera - u * sina) * r + (pu * vera + u * sina) * g + (cosa + pu * vera) * b;
|
|
122
|
+
// var m = mode([red, green, blue]);
|
|
123
|
+
// var _min = min(red, green, blue);
|
|
124
|
+
// var d = [m - red, m - green, m - blue]
|
|
125
|
+
// if (_min < 0) {
|
|
126
|
+
// var index = red < 0 ? 0 : green < 0 ? 1 : 2;
|
|
127
|
+
// var [dr, dg, db] = single(d, -_min / d[index]);
|
|
128
|
+
// } else {
|
|
129
|
+
// var _max = max(red, green, blue);
|
|
130
|
+
// if (_max > 255) {
|
|
131
|
+
// var index = red > 255 ? 0 : green > 255 ? 1 : 2;
|
|
132
|
+
// var [dr, dg, db] = single(d, (255 - _max) / d[index]);
|
|
133
|
+
// } else {
|
|
134
|
+
// var dr, dg, db = dr = dg = 0;
|
|
135
|
+
// }
|
|
136
|
+
// }
|
|
137
|
+
// red += dr;
|
|
138
|
+
// green += dg;
|
|
139
|
+
// blue += db;
|
|
140
|
+
// [red, green, blue] = rgb4s(red, green, blue, s);
|
|
141
|
+
// [red, green, blue] = rgb4v(red, green, blue, v);
|
|
142
|
+
// return [red, green, blue, a];
|
|
104
143
|
}
|
|
105
144
|
// 对比度
|
|
106
145
|
function contrast_rgb(RGBA, ratio) {
|
|
@@ -226,22 +265,24 @@ function single(c, u) {
|
|
|
226
265
|
return [r * u, g * u, b * u];
|
|
227
266
|
}
|
|
228
267
|
function angle(c1, c2) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
c1 =
|
|
232
|
-
c2 =
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
var
|
|
236
|
-
var
|
|
237
|
-
var
|
|
238
|
-
var
|
|
239
|
-
var
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
268
|
+
var theta = rgb2h(c2[0], c2[1], c2[2]) - rgb2h(c1[0], c1[1], c1[2]);
|
|
269
|
+
if (theta < 0) theta += 360;
|
|
270
|
+
// c1 = parse(c1);
|
|
271
|
+
// c2 = parse(c2);
|
|
272
|
+
// c1 = normal(c1);
|
|
273
|
+
// c2 = normal(c2);
|
|
274
|
+
// var [r1, g1, b1] = single(c1);
|
|
275
|
+
// var [r2, g2, b2] = single(c2);
|
|
276
|
+
// var c = [g1 * b2 - g2 * b1, b1 * r2 - b2 * r1, r1 * g2 - r2 * g1];
|
|
277
|
+
// var d = r1 * r2 + g1 * g2 + b1 * b2;
|
|
278
|
+
// var e = c[0] > 0 ? mode(c) : -mode(c);
|
|
279
|
+
// var theta = Math.asin(e > 1 ? 1 : e < -1 ? -1 : e);
|
|
280
|
+
// var phi = Math.acos(d > 1 ? 1 : d < -1 ? -1 : d);
|
|
281
|
+
// if (theta < 0) {
|
|
282
|
+
// theta = Math.PI * 2 - phi;
|
|
283
|
+
// } else {
|
|
284
|
+
// theta = phi;
|
|
285
|
+
// }
|
|
245
286
|
return theta;
|
|
246
287
|
}
|
|
247
288
|
function equal(c1, c2) {
|
|
@@ -274,10 +315,10 @@ var colorDesigner = {
|
|
|
274
315
|
contrast: 1
|
|
275
316
|
};
|
|
276
317
|
var rgb2v = function (r, g, b) {
|
|
277
|
-
r *=
|
|
278
|
-
g *=
|
|
279
|
-
b *=
|
|
280
|
-
return
|
|
318
|
+
r *= v_r;
|
|
319
|
+
g *= v_g;
|
|
320
|
+
b *= v_b;
|
|
321
|
+
return r + g + b;
|
|
281
322
|
};
|
|
282
323
|
var v2rgb = function (v, r, g, b) {
|
|
283
324
|
var t = r + g + b || 1;
|
|
@@ -321,6 +362,9 @@ extend(color, {
|
|
|
321
362
|
contrast(color, ratio) {
|
|
322
363
|
return doWith(contrast_rgb, color, ratio);
|
|
323
364
|
},
|
|
365
|
+
rgb2h,
|
|
366
|
+
rgb4h,
|
|
367
|
+
rgb4s,
|
|
324
368
|
rgb2v,
|
|
325
369
|
rgb4v,
|
|
326
370
|
rgb2s,
|
package/coms/zimoli/colorpad.js
CHANGED
|
@@ -4,9 +4,7 @@ var xy2c = function (a, x, y) {
|
|
|
4
4
|
return a * x * (1 - y) + (.5 + x / 2) * y * 255;
|
|
5
5
|
};
|
|
6
6
|
var z2rgb = function (z) {
|
|
7
|
-
|
|
8
|
-
var [r, g, b] = color.parse(c);
|
|
9
|
-
return color.rgb4s(r, g, b, 1);
|
|
7
|
+
return color.rgb4h(255, 0, 0, z * 360);
|
|
10
8
|
};
|
|
11
9
|
var z2c = function (z) {
|
|
12
10
|
return color.stringify(z2rgb(z));
|
|
@@ -87,7 +85,7 @@ var c2xy = function (c1, c2) {
|
|
|
87
85
|
var getCanvas = function (e) {
|
|
88
86
|
return e.getElementsByTagName('canvas')[0];
|
|
89
87
|
};
|
|
90
|
-
var sample = "#
|
|
88
|
+
var sample = "#ff0000";
|
|
91
89
|
var buildpad = function (pad, c = sample) {
|
|
92
90
|
var canvas = getCanvas(pad);
|
|
93
91
|
canvas.width = 256;
|
package/coms/zimoli/data.js
CHANGED
|
@@ -543,7 +543,8 @@ var privates = {
|
|
|
543
543
|
ok(e.response || e.responseText);
|
|
544
544
|
}).error(xhr => {
|
|
545
545
|
try {
|
|
546
|
-
|
|
546
|
+
var e = getErrorMessage(parseData(xhr.response || xhr.responseText || xhr.statusText || xhr.status));
|
|
547
|
+
oh({ status: xhr.status, error: e })
|
|
547
548
|
} catch (error) {
|
|
548
549
|
oh(error);
|
|
549
550
|
}
|
|
@@ -612,8 +613,7 @@ function responseCrash(e, data) {
|
|
|
612
613
|
} else {
|
|
613
614
|
data.error = e;
|
|
614
615
|
}
|
|
615
|
-
error_report(data.error_message, 'error');
|
|
616
|
-
|
|
616
|
+
error_report(data.error_message, e.status < 500 ? 'warn' : 'error');
|
|
617
617
|
}
|
|
618
618
|
|
|
619
619
|
var data = {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
var _slider = createElement(div);
|
|
3
|
+
var empty = function (index, item) {
|
|
4
|
+
if (!item) return;
|
|
5
|
+
return document.createElement('empty');
|
|
6
|
+
};
|
|
3
7
|
var getGenerator = function (container) {
|
|
4
8
|
if (!container) return;
|
|
9
|
+
if (!container.childNodes.length) return container.$generator || empty;
|
|
5
10
|
var template = document.createElement("div");
|
|
6
11
|
var templates = [].concat.apply([], container.childNodes).filter(a => {
|
|
7
12
|
if (a.hasAttribute('insert')) {
|
|
@@ -21,7 +26,7 @@ var getGenerator = function (container) {
|
|
|
21
26
|
container.insertBefore = _slider.insertBefore;
|
|
22
27
|
container.appendChild = _slider.appendChild;
|
|
23
28
|
var scopes = container.$parentScopes.concat(container.$scope);
|
|
24
|
-
return function (index, com) {
|
|
29
|
+
return container.$generator = function (index, com) {
|
|
25
30
|
if (!com) {
|
|
26
31
|
if (!container.src || index >= container.src.length) return;
|
|
27
32
|
com = container.src[index];
|
package/coms/zimoli/image.less
CHANGED
package/coms/zimoli/menu.js
CHANGED
package/coms/zimoli/on.js
CHANGED
|
@@ -144,6 +144,22 @@ function checkKeyNeed(eventtypes, e) {
|
|
|
144
144
|
}
|
|
145
145
|
return true;
|
|
146
146
|
}
|
|
147
|
+
function wrapHandler(h) {
|
|
148
|
+
if (h instanceof Function) {
|
|
149
|
+
return function () {
|
|
150
|
+
var res = h.apply(this, arguments);
|
|
151
|
+
if (res && isFunction(res.then)) {
|
|
152
|
+
this.setAttribute('pending', '');
|
|
153
|
+
var removePending = () => {
|
|
154
|
+
this.removeAttribute('pending');
|
|
155
|
+
};
|
|
156
|
+
res.then(removePending, removePending);
|
|
157
|
+
}
|
|
158
|
+
return res;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return h;
|
|
162
|
+
}
|
|
147
163
|
if (is_addEventListener_enabled) {
|
|
148
164
|
var on = function (k) {
|
|
149
165
|
var on_event_path = "on" + k;
|
|
@@ -151,6 +167,7 @@ if (is_addEventListener_enabled) {
|
|
|
151
167
|
var eventtypes = parseEventTypes(k);
|
|
152
168
|
k = k.replace(eventtypereg, '');
|
|
153
169
|
function addhandler(element, handler, firstmost) {
|
|
170
|
+
handler = wrapHandler(handler);
|
|
154
171
|
if (eventtypes.capture) firstmost = true;
|
|
155
172
|
if (k === changes_key) {
|
|
156
173
|
if (!element.needchanges) element.needchanges = 0;
|
|
@@ -190,6 +207,7 @@ if (is_addEventListener_enabled) {
|
|
|
190
207
|
|
|
191
208
|
if (handlersMap[on_event_path]) return handlersMap[on_event_path];
|
|
192
209
|
function addhandler(element, handler, firstmost = false) {
|
|
210
|
+
handler = wrapHandler(handler);
|
|
193
211
|
if (eventtypes.capture) {
|
|
194
212
|
console.warn("当前运行环境不支持事件capture");
|
|
195
213
|
firstmost = true;
|
package/coms/zimoli/render.js
CHANGED
|
@@ -55,7 +55,7 @@ var variableReg = /([^\:\,\+\=\-\!%\^\|\/\&\*\!\;\?\>\<~\{\}\s]|\?\s*\.(?=[^\d])
|
|
|
55
55
|
var createGetter = function (search, isprop = true) {
|
|
56
56
|
var [withContext, searchContext] = search;
|
|
57
57
|
if (!searchContext) return function () { };
|
|
58
|
-
var ret =
|
|
58
|
+
var ret = /\;/.test(searchContext) ? "" : "return ";
|
|
59
59
|
if (/\?\s*\.(?=[^\d])/.test(searchContext)) {
|
|
60
60
|
searchContext = searchContext.replace(variableReg, function (context) {
|
|
61
61
|
var dist;
|
|
@@ -384,7 +384,7 @@ var src2 = function (search) {
|
|
|
384
384
|
temp = "";
|
|
385
385
|
}
|
|
386
386
|
var changes = getChanges(temp, savedValue);
|
|
387
|
-
if (!changes) return;
|
|
387
|
+
if (!changes || isEmpty(origin) && isEmpty(this.src)) return;
|
|
388
388
|
savedValue = temp;
|
|
389
389
|
this.src = origin;
|
|
390
390
|
cast(this, origin);
|
|
@@ -537,6 +537,7 @@ var emiters = {
|
|
|
537
537
|
var res = getter.call(this, e);
|
|
538
538
|
if (res && isFunction(res.then)) res.then(digest, digest);
|
|
539
539
|
digest();
|
|
540
|
+
return res;
|
|
540
541
|
});
|
|
541
542
|
},
|
|
542
543
|
once(key, search) {
|
|
@@ -545,6 +546,7 @@ var emiters = {
|
|
|
545
546
|
var res = getter.call(this, e);
|
|
546
547
|
if (res && isFunction(res.then)) res.then(digest, digest);
|
|
547
548
|
digest();
|
|
549
|
+
return res;
|
|
548
550
|
});
|
|
549
551
|
}
|
|
550
552
|
};
|
package/coms/zimoli/table.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<tr>
|
|
9
9
|
<td -repeat="f in fields">
|
|
10
10
|
<span -if="f.key" -text="d[f.key]"></span>
|
|
11
|
-
<a on-click="o.do(d)" -if="f.
|
|
11
|
+
<a on-click="o.do(d)" -if="f.options" -repeat="o in f.options">
|
|
12
12
|
<span -text=o.name></span>
|
|
13
13
|
</a>
|
|
14
14
|
</td>
|
package/coms/zimoli/table.js
CHANGED
|
@@ -142,6 +142,7 @@ function table(elem) {
|
|
|
142
142
|
var cellMatchManager = function (element) {
|
|
143
143
|
if (!thead) [thead] = table.getElementsByTagName("thead");
|
|
144
144
|
if (table.resizing) return false;
|
|
145
|
+
if (!getTargetIn(thead, element)) return false;
|
|
145
146
|
if (!tdElementReg.test(element.tagName)) return false;
|
|
146
147
|
var savedRowDeltas = [];
|
|
147
148
|
[].map.call(thead.children, function (tr) {
|
package/coms/zimoli/table.less
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
& {
|
|
2
|
+
|
|
4
3
|
>thead,
|
|
5
4
|
>tbody,
|
|
6
5
|
& {
|
|
7
6
|
>tr {
|
|
8
|
-
|
|
7
|
+
|
|
9
8
|
>th,
|
|
10
|
-
>td {
|
|
9
|
+
>td {
|
|
10
|
+
box-shadow: 0 0 20px -6px #00000033;
|
|
11
|
+
}
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
}
|
|
@@ -17,10 +18,15 @@ tbody,
|
|
|
17
18
|
th,
|
|
18
19
|
td,
|
|
19
20
|
tr,
|
|
20
|
-
table
|
|
21
|
+
table,
|
|
22
|
+
& {
|
|
21
23
|
box-sizing: border-box;
|
|
22
24
|
}
|
|
23
25
|
|
|
26
|
+
& {
|
|
27
|
+
outline: 1px solid #0006;
|
|
28
|
+
}
|
|
29
|
+
|
|
24
30
|
.y-ing {
|
|
25
31
|
&:before {
|
|
26
32
|
content: "";
|
|
@@ -78,7 +84,7 @@ table {
|
|
|
78
84
|
position: relative;
|
|
79
85
|
}
|
|
80
86
|
|
|
81
|
-
&:nth-
|
|
87
|
+
&:nth-of-type(even) {
|
|
82
88
|
|
|
83
89
|
>td,
|
|
84
90
|
>th {
|
|
@@ -86,7 +92,7 @@ table {
|
|
|
86
92
|
}
|
|
87
93
|
}
|
|
88
94
|
|
|
89
|
-
&:nth-
|
|
95
|
+
&:nth-of-type(odd) {
|
|
90
96
|
|
|
91
97
|
>td,
|
|
92
98
|
>th {
|
|
@@ -103,7 +109,8 @@ table {
|
|
|
103
109
|
}
|
|
104
110
|
}
|
|
105
111
|
}
|
|
106
|
-
|
|
112
|
+
|
|
113
|
+
.button {
|
|
107
114
|
margin-right: 10px;
|
|
108
115
|
vertical-align: middle;
|
|
109
116
|
display: inline-block;
|
package/coms/zimoli/view.less
CHANGED
|
@@ -22,7 +22,8 @@ body>& {
|
|
|
22
22
|
|
|
23
23
|
&>.body,
|
|
24
24
|
>[body] {
|
|
25
|
-
padding: 6px
|
|
25
|
+
padding: 6px 20px 6px 6px;
|
|
26
|
+
margin-right: -20px;
|
|
26
27
|
background: #f2f4f6;
|
|
27
28
|
display: block;
|
|
28
29
|
width: auto;
|
|
@@ -109,14 +110,14 @@ body>& {
|
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
.button {
|
|
112
|
-
min-width: 60px;
|
|
113
113
|
vertical-align: middle;
|
|
114
|
-
margin-right: 10px;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
116
|
>.foot,
|
|
118
117
|
>[foot] {
|
|
119
118
|
.button {
|
|
119
|
+
min-width: 60px;
|
|
120
120
|
padding: 0 20px;
|
|
121
|
+
margin-right: 10px;
|
|
121
122
|
}
|
|
122
123
|
}
|