efront 3.20.10 → 3.20.11

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.
@@ -102,7 +102,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
102
102
  };
103
103
  if (/^jsonp/i.test(method)) {
104
104
  var cb = method.split('\-')[1] || 'callback';
105
- setTimeout(function () {
105
+ Promise.resolve().then(function () {
106
106
  if (!isEmpty(jsondata) && isEmpty(datas)) {
107
107
  datas = serialize(jsondata);
108
108
  }
@@ -112,6 +112,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
112
112
  });
113
113
  var xhr = jsonp(url, {
114
114
  [cb](a) {
115
+ removeFromList(requests, this);
115
116
  onload({ status: 200, response: JSON.stringify(a), toString: toResponse });
116
117
  }
117
118
  });
@@ -280,9 +281,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
280
281
  else send.call(xhr);
281
282
  digest();
282
283
  };
283
-
284
- setTimeout(fire, 0);
285
-
284
+ Promise.resolve().then(fire);
286
285
  }
287
286
  var setRequestHeader = xhr.setRequestHeader;
288
287
  var realHeaders = Object.create(null);
@@ -5,12 +5,11 @@ function bind(eventName, bindTo = window) {
5
5
  if (off) off();
6
6
  off = on(eventName).call(bindTo, target, eventListener);
7
7
  };
8
- if (isMounted(target)) mount();
9
- var off1 = on("append")(target, mount);
8
+ var off1 = onmounted(target, mount);
10
9
  var off2 = on("remove")(target, function () {
11
10
  if (off) off();
12
11
  off = null;
13
12
  });
14
- return function () { off1(); off2(); };
13
+ return function () { off1(); off2(); if (off) off(); };
15
14
  }
16
15
  }
@@ -9,5 +9,5 @@ function onmounted(target, handle) {
9
9
  if (isMounted(target)) {
10
10
  handle.call(target);
11
11
  }
12
- on("mounted")(target, handle);
12
+ return on("mounted")(target, handle);
13
13
  }
@@ -99,8 +99,7 @@ var popup_path = function (path = "", parameters, target) {
99
99
  element.$reload = fullfill;
100
100
  if (!target && target !== false && parameters !== false) {
101
101
  element.style.opacity = 0;
102
- if (element.parentNode) move.bindPosition(element, [.5, .5]), element.style.opacity = 1;
103
- else once('append')(element, function () {
102
+ oncemount(element, function () {
104
103
  move.bindPosition(element, [.5, .5]);
105
104
  element.style.opacity = 1;
106
105
  });
@@ -573,6 +573,7 @@ var createEmiter = function (on) {
573
573
  getter1 = createGetter(search, false);
574
574
  }
575
575
  on(key)(this, function (e) {
576
+ digest();
576
577
  if (parsedSrc) {
577
578
  var target = e.currentTarget || e.target;
578
579
  var scopes = target && target.$parentScopes;
@@ -601,7 +602,6 @@ var createEmiter = function (on) {
601
602
  res = getter0.call(this, e);
602
603
  }
603
604
  if (res && isFunction(res.then)) res.then(digest, digest);
604
- digest();
605
605
  return res;
606
606
  });
607
607
  };
@@ -135,39 +135,36 @@ function resize(elem, initialEvent) {
135
135
  }
136
136
  moveupon(window, handle);
137
137
 
138
+ var offmousemove;
139
+ var resizeh = lazy(function () {
140
+ // 用于刷新自定义的scrollbar/lattice/gallery组件
141
+ var elem = this;
142
+ var resized = false;
143
+ if (elem.scrollWidth > elem.clientWidth) {
144
+ css(elem, { width: elem.offsetWidth });
145
+ resized = true;
146
+ }
147
+ if (elem.scrollHeight > elem.clientHeight) {
148
+ css(elem, { height: elem.offsetHeight });
149
+ resized = true;
150
+ }
151
+ if (resized) dispatch(elem, 'resize'), resizingList.hit(elem);
152
+ });
138
153
 
139
154
  resize.on = function (elem, dragHandle) {
140
155
  if (elem) {
141
156
  elem.dragHandle = dragHandle;
142
157
  }
143
158
  onmounted(elem, function () {
144
- var off = onmousemove(window, getResizer);
145
- onremove(elem, off);
146
- });
147
- var computed = getComputedStyle(elem);
148
- var resizeh = function () {
149
- var elem = this;
150
- var resized = false;
151
- if (elem.scrollWidth > elem.clientWidth) {
152
- css(elem, { width: elem.offsetWidth });
153
- resized = true;
159
+ if (!offmousemove) offmousemove = onmousemove(window, getResizer);
160
+ if (!~resizingElements.indexOf(elem)) {
161
+ resizingElements.push(elem);
154
162
  }
155
- if (elem.scrollHeight > elem.clientHeight) {
156
- css(elem, { height: elem.offsetHeight });
157
- resized = true;
158
- }
159
- if (resized) dispatch(elem, 'resize'), resizingList.hit(elem);
160
- if (unbind && parseInt(computed.height) && parseInt(computed.width)) {
161
- unbind();
162
- unbind = null;
163
- };
164
- }
165
- if (!parseInt(computed.height) || !parseInt(computed.width)) var unbind = bind('render')(elem, resizeh);
166
- if (!~resizingElements.indexOf(elem)) {
167
- resizingElements.push(elem);
168
- once('remove')(elem, function () {
169
- var index = resizingElements.indexOf(this);
170
- if (~index) resizingElements.splice(index, 1);
171
- });
172
- }
163
+ bind('render')(elem, resizeh);
164
+ });
165
+ on('remove')(elem, function () {
166
+ var index = resizingElements.indexOf(this);
167
+ if (~index) resizingElements.splice(index, 1);
168
+ if (!resizingElements.length && offmousemove) offmousemove(), offmousemove = null;
169
+ });
173
170
  };
@@ -67,7 +67,7 @@ function script(url, judger) {
67
67
  return promise.catch(f);
68
68
  };
69
69
  script.src = url;
70
- setTimeout(function () {
70
+ Promise.resolve().then(function () {
71
71
  if (!script.parentNode) {
72
72
  if (judger) {
73
73
  var res = seek(window, judger);
@@ -144,8 +144,8 @@ var scrollbary = function () {
144
144
  function bindTarget(_container, followResize = _container) {
145
145
  var _scrollbar = this;
146
146
  _container.with = _scrollbar;
147
- onappend(_container, _scrollbar.reshape);
148
147
  _scrollbar.target = _container;
148
+ onmounted(_container, _scrollbar.reshape);
149
149
  on("scroll")(_container, function () {
150
150
  var top = getTargetTop(_container);
151
151
  _scrollbar.scrollTo(top);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.20.10",
3
+ "version": "3.20.11",
4
4
  "description": "一个开发工具,开放源代码,自带组件库和编译环境,可以用来开发web组件,web应用或nodejs模块,或做为已有代码的加密工具,也可以做为静态页面服务器或跨域中转服务器使用",
5
5
  "main": "public/efront.js",
6
6
  "directories": {