efront 3.5.0 → 3.5.4

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.
@@ -4,9 +4,7 @@ var xy2c = function (a, x, y) {
4
4
  return a * x * (1 - y) + (.5 + x / 2) * y * 255;
5
5
  };
6
6
  var z2rgb = function (z) {
7
- var c = color.rotate(sample, z * (Math.PI + Math.PI));
8
- var [r, g, b] = color.parse(c);
9
- return color.rgb4s(r, g, b, 1);
7
+ return color.rgb4h(255, 0, 0, z * 360);
10
8
  };
11
9
  var z2c = function (z) {
12
10
  return color.stringify(z2rgb(z));
@@ -87,7 +85,7 @@ var c2xy = function (c1, c2) {
87
85
  var getCanvas = function (e) {
88
86
  return e.getElementsByTagName('canvas')[0];
89
87
  };
90
- var sample = "#ff4949";
88
+ var sample = "#ff0000";
91
89
  var buildpad = function (pad, c = sample) {
92
90
  var canvas = getCanvas(pad);
93
91
  canvas.width = 256;
@@ -543,7 +543,8 @@ var privates = {
543
543
  ok(e.response || e.responseText);
544
544
  }).error(xhr => {
545
545
  try {
546
- oh(parseData(xhr.response || xhr.responseText || xhr.statusText || xhr.status));
546
+ var e = getErrorMessage(parseData(xhr.response || xhr.responseText || xhr.statusText || xhr.status));
547
+ oh({ status: xhr.status, error: e })
547
548
  } catch (error) {
548
549
  oh(error);
549
550
  }
@@ -612,8 +613,7 @@ function responseCrash(e, data) {
612
613
  } else {
613
614
  data.error = e;
614
615
  }
615
- error_report(data.error_message, 'error');
616
-
616
+ error_report(data.error_message, e.status < 500 ? 'warn' : 'error');
617
617
  }
618
618
 
619
619
  var data = {
@@ -46,6 +46,8 @@ function drag(target, initialEvent, preventOverflow, isMovingSource) {
46
46
  var [target_left, target_top] = getOffset(target);
47
47
  if (abs(target_left - event.screenX - saved_delta.x) < MOVELOCK_DELTA && abs(target_top - event.screenY - saved_delta.y) < MOVELOCK_DELTA) return;
48
48
  saved_delta.ing = true;
49
+ drag.target = target;
50
+ dispatch("dragstart", target);
49
51
  if (isElement(target) && !/absolute|fixed/.test(getComputedStyle(target).position)) {
50
52
  clone = toCloneTarget(target, isMovingSource);
51
53
  appendChild(document.body, clone);
@@ -62,7 +64,6 @@ function drag(target, initialEvent, preventOverflow, isMovingSource) {
62
64
  clone.style.zIndex = zIndex();
63
65
  extraClones.map(e => e.style.zIndex = clone.style.zIndex);
64
66
  }
65
- dispatch("dragstart", target);
66
67
  }
67
68
  drag.target = clone;
68
69
  var offsetLeft = saved_delta.x + event.screenX;
@@ -1,7 +1,12 @@
1
1
 
2
2
  var _slider = createElement(div);
3
+ var empty = function (index, item) {
4
+ if (!item) return;
5
+ return document.createElement('empty');
6
+ };
3
7
  var getGenerator = function (container) {
4
8
  if (!container) return;
9
+ if (!container.childNodes.length) return container.$generator || empty;
5
10
  var template = document.createElement("div");
6
11
  var templates = [].concat.apply([], container.childNodes).filter(a => {
7
12
  if (a.hasAttribute('insert')) {
@@ -21,7 +26,7 @@ var getGenerator = function (container) {
21
26
  container.insertBefore = _slider.insertBefore;
22
27
  container.appendChild = _slider.appendChild;
23
28
  var scopes = container.$parentScopes.concat(container.$scope);
24
- return function (index, com) {
29
+ return container.$generator = function (index, com) {
25
30
  if (!com) {
26
31
  if (!container.src || index >= container.src.length) return;
27
32
  com = container.src[index];
@@ -16,6 +16,8 @@
16
16
  border: none;
17
17
  width: 100%;
18
18
  cursor: pointer;
19
+ padding: 0;
20
+ margin: 0;
19
21
 
20
22
  >.track {
21
23
 
@@ -155,6 +155,7 @@ function main(elem, mode) {
155
155
  active(elem, item, item.value);
156
156
  };
157
157
  if ("$src" in elem) {
158
+ getGenerator(elem);
158
159
  care(elem, function (src) {
159
160
  menuList(elem, getTreeFromData(src), emit, direction);
160
161
  });
package/coms/zimoli/on.js CHANGED
@@ -144,6 +144,22 @@ function checkKeyNeed(eventtypes, e) {
144
144
  }
145
145
  return true;
146
146
  }
147
+ function wrapHandler(h) {
148
+ if (h instanceof Function) {
149
+ return function () {
150
+ var res = h.apply(this, arguments);
151
+ if (res && isFunction(res.then)) {
152
+ this.setAttribute('pending', '');
153
+ var removePending = () => {
154
+ this.removeAttribute('pending');
155
+ };
156
+ res.then(removePending, removePending);
157
+ }
158
+ return res;
159
+ }
160
+ }
161
+ return h;
162
+ }
147
163
  if (is_addEventListener_enabled) {
148
164
  var on = function (k) {
149
165
  var on_event_path = "on" + k;
@@ -151,6 +167,7 @@ if (is_addEventListener_enabled) {
151
167
  var eventtypes = parseEventTypes(k);
152
168
  k = k.replace(eventtypereg, '');
153
169
  function addhandler(element, handler, firstmost) {
170
+ handler = wrapHandler(handler);
154
171
  if (eventtypes.capture) firstmost = true;
155
172
  if (k === changes_key) {
156
173
  if (!element.needchanges) element.needchanges = 0;
@@ -190,6 +207,7 @@ if (is_addEventListener_enabled) {
190
207
 
191
208
  if (handlersMap[on_event_path]) return handlersMap[on_event_path];
192
209
  function addhandler(element, handler, firstmost = false) {
210
+ handler = wrapHandler(handler);
193
211
  if (eventtypes.capture) {
194
212
  console.warn("当前运行环境不支持事件capture");
195
213
  firstmost = true;
@@ -55,7 +55,7 @@ var variableReg = /([^\:\,\+\=\-\!%\^\|\/\&\*\!\;\?\>\<~\{\}\s]|\?\s*\.(?=[^\d])
55
55
  var createGetter = function (search, isprop = true) {
56
56
  var [withContext, searchContext] = search;
57
57
  if (!searchContext) return function () { };
58
- var ret = /\;|(\d\.|[^\{\.\+\:\?\-\=\*\/\?\\,~!<>%\^&\}\s])\s*([\r\n\u2028\u2029])\s*(\.\d|[^\.\+\-\=\*\/\?\\,~!<>%\^&\[\}\(\?\:\s])/.test(searchContext) ? "" : "return ";
58
+ var ret = /\;/.test(searchContext) ? "" : "return ";
59
59
  if (/\?\s*\.(?=[^\d])/.test(searchContext)) {
60
60
  searchContext = searchContext.replace(variableReg, function (context) {
61
61
  var dist;
@@ -384,7 +384,7 @@ var src2 = function (search) {
384
384
  temp = "";
385
385
  }
386
386
  var changes = getChanges(temp, savedValue);
387
- if (!changes) return;
387
+ if (!changes || isEmpty(origin) && isEmpty(this.src)) return;
388
388
  savedValue = temp;
389
389
  this.src = origin;
390
390
  cast(this, origin);
@@ -537,6 +537,7 @@ var emiters = {
537
537
  var res = getter.call(this, e);
538
538
  if (res && isFunction(res.then)) res.then(digest, digest);
539
539
  digest();
540
+ return res;
540
541
  });
541
542
  },
542
543
  once(key, search) {
@@ -545,6 +546,7 @@ var emiters = {
545
546
  var res = getter.call(this, e);
546
547
  if (res && isFunction(res.then)) res.then(digest, digest);
547
548
  digest();
549
+ return res;
548
550
  });
549
551
  }
550
552
  };
@@ -8,7 +8,7 @@
8
8
  <tr>
9
9
  <td -repeat="f in fields">
10
10
  <span -if="f.key" -text="d[f.key]"></span>
11
- <a on-click="o.do(d)" -if="f.type==='btn'" -repeat="o in f.options">
11
+ <a on-click="o.do(d)" -if="f.options" -repeat="o in f.options">
12
12
  <span -text=o.name></span>
13
13
  </a>
14
14
  </td>
@@ -91,6 +91,10 @@ var adaptTarget = function (event) {
91
91
  }
92
92
  if (target) target = getFirstSingleColCell(this, target.colend);
93
93
  if (target) {
94
+ if (position.right >= getSelection(this).right - 7) {
95
+ target = this;
96
+ return;
97
+ }
94
98
  css(this, { 'cursor': 'e-resize' });
95
99
  result = {
96
100
  target,
@@ -142,6 +146,7 @@ function table(elem) {
142
146
  var cellMatchManager = function (element) {
143
147
  if (!thead) [thead] = table.getElementsByTagName("thead");
144
148
  if (table.resizing) return false;
149
+ if (!getTargetIn(thead, element)) return false;
145
150
  if (!tdElementReg.test(element.tagName)) return false;
146
151
  var savedRowDeltas = [];
147
152
  [].map.call(thead.children, function (tr) {
@@ -164,7 +169,10 @@ function table(elem) {
164
169
  })
165
170
  autodragchildren(
166
171
  table,
167
- cellMatchManager,
172
+ function (a) {
173
+ console.log('match')
174
+ return cellMatchManager.apply(this, arguments);
175
+ },
168
176
  function (src, dst, rel, append, parentNode) {
169
177
  if (table.src) {
170
178
  var [fields] = table.src;
@@ -1,15 +1,17 @@
1
- &.dragging {
2
- box-shadow: 0 0 20px -6px #00000033;
3
-
1
+ &[dragchildren] {
4
2
  >thead,
5
3
  >tbody,
6
4
  & {
7
5
  >tr {
8
6
 
9
7
  >th,
10
- >td {}
8
+ >td {
9
+ box-shadow: 1px 0 0 0 #00000033, -1px 0 0 0 #00000033;
10
+ }
11
+
11
12
  }
12
13
  }
14
+
13
15
  }
14
16
 
15
17
  thead,
@@ -17,10 +19,15 @@ tbody,
17
19
  th,
18
20
  td,
19
21
  tr,
20
- table {
22
+ table,
23
+ & {
21
24
  box-sizing: border-box;
22
25
  }
23
26
 
27
+ & {
28
+ outline: 1px solid #0006;
29
+ }
30
+
24
31
  .y-ing {
25
32
  &:before {
26
33
  content: "";
@@ -78,7 +85,7 @@ table {
78
85
  position: relative;
79
86
  }
80
87
 
81
- &:nth-child(even) {
88
+ &:nth-of-type(even) {
82
89
 
83
90
  >td,
84
91
  >th {
@@ -86,7 +93,7 @@ table {
86
93
  }
87
94
  }
88
95
 
89
- &:nth-child(odd) {
96
+ &:nth-of-type(odd) {
90
97
 
91
98
  >td,
92
99
  >th {
@@ -103,7 +110,8 @@ table {
103
110
  }
104
111
  }
105
112
  }
106
- .button{
113
+
114
+ .button {
107
115
  margin-right: 10px;
108
116
  vertical-align: middle;
109
117
  display: inline-block;
@@ -22,7 +22,8 @@ body>& {
22
22
 
23
23
  &>.body,
24
24
  >[body] {
25
- padding: 6px 0;
25
+ padding: 6px 20px 6px 6px;
26
+ margin-right: -20px;
26
27
  background: #f2f4f6;
27
28
  display: block;
28
29
  width: auto;
@@ -109,14 +110,14 @@ body>& {
109
110
  }
110
111
 
111
112
  .button {
112
- min-width: 60px;
113
113
  vertical-align: middle;
114
- margin-right: 10px;
115
114
  }
116
115
 
117
116
  >.foot,
118
117
  >[foot] {
119
118
  .button {
119
+ min-width: 60px;
120
120
  padding: 0 20px;
121
+ margin-right: 10px;
121
122
  }
122
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.5.0",
3
+ "version": "3.5.4",
4
4
  "description": "一个开发工具,开放源代码,自带组件库和编译环境,可以用来开发web组件,web应用或nodejs模块,或做为已有代码的加密工具,也可以做为静态页面服务器或跨域中转服务器使用",
5
5
  "main": "public/efront.js",
6
6
  "directories": {