efront 4.20.1 → 4.21.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 (48) hide show
  1. package/#/345/233/275/351/231/205/345/214/226.yml +3 -0
  2. package/coms/basic/#loader.js +4 -4
  3. package/coms/basic/ArrayFill.js +1 -5
  4. package/coms/basic/extend.js +1 -17
  5. package/coms/basic/isSubpath.js +2 -0
  6. package/coms/basic_/{Array2.js → &Array.js} +2 -1
  7. package/coms/basic_/&ArrayFill.js +5 -0
  8. package/coms/basic_/{aster_.js → &aster.js} +3 -2
  9. package/coms/basic_/&async.js +5 -0
  10. package/coms/basic_/{asyncAster_.js → &asyncAster.js} +3 -2
  11. package/coms/basic_/&async_test.js +15 -0
  12. package/coms/basic_/{exec_.js → &exec.js} +2 -1
  13. package/coms/basic_/&extend.js +18 -0
  14. package/coms/basic_/{extends_.js → &extends.js} +2 -1
  15. package/coms/basic_/readme-en.md +3 -3
  16. package/coms/basic_/readme.md +3 -3
  17. package/coms/compile/Javascript.js +3 -3
  18. package/coms/compile/Program.js +20 -4
  19. package/coms/compile/common.js +1 -1
  20. package/coms/compile/downLevel.js +20 -20
  21. package/coms/compile/downLevel_test.js +91 -91
  22. package/coms/compile/nametill.js +13 -0
  23. package/coms/compile/polyfill.js +1 -1
  24. package/coms/compile/run-test262.js +8 -8
  25. package/coms/compile/scanner2.js +22 -3
  26. package/coms/compile/unstruct.js +3 -3
  27. package/coms/compile/unstruct_test.js +1 -1
  28. package/coms/compile//347/264/240/351/246/250.js +12 -4
  29. package/coms/compile//347/264/240/351/246/250_test.js +3 -0
  30. package/coms/explorer/fileitem.html +5 -4
  31. package/coms/explorer/fileitem.js +5 -1
  32. package/coms/explorer/fileitem.less +67 -6
  33. package/coms/reptile/colored_console.js +1 -1
  34. package/coms/zimoli/XMLHttpRequest.js +29 -25
  35. package/coms/zimoli/popup.js +2 -1
  36. package/coms/zimoli/render.js +3 -3
  37. package/coms/zimoli/view.js +4 -4
  38. package/package.json +1 -1
  39. package/public/efront.js +1 -1
  40. package/coms/basic_/async_.js +0 -4
  41. package/coms/basic_/async_test.js +0 -11
  42. /package/coms/basic_/{exec_test.js → &exec_test.js} +0 -0
  43. /package/coms/basic_/{nullish_.js → &nullish.js} +0 -0
  44. /package/coms/basic_/{power_.js → &power.js} +0 -0
  45. /package/coms/basic_/{rest_.js → &rest.js} +0 -0
  46. /package/coms/basic_/{restIter_.js → &restIter.js} +0 -0
  47. /package/coms/basic_/{withget_.js → &wget.js} +0 -0
  48. /package/coms/basic_/{with_.js → &with.js} +0 -0
@@ -1,22 +1,76 @@
1
1
  & {
2
2
  position: relative;
3
3
  display: block;
4
- padding: 10px 20px 10px 44px;
4
+ padding: 10px 0 10px 52px;
5
5
  white-space: nowrap;
6
6
  line-height: 28px;
7
7
  background: #fff9;
8
8
  }
9
+
10
+ &[type=folder] {
11
+ >svg {
12
+ transform: scale(.9);
13
+ }
14
+ }
15
+
9
16
  &[cut] {
10
17
  opacity: .4;
11
18
  }
12
19
 
20
+ &>[ext] {
21
+ display: block;
22
+ position: absolute;
23
+ left: 2px;
24
+ bottom: 11px;
25
+ width: 46px;
26
+ text-align: center;
27
+ font-size: 12px;
28
+ line-height: 12px;
29
+ text-transform: uppercase;
30
+ background-color: #fff;
31
+ border: 1.2px solid;
32
+ }
33
+
34
+ @ext(...@name, @color) {
35
+ each(@name, (@n) {
36
+ &[ext=@n] {
37
+ >[ext] {
38
+ color: #fff;
39
+ border-color: transparent;
40
+ background: @color;
41
+ }
42
+ }
43
+ });
44
+ }
45
+
46
+ @ext(mp3, flac, wma, wav, midi, aac, #2ac);
47
+ @ext(krc, lrc, grc, qrc, #2ca);
48
+ @ext(mp4, avi, wmv, mov, rmvb, rm, flv, #a32);
49
+ @ext(jpg, svg, jpeg, png, bmp, dib, gif, webp, jfif, tiff, dng, #84c);
50
+ @ext(js, mjs, cjs, jsx, #db9);
51
+ @ext(bat, cmd, sh, #6ad);
52
+ @ext(tmp, log, #bbb);
53
+ @ext(exe, scr, com, #666);
54
+ @ext(dll, sys, a, lib, #999);
55
+ @ext(rar, jar, tar, zip, 7z, war, apk, tgz, xz, #666);
56
+ @ext(ts, tsx, #9cc);
57
+ @ext(java, c, go, rs, s, asm, h, ini, cpp, hpp, m, #9ab);
58
+ @ext(less, #9bd);
59
+ @ext(css, #9db);
60
+ @ext(html, #bc9);
61
+ @ext(ico, #b9c);
62
+ @ext(xht, vue, #bb9);
63
+ @ext(jsp, asp, php, #adc);
64
+ @ext(yml, json, #ca9);
65
+ @ext(md, rtf, gsp, doc, docx, #66a);
66
+
13
67
 
14
68
  >svg {
15
- width: 28px;
16
- height: 28px;
69
+ width: 52px;
70
+ height: 52px;
17
71
  display: inline-block;
18
72
  vertical-align: top;
19
- margin: 0 6px 0 -34px;
73
+ margin: -12px 0 -12px -52px;
20
74
  }
21
75
 
22
76
  >span {
@@ -27,7 +81,12 @@
27
81
  text-overflow: ellipsis;
28
82
  display: inline-block;
29
83
  vertical-align: top;
84
+ }
30
85
 
86
+ >[name] {
87
+ padding-left: 10px;
88
+ margin-left: -10px;
89
+ box-sizing: content-box;
31
90
  }
32
91
 
33
92
  &:not([dragclone]) [marquee] {
@@ -49,14 +108,16 @@
49
108
  left: 6px;
50
109
  margin-left: 6px;
51
110
  }
52
- p{
111
+
112
+ p {
53
113
  display: block;
54
114
  margin: 0;
55
115
  position: relative;
56
116
  height: 4px;
57
117
  background: #29c2;
58
118
  border-radius: 2px;
59
- >r{
119
+
120
+ >r {
60
121
  height: 100%;
61
122
  display: block;
62
123
  background: #29c;
@@ -160,7 +160,7 @@ var formatRows = function (arg, rows, deep, entry, leave) {
160
160
  if (isArray) {
161
161
  for (var cx = 0, dx = rows.length; cx < dx; cx += itemcount) {
162
162
  res.push(rows.slice(cx, cx + itemcount).map((r, i) => {
163
- return Array(Math.max(maxLength[i] - lens[cx + i], 0)).join(" ") + r;
163
+ return Array(Math.max(maxLength[i] - lens[cx + i] | 0, 0)).join(" ") + r;
164
164
  }).join(', '));
165
165
  }
166
166
  }
@@ -2,29 +2,33 @@ if (this.XMLHttpRequest) return this.XMLHttpRequest;
2
2
  if (this.ActiveXObject) return this.ActiveXObject.bind(null, 'Microsoft.XMLHTTP');
3
3
  if (!this.fetch) return;
4
4
  var window = this;
5
- return class XMLHttpRequest {
6
- onload = null;
7
- onerror = null;
8
- onreadystatechange = null;
9
- readyState = 0;
10
- fetch = window.fetch;
11
- open(method, url) {
12
- this.readyState = 1;
13
- this.method = method;
14
- this.url = url;
15
- }
16
- send(data) {
17
- this.fetch(this.url, { method: this.method, headers: { referer: document.location.href.replace(/^#[\s\S]*$/g, '') } }).then(async d => {
18
- this.fetched = d;
19
- this.readyState = 4;
20
- this.status = d.status;
21
- this.responseText = await d.text();
22
- if (this.onreadystatechange) this.onreadystatechange({ target: this });
23
- if (this.onload) this.onload({ target: this });
24
- }, e => {
25
- this.readyState = 4;
26
- if (this.onreadystatechange) this.onreadystatechange({ target: this });
27
- if (this.onerror) this.onerror({ target: this });
28
- });
29
- }
5
+ function XMLHttpRequest() {
6
+ this.onload = null;
7
+ this.onerror = null;
8
+ this.onreadystatechange = null;
9
+ this.readyState = 0;
10
+ this.fetch = window.fetch;
11
+ }
12
+ XMLHttpRequest.prototype.open = function (method, url) {
13
+ this.readyState = 1;
14
+ this.method = method;
15
+ this.url = url;
16
+ };
17
+ XMLHttpRequest.prototype.send = function (data) {
18
+ var params = { method: this.method, headers: { referer: document.location.href.replace(/^#[\s\S]*$/g, '') } };
19
+ if (data != null) params.body = data;
20
+ this.fetch(this.url, params).then(function (d) {
21
+ this.fetched = d;
22
+ this.readyState = 4;
23
+ this.status = d.status;
24
+ return d.text();
25
+ }).then(function (d) {
26
+ this.responseText = d;
27
+ if (this.onreadystatechange) this.onreadystatechange({ target: this });
28
+ if (this.onload) this.onload({ target: this });
29
+ }, function (e) {
30
+ this.readyState = 4;
31
+ if (this.onreadystatechange) this.onreadystatechange({ target: this });
32
+ if (this.onerror) this.onerror({ target: this });
33
+ });
30
34
  }
@@ -338,7 +338,7 @@ var _as_yextra = function (global, innerWidth, innerHeight, element, target, poi
338
338
  };
339
339
  var _as_xextra = arriswise(_as_yextra, arguments);
340
340
  var popup_as_single = function (element) {
341
- css(element, `z-index:${zIndex()};`);
341
+ if (!isMounted(element)) css(element, `z-index:${zIndex()};`);
342
342
  global(element, false);
343
343
  };
344
344
  var popup_to_point = function (element, [x, y]) {
@@ -392,6 +392,7 @@ var popup_to_event = function (element, { clientX, clientY }) {
392
392
  var global = function (element, issingle) {
393
393
  once("remove")(element, cleanup);
394
394
  rootElements.push(element);
395
+ if (isMounted(element)) return;
395
396
  popup.global &&
396
397
  issingle !== false ? popup.global(element, true) : appendChild(document.body, element);
397
398
  };
@@ -1059,7 +1059,7 @@ function createStructure(element, useExists) {
1059
1059
  else if (/[_@\:\.&\?\*\+\#]$/.test(name)) {
1060
1060
  var key = name.slice(0, name.length - 1);
1061
1061
  if (value) attr1[key] = value;
1062
- else {
1062
+ else a: {
1063
1063
  key = 驼峰化(name.slice(0, name.length - 1));
1064
1064
  switch (name.charAt(name.length - 1)) {
1065
1065
  case "?":
@@ -1075,8 +1075,8 @@ function createStructure(element, useExists) {
1075
1075
  binds.src = key;
1076
1076
  break;
1077
1077
  case "+":
1078
- binds[key] = key;
1079
- break;
1078
+ attr1[key] = key;
1079
+ break a;
1080
1080
  case "#":
1081
1081
  ids.push(key);
1082
1082
  break;
@@ -107,7 +107,7 @@ var resize2 = function () {
107
107
  marginBottom: fromOffset(-height),
108
108
  })
109
109
  css(body, {
110
- paddingTop: fromOffset(height - body.clientTop)
110
+ paddingTop: fromOffset(height - body.clientTop - body.offsetTop)
111
111
  });
112
112
  }
113
113
  a: if (foot && body) {
@@ -115,12 +115,12 @@ var resize2 = function () {
115
115
  if (foot.$height === height) break a;
116
116
  foot.$height = height;
117
117
  changed = true;
118
- css(body, {
119
- paddingBottom: fromOffset(height)
120
- });
121
118
  css(foot, {
122
119
  marginTop: fromOffset(-height)
123
120
  })
121
+ css(body, {
122
+ paddingBottom: fromOffset(body.clientTop + body.clientHeight + body.offsetTop - foot.offsetTop)
123
+ });
124
124
  }
125
125
  };
126
126
  function view(element) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.20.1",
3
+ "version": "4.21.0",
4
4
  "description": "一个开发环境,提供一种自由的前端开发模式,也可作为辅助工具使用。",
5
5
  "main": "public/efront.js",
6
6
  "directories": {