efront 3.36.2 → 3.36.5

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.
@@ -81,149 +81,10 @@ function richtext(line) {
81
81
  else a = p(line);
82
82
  if (a) content.push(a);
83
83
  }
84
- var codecolor = function (c) {
85
- var envs = c.envs;
86
- var predefs = Object.create(null);
87
- predefs.module = true;
88
- predefs.exports = true;
89
- predefs["module.exports"] = true;
90
- predefs.Promise = true;
91
- [Boolean, Number, String, Function, Object, Array, Date, RegExp, Error].forEach(p => predefs[p.name] = true);
92
- var { STRAP, SCOPED, QUOTED, LABEL, COMMENT, STAMP, VALUE, EXPRESS, PROPERTY, PIECE } = c;
93
- var deep = 0;
94
- var setcolor = function (o) {
95
- switch (o.type) {
96
- case LABEL:
97
- o.text = `<label>${o.text}</label>`;
98
- break;
99
- case QUOTED:
100
- case PIECE:
101
- if (!o.length) {
102
- if (/^\//.test(o.text)) {
103
- o.text = `<regexp>${encode(o.text)}</regexp>`;
104
- }
105
- else o.text = `<text>${encode(o.text)}</text>`;
106
- break;
107
- }
108
- o.forEach(setcolor);
109
- o.entry = "<text>" + o.entry;
110
- o.leave = o.leave + "</text>";
111
- break;
112
- case SCOPED:
113
- deep++;
114
- o.forEach(setcolor);
115
- deep--;
116
- o.entry = `<deep${deep}>${o.entry}</deep${deep}>`;
117
- o.leave = `<deep${deep}>${o.leave}</deep${deep}>`;
118
- break;
119
- case VALUE:
120
- if (o.isdigit) o.text = `<digit>${o.text}</digit>`;
121
- else o.text = `<value>${o.text}</value>`;
122
- break;
123
- case PROPERTY:
124
- var next = o.next;
125
- if (next && next.type === c.SCOPED && next.entry === '(') {
126
- o.text = `<method>${o.text}</method>`;
127
- }
128
- else o.text = `<property>${o.text}</property>`;
129
-
130
- break;
131
- case EXPRESS:
132
- var keys = o.text.split(".");
133
- var next = o.next;
134
- if (next && next.type === c.SCOPED && next.entry === '(') {
135
- keys[keys.length - 1] = `<invoke>${keys[keys.length - 1]}</invoke>`;
136
- }
137
- var [name] = keys;
138
- if (/^</.test(name));
139
- else if (/^(arguments|this|super|Infinity|NaN)$/.test(name)) name = `<strap>${name}</strap>`;
140
- else if (name in envs) name = name in predefs ? `<predef>${name}</predef>` : `<outside>${name}</outside>`;
141
-
142
- keys[0] = name;
143
- o.text = keys.map(k => /^\</.test(k) || !k ? k : `<express>${k}</express>`).join(".");
144
- break;
145
- case STRAP:
146
- if (/^(if|else|switch|case|do|while|for|break|continue|default|import|from|as|export|try|catch|finally|await|yield|return)/.test(o.text))
147
- o.text = `<flow>${o.text}</flow>`;
148
- else o.text = `<strap>${o.text}</strap>`;
149
- break;
150
- case STAMP:
151
- if (/^(=>)$/.test(o.text) || o.text === "*" && o.prev && o.prev.type === c.STRAP) o.text = `<strap>${encode(o.text)}</strap>`;
152
- else if (!/^[<\/>]+$/.test(o.text));
153
- else o.text = `<stamp>${encode(o.text)}</stamp>`;
154
- break;
155
- case COMMENT:
156
- o.text = `<comment>${encode(o.text)}</comment>`;
157
- break;
158
- }
159
- };
160
- c.forEach(setcolor);
161
-
162
- }
163
- var typescript = new compile$Javascript;
164
- typescript.straps = typescript.straps.concat("interface", "implements", "declare", "module", "readonly", "enum");
165
- var codesupports = {
166
- javascript(a) {
167
- var c = compile$scanner2(a);
168
- codecolor(c);
169
- return c.toString();
170
- },
171
- typescript(a) {
172
- var c = compile$scanner2(a, typescript);
173
- codecolor(c);
174
- return c.toString();
175
- },
176
- html(a) {
177
- var code = compile$scanner2(a, 'html');
178
- var scoped = code.scoped;
179
- codecolor(code);
180
- backEach(scoped.richNodes, n => {
181
- if (n.isScript) {
182
- var js = compile$scanner2(n.innerText);
183
- codecolor(js);
184
- code.splice(n.innerStart, n.innerEnd - n.innerStart, { text: js.toString() });
185
- }
186
- })
187
- return code.toString();
188
- },
189
- css(a) {
190
- var c = compile$scanner2(a);
191
- codecolor(c);
192
- return c.toString();
193
- }
194
- };
195
- codesupports.cmd = codesupports.bat;
196
- codesupports.jsx = codesupports.js = codesupports.javascript;
197
- codesupports.tsx = codesupports.ts = codesupports.typescript;
198
- codesupports.xml = codesupports.html;
199
- function codetext(type, text) {
200
- try {
201
- type = type.toLowerCase();
202
- if (type in codesupports) text = codesupports[type](text);
203
- else text = encode(text);
204
-
205
- } catch (e) {
206
- console.error(e);
207
- }
208
- text = text.replace(/^(\r\n|\r|\n)|\s+$/g, '');
209
- var codes = text.split(/\r\n|\r|\n/);
210
- var minSpace = 0;
211
- for (var c of codes) {
212
- var m = /^\s*/.exec(c);
213
- if (m && m[0].length < c.length) {
214
- minSpace = m[0].length;
215
- }
216
- }
217
- if (minSpace > 0) codes = codes.map(c => c.slice(minSpace));
218
- return `<code type=${type}>${codes.join("<br/>").replace(/\t/g, Array(5).join('&ensp;')).replace(/\s/g, '&ensp;')}</code> `;
219
- }
220
84
  /**
221
85
  * @type {Element}
222
86
  */
223
87
  var content;
224
- var encode = function (text) {
225
- return text.replace(/[\<\>\|]/g, a => `&#${a.charCodeAt()};`)
226
- };
227
88
  function markdown(text) {
228
89
  var c = content = [];
229
90
  text.replace(/ *(`+|\*+)(\S[\s\S]*?)\1 */g, function (_, q, c, i) {
@@ -233,16 +94,20 @@ function markdown(text) {
233
94
  if (m & 2) c = `<b>${c}</b>`;
234
95
  return c;
235
96
  }
236
- _ = encode(_.trim()).slice(1, -1);
97
+ _ = codetext.encode(_.trim()).slice(1, -1);
237
98
  if (/[\*#\.]\s/.test(text.slice(i - 1, i + 1))) _ = " " + _;
238
99
  if (q.length === 1) return `<m>${_}</m>`;
239
100
  var t = /^\S+/.exec(c);
240
- if (t) t = t[0]; c = c.slice(t.length);
241
- return codetext(t, c);
101
+ if (t) t = t[0]; c = c.slice(t.length).replace(/^(\r\n|\r|\n)|\s+$/g, '');
102
+ try {
103
+ return codetext(t, c);
104
+ } catch (e) {
105
+ console.error(e);
106
+ return c;
107
+ }
242
108
  }).replace(/\s*((&nbsp;\s*)+)/g, "$1").split(/\r\n|\r|\n/).forEach(richtext);
243
109
  list_elem = null;
244
110
  list_tag = null;
245
111
  content = null;
246
112
  return c.join('');
247
- }
248
- markdown.javascript = codetext.bind(null, 'javascript');
113
+ }
@@ -60,7 +60,7 @@
60
60
  }
61
61
 
62
62
  span {
63
- writing-mode: horizontal-tb;
63
+ writing-mode: vertical-rl;
64
64
  }
65
65
 
66
66
 
@@ -9,24 +9,15 @@ styles.info = styles.blue;
9
9
  styles.error = styles.danger = styles.red;
10
10
  styles.warn = styles.orange;
11
11
  styles.default = '#000a';
12
- var alerts = [];
13
- var clean = Cleanup(alerts);
14
- var build = function () {
15
- var sum = 0;
16
- alerts.forEach(function (elem) {
17
- if (elem.offsetTop !== sum) {
18
- elem.style.top = fromOffset(sum);
19
- };
20
- sum += elem.offsetHeight;
21
- });
22
- };
23
12
  var fontSize = 16;
24
13
  var singleHeight = fontSize * 3.125 | 0;
14
+ var container = document.createElement('alert-container');
15
+ css(container, 'top:0;height:0;left:0;right:0;transition:all 0.2s ease-out;position:absolute;')
25
16
  var _text = function (bgcolor, parameters) {
26
- var box = div();
27
- css(box, `top:${fromPixel(alerts.length ? Math.max.apply(Math, alerts.map(e => e.offsetTop + e.children[0].offsetHeight)) : 0)};height:0;line-height:${fromPixel(singleHeight - 20)};left:0;right:0;font-size:${fromPixel(fontSize)}; transition: all 0.2s ease-out;position:absolute;text-align:center;`);
28
- box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${bgcolor};color:${color.pair(bgcolor, 1)};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
29
- box.initialStyle = `margin-top:-${fromPixel(singleHeight)};opacity:0;`;
17
+ var box = document.createElement('div');
18
+ css(box, `background-color:${bgcolor};color:${color.pair(bgcolor, 1)};`);
19
+ box.innerHTML = [].slice.call(parameters, 0).join(", ");
20
+ box.initialStyle = `margin-top:-${fromPixel(singleHeight)};`;
30
21
  return box;
31
22
  };
32
23
  function alert() {
@@ -65,14 +56,12 @@ function alert() {
65
56
  } else {
66
57
  elem = _text(styles.log, [text]);
67
58
  }
68
- var _onclose = function (event) {
59
+ var _onclose = lazy(function (event) {
69
60
  if (onclose) {
70
61
  onclose.call(this, event);
71
62
  }
72
- clean(this);
73
- build();
74
63
  if (close_timer) clearTimeout(close_timer);
75
- }
64
+ });
76
65
  onremove(elem, _onclose);
77
66
  var close_timer;
78
67
  var waitclose = function (autoclose, deltaTime) {
@@ -97,8 +86,8 @@ function alert() {
97
86
  waitclose(timeout, -100);
98
87
  }
99
88
  };
100
- alerts.push(elem);
101
- popup(elem);
89
+ if (!container.parentNode) popup(container);
90
+ if (!elem.parentNode) appendChild(container, elem);
102
91
  return elem;
103
92
  }
104
93
  for (var k in styles) {
@@ -0,0 +1,12 @@
1
+ & {
2
+ width: 720px;
3
+ white-space: pre-wrap;
4
+ max-width: 100%;
5
+ display: block;
6
+ margin: 0 auto;
7
+ height: auto;
8
+ line-height: 1.2;
9
+ padding: 10px 20px;
10
+ text-align: center;
11
+ position: relative;
12
+ }
@@ -1,8 +1,5 @@
1
1
  function data_test1() {
2
2
  var array = [{
3
- name: "王勇慧",
4
- birthday: "1992-11-13",
5
- }, {
6
3
  name: "李时珍",
7
4
  birthday: "1518-7-3"
8
5
  }, {
@@ -24,7 +24,7 @@ var getGenerator = function (container, tagName = 'item') {
24
24
  var template = document.createElement(container.tagName);
25
25
  var templates = [];
26
26
  for (let a of container.childNodes) {
27
- if (a.hasAttribute('insert')) {
27
+ if (a.nodeType === 1 && a.hasAttribute('insert')) {
28
28
  if (!templates.length) a.$isbefore = true;
29
29
  else a.$isafter = true;
30
30
  }
@@ -503,7 +503,7 @@ var directives = {
503
503
  }),
504
504
  src(src) {
505
505
  var parsedSrc = this.$src;
506
- return src2.call(this, parsedSrc ? parsedSrc.srcName : src);
506
+ return src2.call(this, parsedSrc && /[\{\[\s]/.test(src) ? parsedSrc.srcName : src);
507
507
  },
508
508
  model(search, target) {
509
509
  var getter = createGetter(this, search);
@@ -886,6 +886,7 @@ class Struct {
886
886
  function createStructure(element) {
887
887
  if (isArrayLike(element)) return Array.prototype.map.call(element, createStructure);
888
888
  if (element.$struct) return element.$struct;
889
+ if (element.nodeType !== 1) return;
889
890
  // 处理结构流
890
891
  var attributes = element.attributes;
891
892
  var attrs = Array.apply(null, attributes);
@@ -58,7 +58,8 @@ if (/MSIE\s*[2-7]/.test(navigator.userAgent)) {
58
58
  if (currentHash && currentHash === targetHash) return;
59
59
  var targetHashIndex = targetHash.indexOf("#" + current_history);
60
60
  if (targetHashIndex < 0) return;
61
- var targetpath = targetHash.slice(targetHashIndex + current_history.length);
61
+ var targetpath = targetHash.slice(targetHashIndex + current_history.length + 1);
62
+ targetpath = decodeURI(targetpath);
62
63
  go(targetpath);
63
64
  return;
64
65
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require("fs").promises;
4
4
  var path = require("path");
5
- var comm_file_reg = /\.([tj]sx?|xht|md|less)$/i;
5
+ var comm_file_reg = /\.([tj]sx?|xht|md|less|html)$/i;
6
6
  var basepath = path.join(String(__efront), 'coms');
7
7
  if (req.id) {
8
8
  var compath = path.join(basepath, req.id);
package/docs/main.xht CHANGED
@@ -150,7 +150,13 @@
150
150
  var map = Object.create(null);
151
151
  var children = [];
152
152
  for (var a of c.children) {
153
- if (!/\.([jt]sx?|xht)$/i.test(a) || /_test\.([tj]sx?|xht)$/i.test(a)) {
153
+ if (/_test\.([tj]sx?|xht|html|less|css|md)$/i.test(a)) {
154
+ var testName = a.replace(/\.\w+$/g, '');
155
+ if (!map[testName]) map[testName] = [];
156
+ map[testName].push(a);
157
+ continue;
158
+ }
159
+ else if (!/\.([jt]sx?|xht)$/i.test(a)) {
154
160
  map[a.replace(/\.\w+$/g, a => a.toLowerCase())] = a;
155
161
  continue;
156
162
  }
@@ -159,7 +165,7 @@
159
165
  for (var cc of children) {
160
166
  cc.data = {
161
167
  mark: !!map[cc.name.replace(/\.[tj]sx?$/i, ".md")],
162
- test: !!map[cc.name.replace(/\.[tj]sx?$/i, "_test.js")],
168
+ test: map[cc.name.replace(/\.[tj]sx?$/i, "_test")],
163
169
  less: !!map[cc.name.replace(/\.[tj]sx?$/i, ".less")]
164
170
  }
165
171
  if (cc.data.less) cc.name += "<f less></f>"
@@ -169,7 +175,7 @@
169
175
  c.children = children;
170
176
  c.closed = true;
171
177
  }
172
-
178
+ data.setInstance('components', m);
173
179
  menus[2].children = m;
174
180
  };
175
181
  var initMenus = async function () {
package/docs/mark.xht CHANGED
@@ -55,86 +55,6 @@
55
55
  border: 1.2px solid #0007;
56
56
  }
57
57
 
58
- code {
59
- padding: 10px 20px;
60
- border-radius: 3px;
61
- display: inline-block;
62
- background: #333;
63
- color: #d4d4d4;
64
- vertical-align: top;
65
- }
66
-
67
- strap,
68
- value {
69
- color: #569cd6;
70
- }
71
-
72
- regexp {
73
- color: #d16969;
74
- }
75
-
76
- text {
77
- color: #ce9178;
78
- }
79
-
80
- flow {
81
- color: #c586c0;
82
- }
83
-
84
- digit {
85
- color: #b5cea8;
86
- }
87
-
88
- label {
89
- color: #569cd6;
90
- }
91
-
92
- @deep(@num, @color) {
93
- deep@num {
94
- color: @color;
95
- }
96
- }
97
-
98
- @deep(0, #ffd700);
99
- @deep(1, #da70d6);
100
- @deep(2, #179fff);
101
- @deep(3, #ffd700);
102
- @deep(4, #da70d6);
103
- @deep(5, #179fff);
104
- @deep(6, #ffd700);
105
- @deep(7, #da70d6);
106
- @deep(8, #179fff);
107
- @deep(9, #ffd700);
108
- @deep(10, #da70d6);
109
- @deep(11, #179fff);
110
- @deep(12, #ffd700);
111
- @deep(13, #da70d6);
112
- @deep(14, #179fff);
113
- @deep(15, #ffd700);
114
- @deep(16, #da70d6);
115
- @deep(17, #179fff);
116
-
117
- express,
118
- property {
119
- color: #9cdcfe;
120
- }
121
-
122
- invoke,
123
- method {
124
- color: #dcdcaa;
125
- }
126
-
127
- predef {
128
- color: #4ec9b0;
129
- }
130
-
131
- outside {
132
- color: #4fc1ff;
133
- }
134
-
135
- comment {
136
- color: #6a9955;
137
- }
138
58
  </style>
139
59
  <script>
140
60
  var history = [];
@@ -524,7 +524,7 @@
524
524
  var liang = 0, fanyi = {};
525
525
  for (var { lang: k, id } of supports) {
526
526
  if (!d[k]) continue;
527
- if (preMap[d[k]]) continue loop;
527
+ if (preMap[d[k]] && preMap[d[k]] !== d) continue loop;
528
528
  preMap[d[k]] = d;
529
529
  liang++;
530
530
  fanyi[id] = d[k];