efront 4.22.19 → 4.23.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.
Files changed (73) hide show
  1. package/#/345/233/275/351/231/205/345/214/226.yml +6 -0
  2. package/apps/kugou/search/search.js +4 -3
  3. package/apps/noice/main.js +1 -1
  4. package/apps/pivot/auth/login.js +4 -4
  5. package/apps/pivot/dht/list.js +5 -5
  6. package/apps/pivot/link/chat.js +1 -1
  7. package/apps/pivot/link/index.js +1 -1
  8. package/apps/pivot/link/list.js +5 -4
  9. package/apps/pivot/share/list.js +6 -5
  10. package/apps/pivot/wow/root.js +3 -2
  11. package/coms/basic/LoadingArray.js +1 -0
  12. package/coms/basic/cross_.js +4 -1
  13. package/coms/basic/data.js +16 -13
  14. package/coms/basic_/WeakMap.js +23 -0
  15. package/coms/compile/Javascript.js +2 -1
  16. package/coms/explorer/context.js +10 -7
  17. package/coms/explorer/edit.js +1 -1
  18. package/coms/explorer/fileitem.js +9 -7
  19. package/coms/explorer/main.js +20 -17
  20. package/coms/frame/chat.js +17 -16
  21. package/coms/frame/list.js +6 -5
  22. package/coms/kugou/bindScroll.js +0 -1
  23. package/coms/kugou/buildScroll.js +5 -4
  24. package/coms/kugou/krc.js +2 -2
  25. package/coms/kugou/player.js +2 -2
  26. package/coms/kugou/song.js +1 -1
  27. package/coms/layer/leftCenter.js +5 -5
  28. package/coms/pivot/checkGeo.js +0 -1
  29. package/coms/zimoli/$eval.js +1 -0
  30. package/coms/zimoli/$mounted.js +1 -0
  31. package/coms/zimoli/$parented.js +1 -0
  32. package/coms/zimoli/$renders.js +1 -0
  33. package/coms/zimoli/$scoped.js +1 -0
  34. package/coms/zimoli/$structed.js +1 -0
  35. package/coms/zimoli/HexEditor.js +1 -1
  36. package/coms/zimoli/appendChild.js +2 -2
  37. package/coms/zimoli/autodragchildren_test.js +1 -1
  38. package/coms/zimoli/checkbox.js +1 -1
  39. package/coms/zimoli/container.js +4 -3
  40. package/coms/zimoli/createItemTarget.js +10 -6
  41. package/coms/zimoli/cross.js +1 -1
  42. package/coms/zimoli/field.js +3 -3
  43. package/coms/zimoli/gallery_test.js +4 -3
  44. package/coms/zimoli/getArgsChildren.js +1 -1
  45. package/coms/zimoli/getGenerator.js +36 -28
  46. package/coms/zimoli/grid.js +2 -2
  47. package/coms/zimoli/isMounted.js +6 -3
  48. package/coms/zimoli/lattice.js +2 -4
  49. package/coms/zimoli/maps.js +1 -2
  50. package/coms/zimoli/menu.js +1 -0
  51. package/coms/zimoli/menuItem.js +4 -3
  52. package/coms/zimoli/menuList.js +8 -8
  53. package/coms/zimoli/menu_test.js +4 -3
  54. package/coms/zimoli/model.js +8 -6
  55. package/coms/zimoli/on.js +28 -20
  56. package/coms/zimoli/picture.js +0 -7
  57. package/coms/zimoli/radio.js +1 -1
  58. package/coms/zimoli/remove.js +3 -3
  59. package/coms/zimoli/render.js +193 -99
  60. package/coms/zimoli/scrollbar.js +90 -42
  61. package/coms/zimoli/scrollbar.less +5 -3
  62. package/coms/zimoli/select.js +3 -3
  63. package/coms/zimoli/selectList.js +1 -1
  64. package/coms/zimoli/selectListEdit.js +5 -4
  65. package/coms/zimoli/table.html +6 -4
  66. package/coms/zimoli/table.js +82 -41
  67. package/coms/zimoli/table.less +22 -0
  68. package/coms/zimoli/vbox.less +2 -2
  69. package/coms/zimoli/zimoli.js +6 -5
  70. package/docs/version-desc.md +3 -1
  71. package/docs//347/211/210/346/234/254/350/257/264/346/230/216.md +3 -1
  72. package/package.json +1 -1
  73. package/public/efront.js +1 -1
@@ -56,9 +56,10 @@ var constructors = {
56
56
  return e;
57
57
  },
58
58
  success(e) {
59
+ var { field } = e;
59
60
  success(e);
60
61
  e.innerHTML = `<span ng-html="field.comment"></span>`;
61
- render(e.children, e.$scope, e.$parentScopes);
62
+ render(e.children, { field });
62
63
  return e;
63
64
  },
64
65
  switch: swap,
@@ -147,8 +148,8 @@ var constructors = {
147
148
  },
148
149
  "repeat"(_) {
149
150
  var elem = input();
151
+ var { field, data } = _;
150
152
  elem.$renders = [function () {
151
- var { field, data } = this.$scope;
152
153
  var { status } = this;
153
154
  var field_type = field.ref;
154
155
  var valid = this.value === data[field_type];
@@ -319,11 +320,12 @@ function setModel(ipt) {
319
320
  }
320
321
  function setBinder(elem, binder) {
321
322
  if (binder === elem.$binder) return;
322
- removeFromList(elem.$renders, elem.$binder);
323
+ var renders = $renders.get(elem);
324
+ removeFromList(renders, elem.$binder);
323
325
  remove(elem.childNodes);
324
326
  if (binder instanceof Binder) {
325
327
  binder.call(elem);
326
- elem.$renders.push(binder);
328
+ renders.push(binder);
327
329
  }
328
330
  else {
329
331
  var ipt = binder(elem);
@@ -350,11 +352,11 @@ var createOptionsMap = function (options) {
350
352
  }
351
353
  readonly_types.radio = readonly_types.select = readonly_types.swap;
352
354
  var findReaderForElement = function (type, e) {
353
- var editor = render.getFromScopes(type, e.$scope, e.$parentScopes);
355
+ var editor = render.findKey(type, e);
354
356
  if (isFunction(editor) && (editor.isreader || !editor.isediter) && editor.isreader !== false) return editor;
355
357
  };
356
358
  var findEditerForElement = function (type, e) {
357
- var editor = render.getFromScopes(type, e.$scope, e.$parentScopes);
359
+ var editor = render.findKey(type, e);
358
360
  if (isFunction(editor) && (editor.isediter || !editor.isreader) && editor.isediter !== false) return editor;
359
361
  };
360
362
  var markReader = function (readers) {
package/coms/zimoli/on.js CHANGED
@@ -272,7 +272,7 @@ function pending(h, event) {
272
272
  }
273
273
  var remove = function (k, hk, [eventtypes, handler, context]) {
274
274
  var element = this;
275
- var hs = element[hk];
275
+ var hs = hk.get(element);
276
276
  if (hs) {
277
277
  for (var cx = hs.length - 1; cx >= 0; cx--) {
278
278
  var [e, h, c] = hs[cx];
@@ -282,7 +282,7 @@ var remove = function (k, hk, [eventtypes, handler, context]) {
282
282
  }
283
283
  }
284
284
  if (!hs.length && hs.h) {
285
- element[hk] = null;
285
+ hk.delete(element);
286
286
  if (element.removeEventListener) {
287
287
  element.removeEventListener(k, hs.h, getListenerOption(eventtypes, k));
288
288
  }
@@ -292,7 +292,7 @@ var remove = function (k, hk, [eventtypes, handler, context]) {
292
292
  };
293
293
  var broadcast = function (k, hk, event) {
294
294
  var element = this;
295
- var handlers = element[hk];
295
+ var handlers = hk.get(element);
296
296
  if (handlers.length > 1) handlers = handlers.slice();
297
297
  if (event.which === 1 && event.buttons === 0) {
298
298
  // firefox 无按键
@@ -341,7 +341,7 @@ var checkroot = function (element, k) {
341
341
  var append = function (k, hk, listener2, firstmost) {
342
342
  var [eventtypes, handler, context] = listener2;
343
343
  var element = this;
344
- var handlers = element[hk];
344
+ var handlers = hk.get(element);
345
345
  for (var [e, h, c, d] of handlers) {
346
346
  if (h === handler && c === context && shallowEqual(eventtypes, e, 2)) return d.dulp = true, d;
347
347
  }
@@ -353,23 +353,29 @@ var append = function (k, hk, listener2, firstmost) {
353
353
  else handlers.push(listener2);
354
354
  return listener2[3] = remove.bind(element, k, hk, listener2);
355
355
  };
356
-
356
+ var emitersMap = Object.create(null);
357
+ var getEmiters = function (k, eventtypes) {
358
+ k = k + +!!eventtypes.capture;
359
+ k = k + +!!eventtypes.passive;
360
+ var m = emitersMap[k];
361
+ if (!m) m = emitersMap[k] = new WeakMap;
362
+ return m;
363
+ }
357
364
  var on = document.efronton = function (k) {
358
365
  var on_event_path = "on" + k;
359
366
  if (handlersMap[on_event_path]) return handlersMap[on_event_path];
360
367
  var eventtypes = parseEventTypes(k);
361
368
  k = k.replace(eventtypereg, '');
362
- var handler_path = "$h_" + k;
363
- var hk = handler_path + +!!eventtypes.capture;
364
- if (supportPassive) hk += +!!eventtypes.passive;
369
+ var hk = getEmiters(k, is_addEventListener_enabled && eventtypes);
365
370
  if (is_addEventListener_enabled) var addhandler = function (context, handler, firstmost = false) {
366
371
  var target = this || context;
367
372
  target = checkroot(target, k);
368
- if (target[hk] instanceof Array) {
369
- } else {
373
+ var emiters = hk.get(target);
374
+ if (!emiters) {
370
375
  var h = broadcast.bind(target, k, hk);
371
- target[hk] = [];
372
- target[hk].h = h;
376
+ emiters = [];
377
+ emiters.h = h;
378
+ hk.set(target, emiters);
373
379
  if (target.addEventListener)
374
380
  target.addEventListener(k, h, getListenerOption(eventtypes, k));
375
381
  else target[on_event_path] = h;
@@ -385,8 +391,8 @@ var on = document.efronton = function (k) {
385
391
  firstmost = true;
386
392
  }
387
393
  target = checkroot(target, k);
388
- if (target[handler_path] instanceof Array) {
389
- } else {
394
+ var emiters = hk.get(target);
395
+ if (!emiters) {
390
396
  var h = function (e) {
391
397
  if (!e) e = window.event || {};
392
398
  if (!e.target && e.srcElement) {
@@ -411,16 +417,18 @@ var on = document.efronton = function (k) {
411
417
  if (e.keyCode) {
412
418
  if (e.which === undefined) e.which = e.keyCode;
413
419
  }
414
- broadcast.call(target, k, handler_path, e);
420
+ broadcast.call(target, k, emiters, e);
415
421
  return e.returnValue;
416
422
  };
417
- target[handler_path] = target["on" + k] && target["on" + k] !== handler ? [[{}, target["on" + k]]] : [];
418
- target[handler_path].h = h;
419
- target["on" + k] = h;
420
-
423
+ var emiters = [];
424
+ emiters.h = h;
425
+ var h0 = target[on_event_path];
426
+ if (h0 && h0 !== h) emiters.push([{}, h0, target]);
427
+ hk.set(target, emiters);
428
+ target[on_event_path] = h;
421
429
  }
422
430
  var listener = [eventtypes, handler, context];
423
- return append.call(target, k, handler_path, listener, firstmost);
431
+ return append.call(target, k, hk, listener, firstmost);
424
432
  }, addhandler = function (context, handler, firstmost) {
425
433
  return _addhandler(context, context, handler, firstmost);
426
434
  };
@@ -47,13 +47,6 @@ var create = function (url, key, report_error) {
47
47
  remove(p);
48
48
  };
49
49
  image.park = function (x, y, scaled, rotate) {
50
- var style = get_style(x, y, scaled, rotate);
51
- var a = transition(imgpic, style, true);
52
- setTimeout(function () {
53
- // set_unlock();
54
- // image.locked = false;
55
- }, a || 0);
56
-
57
50
  };
58
51
  var init = function () {
59
52
  if (!imgpic) return;
@@ -27,7 +27,7 @@ function main(elem = document.createElement("radio-group")) {
27
27
  }
28
28
  });
29
29
  elem.setValue = function (key) {
30
- var { options } = this.$scope;
30
+ var { options } = $scoped.get(this);
31
31
  if (!(options instanceof Array)) return;
32
32
  var index = options.map(a => getValue(a)).indexOf(key);
33
33
  options.active = options[index];
@@ -33,14 +33,14 @@ function hasLeaveStyle(o) {
33
33
  }
34
34
 
35
35
  function _onremove(node, event) {
36
- if (!node || node.$mounted === false) return;
36
+ if (!node || $mounted.get(node) === false) return;
37
37
  var children = node.childNodes;
38
- if (node.$mounted) {
38
+ if ($mounted.get(node)) {
39
39
  if (!event) {
40
40
  event = createEvent("remove");
41
41
  }
42
42
  dispatch(node, event);
43
- node.$mounted = false;
43
+ $mounted.set(node, false);
44
44
  }
45
45
  if (children) for (var cx = 0, dx = children.length; cx < dx; cx++) {
46
46
  _onremove(children[cx], event);