efront 3.26.6 → 3.26.8
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/cross_.js +12 -9
- package/coms/zimoli/model.js +0 -1
- package/coms/zimoli/render.js +15 -14
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/coms/basic/cross_.js
CHANGED
|
@@ -127,7 +127,9 @@ var mergedata = function (cachedata, pkv) {
|
|
|
127
127
|
}
|
|
128
128
|
return res;
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
function createResponse(response, status = 0) {
|
|
131
|
+
return { status, response: response, toString: toResponse }
|
|
132
|
+
}
|
|
131
133
|
/**
|
|
132
134
|
* @param { () => XMLHttpRequest } jsonp
|
|
133
135
|
* @this { () => XMLHttpRequest }
|
|
@@ -162,12 +164,15 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
162
164
|
if (!~requests.indexOf(_xhr)) return;
|
|
163
165
|
removeFromList(requests, _xhr);
|
|
164
166
|
errored = e || "未知错误!";
|
|
167
|
+
if (typeof errored === 'string') {
|
|
168
|
+
errored = createResponse(e, xhr.status);
|
|
169
|
+
}
|
|
165
170
|
flush();
|
|
166
171
|
digest();
|
|
167
172
|
};
|
|
168
173
|
var onerror = async function (e) {
|
|
169
174
|
if (e.type === 'error') {
|
|
170
|
-
e =
|
|
175
|
+
e = createResponse("无法访问服务器!");
|
|
171
176
|
}
|
|
172
177
|
for (var r of reforms) {
|
|
173
178
|
var r = await reform.call(xhr, r, { method, url, status: xhr.status, headers: _headers }, fire, onerror1, e);
|
|
@@ -245,13 +250,13 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
245
250
|
xhr.responseText = xhr.response;
|
|
246
251
|
}
|
|
247
252
|
catch (e) {
|
|
248
|
-
return onerror(
|
|
253
|
+
return onerror("数据无法解析!")
|
|
249
254
|
}
|
|
250
255
|
};
|
|
251
256
|
switch (xhr.status) {
|
|
252
257
|
case 0:
|
|
253
258
|
if (!xhr.response) {
|
|
254
|
-
onerror(
|
|
259
|
+
onerror("无法访问服务器");
|
|
255
260
|
break;
|
|
256
261
|
}
|
|
257
262
|
case 200:
|
|
@@ -312,9 +317,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
312
317
|
forceForm = true;
|
|
313
318
|
xhr.data(data);
|
|
314
319
|
};
|
|
315
|
-
var fire = async function () {
|
|
316
|
-
if (!~requests.indexOf(xhr)) return;
|
|
317
|
-
var code = await xhr.encrypt;
|
|
320
|
+
var fire = async function (code) {
|
|
318
321
|
if (!~requests.indexOf(xhr)) return;
|
|
319
322
|
xhr.encrypt = code;
|
|
320
323
|
var isform = /^f/i.test(method);
|
|
@@ -366,7 +369,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
|
|
|
366
369
|
else send.call(xhr);
|
|
367
370
|
digest();
|
|
368
371
|
};
|
|
369
|
-
Promise.resolve().then(fire);
|
|
372
|
+
Promise.resolve(xhr.encrypt).then(fire, onerror1);
|
|
370
373
|
}
|
|
371
374
|
var setRequestHeader = xhr.setRequestHeader;
|
|
372
375
|
var realHeaders = Object.create(null);
|
|
@@ -448,7 +451,7 @@ function addReform(r) {
|
|
|
448
451
|
function getCode() {
|
|
449
452
|
return new Promise((ok, oh) => {
|
|
450
453
|
this('get', base + "!").then((xhr) => { return ok(encode62.timedecode(xhr.response || xhr.responseText)) }, () => {
|
|
451
|
-
return oh('
|
|
454
|
+
return oh('无法连接可加密的服务器!');
|
|
452
455
|
});
|
|
453
456
|
});
|
|
454
457
|
}
|
package/coms/zimoli/model.js
CHANGED
|
@@ -279,7 +279,6 @@ function main(elem) {
|
|
|
279
279
|
}
|
|
280
280
|
} else {
|
|
281
281
|
var create = field_type === "function" ? field_editor : findEditerForElement(field_type, elem) || constructors[field_type];
|
|
282
|
-
console.log(create === constructors.select)
|
|
283
282
|
var ipt = create ? create(elem, field_ref) : field.key ? input(function () {
|
|
284
283
|
var input = document.createElement('input');
|
|
285
284
|
input.setAttribute('type', field.type);
|
package/coms/zimoli/render.js
CHANGED
|
@@ -189,6 +189,7 @@ var createRepeat = function (search, id = 0) {
|
|
|
189
189
|
// 懒渲染
|
|
190
190
|
var getter = createGetter(srcName).bind(this);
|
|
191
191
|
var element = this, clonedElements = [], savedValue, savedOrigin;
|
|
192
|
+
if (this.$struct.if) id = -7;
|
|
192
193
|
var renders = [function () {
|
|
193
194
|
var result = getter();
|
|
194
195
|
var origin = result;
|
|
@@ -266,6 +267,8 @@ var createIf = function (search, id = 0) {
|
|
|
266
267
|
var savedValue;
|
|
267
268
|
elements.parent = this.parentNode;
|
|
268
269
|
elements.comment = search;
|
|
270
|
+
if (this.$struct.repeat) id = -3;
|
|
271
|
+
|
|
269
272
|
elements.renders = [function () {
|
|
270
273
|
var shouldMount = -1;
|
|
271
274
|
for (var cx = 0, dx = elements.length; cx < dx; cx += 2) {
|
|
@@ -363,23 +366,21 @@ var parseIfWithRepeat = function (ifExpression, repeatExpression) {
|
|
|
363
366
|
var renderStructure = function (element) {
|
|
364
367
|
var $struct = element.$struct;
|
|
365
368
|
if ($struct.if) var { name: ifkey, key, value: ifexp } = $struct.if;
|
|
366
|
-
if ($struct.repeat) var {
|
|
367
|
-
if (!ifkey) return
|
|
368
|
-
if (!repeat) return
|
|
369
|
-
if (!ifexp) {
|
|
370
|
-
element.removeAttribute(ifkey);
|
|
371
|
-
return structures[key].call(element, ifexp);
|
|
372
|
-
}
|
|
369
|
+
if ($struct.repeat) var { value: repeat } = $struct.repeat;
|
|
370
|
+
if (!ifkey) return createRepeat.call(element, repeat);
|
|
371
|
+
if (!ifexp || !repeat) return structures[key].call(element, ifexp);
|
|
373
372
|
var { before, after } = parseIfWithRepeat(ifexp, repeat);
|
|
374
|
-
element.removeAttribute(ifkey);
|
|
375
373
|
if (after.length) {
|
|
376
|
-
|
|
374
|
+
$struct.if = { key, name: ifkey, value: after.join("&&") };
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
delete $struct.if;
|
|
377
378
|
}
|
|
378
379
|
if (before.length > 0) {
|
|
379
|
-
// 懒渲染
|
|
380
380
|
return createIf.call(element, before.join("&&"), null);
|
|
381
381
|
} else {
|
|
382
|
-
|
|
382
|
+
delete $struct.repeat;
|
|
383
|
+
if (!repeat) debugger;
|
|
383
384
|
return createRepeat.call(element, repeat, null);
|
|
384
385
|
}
|
|
385
386
|
};
|
|
@@ -684,7 +685,6 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
|
|
|
684
685
|
|
|
685
686
|
if (isEmpty(s.once)) s.once = once;
|
|
686
687
|
element.$eval = $eval;
|
|
687
|
-
if (!element.$struct) console.log(element, element.$struct, element.renderid, s)
|
|
688
688
|
}
|
|
689
689
|
if (element.renderid <= -1) element = renderStructure(element);
|
|
690
690
|
if (!element) return;
|
|
@@ -881,6 +881,7 @@ function createStructure(element) {
|
|
|
881
881
|
}
|
|
882
882
|
if (!element.renderid) element.renderid = -1;
|
|
883
883
|
else element.renderid = -2;
|
|
884
|
+
element.removeAttribute(name);
|
|
884
885
|
continue;
|
|
885
886
|
}
|
|
886
887
|
// ng-html,ng-src,ng-text,ng-model,ng-style,ng-class,...
|
|
@@ -943,9 +944,9 @@ function render(element, scope, parentScopes, lazy = true) {
|
|
|
943
944
|
var digest = lazy(refresh, -{});
|
|
944
945
|
render.digest = render.apply = render.refresh = digest;
|
|
945
946
|
render.parseRepeat = parseRepeat;
|
|
946
|
-
|
|
947
|
+
"fullscreenchange,resize,load,hashchange".split(",").forEach(e => on(e)(window, digest));
|
|
948
|
+
var eventsBinders = "change,click,paste,resize,keydown,keypress,keyup,input,drop".split(",").map(k => on(k));
|
|
947
949
|
var userChanged = false;
|
|
948
|
-
eventsBinders.splice(0, 3).forEach(on => on(window, digest));
|
|
949
950
|
var changeListener = function () {
|
|
950
951
|
if (userChanged) {
|
|
951
952
|
userChanged = false;
|