efront 4.22.19 → 4.23.3

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 (108) 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/ArrayFill.js +5 -1
  12. package/coms/basic/BigNumber.js +2 -2
  13. package/coms/basic/LoadingArray.js +1 -0
  14. package/coms/basic/cross_.js +4 -1
  15. package/coms/basic/data.js +27 -23
  16. package/coms/basic/extend.js +18 -1
  17. package/coms/basic/isFinit.js +1 -0
  18. package/coms/basic_/&ArrayFill.js +1 -5
  19. package/coms/basic_/&extend.js +1 -18
  20. package/coms/basic_/WeakMap.js +36 -0
  21. package/coms/compile/Javascript.js +2 -1
  22. package/coms/explorer/context.js +10 -7
  23. package/coms/explorer/edit.js +1 -1
  24. package/coms/explorer/fileitem.js +9 -7
  25. package/coms/explorer/main.js +20 -17
  26. package/coms/frame/chat.js +17 -16
  27. package/coms/frame/list.js +6 -5
  28. package/coms/kugou/bindScroll.js +0 -1
  29. package/coms/kugou/buildScroll.js +5 -4
  30. package/coms/kugou/krc.js +2 -2
  31. package/coms/kugou/player.js +2 -2
  32. package/coms/kugou/song.js +1 -1
  33. package/coms/layer/leftCenter.js +5 -5
  34. package/coms/pivot/checkGeo.js +0 -1
  35. package/coms/reptile/alert.js +5 -1
  36. package/coms/reptile/data.js +3 -0
  37. package/coms/zimoli/$cared.js +1 -0
  38. package/coms/zimoli/$casted.js +1 -0
  39. package/coms/zimoli/$eval.js +1 -0
  40. package/coms/zimoli/$mounted.js +1 -0
  41. package/coms/zimoli/$parented.js +1 -0
  42. package/coms/zimoli/$renders.js +1 -0
  43. package/coms/zimoli/$scoped.js +1 -0
  44. package/coms/zimoli/$structed.js +1 -0
  45. package/coms/zimoli/$upwith.js +1 -0
  46. package/coms/zimoli/$watches.js +1 -0
  47. package/coms/zimoli/HexEditor.js +1 -1
  48. package/coms/zimoli/alert.js +4 -2
  49. package/coms/zimoli/appendChild.js +2 -2
  50. package/coms/zimoli/autodragchildren_test.js +1 -1
  51. package/coms/zimoli/care.js +27 -9
  52. package/coms/zimoli/cast.js +13 -14
  53. package/coms/zimoli/checkbox.js +1 -1
  54. package/coms/zimoli/container.js +4 -3
  55. package/coms/zimoli/createItemTarget.js +10 -6
  56. package/coms/zimoli/cross.js +1 -1
  57. package/coms/zimoli/data.js +16 -0
  58. package/coms/zimoli/field.js +3 -3
  59. package/coms/zimoli/gallery_test.js +4 -3
  60. package/coms/zimoli/getArgsChildren.js +1 -1
  61. package/coms/zimoli/getChanged.js +8 -0
  62. package/coms/zimoli/getGenerator.js +36 -28
  63. package/coms/zimoli/grid.js +2 -2
  64. package/coms/zimoli/isMounted.js +6 -3
  65. package/coms/zimoli/lattice.js +2 -4
  66. package/coms/zimoli/maps.js +1 -2
  67. package/coms/zimoli/menu.js +1 -0
  68. package/coms/zimoli/menuItem.js +4 -3
  69. package/coms/zimoli/menuList.js +7 -8
  70. package/coms/zimoli/menu_test.js +4 -3
  71. package/coms/zimoli/model.js +15 -10
  72. package/coms/zimoli/on.js +39 -23
  73. package/coms/zimoli/picture.js +0 -7
  74. package/coms/zimoli/popup.js +5 -5
  75. package/coms/zimoli/radio.js +1 -1
  76. package/coms/zimoli/remove.js +3 -3
  77. package/coms/zimoli/render.js +397 -223
  78. package/coms/zimoli/scrollbar.js +90 -42
  79. package/coms/zimoli/scrollbar.less +5 -3
  80. package/coms/zimoli/select.js +3 -3
  81. package/coms/zimoli/selectList.js +1 -1
  82. package/coms/zimoli/selectListEdit.js +5 -4
  83. package/coms/zimoli/table.html +6 -4
  84. package/coms/zimoli/table.js +82 -41
  85. package/coms/zimoli/table.less +22 -0
  86. package/coms/zimoli/vbox.less +2 -2
  87. package/coms/zimoli/view.js +1 -1
  88. package/coms/zimoli/watch.js +7 -5
  89. package/coms/zimoli/zimoli.js +78 -60
  90. package/docs/version-desc.md +3 -1
  91. package/docs//347/211/210/346/234/254/350/257/264/346/230/216.md +3 -1
  92. package/docs//347/273/204/344/273/266.xht +14 -1
  93. package/package.json +1 -1
  94. package/public/efront.js +1 -1
  95. package/public/pivot/api.yml +46 -0
  96. package/public/pivot/menu.yml +16 -0
  97. package/public/pivot/page/auth/login.txt +1 -0
  98. package/public/pivot/page/cert/main.txt +1 -0
  99. package/public/pivot/page/cert/orders.txt +1 -0
  100. package/public/pivot/page/cert/update.txt +1 -0
  101. package/public/pivot/page/db/act.txt +1 -0
  102. package/public/pivot/page/db/config.txt +1 -0
  103. package/public/pivot/page/db/edit.txt +1 -0
  104. package/public/pivot/page/db/list.txt +1 -0
  105. package/public/pivot//344/270/273/351/241/265.html +46 -0
  106. package/coms/reptile/on.js +0 -4
  107. package/coms/reptile/onmounted.js +0 -1
  108. /package/coms/{zimoli → basic}/encode62.js +0 -0
@@ -1,3 +1,9 @@
1
+ - zh-CN: $1仅在开发环境存在,供开发者调试查看,$2
2
+ en: "$1 only exists in the development environment for developers to debug and view, $2"
3
+
4
+ - zh-CN: 项目发布后将没有这个属性!
5
+ en: "After the project is released, this attribute will no longer exist!"
6
+
1
7
  - zh-CN: 无法存入数据到$1
2
8
  en: Unable to deposit data to $1
3
9
 
@@ -9,7 +9,7 @@ function main(params, from) {
9
9
  page.initialStyle = 'margin-left:100%';
10
10
  page.innerHTML = search;
11
11
  document.title = "搜索";
12
- var $scope = render(page, {
12
+ var $scope = {
13
13
  titlebar,
14
14
  back,
15
15
  btn: button,
@@ -35,7 +35,7 @@ function main(params, from) {
35
35
  resultMap: null,
36
36
  addResult(info) {
37
37
  var resultMap = this.resultMap;
38
- var singerName = sortname(String(info.singername || '').split(/[\&\,,、]/)).join('、');
38
+ var singerName = sortname(String(info.singername || '').split(/[\&\,,、]/)).join('、');
39
39
  var songName = info.songname;
40
40
  var id = `${singerName}:${info.songname}`;
41
41
  if (!resultMap[id]) resultMap[id] = Object.assign([], { singer: singerName, song: songName });
@@ -92,7 +92,8 @@ function main(params, from) {
92
92
  this.search(void 0, 0);
93
93
  },
94
94
  keyword: state().keyword,
95
- }).$scope;
95
+ };
96
+ render(page, $scope);
96
97
  $scope.keyword && $scope.search();
97
98
  return page;
98
99
  }
@@ -86,7 +86,7 @@ function init() {
86
86
  render.refresh();
87
87
  };
88
88
  onmounted(_block, function () {
89
- _block.$scope.start();
89
+ recoder.start();
90
90
  })
91
91
  return _block;
92
92
 
@@ -19,11 +19,11 @@ function main(host) {
19
19
  });
20
20
  on("submit")(page, async function () {
21
21
  data.setInstance("hosts", hosts, true);
22
- var { password } = submit(fields, this.$scope.data);
23
- this.$scope.pending = true;
22
+ var { password } = submit(fields, $scoped.get(this).data);
23
+ $scoped.get(this).pending = true;
24
24
  page.disabled = true;
25
25
  try {
26
- var base = location.protocol + "//" + parseURL(this.$scope.data.host).host + "/";
26
+ var base = location.protocol + "//" + parseURL($scoped.get(this).data.host).host + "/";
27
27
  if (!host) data.setInstance("base", { base, host: parseURL(base).host });
28
28
  var api = Object.assign({}, await data.getApi("login"));
29
29
  api.base = base;
@@ -42,7 +42,7 @@ function main(host) {
42
42
  } catch (e) {
43
43
  console.log(e);
44
44
  }
45
- this.$scope.pending = false;
45
+ $scoped.get(this).pending = false;
46
46
  })
47
47
  return page;
48
48
  }
@@ -17,9 +17,10 @@ return plist.bind({
17
17
  name: "从文件读取", async do() {
18
18
  var FileReader = window.FileReader;
19
19
  if (!FileReader) return alert('当前浏览器无法读取文件', 'warn')
20
- var f = await chooseFile(".torrent",true);
20
+ var f = await chooseFile(".torrent", true);
21
21
  var pg = await popup("/dht/rent");
22
- pg.$scope.pending = true;
22
+ var scope = $scoped.get(pg);
23
+ scope.pending = true;
23
24
  for (var f of f) await new Promise(function (ok, oh) {
24
25
  var r = new FileReader;
25
26
  r.onload = function () {
@@ -28,8 +29,8 @@ return plist.bind({
28
29
  } catch (e) {
29
30
  return;
30
31
  }
31
- pg.$scope.load(t);
32
- pg.$scope.pending = false;
32
+ scope.load(t);
33
+ scope.pending = false;
33
34
  ok();
34
35
  };
35
36
  r.onerror = function () {
@@ -38,7 +39,6 @@ return plist.bind({
38
39
  };
39
40
  r.readAsArrayBuffer(f);
40
41
  });
41
- console.log(pg.$scope.pending)
42
42
  }
43
43
  }]
44
44
  })
@@ -2,7 +2,7 @@ async function link(id, page) {
2
2
  if (!id) {
3
3
  id = await data.from("link");
4
4
  }
5
- if (!page.name) page.$scope.title = `会话窗口(<span nodrag>${id}</span>)`;
5
+ if (!page.name) $scoped.get(page).title = `会话窗口(<span nodrag>${id}</span>)`;
6
6
  page.roomid = id;
7
7
  var removed = false;
8
8
  on("remove")(page, function () {
@@ -11,6 +11,6 @@ function index() {
11
11
  },
12
12
  menu,
13
13
  });
14
- page.$scope.menus[+data.getInstance("link-index")].actived = true;
14
+ $scoped.get(page).menus[+data.getInstance("link-index")].actived = true;
15
15
  return page;
16
16
  }
@@ -2,7 +2,7 @@ var autoreload = true;
2
2
  function main() {
3
3
  var page = div();
4
4
  page.innerHTML = template;
5
- renderWithDefaults(page, {
5
+ var scope = {
6
6
  load: lazy(async function () {
7
7
  this.clusters = data.lazyInstance("cluster");
8
8
  await this.clusters;
@@ -32,16 +32,17 @@ function main() {
32
32
  if (c) this.clients = [];
33
33
  this.clients = await data.asyncInstance("clients", { id: clusters[index] });
34
34
  },
35
- });
35
+ };
36
+ renderWithDefaults(page, scope);
36
37
  var loadid = 0;
37
38
  on("append")(page, function () {
38
39
  if (autoreload) loadid = setInterval(function () {
39
- page.$scope.load();
40
+ scope.load();
40
41
  }, 30);
41
42
  });
42
43
  on('remove')(page, function () {
43
44
  clearInterval(loadid);
44
45
  });
45
- page.$scope.load();
46
+ scope.load();
46
47
  return page;
47
48
  }
@@ -18,13 +18,13 @@ function main() {
18
18
  return;
19
19
  }
20
20
  await data.from('share', { opt: 'delete', path: e.path }).loading_promise;
21
- page.$scope.load();
21
+ scope.load();
22
22
  }
23
23
  }
24
24
  ];
25
25
  var page = div();
26
26
  page.innerHTML = list;
27
- renderWithDefaults(page, {
27
+ var scope = {
28
28
  data: [],
29
29
  load() {
30
30
  this.data = data.from("share", { opt: 'list' }, a => {
@@ -37,8 +37,9 @@ function main() {
37
37
  type: 'button',
38
38
  options,
39
39
  }),
40
- });
41
- page.$scope.load();
40
+ };
41
+ renderWithDefaults(page, scope);
42
+ scope.load();
42
43
  contextmenu(page, [
43
44
  {
44
45
  name: "添加",
@@ -46,7 +47,7 @@ function main() {
46
47
  zimoli.prepare("/share/edit", function () {
47
48
  var p = popup("/share/edit", { fields });
48
49
  on('submited')(p, function () {
49
- page.$scope.load();
50
+ scope.load();
50
51
  })
51
52
  })
52
53
  }
@@ -75,7 +75,8 @@ class File {
75
75
  }
76
76
  function main(path) {
77
77
  var page = explorer$main();
78
- extend(page.$scope, {
78
+ var ps = $scoped.get(page);
79
+ extend(ps, {
79
80
  pathlist: path ? path.split('/') : [],
80
81
  read(from, start, size) {
81
82
  var authorization = data.getSource(data.getInstance("base").base);
@@ -131,6 +132,6 @@ function main(path) {
131
132
  await data.from("folder", { opt: 'mov', path: from, to: distpath }).loading_promise;
132
133
  }
133
134
  });
134
- page.$scope.open();
135
+ ps.open();
135
136
  return page;
136
137
  }
@@ -1 +1,5 @@
1
- &ArrayFill;
1
+ function ArrayFill(size, item) {
2
+ var result = Array(size);
3
+ for (var cx = 0; cx < size; cx++)result[cx] = item;
4
+ return result;
5
+ }
@@ -243,8 +243,8 @@ class BigNumber {
243
243
  else if (!dist.length) dist.push(0);
244
244
  if (s) dist.unshift('-');
245
245
  BigNumber.DECIMAL_DIGIT = BACK_DIGIT;
246
- if (system_scale <= 36) dist = dist.map(d => Number.isFinite(d) ? vsrc[d] : d);
247
- else dist = dist.map(d => Number.isFinite(d) ? '[' + d + ']' : d);
246
+ if (system_scale <= 36) dist = dist.map(d => isFinit(d) ? vsrc[d] : d);
247
+ else dist = dist.map(d => isFinit(d) ? '[' + d + ']' : d);
248
248
  return dist.join('');
249
249
  };
250
250
  add(bignumber) {
@@ -5,5 +5,6 @@ class LoadingArray extends Array {
5
5
  is_loaded = false;
6
6
  is_readonly = null;
7
7
  loading = null;
8
+ rw_storage = 0;
8
9
  loading_promise = null;
9
10
  }
@@ -385,7 +385,10 @@ function cross_(jsonp, digest = noop, method, url, headers) {
385
385
  }
386
386
  if (is_gb2312) xhr.overrideMimeType("text/plain; charset=gb2312");
387
387
  if (location_href) delete realHeaders.Cookie;
388
- Object.keys(realHeaders).forEach(key => setRequestHeader.call(xhr, key, realHeaders[key]));
388
+ Object.keys(realHeaders).forEach(key => {
389
+ var value = realHeaders[key];
390
+ if (isHandled(value)) setRequestHeader.call(xhr, key, value);
391
+ });
389
392
  if (!isEmpty(datas)) send.call(xhr, !isencrypt ? datas : encode62.safeencode(datas, code));
390
393
  else send.call(xhr);
391
394
  digest();
@@ -50,7 +50,7 @@ function encodeStructure(array) {
50
50
  var { location, navigator, window, document } = this;
51
51
  const pagePathName = location ? location.pathname : '';
52
52
  const dataSourceMap = {};
53
- const sourceDataId = 'datasource' + pagePathName;
53
+ const sourceDataId = '波泼摸佛';
54
54
  const userPrefix = ';';
55
55
  const instanceDataMap = {};
56
56
  const cachedLoadingPromise = {};
@@ -690,11 +690,7 @@ var getInstanceId = function () {
690
690
  }
691
691
  return instanceId;
692
692
  };
693
- var error_report = isProduction ? alert : function (error, type) {
694
- error_report = alert;
695
- error_report(error, type);
696
- console.info(i18n`已使用默认的报错工具,您可以使用 ${"data.setReporter(error_reporter,error_finder)"} 替换! 本信息在仅在开发环境显示。`);
697
- };
693
+ var error_report = () => { throw new Error('请使用data.setReporter(alert)进行初始化,然后再使用data') };
698
694
 
699
695
  var error_check = function (data) { };
700
696
 
@@ -722,10 +718,6 @@ function responseCrash(e, data) {
722
718
  error_report(e, e.status < 500 ? 'warn' : 'error');
723
719
  }
724
720
  var toDataString = function () { return isEmpty(this.data) ? '' : this.data };
725
- var updateLoadingCount = function () {
726
- data.loading_count = cross.requests.length;
727
- };
728
- on('render')(window, updateLoadingCount, true);
729
721
  var bubApply = function (f, args) {
730
722
  if (args.length === 1) {
731
723
  var [instanceMap] = args;
@@ -766,12 +758,14 @@ var oncatch = function (e) {
766
758
  if (e === OUTDATE || e === ABORTED) return;
767
759
  throw e;
768
760
  };
761
+ var cross = () => { throw new Error('请使用data.setEnvs(cross,on,onmounted)进行初始化,然后再使用data') };
762
+ var on = () => { throw new Error("请使用data.setEnvs(cross,on,onmounted)") };
763
+ var onmounted = () => { throw new Error("请使用data.setEnvs(cross,on,onmounted)") };
769
764
  var data = {
770
765
  prepareURL,
771
766
  decodeStructure,
772
767
  getUrlParamsForApi,
773
768
  encodeStructure,
774
- abortAll: cross.abortAll,
775
769
  responseLoaded(response) {
776
770
  if (isObject(response)) {
777
771
  response.is_loaded = true;
@@ -789,6 +783,13 @@ var data = {
789
783
  response.abort = LoadingArray_abort;
790
784
  }
791
785
  },
786
+ setEnvs(cross1, on1, onmounted1) {
787
+ delete data.setEnvs;
788
+ cross = cross1;
789
+ on = on1;
790
+ onmounted = onmounted1;
791
+ data.abortAll = cross.abortAll;
792
+ },
792
793
  setReporter(report, checker) {
793
794
  if (report instanceof Function) {
794
795
  error_report = report;
@@ -1022,19 +1023,14 @@ var data = {
1022
1023
  setSource(sourceid, value) {
1023
1024
  var rememberWithStorage;
1024
1025
  if (isObject(sourceid)) {
1025
-
1026
1026
  this.rebuildInstance(dataSourceMap, sourceid);
1027
1027
  rememberWithStorage = value;
1028
1028
  } else {
1029
1029
  dataSourceMap[sourceid] = value;
1030
1030
  rememberWithStorage = arguments[2];
1031
1031
  }
1032
- if (rememberWithStorage !== false) {
1033
- sessionStorage.setItem(sourceDataId, JSAM.stringify(dataSourceMap));
1034
- }
1035
- if (rememberWithStorage) {
1036
- localStorage.setItem(sourceDataId, JSAM.stringify(dataSourceMap));
1037
- }
1032
+ if (rememberWithStorage === undefined) rememberWithStorage = 0;
1033
+ setItem(sourceDataId, dataSourceMap, rememberWithStorage);
1038
1034
  },
1039
1035
  getSource(sourceid) {
1040
1036
  if (sourceid) return dataSourceMap[sourceid];
@@ -1057,18 +1053,21 @@ var data = {
1057
1053
  } else {
1058
1054
  instanceDataMap[instanceId] = data;
1059
1055
  }
1056
+ instance.rw_storage = rememberWithStorage;
1060
1057
  setItem(instanceId, data, rememberWithStorage);
1061
1058
  fireListener(instanceId, data);
1062
1059
  return instanceDataMap[instanceId];
1063
1060
  },
1064
- wetInstance(instanceId, data, rememberWithStorage) {
1061
+ // rememberWithStorage =null 生产环境不存储,开发环境存到sessionStorage
1062
+ wetInstance(instanceId, data, rememberWithStorage = null) {
1065
1063
  instanceHasDulpData = false;
1066
1064
  var res = this.setInstance(instanceId, data, rememberWithStorage);
1067
1065
  instanceHasDulpData = true;
1068
1066
  return res;
1069
1067
  },
1070
- patchInstance(instanceId, data, rememberWithStorage = 0) {
1068
+ patchInstance(instanceId, data, rememberWithStorage) {
1071
1069
  var instance = this.getInstance(instanceId);
1070
+ if (rememberWithStorage === undefined) rememberWithStorage = instance.rw_storage;
1072
1071
  extend(instance, data);
1073
1072
  return this.setInstance(instanceId, instance, rememberWithStorage);
1074
1073
  },
@@ -1143,9 +1142,15 @@ var data = {
1143
1142
  }
1144
1143
  };
1145
1144
  var instanceHasDulpData = true;
1146
- function setItem(instanceId, data, rememberWithStorage = 0) {
1145
+ function setItem(instanceId, data, rememberWithStorage) {
1147
1146
  const storageId = userPrefix + instanceId + pagePathName;
1148
1147
  var buff = null;
1148
+ if (rememberWithStorage === null) {
1149
+ rememberWithStorage = false;
1150
+ // <!--
1151
+ rememberWithStorage = 0;
1152
+ // -->
1153
+ }
1149
1154
  if (rememberWithStorage !== false) {
1150
1155
  try {
1151
1156
  sessionStorage.setItem(storageId, buff = JSAM.stringify(data, instanceHasDulpData));
@@ -1184,5 +1189,4 @@ data.setItem = data.setInstance;
1184
1189
  data.getItem = data.getInstance;
1185
1190
  data.seekResponse = seekResponse;
1186
1191
  data.removeItem = data.removeInstance;
1187
- extend(dataSourceMap, loadInstance(localStorage, sourceDataId));
1188
- extend(dataSourceMap, loadInstance(sessionStorage, sourceDataId));
1192
+ extend(dataSourceMap, getItem(sourceDataId));
@@ -1 +1,18 @@
1
- &extend;
1
+ /*
2
+ * 不枝雀
3
+ * 2017-3-18 11:18:18
4
+ */
5
+
6
+ var hasOwnProperty = {}.hasOwnProperty, Object = {}.constructor;
7
+
8
+ var extend = Object.assign || function (o1) {
9
+ o1 = Object(o1);
10
+ for (var cx = 1, dx = arguments.length; cx < dx; cx++) {
11
+ var o2 = arguments[cx];
12
+ for (var k in o2) {
13
+ if (hasOwnProperty.call(o2, k)) o1[k] = o2[k];
14
+ }
15
+ }
16
+ return o1;
17
+ };
18
+ return extend;
@@ -0,0 +1 @@
1
+ a => typeof a === 'number' && a < Infinity && a > -Infinity;
@@ -1,5 +1 @@
1
- function ArrayFill(size, item) {
2
- var result = Array(size);
3
- for (var cx = 0; cx < size; cx++)result[cx] = item;
4
- return result;
5
- }
1
+ basic$ArrayFill;
@@ -1,18 +1 @@
1
- /*
2
- * 不枝雀
3
- * 2017-3-18 11:18:18
4
- */
5
-
6
- var hasOwnProperty = {}.hasOwnProperty, Object = {}.constructor;
7
-
8
- var extend = Object.assign || function (o1) {
9
- o1 = Object(o1);
10
- for (var cx = 1, dx = arguments.length; cx < dx; cx++) {
11
- var o2 = arguments[cx];
12
- for (var k in o2) {
13
- if (hasOwnProperty.call(o2, k)) o1[k] = o2[k];
14
- }
15
- }
16
- return o1;
17
- };
18
- return extend;
1
+ basic$extend
@@ -0,0 +1,36 @@
1
+ var WeakMap = this.WeakMap;
2
+ if (WeakMap && WeakMap.prototype.get) return WeakMap;
3
+ var id = 0;
4
+ WeakMap = class WeakMap {
5
+ id = "#" + ++id;
6
+ get(o) {
7
+ return o[this.id];
8
+ }
9
+ set(o, v) {
10
+ defineObj.value = v;
11
+ Object.defineProperty(o, this.id, defineObj);
12
+ }
13
+ has(o) {
14
+ return this.id in o;
15
+ }
16
+ delete(o) {
17
+ delete o[this.id];
18
+ }
19
+ }
20
+ var defineObj = {
21
+ value: null,
22
+ enumerable: true,
23
+ writable: true,
24
+ configurable: false
25
+ }
26
+ var defineProperty = Object.defineProperty;
27
+ try {
28
+ defineProperty(document, '#weakmap', defineObj);
29
+ delete document["#weakmap"];
30
+ } catch {
31
+ defineProperty = function (o, k, d) {
32
+ o[k] = d.value;
33
+ }
34
+ delete defineObj.enumerable;
35
+ }
36
+ return WeakMap;
@@ -65,7 +65,8 @@ var isProperty = function (o) {
65
65
  }
66
66
  if (prev.type === STAMP) {
67
67
  if (prev.isprop) return true;
68
- return /^(\+\+|\-\-|[,;])$/.test(prev.text) && (o.type !== STAMP || !/^[,;\=\:]$/.test(o.text));
68
+ if (/^[,;]$/.test(prev.text) || !prev.unary && /^(\+\+|\-\-)$/.test(prev.text)) return o.type !== STAMP || !/^[,;\=\:]$/.test(o.text);
69
+ return false;
69
70
  }
70
71
  if (prev.type === EXPRESS && !/\.$/.test(prev.text)) {
71
72
  return prev.text !== 'async' || o.text !== 'function';
@@ -1,34 +1,37 @@
1
1
  var getActive = e => {
2
- var s = e.currentTarget.$scope;
2
+ var s = $scoped.get(e.currentTarget);
3
3
  return s.toActive(e);
4
4
  };
5
5
  var notGetActive = e => !getActive(e);
6
6
  var getStable = e => {
7
7
  var a = getActive(e);
8
8
  if (!a) return;
9
- return !a.$scope.d.pending;
9
+ return !$scoped.get(a).d.pending;
10
10
  };
11
11
  var getSelected = function (d) {
12
12
  var p = getPageScope(d);
13
13
  return p.selected;
14
14
  }
15
15
  var getPageScope = function (d) {
16
- var $scope = d.$scope.d ? d.$parentScopes[d.$parentScopes.length - 1] : d.$scope;
17
- return $scope;
16
+ var scopes = render.getScopes(d);
17
+ var s = scopes[scopes.length - 1];
18
+ if (s.d) return scopes[scopes.length - 2];
19
+ return s;
18
20
  };
19
21
  var never = function () { return false };
20
22
  var popupRen = function (d) {
21
23
  var $scope = getPageScope(d);
22
24
  var selected = $scope.selected;
23
25
  var active;
24
- if (d.$scope === $scope) {
26
+ var ds = $scoped.get(d);
27
+ if (ds === $scope) {
25
28
  if (selected.length !== 1) return;
26
29
  active = selected[0];
27
30
  }
28
31
  else {
29
- active = d.$scope.d;
32
+ active = ds.d;
30
33
  }
31
- if (d.$scope.pending) return;
34
+ if (ds.pending) return;
32
35
  popupEdit($scope, active);
33
36
  };
34
37
  var popupAdd = function (d) {
@@ -30,7 +30,7 @@ function main({ path: root, rename, isfolder, add, name, hasName }) {
30
30
  });
31
31
  on('submit')(a, async function (e) {
32
32
  e.preventDefault();
33
- var path = root + "/" + a.$scope.data.name;
33
+ var path = root + "/" + $scoped.get(a).data.name;
34
34
  if (origin) {
35
35
  var to = path;
36
36
  path = root + '/' + origin;
@@ -28,11 +28,13 @@ e.stopMarquee = function (sp) {
28
28
 
29
29
  function fileitem(elem) {
30
30
  elem.innerHTML = template;
31
- var e = elem.children[0];
32
- e.$scope = new Fileitem;
33
- var ext = /\.([^\.]+)$/.exec(elem.$scope.d.name);
34
- if (ext) e.$scope.ext = ext[1];
35
- else e.$scope.ext = '';
36
- extend(e.$scope, elem.$scope);
37
- return e;
31
+ var c = elem.children[0];
32
+ var cs = new Fileitem;
33
+ $scoped.set(c, cs);
34
+ var es = $scoped.get(elem);
35
+ var ext = /\.([^\.]+)$/.exec(es.d.name);
36
+ if (ext) cs.ext = ext[1];
37
+ else cs.ext = '';
38
+ extend(cs, es);
39
+ return c;
38
40
  }