efront 3.0.9 → 3.2.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/coms/basic/lazy.js +28 -19
- package/coms/basic/loader.js +2 -1
- package/coms/basic/seek.js +2 -1
- package/coms/compile/breakcode.js +15 -0
- package/coms/compile/scanner.js +9 -7
- package/coms/compile/scanner2.js +141 -71
- package/coms/compile/scanner2_test.js +14 -3
- package/coms/zimoli/button.js +1 -1
- package/coms/zimoli/button.less +2 -0
- package/coms/zimoli/cross.js +26 -14
- package/coms/zimoli/grid.js +10 -10
- package/coms/zimoli/render.js +5 -19
- package/coms/zimoli/selectDate.js +3 -5
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/coms/compile/assembler.js +0 -11
- package/coms/compile/assembler_test.js +0 -16
- package/coms/compile/messages.js +0 -51
- package/coms/compile/packdec.js +0 -72
- package/coms/compile/packdec_test.js +0 -18
- package/coms/compile/parser.js +0 -111
- package/coms/compile/variables.js +0 -298
- package/coms/compile/variables_test.js +0 -10
- package/coms/syntax/javascript.js +0 -259
- package/coms/syntax/javascript_test.js +0 -169
- package/coms/syntax/xml.js +0 -1
- package/coms/zimoli/fieldsview.js +0 -0
- package/coms/zimoli/fieldview.js +0 -1
package/coms/zimoli/cross.js
CHANGED
|
@@ -102,7 +102,7 @@ function isChildPath(relative, path) {
|
|
|
102
102
|
return relative.replace(/^(.*\/)[^\/]*$/, path);
|
|
103
103
|
}
|
|
104
104
|
var digest = function () {
|
|
105
|
-
|
|
105
|
+
dispatch('render', window);
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
var getCrossUrl = function (domain, headers) {
|
|
@@ -117,7 +117,7 @@ var getCrossUrl = function (domain, headers) {
|
|
|
117
117
|
_headers = serialize(_headers);
|
|
118
118
|
if (_headers) _headers = "," + _headers;
|
|
119
119
|
return domain
|
|
120
|
-
.replace(/^s
|
|
120
|
+
.replace(/^(s?)(\/\/)/i, "http$1:$2")
|
|
121
121
|
.replace(domainReg, base + `*${/^(https\:|s\/\/)/i.test(domain) ? "*" : ""}$2${_headers}/$3$4`);
|
|
122
122
|
};
|
|
123
123
|
function cross(method, url, headers) {
|
|
@@ -212,6 +212,11 @@ function cross(method, url, headers) {
|
|
|
212
212
|
xhr.setRequestHeader = function (key, value) {
|
|
213
213
|
realHeaders[key] = value;
|
|
214
214
|
};
|
|
215
|
+
xhr.then = function (ok, oh) {
|
|
216
|
+
onloads.push(ok);
|
|
217
|
+
onerrors.push(oh);
|
|
218
|
+
flush();
|
|
219
|
+
};
|
|
215
220
|
setTimeout(function () {
|
|
216
221
|
var isform = /^f/i.test(method);
|
|
217
222
|
if (isform) {
|
|
@@ -244,24 +249,32 @@ function cross(method, url, headers) {
|
|
|
244
249
|
send.call(xhr, datas);
|
|
245
250
|
}, 0);
|
|
246
251
|
}
|
|
252
|
+
var loaded, errored;
|
|
247
253
|
var onload = function (xhr) {
|
|
248
254
|
if (xhr.decoder) {
|
|
249
255
|
xhr = xhr.decoder(xhr);
|
|
250
256
|
}
|
|
251
|
-
|
|
257
|
+
loaded = xhr;
|
|
258
|
+
flush();
|
|
252
259
|
digest();
|
|
253
260
|
};
|
|
254
261
|
var onerror = function (xhr) {
|
|
255
|
-
|
|
262
|
+
errored = xhr;
|
|
263
|
+
flush();
|
|
256
264
|
digest();
|
|
257
265
|
};
|
|
266
|
+
var flush = function () {
|
|
267
|
+
var then = xhr.then;
|
|
268
|
+
delete xhr.then;
|
|
269
|
+
if (loaded) onloads.splice(0, onloads.length).map(e => e instanceof Function && e(xhr));
|
|
270
|
+
if (errored) onerrors.splice(0, onerrors.length).map(e => e instanceof Function && e(xhr));
|
|
271
|
+
xhr.then = then;
|
|
272
|
+
};
|
|
258
273
|
var onloads = [], onerrors = [];
|
|
259
274
|
xhr.done = xhr.success = function (on, asqueue = true) {
|
|
260
|
-
if (asqueue)
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
onload = on;
|
|
264
|
-
}
|
|
275
|
+
if (!asqueue) onloads.splice(0, onloads.length);
|
|
276
|
+
onloads.push(on);
|
|
277
|
+
flush();
|
|
265
278
|
return xhr;
|
|
266
279
|
};
|
|
267
280
|
var send = xhr.send;
|
|
@@ -296,12 +309,11 @@ function cross(method, url, headers) {
|
|
|
296
309
|
}
|
|
297
310
|
};
|
|
298
311
|
xhr.fail = xhr.error = function (on, asqueue = true) {
|
|
299
|
-
if (asqueue) {
|
|
300
|
-
onerrors.
|
|
301
|
-
} else {
|
|
302
|
-
onerror = on;
|
|
312
|
+
if (!asqueue) {
|
|
313
|
+
onerrors.splice(0, onerrors.length);
|
|
303
314
|
}
|
|
304
|
-
|
|
315
|
+
onerrors.push(on);
|
|
316
|
+
flush();
|
|
305
317
|
return xhr;
|
|
306
318
|
};
|
|
307
319
|
return xhr;
|
package/coms/zimoli/grid.js
CHANGED
|
@@ -112,8 +112,8 @@ var getXYFromMouseEvent = function (event) {
|
|
|
112
112
|
var grid = this;
|
|
113
113
|
var position = getScreenPosition(grid);
|
|
114
114
|
var computed = getComputedStyle(grid);
|
|
115
|
-
var clientX = event.clientX - position.left;
|
|
116
|
-
var clientY = event.clientY - position.top;
|
|
115
|
+
var clientX = event.clientX - position.left - grid.clientLeft;
|
|
116
|
+
var clientY = event.clientY - position.top - grid.clientTop;
|
|
117
117
|
var [padLeft, padTop, padRight, padBottom] = [
|
|
118
118
|
computed.paddingLeft,
|
|
119
119
|
computed.paddingTop,
|
|
@@ -302,7 +302,7 @@ function grid(breakpoints) {
|
|
|
302
302
|
}
|
|
303
303
|
class Point extends Array {
|
|
304
304
|
constructor(value, range) {
|
|
305
|
-
|
|
305
|
+
super();
|
|
306
306
|
var solid = false;
|
|
307
307
|
if (isObject(value)) {
|
|
308
308
|
this.value = value.value;
|
|
@@ -324,7 +324,7 @@ class Point extends Array {
|
|
|
324
324
|
return this.value;
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
-
var createPoints = function (values, direction = "x", result = Point(0)) {
|
|
327
|
+
var createPoints = function (values, direction = "x", result = new Point(0)) {
|
|
328
328
|
if (!(values instanceof Array)) values = arguments;
|
|
329
329
|
for (var cx = 0, dx = values.length; cx < dx; cx++) {
|
|
330
330
|
var value = values[cx];
|
|
@@ -332,7 +332,7 @@ var createPoints = function (values, direction = "x", result = Point(0)) {
|
|
|
332
332
|
if (!result.length) throw new Error("数据转换为grid失败!");
|
|
333
333
|
createPoints(value, direction === "x" ? "y" : "x", result[result.length - 1]);
|
|
334
334
|
} else {
|
|
335
|
-
var breakpoint = Point(value);
|
|
335
|
+
var breakpoint = new Point(value);
|
|
336
336
|
breakpoint.direction = direction;
|
|
337
337
|
breakpoint.parent = result;
|
|
338
338
|
result.push(breakpoint);
|
|
@@ -412,7 +412,7 @@ var grid_prototype = {
|
|
|
412
412
|
_reshape() {
|
|
413
413
|
var grid = this;
|
|
414
414
|
var bounds = this.bounds;
|
|
415
|
-
var current_l, current_t, current_w, current_h, current_d = this.breakpoints.direction, current_r = Point(grid.width), current_b = Point(grid.height);
|
|
415
|
+
var current_l, current_t, current_w, current_h, current_d = this.breakpoints.direction, current_r = new Point(grid.width), current_b = new Point(grid.height);
|
|
416
416
|
// var xPoints = [];
|
|
417
417
|
// var yPoints = [];
|
|
418
418
|
var getDivSize = function (top, height, bounds_top, bounds_bottom, grid_height, grid_padding_top, grid_padding_bottom) {
|
|
@@ -569,14 +569,14 @@ var grid_prototype = {
|
|
|
569
569
|
}
|
|
570
570
|
},
|
|
571
571
|
seprate(x) {
|
|
572
|
-
saveToOrderedArray(this.breakpoints, Point(x));
|
|
572
|
+
saveToOrderedArray(this.breakpoints, new Point(x));
|
|
573
573
|
},
|
|
574
574
|
nearby(x, y) {
|
|
575
575
|
var breakpoints = this.breakpoints;
|
|
576
576
|
var breakpath = [];
|
|
577
|
-
var maxXStart = Point(0), maxYStart = Point(0);
|
|
578
|
-
var minXEnd = Point(this.width);
|
|
579
|
-
var minYEnd = Point(this.height);
|
|
577
|
+
var maxXStart = new Point(0), maxYStart = new Point(0);
|
|
578
|
+
var minXEnd = new Point(this.width);
|
|
579
|
+
var minYEnd = new Point(this.height);
|
|
580
580
|
var isX = true;
|
|
581
581
|
do {
|
|
582
582
|
var value = isX ? x : y;// 先 y 后 x
|
package/coms/zimoli/render.js
CHANGED
|
@@ -577,14 +577,16 @@ var emiters = {
|
|
|
577
577
|
on(key, search) {
|
|
578
578
|
var getter = createGetter(search, false);
|
|
579
579
|
on(key)(this, function (e) {
|
|
580
|
-
getter.call(this, e);
|
|
580
|
+
var res = getter.call(this, e);
|
|
581
|
+
if (res && isFunction(res.then)) res.then(digest, digest);
|
|
581
582
|
digest();
|
|
582
583
|
});
|
|
583
584
|
},
|
|
584
585
|
once(key, search) {
|
|
585
586
|
var getter = createGetter(search, false);
|
|
586
587
|
once(key)(this, function (e) {
|
|
587
|
-
getter.call(this, e);
|
|
588
|
+
var res = getter.call(this, e);
|
|
589
|
+
if (res && isFunction(res.then)) res.then(digest, digest);
|
|
588
590
|
digest();
|
|
589
591
|
});
|
|
590
592
|
}
|
|
@@ -786,7 +788,7 @@ function render(element, scope, parentScopes) {
|
|
|
786
788
|
return e;
|
|
787
789
|
}
|
|
788
790
|
|
|
789
|
-
var digest = lazy(refresh,
|
|
791
|
+
var digest = lazy(refresh, -{});
|
|
790
792
|
render.digest = render.apply = render.refresh = digest;
|
|
791
793
|
render.parseRepeat = parseRepeat;
|
|
792
794
|
var eventsHandlers = "fullscreenchange,change,click,paste,resize,keydown,keypress,keyup,input,drop".split(",").map(k => on(k));
|
|
@@ -805,19 +807,3 @@ render.register = function (key, name) {
|
|
|
805
807
|
register(key, name);
|
|
806
808
|
}
|
|
807
809
|
};
|
|
808
|
-
|
|
809
|
-
var promisePrototype = Promise.prototype;
|
|
810
|
-
var __then = promisePrototype.then;
|
|
811
|
-
var __wrap = function (f) {
|
|
812
|
-
if (f instanceof Function) {
|
|
813
|
-
return function () {
|
|
814
|
-
var res = f.apply(this, arguments);
|
|
815
|
-
digest();
|
|
816
|
-
return res;
|
|
817
|
-
};
|
|
818
|
-
}
|
|
819
|
-
return f;
|
|
820
|
-
};
|
|
821
|
-
promisePrototype.then = function () {
|
|
822
|
-
return __then.apply(this, [].map.call(arguments, __wrap));
|
|
823
|
-
};
|
|
@@ -69,11 +69,9 @@ var bindValue = function () {
|
|
|
69
69
|
};
|
|
70
70
|
defineProperty(m, function get() {
|
|
71
71
|
return genLength(this['get' + _model[c]]() + i, l);
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
, c);
|
|
72
|
+
}, function set(v) {
|
|
73
|
+
return this['set' + _model[c]](trim.call(this, v - i));
|
|
74
|
+
}, c);
|
|
77
75
|
});
|
|
78
76
|
return function bindValue(_date) {
|
|
79
77
|
for (var k in date) _date[k] = date[k];
|