eoss 0.1.0-alpha.22 → 0.1.0-alpha.23
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/lib/account-login.js +6 -6
- package/lib/alert.js +2 -2
- package/lib/aside.js +2 -2
- package/lib/autocomplete.js +31 -31
- package/lib/avatar.js +2 -2
- package/lib/backtop.js +4 -4
- package/lib/badge.js +2 -2
- package/lib/breadcrumb-item.js +2 -2
- package/lib/breadcrumb.js +2 -2
- package/lib/button-group.js +2 -2
- package/lib/button.js +2 -2
- package/lib/ca-login.js +2 -2
- package/lib/calendar.js +2 -2
- package/lib/card.js +2 -2
- package/lib/carousel-item.js +2 -2
- package/lib/carousel.js +26 -12
- package/lib/cascader-panel.js +8 -8
- package/lib/cascader.js +231 -217
- package/lib/checkbox-button.js +2 -2
- package/lib/checkbox-group.js +8 -8
- package/lib/checkbox.js +2 -2
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +808 -627
- package/lib/collapse.js +808 -627
- package/lib/color-picker.js +24 -24
- package/lib/container.js +2 -2
- package/lib/cron.js +2 -2
- package/lib/data-table.js +8 -8
- package/lib/date-picker.js +25 -25
- package/lib/dialog.js +13 -13
- package/lib/divider.js +2 -2
- package/lib/drawer.js +6 -6
- package/lib/dropdown-item.js +2 -2
- package/lib/dropdown-menu.js +8 -8
- package/lib/dropdown.js +2 -2
- package/lib/email-login.js +251 -251
- package/lib/empty.js +2 -2
- package/lib/eoss.common.js +1080 -562
- package/lib/flip.js +2 -2
- package/lib/flow-group.js +2 -2
- package/lib/flow.js +6 -6
- package/lib/flows.js +6 -6
- package/lib/footer.js +2 -2
- package/lib/form-item.js +2 -2
- package/lib/form.js +811 -630
- package/lib/header.js +2 -2
- package/lib/icon.js +2 -2
- package/lib/icons.js +4 -4
- package/lib/image-viewer.js +2 -2
- package/lib/image.js +4 -4
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +4 -4
- package/lib/input-number.js +11 -11
- package/lib/input.js +24 -10
- package/lib/link.js +2 -2
- package/lib/loading.js +6 -6
- package/lib/login.js +95 -81
- package/lib/lowcode.js +463 -114
- package/lib/main.js +235 -232
- package/lib/marquee.js +2 -2
- package/lib/menu-item-group.js +2 -2
- package/lib/menu-item.js +2 -2
- package/lib/menu.js +1722 -1722
- package/lib/message-box.js +8 -8
- package/lib/message.js +6 -6
- package/lib/notification.js +13 -13
- package/lib/option-group.js +2 -2
- package/lib/option.js +2 -2
- package/lib/page-header.js +2 -2
- package/lib/pagination.js +13 -13
- package/lib/phone-login.js +13 -13
- package/lib/popconfirm.js +4 -4
- package/lib/popover.js +15 -15
- package/lib/progress.js +2 -2
- package/lib/qr-code.js +8 -8
- package/lib/qrcode-login.js +6 -6
- package/lib/radio-button.js +2 -2
- package/lib/radio-group.js +6 -6
- package/lib/radio.js +2 -2
- package/lib/rate.js +2 -2
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +42 -28
- package/lib/select.js +257 -243
- package/lib/selector-panel.js +10 -10
- package/lib/selector.js +917 -37
- package/lib/slider.js +2 -2
- package/lib/step.js +808 -627
- package/lib/steps.js +2 -2
- package/lib/submenu.js +25 -25
- package/lib/switch.js +11 -11
- package/lib/tab-pane.js +2 -2
- package/lib/table-column.js +4 -4
- package/lib/table.js +1863 -1849
- package/lib/tabs.js +24 -10
- package/lib/tag.js +2 -2
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -1
- package/lib/theme-chalk/selector.css +1 -1
- package/lib/time-picker.js +10 -10
- package/lib/time-select.js +11 -11
- package/lib/timeline-item.js +2 -2
- package/lib/timeline.js +2 -2
- package/lib/tips.js +15 -15
- package/lib/toolbar.js +2 -2
- package/lib/tooltip.js +15 -15
- package/lib/transfer.js +4 -4
- package/lib/tree-group.js +4 -4
- package/lib/tree.js +31 -31
- package/lib/upload.js +34 -34
- package/lib/utils/resize-event.js +20 -6
- package/package.json +3 -1
- package/packages/lowcode/src/aside.vue +15 -2
- package/packages/lowcode/src/editor.vue +187 -0
- package/packages/lowcode/src/lowcode.vue +63 -10
- package/packages/lowcode/src/pages.vue +168 -40
- package/packages/main/src/minxs.js +1 -0
- package/packages/menu/src/menu.vue +4 -4
- package/packages/selector/src/selector.vue +147 -17
- package/packages/theme-chalk/src/lowcode.scss +21 -18
- package/packages/theme-chalk/src/selector.scss +10 -4
- package/src/index.js +1 -1
- package/src/utils/resize-event.js +21 -7
package/lib/collapse.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 191);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ([
|
|
@@ -5141,11 +5141,11 @@ module.exports = require("eoss/lib/message-box");
|
|
|
5141
5141
|
/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_0__);
|
|
5142
5142
|
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31);
|
|
5143
5143
|
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_1__);
|
|
5144
|
-
/* harmony import */ var _sm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
5144
|
+
/* harmony import */ var _sm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24);
|
|
5145
5145
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32);
|
|
5146
5146
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(json_bigint__WEBPACK_IMPORTED_MODULE_3__);
|
|
5147
5147
|
/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
|
|
5148
|
-
/* harmony import */ var fetch_request_source__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
5148
|
+
/* harmony import */ var fetch_request_source__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25);
|
|
5149
5149
|
/* harmony import */ var fetch_request_source__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fetch_request_source__WEBPACK_IMPORTED_MODULE_5__);
|
|
5150
5150
|
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
|
|
5151
5151
|
/* harmony import */ var _config_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7);
|
|
@@ -6572,11 +6572,11 @@ var getRgb = function getRgb($color) {
|
|
|
6572
6572
|
"use strict";
|
|
6573
6573
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
6574
6574
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
|
|
6575
|
-
/* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
6575
|
+
/* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26);
|
|
6576
6576
|
|
|
6577
6577
|
|
|
6578
6578
|
|
|
6579
|
-
var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(
|
|
6579
|
+
var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(42);
|
|
6580
6580
|
var stopPropagation = function stopPropagation(e) {
|
|
6581
6581
|
return e.stopPropagation();
|
|
6582
6582
|
};
|
|
@@ -6837,12 +6837,6 @@ var stopPropagation = function stopPropagation(e) {
|
|
|
6837
6837
|
|
|
6838
6838
|
/***/ }),
|
|
6839
6839
|
/* 14 */
|
|
6840
|
-
/***/ (function(module, exports) {
|
|
6841
|
-
|
|
6842
|
-
module.exports = require("throttle-debounce");
|
|
6843
|
-
|
|
6844
|
-
/***/ }),
|
|
6845
|
-
/* 15 */
|
|
6846
6840
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
6847
6841
|
|
|
6848
6842
|
"use strict";
|
|
@@ -6985,6 +6979,12 @@ function scrollMove(wrap) {
|
|
|
6985
6979
|
return { y: y, x: x };
|
|
6986
6980
|
}
|
|
6987
6981
|
|
|
6982
|
+
/***/ }),
|
|
6983
|
+
/* 15 */
|
|
6984
|
+
/***/ (function(module, exports) {
|
|
6985
|
+
|
|
6986
|
+
module.exports = require("throttle-debounce");
|
|
6987
|
+
|
|
6988
6988
|
/***/ }),
|
|
6989
6989
|
/* 16 */
|
|
6990
6990
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -7160,6 +7160,218 @@ module.exports = require("lodash/cloneDeep");
|
|
|
7160
7160
|
/* 23 */
|
|
7161
7161
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7162
7162
|
|
|
7163
|
+
"use strict";
|
|
7164
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addResizeListener; });
|
|
7165
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return removeResizeListener; });
|
|
7166
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
7167
|
+
|
|
7168
|
+
// 注意:此文件完全重写以解决 ResizeObserver 循环错误
|
|
7169
|
+
|
|
7170
|
+
var isServer = typeof window === 'undefined';
|
|
7171
|
+
|
|
7172
|
+
// 使用 WeakMap 存储:
|
|
7173
|
+
// 1. 每个元素的监听器列表
|
|
7174
|
+
// 2. 每个元素的最后处理时间
|
|
7175
|
+
// 3. 每个元素的动画帧ID(用于requestAnimationFrame)
|
|
7176
|
+
var listenersMap = new WeakMap();
|
|
7177
|
+
var lastProcessedMap = new WeakMap();
|
|
7178
|
+
var animationFrameMap = new WeakMap();
|
|
7179
|
+
var pendingRetryMap = new WeakMap();
|
|
7180
|
+
var PROCESSING_DELAY = 100; // 增加处理延迟到100ms
|
|
7181
|
+
|
|
7182
|
+
// 更安全的resize处理器,使用requestAnimationFrame和严格的频率控制
|
|
7183
|
+
function safeResizeHandler(element) {
|
|
7184
|
+
var now = Date.now();
|
|
7185
|
+
var lastTime = lastProcessedMap.get(element) || 0;
|
|
7186
|
+
var listeners = listenersMap.get(element) || [];
|
|
7187
|
+
|
|
7188
|
+
// 如果距离上次处理不足 PROCESSING_DELAY 毫秒,延迟重试,避免丢失最后一次变化
|
|
7189
|
+
if (now - lastTime < PROCESSING_DELAY) {
|
|
7190
|
+
if (!pendingRetryMap.get(element)) {
|
|
7191
|
+
pendingRetryMap.set(element, true);
|
|
7192
|
+
setTimeout(function () {
|
|
7193
|
+
pendingRetryMap.delete(element);
|
|
7194
|
+
safeResizeHandler(element);
|
|
7195
|
+
}, PROCESSING_DELAY);
|
|
7196
|
+
}
|
|
7197
|
+
return;
|
|
7198
|
+
}
|
|
7199
|
+
|
|
7200
|
+
// 取消任何待处理的动画帧
|
|
7201
|
+
var existingFrameId = animationFrameMap.get(element);
|
|
7202
|
+
if (existingFrameId) {
|
|
7203
|
+
cancelAnimationFrame(existingFrameId);
|
|
7204
|
+
}
|
|
7205
|
+
|
|
7206
|
+
// 使用requestAnimationFrame来处理大小变化,这样可以防止循环
|
|
7207
|
+
var frameId = requestAnimationFrame(function () {
|
|
7208
|
+
// 再次检查时间,确保在动画帧执行时不会太频繁
|
|
7209
|
+
var frameNow = Date.now();
|
|
7210
|
+
if (frameNow - lastTime < PROCESSING_DELAY) {
|
|
7211
|
+
animationFrameMap.delete(element);
|
|
7212
|
+
return;
|
|
7213
|
+
}
|
|
7214
|
+
|
|
7215
|
+
lastProcessedMap.set(element, frameNow);
|
|
7216
|
+
|
|
7217
|
+
if (listeners.length) {
|
|
7218
|
+
// 创建监听器副本以防止在迭代过程中修改
|
|
7219
|
+
var listenersCopy = [].concat(listeners);
|
|
7220
|
+
listenersCopy.forEach(function (listener) {
|
|
7221
|
+
try {
|
|
7222
|
+
// 使用setTimeout来彻底分离调用栈
|
|
7223
|
+
setTimeout(function () {
|
|
7224
|
+
try {
|
|
7225
|
+
listener();
|
|
7226
|
+
} catch (e) {
|
|
7227
|
+
console.error('Resize listener error:', e);
|
|
7228
|
+
}
|
|
7229
|
+
}, 0);
|
|
7230
|
+
} catch (e) {
|
|
7231
|
+
console.error('Resize handler error:', e);
|
|
7232
|
+
}
|
|
7233
|
+
});
|
|
7234
|
+
}
|
|
7235
|
+
|
|
7236
|
+
animationFrameMap.delete(element);
|
|
7237
|
+
});
|
|
7238
|
+
|
|
7239
|
+
animationFrameMap.set(element, frameId);
|
|
7240
|
+
}
|
|
7241
|
+
|
|
7242
|
+
// 模拟ResizeObserver的自定义实现,不使用resize-observer-polyfill
|
|
7243
|
+
|
|
7244
|
+
var CustomResizeObserver = function () {
|
|
7245
|
+
function CustomResizeObserver(callback) {
|
|
7246
|
+
_classCallCheck(this, CustomResizeObserver);
|
|
7247
|
+
|
|
7248
|
+
this.callback = callback;
|
|
7249
|
+
this.elements = new Set();
|
|
7250
|
+
this.throttleTimer = null;
|
|
7251
|
+
}
|
|
7252
|
+
|
|
7253
|
+
CustomResizeObserver.prototype.observe = function observe(element) {
|
|
7254
|
+
var _this = this;
|
|
7255
|
+
|
|
7256
|
+
if (!element || !element.nodeType) return;
|
|
7257
|
+
|
|
7258
|
+
this.elements.add(element);
|
|
7259
|
+
|
|
7260
|
+
// 使用ResizeObserver的降级实现,结合setTimeout
|
|
7261
|
+
var checkSize = function checkSize() {
|
|
7262
|
+
var rect = element.getBoundingClientRect();
|
|
7263
|
+
var currentSize = { width: rect.width, height: rect.height };
|
|
7264
|
+
|
|
7265
|
+
// 首次检查时初始化基准尺寸,否则永远检测不到变化
|
|
7266
|
+
if (!element.__lastSize) {
|
|
7267
|
+
element.__lastSize = currentSize;
|
|
7268
|
+
} else {
|
|
7269
|
+
var lastSize = element.__lastSize;
|
|
7270
|
+
|
|
7271
|
+
// 检查尺寸是否真的改变了
|
|
7272
|
+
if (Math.abs(currentSize.width - lastSize.width) > 1 || Math.abs(currentSize.height - lastSize.height) > 1) {
|
|
7273
|
+
element.__lastSize = currentSize;
|
|
7274
|
+
|
|
7275
|
+
// 调用原始回调,但在更安全的上下文中
|
|
7276
|
+
safeResizeHandler(element);
|
|
7277
|
+
}
|
|
7278
|
+
}
|
|
7279
|
+
|
|
7280
|
+
// 继续下一次检查,但增加延迟
|
|
7281
|
+
_this.throttleTimer = setTimeout(checkSize, 100);
|
|
7282
|
+
};
|
|
7283
|
+
|
|
7284
|
+
// 开始检查
|
|
7285
|
+
checkSize();
|
|
7286
|
+
|
|
7287
|
+
// 存储timer引用以便disconnect时清除
|
|
7288
|
+
element.__resizeTimer = this.throttleTimer;
|
|
7289
|
+
};
|
|
7290
|
+
|
|
7291
|
+
CustomResizeObserver.prototype.disconnect = function disconnect() {
|
|
7292
|
+
// 清除所有定时器
|
|
7293
|
+
this.elements.forEach(function (element) {
|
|
7294
|
+
if (element.__resizeTimer) {
|
|
7295
|
+
clearTimeout(element.__resizeTimer);
|
|
7296
|
+
delete element.__resizeTimer;
|
|
7297
|
+
}
|
|
7298
|
+
});
|
|
7299
|
+
|
|
7300
|
+
if (this.throttleTimer) {
|
|
7301
|
+
clearTimeout(this.throttleTimer);
|
|
7302
|
+
this.throttleTimer = null;
|
|
7303
|
+
}
|
|
7304
|
+
|
|
7305
|
+
this.elements.clear();
|
|
7306
|
+
};
|
|
7307
|
+
|
|
7308
|
+
return CustomResizeObserver;
|
|
7309
|
+
}();
|
|
7310
|
+
|
|
7311
|
+
/* istanbul ignore next */
|
|
7312
|
+
|
|
7313
|
+
|
|
7314
|
+
var addResizeListener = function addResizeListener(element, fn) {
|
|
7315
|
+
if (isServer) return;
|
|
7316
|
+
|
|
7317
|
+
// 初始化元素的监听器列表
|
|
7318
|
+
if (!listenersMap.has(element)) {
|
|
7319
|
+
listenersMap.set(element, []);
|
|
7320
|
+
|
|
7321
|
+
// 使用我们的自定义ResizeObserver,而不是官方的polyfill
|
|
7322
|
+
try {
|
|
7323
|
+
var observer = new CustomResizeObserver(function () {
|
|
7324
|
+
safeResizeHandler(element);
|
|
7325
|
+
});
|
|
7326
|
+
observer.observe(element);
|
|
7327
|
+
element.__customResizeObserver = observer;
|
|
7328
|
+
} catch (e) {
|
|
7329
|
+
console.error('Failed to create CustomResizeObserver:', e);
|
|
7330
|
+
}
|
|
7331
|
+
}
|
|
7332
|
+
|
|
7333
|
+
var listeners = listenersMap.get(element);
|
|
7334
|
+
if (!listeners.includes(fn)) {
|
|
7335
|
+
listeners.push(fn);
|
|
7336
|
+
}
|
|
7337
|
+
};
|
|
7338
|
+
|
|
7339
|
+
/* istanbul ignore next */
|
|
7340
|
+
var removeResizeListener = function removeResizeListener(element, fn) {
|
|
7341
|
+
if (!element || !listenersMap.has(element)) return;
|
|
7342
|
+
|
|
7343
|
+
var listeners = listenersMap.get(element);
|
|
7344
|
+
var index = listeners.indexOf(fn);
|
|
7345
|
+
|
|
7346
|
+
if (index !== -1) {
|
|
7347
|
+
listeners.splice(index, 1);
|
|
7348
|
+
|
|
7349
|
+
// 如果没有监听器了,清理资源
|
|
7350
|
+
if (listeners.length === 0) {
|
|
7351
|
+
// 清除自定义ResizeObserver
|
|
7352
|
+
if (element.__customResizeObserver) {
|
|
7353
|
+
element.__customResizeObserver.disconnect();
|
|
7354
|
+
delete element.__customResizeObserver;
|
|
7355
|
+
}
|
|
7356
|
+
|
|
7357
|
+
// 清除存储的数据
|
|
7358
|
+
listenersMap.delete(element);
|
|
7359
|
+
lastProcessedMap.delete(element);
|
|
7360
|
+
|
|
7361
|
+
// 清除任何待处理的动画帧
|
|
7362
|
+
var frameId = animationFrameMap.get(element);
|
|
7363
|
+
if (frameId) {
|
|
7364
|
+
cancelAnimationFrame(frameId);
|
|
7365
|
+
animationFrameMap.delete(element);
|
|
7366
|
+
}
|
|
7367
|
+
}
|
|
7368
|
+
}
|
|
7369
|
+
};
|
|
7370
|
+
|
|
7371
|
+
/***/ }),
|
|
7372
|
+
/* 24 */
|
|
7373
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7374
|
+
|
|
7163
7375
|
"use strict";
|
|
7164
7376
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return doEncrypt; });
|
|
7165
7377
|
/* unused harmony export doDecrypt */
|
|
@@ -7215,13 +7427,13 @@ var doDecrypt = function doDecrypt(_ref2) {
|
|
|
7215
7427
|
};
|
|
7216
7428
|
|
|
7217
7429
|
/***/ }),
|
|
7218
|
-
/*
|
|
7430
|
+
/* 25 */
|
|
7219
7431
|
/***/ (function(module, exports) {
|
|
7220
7432
|
|
|
7221
7433
|
module.exports = require("fetch-request-source");
|
|
7222
7434
|
|
|
7223
7435
|
/***/ }),
|
|
7224
|
-
/*
|
|
7436
|
+
/* 26 */
|
|
7225
7437
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7226
7438
|
|
|
7227
7439
|
"use strict";
|
|
@@ -7446,7 +7658,7 @@ if (!external_vue_default.a.prototype.$isServer) {
|
|
|
7446
7658
|
|
|
7447
7659
|
/* harmony default export */ var popup_manager = (PopupManager);
|
|
7448
7660
|
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
7449
|
-
var scrollbar = __webpack_require__(
|
|
7661
|
+
var scrollbar = __webpack_require__(14);
|
|
7450
7662
|
|
|
7451
7663
|
// CONCATENATED MODULE: ./src/utils/popup/index.js
|
|
7452
7664
|
|
|
@@ -7674,204 +7886,6 @@ var scrollBarWidth = void 0;
|
|
|
7674
7886
|
|
|
7675
7887
|
|
|
7676
7888
|
|
|
7677
|
-
/***/ }),
|
|
7678
|
-
/* 26 */
|
|
7679
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7680
|
-
|
|
7681
|
-
"use strict";
|
|
7682
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addResizeListener; });
|
|
7683
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return removeResizeListener; });
|
|
7684
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
7685
|
-
|
|
7686
|
-
// 注意:此文件完全重写以解决 ResizeObserver 循环错误
|
|
7687
|
-
|
|
7688
|
-
var isServer = typeof window === 'undefined';
|
|
7689
|
-
|
|
7690
|
-
// 使用 WeakMap 存储:
|
|
7691
|
-
// 1. 每个元素的监听器列表
|
|
7692
|
-
// 2. 每个元素的最后处理时间
|
|
7693
|
-
// 3. 每个元素的动画帧ID(用于requestAnimationFrame)
|
|
7694
|
-
var listenersMap = new WeakMap();
|
|
7695
|
-
var lastProcessedMap = new WeakMap();
|
|
7696
|
-
var animationFrameMap = new WeakMap();
|
|
7697
|
-
var PROCESSING_DELAY = 100; // 增加处理延迟到100ms
|
|
7698
|
-
|
|
7699
|
-
// 更安全的resize处理器,使用requestAnimationFrame和严格的频率控制
|
|
7700
|
-
function safeResizeHandler(element) {
|
|
7701
|
-
var now = Date.now();
|
|
7702
|
-
var lastTime = lastProcessedMap.get(element) || 0;
|
|
7703
|
-
var listeners = listenersMap.get(element) || [];
|
|
7704
|
-
|
|
7705
|
-
// 如果距离上次处理不足 PROCESSING_DELAY 毫秒,则跳过
|
|
7706
|
-
if (now - lastTime < PROCESSING_DELAY) {
|
|
7707
|
-
return;
|
|
7708
|
-
}
|
|
7709
|
-
|
|
7710
|
-
// 取消任何待处理的动画帧
|
|
7711
|
-
var existingFrameId = animationFrameMap.get(element);
|
|
7712
|
-
if (existingFrameId) {
|
|
7713
|
-
cancelAnimationFrame(existingFrameId);
|
|
7714
|
-
}
|
|
7715
|
-
|
|
7716
|
-
// 使用requestAnimationFrame来处理大小变化,这样可以防止循环
|
|
7717
|
-
var frameId = requestAnimationFrame(function () {
|
|
7718
|
-
// 再次检查时间,确保在动画帧执行时不会太频繁
|
|
7719
|
-
var frameNow = Date.now();
|
|
7720
|
-
if (frameNow - lastTime < PROCESSING_DELAY) {
|
|
7721
|
-
animationFrameMap.delete(element);
|
|
7722
|
-
return;
|
|
7723
|
-
}
|
|
7724
|
-
|
|
7725
|
-
lastProcessedMap.set(element, frameNow);
|
|
7726
|
-
|
|
7727
|
-
if (listeners.length) {
|
|
7728
|
-
// 创建监听器副本以防止在迭代过程中修改
|
|
7729
|
-
var listenersCopy = [].concat(listeners);
|
|
7730
|
-
listenersCopy.forEach(function (listener) {
|
|
7731
|
-
try {
|
|
7732
|
-
// 使用setTimeout来彻底分离调用栈
|
|
7733
|
-
setTimeout(function () {
|
|
7734
|
-
try {
|
|
7735
|
-
listener();
|
|
7736
|
-
} catch (e) {
|
|
7737
|
-
console.error('Resize listener error:', e);
|
|
7738
|
-
}
|
|
7739
|
-
}, 0);
|
|
7740
|
-
} catch (e) {
|
|
7741
|
-
console.error('Resize handler error:', e);
|
|
7742
|
-
}
|
|
7743
|
-
});
|
|
7744
|
-
}
|
|
7745
|
-
|
|
7746
|
-
animationFrameMap.delete(element);
|
|
7747
|
-
});
|
|
7748
|
-
|
|
7749
|
-
animationFrameMap.set(element, frameId);
|
|
7750
|
-
}
|
|
7751
|
-
|
|
7752
|
-
// 模拟ResizeObserver的自定义实现,不使用resize-observer-polyfill
|
|
7753
|
-
|
|
7754
|
-
var CustomResizeObserver = function () {
|
|
7755
|
-
function CustomResizeObserver(callback) {
|
|
7756
|
-
_classCallCheck(this, CustomResizeObserver);
|
|
7757
|
-
|
|
7758
|
-
this.callback = callback;
|
|
7759
|
-
this.elements = new Set();
|
|
7760
|
-
this.throttleTimer = null;
|
|
7761
|
-
}
|
|
7762
|
-
|
|
7763
|
-
CustomResizeObserver.prototype.observe = function observe(element) {
|
|
7764
|
-
var _this = this;
|
|
7765
|
-
|
|
7766
|
-
if (!element || !element.nodeType) return;
|
|
7767
|
-
|
|
7768
|
-
this.elements.add(element);
|
|
7769
|
-
|
|
7770
|
-
// 使用ResizeObserver的降级实现,结合setTimeout
|
|
7771
|
-
var checkSize = function checkSize() {
|
|
7772
|
-
var rect = element.getBoundingClientRect();
|
|
7773
|
-
var currentSize = { width: rect.width, height: rect.height };
|
|
7774
|
-
var lastSize = element.__lastSize || currentSize;
|
|
7775
|
-
|
|
7776
|
-
// 检查尺寸是否真的改变了
|
|
7777
|
-
if (Math.abs(currentSize.width - lastSize.width) > 1 || Math.abs(currentSize.height - lastSize.height) > 1) {
|
|
7778
|
-
element.__lastSize = currentSize;
|
|
7779
|
-
|
|
7780
|
-
// 调用原始回调,但在更安全的上下文中
|
|
7781
|
-
safeResizeHandler(element);
|
|
7782
|
-
}
|
|
7783
|
-
|
|
7784
|
-
// 继续下一次检查,但增加延迟
|
|
7785
|
-
_this.throttleTimer = setTimeout(checkSize, 100);
|
|
7786
|
-
};
|
|
7787
|
-
|
|
7788
|
-
// 开始检查
|
|
7789
|
-
checkSize();
|
|
7790
|
-
|
|
7791
|
-
// 存储timer引用以便disconnect时清除
|
|
7792
|
-
element.__resizeTimer = this.throttleTimer;
|
|
7793
|
-
};
|
|
7794
|
-
|
|
7795
|
-
CustomResizeObserver.prototype.disconnect = function disconnect() {
|
|
7796
|
-
// 清除所有定时器
|
|
7797
|
-
this.elements.forEach(function (element) {
|
|
7798
|
-
if (element.__resizeTimer) {
|
|
7799
|
-
clearTimeout(element.__resizeTimer);
|
|
7800
|
-
delete element.__resizeTimer;
|
|
7801
|
-
}
|
|
7802
|
-
});
|
|
7803
|
-
|
|
7804
|
-
if (this.throttleTimer) {
|
|
7805
|
-
clearTimeout(this.throttleTimer);
|
|
7806
|
-
this.throttleTimer = null;
|
|
7807
|
-
}
|
|
7808
|
-
|
|
7809
|
-
this.elements.clear();
|
|
7810
|
-
};
|
|
7811
|
-
|
|
7812
|
-
return CustomResizeObserver;
|
|
7813
|
-
}();
|
|
7814
|
-
|
|
7815
|
-
/* istanbul ignore next */
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
var addResizeListener = function addResizeListener(element, fn) {
|
|
7819
|
-
if (isServer) return;
|
|
7820
|
-
|
|
7821
|
-
// 初始化元素的监听器列表
|
|
7822
|
-
if (!listenersMap.has(element)) {
|
|
7823
|
-
listenersMap.set(element, []);
|
|
7824
|
-
|
|
7825
|
-
// 使用我们的自定义ResizeObserver,而不是官方的polyfill
|
|
7826
|
-
try {
|
|
7827
|
-
var observer = new CustomResizeObserver(function () {
|
|
7828
|
-
safeResizeHandler(element);
|
|
7829
|
-
});
|
|
7830
|
-
observer.observe(element);
|
|
7831
|
-
element.__customResizeObserver = observer;
|
|
7832
|
-
} catch (e) {
|
|
7833
|
-
console.error('Failed to create CustomResizeObserver:', e);
|
|
7834
|
-
}
|
|
7835
|
-
}
|
|
7836
|
-
|
|
7837
|
-
var listeners = listenersMap.get(element);
|
|
7838
|
-
if (!listeners.includes(fn)) {
|
|
7839
|
-
listeners.push(fn);
|
|
7840
|
-
}
|
|
7841
|
-
};
|
|
7842
|
-
|
|
7843
|
-
/* istanbul ignore next */
|
|
7844
|
-
var removeResizeListener = function removeResizeListener(element, fn) {
|
|
7845
|
-
if (!element || !listenersMap.has(element)) return;
|
|
7846
|
-
|
|
7847
|
-
var listeners = listenersMap.get(element);
|
|
7848
|
-
var index = listeners.indexOf(fn);
|
|
7849
|
-
|
|
7850
|
-
if (index !== -1) {
|
|
7851
|
-
listeners.splice(index, 1);
|
|
7852
|
-
|
|
7853
|
-
// 如果没有监听器了,清理资源
|
|
7854
|
-
if (listeners.length === 0) {
|
|
7855
|
-
// 清除自定义ResizeObserver
|
|
7856
|
-
if (element.__customResizeObserver) {
|
|
7857
|
-
element.__customResizeObserver.disconnect();
|
|
7858
|
-
delete element.__customResizeObserver;
|
|
7859
|
-
}
|
|
7860
|
-
|
|
7861
|
-
// 清除存储的数据
|
|
7862
|
-
listenersMap.delete(element);
|
|
7863
|
-
lastProcessedMap.delete(element);
|
|
7864
|
-
|
|
7865
|
-
// 清除任何待处理的动画帧
|
|
7866
|
-
var frameId = animationFrameMap.get(element);
|
|
7867
|
-
if (frameId) {
|
|
7868
|
-
cancelAnimationFrame(frameId);
|
|
7869
|
-
animationFrameMap.delete(element);
|
|
7870
|
-
}
|
|
7871
|
-
}
|
|
7872
|
-
}
|
|
7873
|
-
};
|
|
7874
|
-
|
|
7875
7889
|
/***/ }),
|
|
7876
7890
|
/* 27 */
|
|
7877
7891
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -8346,12 +8360,369 @@ module.exports = require("eoss/lib/tooltip");
|
|
|
8346
8360
|
|
|
8347
8361
|
/***/ }),
|
|
8348
8362
|
/* 38 */
|
|
8363
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8364
|
+
|
|
8365
|
+
"use strict";
|
|
8366
|
+
/* harmony import */ var eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
|
|
8367
|
+
/**
|
|
8368
|
+
* 滚动条组件 - 处理表格的垂直和水平滚动条
|
|
8369
|
+
*/
|
|
8370
|
+
|
|
8371
|
+
|
|
8372
|
+
var BAR_MAP = {
|
|
8373
|
+
vertical: {
|
|
8374
|
+
offset: 'offsetHeight',
|
|
8375
|
+
scroll: 'scrollTop',
|
|
8376
|
+
scrollSize: 'scrollHeight',
|
|
8377
|
+
size: 'height',
|
|
8378
|
+
key: 'vertical',
|
|
8379
|
+
axis: 'Y',
|
|
8380
|
+
client: 'clientY',
|
|
8381
|
+
direction: 'top'
|
|
8382
|
+
},
|
|
8383
|
+
horizontal: {
|
|
8384
|
+
offset: 'offsetWidth',
|
|
8385
|
+
scroll: 'scrollLeft',
|
|
8386
|
+
scrollSize: 'scrollWidth',
|
|
8387
|
+
size: 'width',
|
|
8388
|
+
key: 'horizontal',
|
|
8389
|
+
axis: 'X',
|
|
8390
|
+
client: 'clientX',
|
|
8391
|
+
direction: 'left'
|
|
8392
|
+
}
|
|
8393
|
+
};
|
|
8394
|
+
|
|
8395
|
+
// 计算滚动位置的缓存
|
|
8396
|
+
var scrollPositionCache = new Map();
|
|
8397
|
+
|
|
8398
|
+
// 缓存滚动位置计算结果
|
|
8399
|
+
function cacheScrollPosition(key, value) {
|
|
8400
|
+
// 限制缓存大小
|
|
8401
|
+
if (scrollPositionCache.size > 100) {
|
|
8402
|
+
var firstKey = scrollPositionCache.keys().next().value;
|
|
8403
|
+
scrollPositionCache.delete(firstKey);
|
|
8404
|
+
}
|
|
8405
|
+
scrollPositionCache.set(key, {
|
|
8406
|
+
value: value,
|
|
8407
|
+
timestamp: Date.now()
|
|
8408
|
+
});
|
|
8409
|
+
return value;
|
|
8410
|
+
}
|
|
8411
|
+
|
|
8412
|
+
// 获取缓存的滚动位置计算结果
|
|
8413
|
+
function getCachedScrollPosition(key) {
|
|
8414
|
+
var maxAge = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
8415
|
+
|
|
8416
|
+
var cached = scrollPositionCache.get(key);
|
|
8417
|
+
if (cached && Date.now() - cached.timestamp < maxAge) {
|
|
8418
|
+
return cached.value;
|
|
8419
|
+
}
|
|
8420
|
+
return null;
|
|
8421
|
+
}
|
|
8422
|
+
|
|
8423
|
+
// 清理过期缓存
|
|
8424
|
+
function cleanupScrollCache() {
|
|
8425
|
+
var now = Date.now();
|
|
8426
|
+
for (var _iterator = scrollPositionCache.entries(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
|
|
8427
|
+
var _ref2;
|
|
8428
|
+
|
|
8429
|
+
if (_isArray) {
|
|
8430
|
+
if (_i >= _iterator.length) break;
|
|
8431
|
+
_ref2 = _iterator[_i++];
|
|
8432
|
+
} else {
|
|
8433
|
+
_i = _iterator.next();
|
|
8434
|
+
if (_i.done) break;
|
|
8435
|
+
_ref2 = _i.value;
|
|
8436
|
+
}
|
|
8437
|
+
|
|
8438
|
+
var _ref = _ref2;
|
|
8439
|
+
var key = _ref[0];
|
|
8440
|
+
var value = _ref[1];
|
|
8441
|
+
|
|
8442
|
+
if (now - value.timestamp > 500) {
|
|
8443
|
+
scrollPositionCache.delete(key);
|
|
8444
|
+
}
|
|
8445
|
+
}
|
|
8446
|
+
}
|
|
8447
|
+
|
|
8448
|
+
// 定期清理缓存
|
|
8449
|
+
setInterval(cleanupScrollCache, 5000);
|
|
8450
|
+
|
|
8451
|
+
function renderThumbStyle(_ref3) {
|
|
8452
|
+
var move = _ref3.move,
|
|
8453
|
+
size = _ref3.size,
|
|
8454
|
+
bar = _ref3.bar;
|
|
8455
|
+
|
|
8456
|
+
// 创建缓存键
|
|
8457
|
+
var cacheKey = bar.key + '-' + move + '-' + size;
|
|
8458
|
+
|
|
8459
|
+
// 尝试从缓存获取
|
|
8460
|
+
var cachedStyle = getCachedScrollPosition(cacheKey);
|
|
8461
|
+
if (cachedStyle) {
|
|
8462
|
+
return cachedStyle;
|
|
8463
|
+
}
|
|
8464
|
+
|
|
8465
|
+
var style = {};
|
|
8466
|
+
var translate = 'translate' + bar.axis + '(' + move + '%)';
|
|
8467
|
+
|
|
8468
|
+
style[bar.size] = size;
|
|
8469
|
+
style.transform = translate;
|
|
8470
|
+
style.msTransform = translate;
|
|
8471
|
+
style.webkitTransform = translate;
|
|
8472
|
+
// 启用 GPU 加速
|
|
8473
|
+
style.willChange = 'transform';
|
|
8474
|
+
// 优化重排性能
|
|
8475
|
+
style.position = 'relative';
|
|
8476
|
+
|
|
8477
|
+
// 缓存计算结果
|
|
8478
|
+
return cacheScrollPosition(cacheKey, style);
|
|
8479
|
+
};
|
|
8480
|
+
/* istanbul ignore next */
|
|
8481
|
+
/* harmony default export */ __webpack_exports__["a"] = ({
|
|
8482
|
+
name: 'Bar',
|
|
8483
|
+
|
|
8484
|
+
props: {
|
|
8485
|
+
vertical: Boolean,
|
|
8486
|
+
size: String,
|
|
8487
|
+
move: Number,
|
|
8488
|
+
scrollWrap: {
|
|
8489
|
+
type: HTMLElement,
|
|
8490
|
+
default: null
|
|
8491
|
+
}
|
|
8492
|
+
|
|
8493
|
+
},
|
|
8494
|
+
|
|
8495
|
+
data: function data() {
|
|
8496
|
+
return {
|
|
8497
|
+
cursorDown: false
|
|
8498
|
+
};
|
|
8499
|
+
},
|
|
8500
|
+
|
|
8501
|
+
|
|
8502
|
+
computed: {
|
|
8503
|
+
/**
|
|
8504
|
+
* 根据方向获取滚动条配置
|
|
8505
|
+
* @returns {Object} 滚动条配置对象
|
|
8506
|
+
*/
|
|
8507
|
+
barConfig: function barConfig() {
|
|
8508
|
+
return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];
|
|
8509
|
+
},
|
|
8510
|
+
|
|
8511
|
+
|
|
8512
|
+
/**
|
|
8513
|
+
* 获取父组件的bodyWrapper引用
|
|
8514
|
+
* @returns {HTMLElement|null} 滚动容器元素
|
|
8515
|
+
*/
|
|
8516
|
+
scrollWrapper: function scrollWrapper() {
|
|
8517
|
+
return this.$parent && this.$parent.bodyWrapper || this.scrollWrap || null;
|
|
8518
|
+
}
|
|
8519
|
+
},
|
|
8520
|
+
|
|
8521
|
+
methods: {
|
|
8522
|
+
/**
|
|
8523
|
+
* 点击滑块处理函数
|
|
8524
|
+
* @param {MouseEvent} event - 鼠标事件对象
|
|
8525
|
+
*/
|
|
8526
|
+
handleThumbClick: function handleThumbClick(event) {
|
|
8527
|
+
// 防止右键点击和Ctrl+点击
|
|
8528
|
+
if (event.ctrlKey || event.button === 2) {
|
|
8529
|
+
return;
|
|
8530
|
+
}
|
|
8531
|
+
|
|
8532
|
+
// 阻止文本选择和上下文菜单
|
|
8533
|
+
this.disableUserSelection();
|
|
8534
|
+
this.startDrag(event);
|
|
8535
|
+
|
|
8536
|
+
var currentTarget = event.currentTarget;
|
|
8537
|
+
var _barConfig = this.barConfig,
|
|
8538
|
+
client = _barConfig.client,
|
|
8539
|
+
direction = _barConfig.direction,
|
|
8540
|
+
axis = _barConfig.axis;
|
|
8541
|
+
|
|
8542
|
+
// 记录鼠标点击位置相对于滑块的位置
|
|
8543
|
+
// 这是鼠标在滑块内部的偏移量,用于保持拖动时的相对位置
|
|
8544
|
+
|
|
8545
|
+
var thumbRect = currentTarget.getBoundingClientRect();
|
|
8546
|
+
this[axis] = event[client] - thumbRect[direction];
|
|
8547
|
+
},
|
|
8548
|
+
|
|
8549
|
+
|
|
8550
|
+
/**
|
|
8551
|
+
* 点击轨道处理函数
|
|
8552
|
+
* @param {MouseEvent} event - 鼠标事件对象
|
|
8553
|
+
*/
|
|
8554
|
+
handleTrackClick: function handleTrackClick(event) {
|
|
8555
|
+
if (!this.scrollWrapper) return;
|
|
8556
|
+
|
|
8557
|
+
var _barConfig2 = this.barConfig,
|
|
8558
|
+
direction = _barConfig2.direction,
|
|
8559
|
+
client = _barConfig2.client,
|
|
8560
|
+
offset = _barConfig2.offset,
|
|
8561
|
+
scroll = _barConfig2.scroll,
|
|
8562
|
+
scrollSize = _barConfig2.scrollSize;
|
|
8563
|
+
var target = event.target;
|
|
8564
|
+
|
|
8565
|
+
var thumbElement = this.$refs.thumb;
|
|
8566
|
+
|
|
8567
|
+
if (!thumbElement) return;
|
|
8568
|
+
|
|
8569
|
+
// 计算点击位置到轨道起始的距离
|
|
8570
|
+
var clickOffset = Math.abs(target.getBoundingClientRect()[direction] - event[client]);
|
|
8571
|
+
|
|
8572
|
+
// 计算滑块的一半宽度/高度
|
|
8573
|
+
var thumbHalfSize = thumbElement[offset] / 2;
|
|
8574
|
+
|
|
8575
|
+
// 计算滑块位置百分比
|
|
8576
|
+
var thumbPositionPercentage = (clickOffset - thumbHalfSize) * 100 / this.$el[offset];
|
|
8577
|
+
|
|
8578
|
+
// 设置滚动位置
|
|
8579
|
+
this.scrollWrapper[scroll] = thumbPositionPercentage * this.scrollWrapper[scrollSize] / 100;
|
|
8580
|
+
},
|
|
8581
|
+
|
|
8582
|
+
|
|
8583
|
+
/**
|
|
8584
|
+
* 开始拖动处理
|
|
8585
|
+
* @param {MouseEvent} event - 鼠标事件对象
|
|
8586
|
+
*/
|
|
8587
|
+
startDrag: function startDrag(event) {
|
|
8588
|
+
event.stopImmediatePropagation();
|
|
8589
|
+
this.cursorDown = true;
|
|
8590
|
+
|
|
8591
|
+
// 添加事件监听器
|
|
8592
|
+
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* on */ "g"])(document, 'mousemove', this.handleMouseMove);
|
|
8593
|
+
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* on */ "g"])(document, 'mouseup', this.handleMouseUp);
|
|
8594
|
+
document.onselectstart = function () {
|
|
8595
|
+
return false;
|
|
8596
|
+
};
|
|
8597
|
+
},
|
|
8598
|
+
|
|
8599
|
+
|
|
8600
|
+
/**
|
|
8601
|
+
* 鼠标移动处理函数
|
|
8602
|
+
* @param {MouseEvent} event - 鼠标事件对象
|
|
8603
|
+
*/
|
|
8604
|
+
handleMouseMove: function handleMouseMove(event) {
|
|
8605
|
+
if (!this.cursorDown) return;
|
|
8606
|
+
|
|
8607
|
+
var _barConfig3 = this.barConfig,
|
|
8608
|
+
axis = _barConfig3.axis,
|
|
8609
|
+
direction = _barConfig3.direction,
|
|
8610
|
+
client = _barConfig3.client,
|
|
8611
|
+
offset = _barConfig3.offset,
|
|
8612
|
+
scroll = _barConfig3.scroll,
|
|
8613
|
+
scrollSize = _barConfig3.scrollSize;
|
|
8614
|
+
|
|
8615
|
+
var prevPage = this[axis];
|
|
8616
|
+
|
|
8617
|
+
if (!prevPage || !this.scrollWrapper) return;
|
|
8618
|
+
|
|
8619
|
+
// 阻止文本选择和上下文菜单
|
|
8620
|
+
this.disableUserSelection();
|
|
8621
|
+
|
|
8622
|
+
// 计算鼠标相对于轨道的位置
|
|
8623
|
+
var trackRect = this.$el.getBoundingClientRect();
|
|
8624
|
+
var mousePosition = event[client] - trackRect[direction];
|
|
8625
|
+
|
|
8626
|
+
// 计算滑块应该移动到的位置(考虑鼠标在滑块内部的偏移量)
|
|
8627
|
+
var thumbPosition = mousePosition - prevPage;
|
|
8628
|
+
|
|
8629
|
+
// 确保滑块位置在轨道范围内
|
|
8630
|
+
var maxThumbPosition = this.$el[offset] - (this.$refs.thumb && this.$refs.thumb[offset] || 0);
|
|
8631
|
+
var clampedThumbPosition = Math.max(0, Math.min(thumbPosition, maxThumbPosition));
|
|
8632
|
+
|
|
8633
|
+
// 计算滑块位置百分比
|
|
8634
|
+
var thumbPositionPercentage = clampedThumbPosition * 100 / (this.$el[offset] || 1);
|
|
8635
|
+
|
|
8636
|
+
// 计算并设置滚动位置
|
|
8637
|
+
var scrollPosition = thumbPositionPercentage * this.scrollWrapper[scrollSize] / 100;
|
|
8638
|
+
|
|
8639
|
+
this.scrollWrapper[scroll] = scrollPosition;
|
|
8640
|
+
this.$emit('move', scroll, scrollPosition);
|
|
8641
|
+
},
|
|
8642
|
+
|
|
8643
|
+
|
|
8644
|
+
/**
|
|
8645
|
+
* 鼠标释放处理函数
|
|
8646
|
+
*/
|
|
8647
|
+
handleMouseUp: function handleMouseUp() {
|
|
8648
|
+
this.cursorDown = false;
|
|
8649
|
+
var axis = this.barConfig.axis;
|
|
8650
|
+
|
|
8651
|
+
this[axis] = 0;
|
|
8652
|
+
|
|
8653
|
+
// 移除事件监听器
|
|
8654
|
+
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mousemove', this.handleMouseMove);
|
|
8655
|
+
|
|
8656
|
+
// 恢复文本选择和上下文菜单
|
|
8657
|
+
this.restoreUserSelection();
|
|
8658
|
+
},
|
|
8659
|
+
|
|
8660
|
+
|
|
8661
|
+
/**
|
|
8662
|
+
* 禁用用户选择和上下文菜单
|
|
8663
|
+
*/
|
|
8664
|
+
disableUserSelection: function disableUserSelection() {
|
|
8665
|
+
document.body.onselectstart = document.body.oncontextmenu = function () {
|
|
8666
|
+
return false;
|
|
8667
|
+
};
|
|
8668
|
+
},
|
|
8669
|
+
|
|
8670
|
+
|
|
8671
|
+
/**
|
|
8672
|
+
* 恢复用户选择和上下文菜单
|
|
8673
|
+
*/
|
|
8674
|
+
restoreUserSelection: function restoreUserSelection() {
|
|
8675
|
+
document.onselectstart = null;
|
|
8676
|
+
document.body.onselectstart = document.body.oncontextmenu = function () {
|
|
8677
|
+
return true;
|
|
8678
|
+
};
|
|
8679
|
+
}
|
|
8680
|
+
},
|
|
8681
|
+
|
|
8682
|
+
render: function render() {
|
|
8683
|
+
var h = arguments[0];
|
|
8684
|
+
var size = this.size,
|
|
8685
|
+
move = this.move,
|
|
8686
|
+
barConfig = this.barConfig;
|
|
8687
|
+
|
|
8688
|
+
|
|
8689
|
+
return h(
|
|
8690
|
+
'div',
|
|
8691
|
+
{
|
|
8692
|
+
'class': ['es-scrollbar__bar', 'is-' + barConfig.key],
|
|
8693
|
+
on: {
|
|
8694
|
+
'mousedown': this.handleTrackClick
|
|
8695
|
+
}
|
|
8696
|
+
},
|
|
8697
|
+
[h('div', {
|
|
8698
|
+
ref: 'thumb',
|
|
8699
|
+
'class': 'es-scrollbar__thumb',
|
|
8700
|
+
on: {
|
|
8701
|
+
'mousedown': this.handleThumbClick
|
|
8702
|
+
},
|
|
8703
|
+
|
|
8704
|
+
style: renderThumbStyle({ size: size, move: move, bar: barConfig })
|
|
8705
|
+
})]
|
|
8706
|
+
);
|
|
8707
|
+
},
|
|
8708
|
+
destroyed: function destroyed() {
|
|
8709
|
+
// 清理事件监听器
|
|
8710
|
+
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mouseup', this.handleMouseUp);
|
|
8711
|
+
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mousemove', this.handleMouseMove);
|
|
8712
|
+
|
|
8713
|
+
// 确保恢复用户选择功能
|
|
8714
|
+
this.restoreUserSelection();
|
|
8715
|
+
}
|
|
8716
|
+
});
|
|
8717
|
+
|
|
8718
|
+
/***/ }),
|
|
8719
|
+
/* 39 */
|
|
8349
8720
|
/***/ (function(module, exports) {
|
|
8350
8721
|
|
|
8351
8722
|
module.exports = require("eoss/lib/checkbox");
|
|
8352
8723
|
|
|
8353
8724
|
/***/ }),
|
|
8354
|
-
/*
|
|
8725
|
+
/* 40 */
|
|
8355
8726
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8356
8727
|
|
|
8357
8728
|
"use strict";
|
|
@@ -8369,7 +8740,7 @@ module.exports = require("eoss/lib/checkbox");
|
|
|
8369
8740
|
});;
|
|
8370
8741
|
|
|
8371
8742
|
/***/ }),
|
|
8372
|
-
/*
|
|
8743
|
+
/* 41 */
|
|
8373
8744
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
8374
8745
|
|
|
8375
8746
|
"use strict";
|
|
@@ -9759,7 +10130,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
9759
10130
|
/* harmony default export */ var picker = __webpack_exports__["a"] = (component.exports);
|
|
9760
10131
|
|
|
9761
10132
|
/***/ }),
|
|
9762
|
-
/*
|
|
10133
|
+
/* 42 */
|
|
9763
10134
|
/***/ (function(module, exports, __webpack_require__) {
|
|
9764
10135
|
|
|
9765
10136
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
@@ -11189,7 +11560,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
|
11189
11560
|
|
|
11190
11561
|
|
|
11191
11562
|
/***/ }),
|
|
11192
|
-
/*
|
|
11563
|
+
/* 43 */
|
|
11193
11564
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
11194
11565
|
|
|
11195
11566
|
"use strict";
|
|
@@ -11318,368 +11689,11 @@ aria.Utils.keys = {
|
|
|
11318
11689
|
/* harmony default export */ __webpack_exports__["a"] = (aria.Utils);
|
|
11319
11690
|
|
|
11320
11691
|
/***/ }),
|
|
11321
|
-
/*
|
|
11692
|
+
/* 44 */
|
|
11322
11693
|
/***/ (function(module, exports) {
|
|
11323
11694
|
|
|
11324
11695
|
module.exports = require("sortablejs");
|
|
11325
11696
|
|
|
11326
|
-
/***/ }),
|
|
11327
|
-
/* 44 */
|
|
11328
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
11329
|
-
|
|
11330
|
-
"use strict";
|
|
11331
|
-
/* harmony import */ var eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
|
|
11332
|
-
/**
|
|
11333
|
-
* 滚动条组件 - 处理表格的垂直和水平滚动条
|
|
11334
|
-
*/
|
|
11335
|
-
|
|
11336
|
-
|
|
11337
|
-
var BAR_MAP = {
|
|
11338
|
-
vertical: {
|
|
11339
|
-
offset: 'offsetHeight',
|
|
11340
|
-
scroll: 'scrollTop',
|
|
11341
|
-
scrollSize: 'scrollHeight',
|
|
11342
|
-
size: 'height',
|
|
11343
|
-
key: 'vertical',
|
|
11344
|
-
axis: 'Y',
|
|
11345
|
-
client: 'clientY',
|
|
11346
|
-
direction: 'top'
|
|
11347
|
-
},
|
|
11348
|
-
horizontal: {
|
|
11349
|
-
offset: 'offsetWidth',
|
|
11350
|
-
scroll: 'scrollLeft',
|
|
11351
|
-
scrollSize: 'scrollWidth',
|
|
11352
|
-
size: 'width',
|
|
11353
|
-
key: 'horizontal',
|
|
11354
|
-
axis: 'X',
|
|
11355
|
-
client: 'clientX',
|
|
11356
|
-
direction: 'left'
|
|
11357
|
-
}
|
|
11358
|
-
};
|
|
11359
|
-
|
|
11360
|
-
// 计算滚动位置的缓存
|
|
11361
|
-
var scrollPositionCache = new Map();
|
|
11362
|
-
|
|
11363
|
-
// 缓存滚动位置计算结果
|
|
11364
|
-
function cacheScrollPosition(key, value) {
|
|
11365
|
-
// 限制缓存大小
|
|
11366
|
-
if (scrollPositionCache.size > 100) {
|
|
11367
|
-
var firstKey = scrollPositionCache.keys().next().value;
|
|
11368
|
-
scrollPositionCache.delete(firstKey);
|
|
11369
|
-
}
|
|
11370
|
-
scrollPositionCache.set(key, {
|
|
11371
|
-
value: value,
|
|
11372
|
-
timestamp: Date.now()
|
|
11373
|
-
});
|
|
11374
|
-
return value;
|
|
11375
|
-
}
|
|
11376
|
-
|
|
11377
|
-
// 获取缓存的滚动位置计算结果
|
|
11378
|
-
function getCachedScrollPosition(key) {
|
|
11379
|
-
var maxAge = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
11380
|
-
|
|
11381
|
-
var cached = scrollPositionCache.get(key);
|
|
11382
|
-
if (cached && Date.now() - cached.timestamp < maxAge) {
|
|
11383
|
-
return cached.value;
|
|
11384
|
-
}
|
|
11385
|
-
return null;
|
|
11386
|
-
}
|
|
11387
|
-
|
|
11388
|
-
// 清理过期缓存
|
|
11389
|
-
function cleanupScrollCache() {
|
|
11390
|
-
var now = Date.now();
|
|
11391
|
-
for (var _iterator = scrollPositionCache.entries(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
|
|
11392
|
-
var _ref2;
|
|
11393
|
-
|
|
11394
|
-
if (_isArray) {
|
|
11395
|
-
if (_i >= _iterator.length) break;
|
|
11396
|
-
_ref2 = _iterator[_i++];
|
|
11397
|
-
} else {
|
|
11398
|
-
_i = _iterator.next();
|
|
11399
|
-
if (_i.done) break;
|
|
11400
|
-
_ref2 = _i.value;
|
|
11401
|
-
}
|
|
11402
|
-
|
|
11403
|
-
var _ref = _ref2;
|
|
11404
|
-
var key = _ref[0];
|
|
11405
|
-
var value = _ref[1];
|
|
11406
|
-
|
|
11407
|
-
if (now - value.timestamp > 500) {
|
|
11408
|
-
scrollPositionCache.delete(key);
|
|
11409
|
-
}
|
|
11410
|
-
}
|
|
11411
|
-
}
|
|
11412
|
-
|
|
11413
|
-
// 定期清理缓存
|
|
11414
|
-
setInterval(cleanupScrollCache, 5000);
|
|
11415
|
-
|
|
11416
|
-
function renderThumbStyle(_ref3) {
|
|
11417
|
-
var move = _ref3.move,
|
|
11418
|
-
size = _ref3.size,
|
|
11419
|
-
bar = _ref3.bar;
|
|
11420
|
-
|
|
11421
|
-
// 创建缓存键
|
|
11422
|
-
var cacheKey = bar.key + '-' + move + '-' + size;
|
|
11423
|
-
|
|
11424
|
-
// 尝试从缓存获取
|
|
11425
|
-
var cachedStyle = getCachedScrollPosition(cacheKey);
|
|
11426
|
-
if (cachedStyle) {
|
|
11427
|
-
return cachedStyle;
|
|
11428
|
-
}
|
|
11429
|
-
|
|
11430
|
-
var style = {};
|
|
11431
|
-
var translate = 'translate' + bar.axis + '(' + move + '%)';
|
|
11432
|
-
|
|
11433
|
-
style[bar.size] = size;
|
|
11434
|
-
style.transform = translate;
|
|
11435
|
-
style.msTransform = translate;
|
|
11436
|
-
style.webkitTransform = translate;
|
|
11437
|
-
// 启用 GPU 加速
|
|
11438
|
-
style.willChange = 'transform';
|
|
11439
|
-
// 优化重排性能
|
|
11440
|
-
style.position = 'relative';
|
|
11441
|
-
|
|
11442
|
-
// 缓存计算结果
|
|
11443
|
-
return cacheScrollPosition(cacheKey, style);
|
|
11444
|
-
};
|
|
11445
|
-
/* istanbul ignore next */
|
|
11446
|
-
/* harmony default export */ __webpack_exports__["a"] = ({
|
|
11447
|
-
name: 'Bar',
|
|
11448
|
-
|
|
11449
|
-
props: {
|
|
11450
|
-
vertical: Boolean,
|
|
11451
|
-
size: String,
|
|
11452
|
-
move: Number,
|
|
11453
|
-
scrollWrap: {
|
|
11454
|
-
type: HTMLElement,
|
|
11455
|
-
default: null
|
|
11456
|
-
}
|
|
11457
|
-
|
|
11458
|
-
},
|
|
11459
|
-
|
|
11460
|
-
data: function data() {
|
|
11461
|
-
return {
|
|
11462
|
-
cursorDown: false
|
|
11463
|
-
};
|
|
11464
|
-
},
|
|
11465
|
-
|
|
11466
|
-
|
|
11467
|
-
computed: {
|
|
11468
|
-
/**
|
|
11469
|
-
* 根据方向获取滚动条配置
|
|
11470
|
-
* @returns {Object} 滚动条配置对象
|
|
11471
|
-
*/
|
|
11472
|
-
barConfig: function barConfig() {
|
|
11473
|
-
return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];
|
|
11474
|
-
},
|
|
11475
|
-
|
|
11476
|
-
|
|
11477
|
-
/**
|
|
11478
|
-
* 获取父组件的bodyWrapper引用
|
|
11479
|
-
* @returns {HTMLElement|null} 滚动容器元素
|
|
11480
|
-
*/
|
|
11481
|
-
scrollWrapper: function scrollWrapper() {
|
|
11482
|
-
return this.$parent && this.$parent.bodyWrapper || this.scrollWrap || null;
|
|
11483
|
-
}
|
|
11484
|
-
},
|
|
11485
|
-
|
|
11486
|
-
methods: {
|
|
11487
|
-
/**
|
|
11488
|
-
* 点击滑块处理函数
|
|
11489
|
-
* @param {MouseEvent} event - 鼠标事件对象
|
|
11490
|
-
*/
|
|
11491
|
-
handleThumbClick: function handleThumbClick(event) {
|
|
11492
|
-
// 防止右键点击和Ctrl+点击
|
|
11493
|
-
if (event.ctrlKey || event.button === 2) {
|
|
11494
|
-
return;
|
|
11495
|
-
}
|
|
11496
|
-
|
|
11497
|
-
// 阻止文本选择和上下文菜单
|
|
11498
|
-
this.disableUserSelection();
|
|
11499
|
-
this.startDrag(event);
|
|
11500
|
-
|
|
11501
|
-
var currentTarget = event.currentTarget;
|
|
11502
|
-
var _barConfig = this.barConfig,
|
|
11503
|
-
client = _barConfig.client,
|
|
11504
|
-
direction = _barConfig.direction,
|
|
11505
|
-
axis = _barConfig.axis;
|
|
11506
|
-
|
|
11507
|
-
// 记录鼠标点击位置相对于滑块的位置
|
|
11508
|
-
// 这是鼠标在滑块内部的偏移量,用于保持拖动时的相对位置
|
|
11509
|
-
|
|
11510
|
-
var thumbRect = currentTarget.getBoundingClientRect();
|
|
11511
|
-
this[axis] = event[client] - thumbRect[direction];
|
|
11512
|
-
},
|
|
11513
|
-
|
|
11514
|
-
|
|
11515
|
-
/**
|
|
11516
|
-
* 点击轨道处理函数
|
|
11517
|
-
* @param {MouseEvent} event - 鼠标事件对象
|
|
11518
|
-
*/
|
|
11519
|
-
handleTrackClick: function handleTrackClick(event) {
|
|
11520
|
-
if (!this.scrollWrapper) return;
|
|
11521
|
-
|
|
11522
|
-
var _barConfig2 = this.barConfig,
|
|
11523
|
-
direction = _barConfig2.direction,
|
|
11524
|
-
client = _barConfig2.client,
|
|
11525
|
-
offset = _barConfig2.offset,
|
|
11526
|
-
scroll = _barConfig2.scroll,
|
|
11527
|
-
scrollSize = _barConfig2.scrollSize;
|
|
11528
|
-
var target = event.target;
|
|
11529
|
-
|
|
11530
|
-
var thumbElement = this.$refs.thumb;
|
|
11531
|
-
|
|
11532
|
-
if (!thumbElement) return;
|
|
11533
|
-
|
|
11534
|
-
// 计算点击位置到轨道起始的距离
|
|
11535
|
-
var clickOffset = Math.abs(target.getBoundingClientRect()[direction] - event[client]);
|
|
11536
|
-
|
|
11537
|
-
// 计算滑块的一半宽度/高度
|
|
11538
|
-
var thumbHalfSize = thumbElement[offset] / 2;
|
|
11539
|
-
|
|
11540
|
-
// 计算滑块位置百分比
|
|
11541
|
-
var thumbPositionPercentage = (clickOffset - thumbHalfSize) * 100 / this.$el[offset];
|
|
11542
|
-
|
|
11543
|
-
// 设置滚动位置
|
|
11544
|
-
this.scrollWrapper[scroll] = thumbPositionPercentage * this.scrollWrapper[scrollSize] / 100;
|
|
11545
|
-
},
|
|
11546
|
-
|
|
11547
|
-
|
|
11548
|
-
/**
|
|
11549
|
-
* 开始拖动处理
|
|
11550
|
-
* @param {MouseEvent} event - 鼠标事件对象
|
|
11551
|
-
*/
|
|
11552
|
-
startDrag: function startDrag(event) {
|
|
11553
|
-
event.stopImmediatePropagation();
|
|
11554
|
-
this.cursorDown = true;
|
|
11555
|
-
|
|
11556
|
-
// 添加事件监听器
|
|
11557
|
-
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* on */ "g"])(document, 'mousemove', this.handleMouseMove);
|
|
11558
|
-
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* on */ "g"])(document, 'mouseup', this.handleMouseUp);
|
|
11559
|
-
document.onselectstart = function () {
|
|
11560
|
-
return false;
|
|
11561
|
-
};
|
|
11562
|
-
},
|
|
11563
|
-
|
|
11564
|
-
|
|
11565
|
-
/**
|
|
11566
|
-
* 鼠标移动处理函数
|
|
11567
|
-
* @param {MouseEvent} event - 鼠标事件对象
|
|
11568
|
-
*/
|
|
11569
|
-
handleMouseMove: function handleMouseMove(event) {
|
|
11570
|
-
if (!this.cursorDown) return;
|
|
11571
|
-
|
|
11572
|
-
var _barConfig3 = this.barConfig,
|
|
11573
|
-
axis = _barConfig3.axis,
|
|
11574
|
-
direction = _barConfig3.direction,
|
|
11575
|
-
client = _barConfig3.client,
|
|
11576
|
-
offset = _barConfig3.offset,
|
|
11577
|
-
scroll = _barConfig3.scroll,
|
|
11578
|
-
scrollSize = _barConfig3.scrollSize;
|
|
11579
|
-
|
|
11580
|
-
var prevPage = this[axis];
|
|
11581
|
-
|
|
11582
|
-
if (!prevPage || !this.scrollWrapper) return;
|
|
11583
|
-
|
|
11584
|
-
// 阻止文本选择和上下文菜单
|
|
11585
|
-
this.disableUserSelection();
|
|
11586
|
-
|
|
11587
|
-
// 计算鼠标相对于轨道的位置
|
|
11588
|
-
var trackRect = this.$el.getBoundingClientRect();
|
|
11589
|
-
var mousePosition = event[client] - trackRect[direction];
|
|
11590
|
-
|
|
11591
|
-
// 计算滑块应该移动到的位置(考虑鼠标在滑块内部的偏移量)
|
|
11592
|
-
var thumbPosition = mousePosition - prevPage;
|
|
11593
|
-
|
|
11594
|
-
// 确保滑块位置在轨道范围内
|
|
11595
|
-
var maxThumbPosition = this.$el[offset] - (this.$refs.thumb && this.$refs.thumb[offset] || 0);
|
|
11596
|
-
var clampedThumbPosition = Math.max(0, Math.min(thumbPosition, maxThumbPosition));
|
|
11597
|
-
|
|
11598
|
-
// 计算滑块位置百分比
|
|
11599
|
-
var thumbPositionPercentage = clampedThumbPosition * 100 / (this.$el[offset] || 1);
|
|
11600
|
-
|
|
11601
|
-
// 计算并设置滚动位置
|
|
11602
|
-
var scrollPosition = thumbPositionPercentage * this.scrollWrapper[scrollSize] / 100;
|
|
11603
|
-
|
|
11604
|
-
this.scrollWrapper[scroll] = scrollPosition;
|
|
11605
|
-
this.$emit('move', scroll, scrollPosition);
|
|
11606
|
-
},
|
|
11607
|
-
|
|
11608
|
-
|
|
11609
|
-
/**
|
|
11610
|
-
* 鼠标释放处理函数
|
|
11611
|
-
*/
|
|
11612
|
-
handleMouseUp: function handleMouseUp() {
|
|
11613
|
-
this.cursorDown = false;
|
|
11614
|
-
var axis = this.barConfig.axis;
|
|
11615
|
-
|
|
11616
|
-
this[axis] = 0;
|
|
11617
|
-
|
|
11618
|
-
// 移除事件监听器
|
|
11619
|
-
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mousemove', this.handleMouseMove);
|
|
11620
|
-
|
|
11621
|
-
// 恢复文本选择和上下文菜单
|
|
11622
|
-
this.restoreUserSelection();
|
|
11623
|
-
},
|
|
11624
|
-
|
|
11625
|
-
|
|
11626
|
-
/**
|
|
11627
|
-
* 禁用用户选择和上下文菜单
|
|
11628
|
-
*/
|
|
11629
|
-
disableUserSelection: function disableUserSelection() {
|
|
11630
|
-
document.body.onselectstart = document.body.oncontextmenu = function () {
|
|
11631
|
-
return false;
|
|
11632
|
-
};
|
|
11633
|
-
},
|
|
11634
|
-
|
|
11635
|
-
|
|
11636
|
-
/**
|
|
11637
|
-
* 恢复用户选择和上下文菜单
|
|
11638
|
-
*/
|
|
11639
|
-
restoreUserSelection: function restoreUserSelection() {
|
|
11640
|
-
document.onselectstart = null;
|
|
11641
|
-
document.body.onselectstart = document.body.oncontextmenu = function () {
|
|
11642
|
-
return true;
|
|
11643
|
-
};
|
|
11644
|
-
}
|
|
11645
|
-
},
|
|
11646
|
-
|
|
11647
|
-
render: function render() {
|
|
11648
|
-
var h = arguments[0];
|
|
11649
|
-
var size = this.size,
|
|
11650
|
-
move = this.move,
|
|
11651
|
-
barConfig = this.barConfig;
|
|
11652
|
-
|
|
11653
|
-
|
|
11654
|
-
return h(
|
|
11655
|
-
'div',
|
|
11656
|
-
{
|
|
11657
|
-
'class': ['es-scrollbar__bar', 'is-' + barConfig.key],
|
|
11658
|
-
on: {
|
|
11659
|
-
'mousedown': this.handleTrackClick
|
|
11660
|
-
}
|
|
11661
|
-
},
|
|
11662
|
-
[h('div', {
|
|
11663
|
-
ref: 'thumb',
|
|
11664
|
-
'class': 'es-scrollbar__thumb',
|
|
11665
|
-
on: {
|
|
11666
|
-
'mousedown': this.handleThumbClick
|
|
11667
|
-
},
|
|
11668
|
-
|
|
11669
|
-
style: renderThumbStyle({ size: size, move: move, bar: barConfig })
|
|
11670
|
-
})]
|
|
11671
|
-
);
|
|
11672
|
-
},
|
|
11673
|
-
destroyed: function destroyed() {
|
|
11674
|
-
// 清理事件监听器
|
|
11675
|
-
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mouseup', this.handleMouseUp);
|
|
11676
|
-
Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* off */ "f"])(document, 'mousemove', this.handleMouseMove);
|
|
11677
|
-
|
|
11678
|
-
// 确保恢复用户选择功能
|
|
11679
|
-
this.restoreUserSelection();
|
|
11680
|
-
}
|
|
11681
|
-
});
|
|
11682
|
-
|
|
11683
11697
|
/***/ }),
|
|
11684
11698
|
/* 45 */
|
|
11685
11699
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -14666,7 +14680,7 @@ render._withStripped = true
|
|
|
14666
14680
|
// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=61423f1a&
|
|
14667
14681
|
|
|
14668
14682
|
// EXTERNAL MODULE: external "sortablejs"
|
|
14669
|
-
var external_sortablejs_ = __webpack_require__(
|
|
14683
|
+
var external_sortablejs_ = __webpack_require__(44);
|
|
14670
14684
|
var external_sortablejs_default = /*#__PURE__*/__webpack_require__.n(external_sortablejs_);
|
|
14671
14685
|
|
|
14672
14686
|
// EXTERNAL MODULE: ./src/mixins/emitter.js
|
|
@@ -15823,7 +15837,7 @@ module.exports = require("eoss/lib/checkbox-group");
|
|
|
15823
15837
|
"use strict";
|
|
15824
15838
|
|
|
15825
15839
|
// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules
|
|
15826
|
-
var picker = __webpack_require__(
|
|
15840
|
+
var picker = __webpack_require__(41);
|
|
15827
15841
|
|
|
15828
15842
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=template&id=0b75538a&
|
|
15829
15843
|
var render = function () {
|
|
@@ -22440,7 +22454,7 @@ render._withStripped = true
|
|
|
22440
22454
|
var emitter = __webpack_require__(10);
|
|
22441
22455
|
|
|
22442
22456
|
// EXTERNAL MODULE: ./src/mixins/focus.js
|
|
22443
|
-
var mixins_focus = __webpack_require__(
|
|
22457
|
+
var mixins_focus = __webpack_require__(40);
|
|
22444
22458
|
|
|
22445
22459
|
// EXTERNAL MODULE: external "eoss/lib/input"
|
|
22446
22460
|
var input_ = __webpack_require__(17);
|
|
@@ -22893,16 +22907,16 @@ var scrollbar_ = __webpack_require__(33);
|
|
|
22893
22907
|
var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);
|
|
22894
22908
|
|
|
22895
22909
|
// EXTERNAL MODULE: external "throttle-debounce"
|
|
22896
|
-
var external_throttle_debounce_ = __webpack_require__(
|
|
22910
|
+
var external_throttle_debounce_ = __webpack_require__(15);
|
|
22897
22911
|
|
|
22898
22912
|
// EXTERNAL MODULE: ./src/utils/clickoutside.js
|
|
22899
22913
|
var clickoutside = __webpack_require__(19);
|
|
22900
22914
|
|
|
22901
22915
|
// EXTERNAL MODULE: ./src/utils/resize-event.js
|
|
22902
|
-
var resize_event = __webpack_require__(
|
|
22916
|
+
var resize_event = __webpack_require__(23);
|
|
22903
22917
|
|
|
22904
22918
|
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
22905
|
-
var scrollbar = __webpack_require__(
|
|
22919
|
+
var scrollbar = __webpack_require__(14);
|
|
22906
22920
|
|
|
22907
22921
|
// EXTERNAL MODULE: ./src/utils/util.js
|
|
22908
22922
|
var util = __webpack_require__(0);
|
|
@@ -26084,7 +26098,7 @@ var radio_ = __webpack_require__(58);
|
|
|
26084
26098
|
var radio_default = /*#__PURE__*/__webpack_require__.n(radio_);
|
|
26085
26099
|
|
|
26086
26100
|
// EXTERNAL MODULE: external "eoss/lib/checkbox"
|
|
26087
|
-
var checkbox_ = __webpack_require__(
|
|
26101
|
+
var checkbox_ = __webpack_require__(39);
|
|
26088
26102
|
var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
|
|
26089
26103
|
|
|
26090
26104
|
// EXTERNAL MODULE: external "eoss/lib/tooltip"
|
|
@@ -26508,13 +26522,13 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
26508
26522
|
var dom = __webpack_require__(5);
|
|
26509
26523
|
|
|
26510
26524
|
// EXTERNAL MODULE: ./src/components/bar.js
|
|
26511
|
-
var bar = __webpack_require__(
|
|
26525
|
+
var bar = __webpack_require__(38);
|
|
26512
26526
|
|
|
26513
26527
|
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
26514
|
-
var scrollbar = __webpack_require__(
|
|
26528
|
+
var scrollbar = __webpack_require__(14);
|
|
26515
26529
|
|
|
26516
26530
|
// EXTERNAL MODULE: external "throttle-debounce"
|
|
26517
|
-
var external_throttle_debounce_ = __webpack_require__(
|
|
26531
|
+
var external_throttle_debounce_ = __webpack_require__(15);
|
|
26518
26532
|
|
|
26519
26533
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=script&lang=js&
|
|
26520
26534
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
@@ -29265,7 +29279,7 @@ var checkbox_group_ = __webpack_require__(59);
|
|
|
29265
29279
|
var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_);
|
|
29266
29280
|
|
|
29267
29281
|
// EXTERNAL MODULE: external "eoss/lib/checkbox"
|
|
29268
|
-
var checkbox_ = __webpack_require__(
|
|
29282
|
+
var checkbox_ = __webpack_require__(39);
|
|
29269
29283
|
var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
|
|
29270
29284
|
|
|
29271
29285
|
// EXTERNAL MODULE: external "eoss/lib/input"
|
|
@@ -30464,7 +30478,7 @@ var merge = __webpack_require__(16);
|
|
|
30464
30478
|
var shared = __webpack_require__(34);
|
|
30465
30479
|
|
|
30466
30480
|
// EXTERNAL MODULE: ./src/utils/resize-event.js
|
|
30467
|
-
var resize_event = __webpack_require__(
|
|
30481
|
+
var resize_event = __webpack_require__(23);
|
|
30468
30482
|
|
|
30469
30483
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&
|
|
30470
30484
|
//
|
|
@@ -31261,7 +31275,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
31261
31275
|
"use strict";
|
|
31262
31276
|
|
|
31263
31277
|
// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules
|
|
31264
|
-
var picker = __webpack_require__(
|
|
31278
|
+
var picker = __webpack_require__(41);
|
|
31265
31279
|
|
|
31266
31280
|
// EXTERNAL MODULE: ./packages/date-picker/src/panel/time.vue + 4 modules
|
|
31267
31281
|
var time = __webpack_require__(36);
|
|
@@ -31742,7 +31756,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
31742
31756
|
"use strict";
|
|
31743
31757
|
|
|
31744
31758
|
// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules
|
|
31745
|
-
var picker = __webpack_require__(
|
|
31759
|
+
var picker = __webpack_require__(41);
|
|
31746
31760
|
|
|
31747
31761
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=b7794f0e&
|
|
31748
31762
|
var render = function () {
|
|
@@ -31823,7 +31837,7 @@ var scrollbar_ = __webpack_require__(33);
|
|
|
31823
31837
|
var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);
|
|
31824
31838
|
|
|
31825
31839
|
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
31826
|
-
var scrollbar = __webpack_require__(
|
|
31840
|
+
var scrollbar = __webpack_require__(14);
|
|
31827
31841
|
|
|
31828
31842
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js&
|
|
31829
31843
|
//
|
|
@@ -32413,7 +32427,7 @@ var emitter = __webpack_require__(10);
|
|
|
32413
32427
|
var migrating = __webpack_require__(27);
|
|
32414
32428
|
|
|
32415
32429
|
// EXTERNAL MODULE: ./src/utils/aria-utils.js
|
|
32416
|
-
var aria_utils = __webpack_require__(
|
|
32430
|
+
var aria_utils = __webpack_require__(43);
|
|
32417
32431
|
|
|
32418
32432
|
// EXTERNAL MODULE: ./src/utils/util.js
|
|
32419
32433
|
var util = __webpack_require__(0);
|
|
@@ -32425,10 +32439,10 @@ var types = __webpack_require__(6);
|
|
|
32425
32439
|
var shared = __webpack_require__(34);
|
|
32426
32440
|
|
|
32427
32441
|
// EXTERNAL MODULE: ./src/utils/resize-event.js
|
|
32428
|
-
var resize_event = __webpack_require__(
|
|
32442
|
+
var resize_event = __webpack_require__(23);
|
|
32429
32443
|
|
|
32430
32444
|
// EXTERNAL MODULE: external "throttle-debounce"
|
|
32431
|
-
var external_throttle_debounce_ = __webpack_require__(
|
|
32445
|
+
var external_throttle_debounce_ = __webpack_require__(15);
|
|
32432
32446
|
|
|
32433
32447
|
// EXTERNAL MODULE: external "eoss/lib/input"
|
|
32434
32448
|
var input_ = __webpack_require__(17);
|
|
@@ -33643,7 +33657,7 @@ var input_ = __webpack_require__(17);
|
|
|
33643
33657
|
var input_default = /*#__PURE__*/__webpack_require__.n(input_);
|
|
33644
33658
|
|
|
33645
33659
|
// EXTERNAL MODULE: ./src/mixins/focus.js
|
|
33646
|
-
var mixins_focus = __webpack_require__(
|
|
33660
|
+
var mixins_focus = __webpack_require__(40);
|
|
33647
33661
|
|
|
33648
33662
|
// EXTERNAL MODULE: ./src/directives/repeat-click.js
|
|
33649
33663
|
var repeat_click = __webpack_require__(45);
|
|
@@ -34143,7 +34157,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
34143
34157
|
|
|
34144
34158
|
"use strict";
|
|
34145
34159
|
|
|
34146
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/selector.vue?vue&type=template&id=
|
|
34160
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/selector.vue?vue&type=template&id=0c8fe702&
|
|
34147
34161
|
var render = function () {
|
|
34148
34162
|
var _vm = this
|
|
34149
34163
|
var _h = _vm.$createElement
|
|
@@ -34261,38 +34275,66 @@ var render = function () {
|
|
|
34261
34275
|
ref: "tags",
|
|
34262
34276
|
staticClass: "es-selector__tags",
|
|
34263
34277
|
class: { "es-selector-edit": !_vm.readonly },
|
|
34278
|
+
style: _vm.styles,
|
|
34264
34279
|
},
|
|
34265
34280
|
[
|
|
34266
34281
|
_c(
|
|
34267
|
-
"
|
|
34268
|
-
|
|
34269
|
-
|
|
34270
|
-
|
|
34271
|
-
|
|
34272
|
-
|
|
34273
|
-
|
|
34274
|
-
|
|
34275
|
-
|
|
34276
|
-
|
|
34277
|
-
|
|
34278
|
-
|
|
34279
|
-
"
|
|
34280
|
-
|
|
34281
|
-
|
|
34282
|
-
|
|
34283
|
-
|
|
34282
|
+
"div",
|
|
34283
|
+
{
|
|
34284
|
+
ref: "tagsWrapper",
|
|
34285
|
+
staticClass: "es-selector__tags--wrapper",
|
|
34286
|
+
style: _vm.tagsStyle,
|
|
34287
|
+
on: { scroll: _vm.handleScroll, wheel: _vm.handleWheel },
|
|
34288
|
+
},
|
|
34289
|
+
[
|
|
34290
|
+
_c(
|
|
34291
|
+
"transition-group",
|
|
34292
|
+
_vm._l(_vm.selected, function (item, index) {
|
|
34293
|
+
return _c(
|
|
34294
|
+
"es-tag",
|
|
34295
|
+
{
|
|
34296
|
+
key: _vm.getValueKey(item),
|
|
34297
|
+
attrs: {
|
|
34298
|
+
closable:
|
|
34299
|
+
!_vm._disabled &&
|
|
34300
|
+
!_vm.readonly &&
|
|
34301
|
+
_vm.selected.length > _vm.min,
|
|
34302
|
+
type: "info",
|
|
34303
|
+
"disable-transitions": "",
|
|
34304
|
+
},
|
|
34305
|
+
on: {
|
|
34306
|
+
close: function ($event) {
|
|
34307
|
+
return _vm.deleteTag($event, item, index)
|
|
34308
|
+
},
|
|
34309
|
+
},
|
|
34284
34310
|
},
|
|
34285
|
-
|
|
34286
|
-
|
|
34287
|
-
|
|
34288
|
-
|
|
34289
|
-
|
|
34290
|
-
|
|
34291
|
-
|
|
34292
|
-
|
|
34293
|
-
|
|
34311
|
+
[
|
|
34312
|
+
_c(
|
|
34313
|
+
"span",
|
|
34314
|
+
{ staticClass: "es-select__tags-text" },
|
|
34315
|
+
[_vm._v(_vm._s(_vm.getLabel(item)))]
|
|
34316
|
+
),
|
|
34317
|
+
]
|
|
34318
|
+
)
|
|
34319
|
+
}),
|
|
34320
|
+
1
|
|
34321
|
+
),
|
|
34322
|
+
],
|
|
34294
34323
|
1
|
|
34295
34324
|
),
|
|
34325
|
+
_vm.barSize
|
|
34326
|
+
? _c("bar", {
|
|
34327
|
+
style: {
|
|
34328
|
+
top: "2px",
|
|
34329
|
+
bottom: "2px",
|
|
34330
|
+
},
|
|
34331
|
+
attrs: {
|
|
34332
|
+
vertical: "",
|
|
34333
|
+
move: _vm.moveTo,
|
|
34334
|
+
size: _vm.barSize,
|
|
34335
|
+
},
|
|
34336
|
+
})
|
|
34337
|
+
: _vm._e(),
|
|
34296
34338
|
],
|
|
34297
34339
|
1
|
|
34298
34340
|
)
|
|
@@ -34369,7 +34411,7 @@ var staticRenderFns = []
|
|
|
34369
34411
|
render._withStripped = true
|
|
34370
34412
|
|
|
34371
34413
|
|
|
34372
|
-
// CONCATENATED MODULE: ./packages/selector/src/selector.vue?vue&type=template&id=
|
|
34414
|
+
// CONCATENATED MODULE: ./packages/selector/src/selector.vue?vue&type=template&id=0c8fe702&
|
|
34373
34415
|
|
|
34374
34416
|
// EXTERNAL MODULE: ./src/utils/util.js
|
|
34375
34417
|
var util = __webpack_require__(0);
|
|
@@ -34389,6 +34431,15 @@ var ajax = __webpack_require__(9);
|
|
|
34389
34431
|
// EXTERNAL MODULE: ./src/utils/storage.js
|
|
34390
34432
|
var storage = __webpack_require__(2);
|
|
34391
34433
|
|
|
34434
|
+
// EXTERNAL MODULE: ./src/components/bar.js
|
|
34435
|
+
var bar = __webpack_require__(38);
|
|
34436
|
+
|
|
34437
|
+
// EXTERNAL MODULE: ./src/utils/resize-event.js
|
|
34438
|
+
var resize_event = __webpack_require__(23);
|
|
34439
|
+
|
|
34440
|
+
// EXTERNAL MODULE: ./src/utils/scrollbar.js
|
|
34441
|
+
var scrollbar = __webpack_require__(14);
|
|
34442
|
+
|
|
34392
34443
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/selector/src/selector.vue?vue&type=script&lang=js&
|
|
34393
34444
|
//
|
|
34394
34445
|
//
|
|
@@ -34496,6 +34547,25 @@ var storage = __webpack_require__(2);
|
|
|
34496
34547
|
//
|
|
34497
34548
|
//
|
|
34498
34549
|
//
|
|
34550
|
+
//
|
|
34551
|
+
//
|
|
34552
|
+
//
|
|
34553
|
+
//
|
|
34554
|
+
//
|
|
34555
|
+
//
|
|
34556
|
+
//
|
|
34557
|
+
//
|
|
34558
|
+
//
|
|
34559
|
+
//
|
|
34560
|
+
//
|
|
34561
|
+
//
|
|
34562
|
+
//
|
|
34563
|
+
//
|
|
34564
|
+
//
|
|
34565
|
+
//
|
|
34566
|
+
//
|
|
34567
|
+
//
|
|
34568
|
+
//
|
|
34499
34569
|
|
|
34500
34570
|
|
|
34501
34571
|
|
|
@@ -34554,6 +34624,9 @@ var storage = __webpack_require__(2);
|
|
|
34554
34624
|
* @events {Function} tabs-change - 标签切换时触发
|
|
34555
34625
|
* @events {Function} clear - 清空时触发
|
|
34556
34626
|
*/
|
|
34627
|
+
|
|
34628
|
+
|
|
34629
|
+
|
|
34557
34630
|
/* harmony default export */ var selectorvue_type_script_lang_js_ = ({
|
|
34558
34631
|
name: 'EsSelector',
|
|
34559
34632
|
inheritAttrs: false,
|
|
@@ -34566,7 +34639,16 @@ var storage = __webpack_require__(2);
|
|
|
34566
34639
|
}
|
|
34567
34640
|
},
|
|
34568
34641
|
directives: { Clickoutside: clickoutside["a" /* default */] },
|
|
34642
|
+
components: {
|
|
34643
|
+
Bar: bar["a" /* default */]
|
|
34644
|
+
},
|
|
34569
34645
|
props: {
|
|
34646
|
+
/**
|
|
34647
|
+
* 结果展示面板最大高度
|
|
34648
|
+
* @type {String}
|
|
34649
|
+
* @default ''
|
|
34650
|
+
*/
|
|
34651
|
+
maxHeight: [String, Number],
|
|
34570
34652
|
/**
|
|
34571
34653
|
* 是否显示三级公司(仅针对 types 包含'enterprise')
|
|
34572
34654
|
* @type {Boolean}
|
|
@@ -34903,18 +34985,37 @@ var storage = __webpack_require__(2);
|
|
|
34903
34985
|
visible: false,
|
|
34904
34986
|
menuVisibleOnFocus: false,
|
|
34905
34987
|
inputHovering: false,
|
|
34906
|
-
styles: {},
|
|
34988
|
+
//styles: {},
|
|
34907
34989
|
words: '',
|
|
34908
34990
|
minWidth: '',
|
|
34909
34991
|
options: '',
|
|
34910
34992
|
show: false,
|
|
34911
34993
|
focus: false,
|
|
34912
34994
|
reference: undefined,
|
|
34913
|
-
timer: null
|
|
34995
|
+
timer: null,
|
|
34996
|
+
tagsHeight: 0,
|
|
34997
|
+
moveTo: 0,
|
|
34998
|
+
barSize: 0,
|
|
34999
|
+
scrollbarWidth: 0
|
|
34914
35000
|
};
|
|
34915
35001
|
},
|
|
34916
35002
|
|
|
34917
35003
|
computed: {
|
|
35004
|
+
styles: function styles() {
|
|
35005
|
+
return this.tagsHeight ? { 'max-height': this.tagsHeight + 'px', overflow: 'hidden' } : {};
|
|
35006
|
+
},
|
|
35007
|
+
tagsStyle: function tagsStyle() {
|
|
35008
|
+
return this.tagsHeight ? {
|
|
35009
|
+
'max-height': this.tagsHeight + 'px',
|
|
35010
|
+
overflowY: 'scroll',
|
|
35011
|
+
width: 'calc(100% + ' + this.scrollbarWidth + 'px)'
|
|
35012
|
+
} : {};
|
|
35013
|
+
},
|
|
35014
|
+
|
|
35015
|
+
// 滚动容器
|
|
35016
|
+
bodyWrapper: function bodyWrapper() {
|
|
35017
|
+
return this.$refs.tagsWrapper;
|
|
35018
|
+
},
|
|
34918
35019
|
showButton: function showButton() {
|
|
34919
35020
|
return this.button !== false;
|
|
34920
35021
|
},
|
|
@@ -35011,6 +35112,13 @@ var storage = __webpack_require__(2);
|
|
|
35011
35112
|
if (val) {
|
|
35012
35113
|
this.getSysParam();
|
|
35013
35114
|
}
|
|
35115
|
+
},
|
|
35116
|
+
|
|
35117
|
+
maxHeight: {
|
|
35118
|
+
immediate: true,
|
|
35119
|
+
handler: function handler() {
|
|
35120
|
+
this.getHeight();
|
|
35121
|
+
}
|
|
35014
35122
|
}
|
|
35015
35123
|
},
|
|
35016
35124
|
created: function created() {
|
|
@@ -35020,6 +35128,7 @@ var storage = __webpack_require__(2);
|
|
|
35020
35128
|
mounted: function mounted() {
|
|
35021
35129
|
var _this2 = this;
|
|
35022
35130
|
|
|
35131
|
+
this.scrollbarWidth = Object(scrollbar["b" /* getScrollbarWidth */])();
|
|
35023
35132
|
//this.resetInputHeight();
|
|
35024
35133
|
if (this.filterable) {
|
|
35025
35134
|
this.$nextTick(function () {
|
|
@@ -35031,6 +35140,15 @@ var storage = __webpack_require__(2);
|
|
|
35031
35140
|
_this2.openDialog();
|
|
35032
35141
|
});
|
|
35033
35142
|
}
|
|
35143
|
+
// 监听父元素高度变化,自动重新计算展示高度
|
|
35144
|
+
if (this.maxHeight === 'auto' && this.$el.parentNode) {
|
|
35145
|
+
this.resizeParent = this.$el.parentNode;
|
|
35146
|
+
this.handleParentResize = function () {
|
|
35147
|
+
// 高度计算完成并应用到 DOM 后,再计算滚动条大小
|
|
35148
|
+
_this2.getHeight(_this2.getSize);
|
|
35149
|
+
};
|
|
35150
|
+
Object(resize_event["a" /* addResizeListener */])(this.resizeParent, this.handleParentResize);
|
|
35151
|
+
}
|
|
35034
35152
|
},
|
|
35035
35153
|
|
|
35036
35154
|
methods: {
|
|
@@ -35174,6 +35292,8 @@ var storage = __webpack_require__(2);
|
|
|
35174
35292
|
* @param {any} res - 选择的数据
|
|
35175
35293
|
*/
|
|
35176
35294
|
handleConfirm: function handleConfirm(res) {
|
|
35295
|
+
var _this3 = this;
|
|
35296
|
+
|
|
35177
35297
|
var val = Object(types["d" /* isObject */])(res) ? [res] : res;
|
|
35178
35298
|
if (this.mix) {
|
|
35179
35299
|
val.forEach(function (item, index) {
|
|
@@ -35183,6 +35303,9 @@ var storage = __webpack_require__(2);
|
|
|
35183
35303
|
this.$emit('input', val);
|
|
35184
35304
|
this.$emit('confirm', val, this.businessData);
|
|
35185
35305
|
this.visible = false;
|
|
35306
|
+
this.$nextTick(function () {
|
|
35307
|
+
_this3.getSize();
|
|
35308
|
+
});
|
|
35186
35309
|
},
|
|
35187
35310
|
handleClear: function handleClear() {
|
|
35188
35311
|
this.$emit('input', []);
|
|
@@ -35236,15 +35359,70 @@ var storage = __webpack_require__(2);
|
|
|
35236
35359
|
tag = this.getDep(res);
|
|
35237
35360
|
}
|
|
35238
35361
|
return tag + (typeof res == 'string' ? res : res[this.labelKey] ? res[this.labelKey] : res.label || res[this.valueKey]);
|
|
35362
|
+
},
|
|
35363
|
+
|
|
35364
|
+
// 获取展示高度
|
|
35365
|
+
getHeight: function getHeight(callback) {
|
|
35366
|
+
var _this4 = this;
|
|
35367
|
+
|
|
35368
|
+
if (!this.maxHeight) {
|
|
35369
|
+
return;
|
|
35370
|
+
}
|
|
35371
|
+
if (this.maxHeight === 'auto') {
|
|
35372
|
+
this.$nextTick(function () {
|
|
35373
|
+
var inputHeight = _this4.$refs.reference.$el.offsetHeight || 0;
|
|
35374
|
+
var height = _this4.$el.parentNode.offsetHeight;
|
|
35375
|
+
var style = window.getComputedStyle(_this4.$el.parentNode);
|
|
35376
|
+
var borderTop = parseFloat(style.borderTopWidth) || 0;
|
|
35377
|
+
var borderBottom = parseFloat(style.borderBottomWidth) || 0;
|
|
35378
|
+
var paddingTop = parseFloat(style.paddingTop) || 0;
|
|
35379
|
+
var paddingBottom = parseFloat(style.paddingBottom) || 0;
|
|
35380
|
+
_this4.tagsHeight = height - inputHeight - borderTop - borderBottom - paddingTop - paddingBottom;
|
|
35381
|
+
// 必须等 tagsHeight 应用到 DOM 后再执行回调,不能挪到外层
|
|
35382
|
+
typeof callback === 'function' && _this4.$nextTick(callback);
|
|
35383
|
+
});
|
|
35384
|
+
} else {
|
|
35385
|
+
this.tagsHeight = parseInt(this.maxHeight, 10);
|
|
35386
|
+
}
|
|
35387
|
+
},
|
|
35388
|
+
|
|
35389
|
+
// 获取滚动条大小
|
|
35390
|
+
getSize: function getSize() {
|
|
35391
|
+
if (this.$refs.tagsWrapper) {
|
|
35392
|
+
var size = Object(scrollbar["a" /* getScrollSize */])(this.$refs.tagsWrapper);
|
|
35393
|
+
this.barSize = size.height;
|
|
35394
|
+
return;
|
|
35395
|
+
}
|
|
35396
|
+
this.barSize = 0;
|
|
35397
|
+
},
|
|
35398
|
+
|
|
35399
|
+
// 处理滚轮事件,阻止冒泡
|
|
35400
|
+
handleWheel: function handleWheel(e) {
|
|
35401
|
+
this.barSize && e.stopPropagation();
|
|
35402
|
+
},
|
|
35403
|
+
|
|
35404
|
+
// 处理滚动事件
|
|
35405
|
+
handleScroll: function handleScroll() {
|
|
35406
|
+
var _scrollMove = Object(scrollbar["d" /* scrollMove */])(this.$refs.tagsWrapper),
|
|
35407
|
+
x = _scrollMove.x,
|
|
35408
|
+
y = _scrollMove.y;
|
|
35409
|
+
|
|
35410
|
+
this.moveTo = this.mode === 'horizontal' ? x : y;
|
|
35239
35411
|
}
|
|
35240
35412
|
},
|
|
35241
35413
|
beforeDestroy: function beforeDestroy() {
|
|
35242
|
-
var
|
|
35414
|
+
var _this5 = this;
|
|
35243
35415
|
|
|
35244
35416
|
this.$el.removeEventListener('keyup', this.doSearch);
|
|
35417
|
+
// 移除父元素高度变化监听
|
|
35418
|
+
if (this.resizeParent && this.handleParentResize) {
|
|
35419
|
+
Object(resize_event["b" /* removeResizeListener */])(this.resizeParent, this.handleParentResize);
|
|
35420
|
+
this.resizeParent = null;
|
|
35421
|
+
this.handleParentResize = null;
|
|
35422
|
+
}
|
|
35245
35423
|
if (this.$refs.openDialog) {
|
|
35246
35424
|
this.$refs.openDialog.$el.parentNode.removeEventListener('click', function () {
|
|
35247
|
-
|
|
35425
|
+
_this5.openDialog();
|
|
35248
35426
|
});
|
|
35249
35427
|
}
|
|
35250
35428
|
}
|
|
@@ -35401,7 +35579,7 @@ render._withStripped = true
|
|
|
35401
35579
|
var emitter = __webpack_require__(10);
|
|
35402
35580
|
|
|
35403
35581
|
// EXTERNAL MODULE: ./src/mixins/focus.js
|
|
35404
|
-
var mixins_focus = __webpack_require__(
|
|
35582
|
+
var mixins_focus = __webpack_require__(40);
|
|
35405
35583
|
|
|
35406
35584
|
// EXTERNAL MODULE: ./src/mixins/migrating.js
|
|
35407
35585
|
var migrating = __webpack_require__(27);
|
|
@@ -38859,7 +39037,10 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
38859
39037
|
/* 185 */,
|
|
38860
39038
|
/* 186 */,
|
|
38861
39039
|
/* 187 */,
|
|
38862
|
-
/* 188
|
|
39040
|
+
/* 188 */,
|
|
39041
|
+
/* 189 */,
|
|
39042
|
+
/* 190 */,
|
|
39043
|
+
/* 191 */
|
|
38863
39044
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
38864
39045
|
|
|
38865
39046
|
"use strict";
|