@dolphinweex/weex-vue-render 0.2.113 → 0.2.114
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.
- package/dist/index.common.js +26 -14
- package/package.json +1 -1
package/dist/index.common.js
CHANGED
|
@@ -5165,13 +5165,9 @@ var style = {
|
|
|
5165
5165
|
return weex.utils.px2rem($0, rootValue)
|
|
5166
5166
|
})
|
|
5167
5167
|
}
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
return (scale * value) + 'px';
|
|
5172
|
-
}else{
|
|
5173
|
-
return weex.utils.px2rem(value + '', rootValue)
|
|
5174
|
-
}
|
|
5168
|
+
if (typeof value === 'number') {
|
|
5169
|
+
// 没单位的数字按设计稿 px 转 rem pad旋转会动态计算
|
|
5170
|
+
return weex.utils.px2rem(value + '', rootValue)
|
|
5175
5171
|
}
|
|
5176
5172
|
// 辅助函数:将kebab-case转换为camelCase
|
|
5177
5173
|
const kebabToCamel = (str) => {
|
|
@@ -11320,9 +11316,14 @@ function transitionOnce (vnode, config, callback) {
|
|
|
11320
11316
|
dom && weex.utils.fireLazyload(dom, true);
|
|
11321
11317
|
|
|
11322
11318
|
var ended = false;
|
|
11319
|
+
var eventFinishTimer = null;
|
|
11323
11320
|
var cleanup = function () {
|
|
11324
11321
|
if (ended) { return }
|
|
11325
11322
|
ended = true;
|
|
11323
|
+
if (eventFinishTimer) {
|
|
11324
|
+
clearTimeout(eventFinishTimer);
|
|
11325
|
+
eventFinishTimer = null;
|
|
11326
|
+
}
|
|
11326
11327
|
if (endEvent) {
|
|
11327
11328
|
dom.removeEventListener(endEvent, transitionEndHandler);
|
|
11328
11329
|
}
|
|
@@ -11330,14 +11331,26 @@ function transitionOnce (vnode, config, callback) {
|
|
|
11330
11331
|
dom.style[styleName] = '';
|
|
11331
11332
|
}
|
|
11332
11333
|
};
|
|
11333
|
-
var
|
|
11334
|
-
|
|
11334
|
+
var finish = function () {
|
|
11335
|
+
if (ended) { return }
|
|
11335
11336
|
clearTimeout(timerId);
|
|
11336
11337
|
cleanup();
|
|
11337
|
-
|
|
11338
|
-
|
|
11339
|
-
|
|
11338
|
+
callback && callback();
|
|
11339
|
+
};
|
|
11340
|
+
var transitionEndHandler = function (event) {
|
|
11341
|
+
event && event.stopPropagation();
|
|
11342
|
+
// transitionend 会针对 opacity、transform 等属性分别触发。
|
|
11343
|
+
// 只处理当前节点,并等配置时长结束及最后一个属性事件稳定后再回调。
|
|
11344
|
+
if (!event || event.target !== dom || ended) { return }
|
|
11345
|
+
if (eventFinishTimer) {
|
|
11346
|
+
clearTimeout(eventFinishTimer);
|
|
11347
|
+
}
|
|
11348
|
+
var remaining = Math.max(0, duration + delay - (Date.now() - startTime));
|
|
11349
|
+
eventFinishTimer = setTimeout(function () {
|
|
11350
|
+
finish();
|
|
11351
|
+
}, remaining + 16);
|
|
11340
11352
|
};
|
|
11353
|
+
var startTime = Date.now();
|
|
11341
11354
|
if (endEvent) {
|
|
11342
11355
|
dom.style[styleName] = transitionValue;
|
|
11343
11356
|
dom.addEventListener(endEvent, transitionEndHandler);
|
|
@@ -11345,8 +11358,7 @@ function transitionOnce (vnode, config, callback) {
|
|
|
11345
11358
|
var totalMs = (duration + delay) + 60; // 兜底计时器,避免不触发 transitionend 时卡死
|
|
11346
11359
|
var timerId = setTimeout(function () {
|
|
11347
11360
|
if (ended) { return }
|
|
11348
|
-
|
|
11349
|
-
callback && callback();
|
|
11361
|
+
finish();
|
|
11350
11362
|
}, totalMs);
|
|
11351
11363
|
nextFrame(function () {
|
|
11352
11364
|
// 修改 transform:translate让它支持传3个参数,且第三个参数无效
|
package/package.json
CHANGED