bkui-vue 1.0.3-beta.61 → 1.0.3-beta.61.dialog.1
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.cjs.js +69 -69
- package/dist/index.esm.js +20154 -19397
- package/dist/index.umd.js +69 -69
- package/dist/style.css +1 -1
- package/dist/style.variable.css +1 -1
- package/lib/components.d.ts +1 -0
- package/lib/components.js +1 -0
- package/lib/dialog/dialog.css +139 -77
- package/lib/dialog/dialog.d.ts +41 -121
- package/lib/dialog/dialog.less +10 -65
- package/lib/dialog/dialog.variable.css +139 -77
- package/lib/dialog/index.d.ts +105 -272
- package/lib/dialog/index.js +91 -100
- package/lib/dialog/props.d.ts +8 -48
- package/lib/info-box/index.d.ts +2 -2
- package/lib/info-box/index.js +312 -173
- package/lib/info-box/info-box.css +63 -7
- package/lib/info-box/info-box.d.ts +17 -16
- package/lib/info-box/info-box.less +76 -14
- package/lib/info-box/info-box.variable.css +63 -7
- package/lib/info-box/render-component.d.ts +4 -0
- package/lib/modal/index.d.ts +45 -325
- package/lib/modal/index.js +187 -666
- package/lib/modal/mask.d.ts +6 -0
- package/lib/modal/modal.css +131 -31
- package/lib/modal/modal.d.ts +16 -126
- package/lib/modal/modal.less +84 -28
- package/lib/modal/modal.variable.css +131 -31
- package/lib/modal/props.mixin.d.ts +2 -53
- package/lib/scrollbar/index.d.ts +14 -0
- package/lib/scrollbar/index.js +18737 -0
- package/lib/scrollbar/scrollbar-core/can-use-dom.d.ts +2 -0
- package/lib/scrollbar/scrollbar-core/helpers.d.ts +5 -0
- package/lib/scrollbar/scrollbar-core/index.d.ts +236 -0
- package/lib/scrollbar/scrollbar-core/mouse-wheel.d.ts +5 -0
- package/lib/scrollbar/scrollbar-core/scrollbar-width.d.ts +1 -0
- package/lib/scrollbar/scrollbar.css +74 -0
- package/lib/scrollbar/scrollbar.less +93 -0
- package/lib/scrollbar/scrollbar.variable.css +203 -0
- package/lib/select/index.d.ts +0 -33
- package/lib/select/index.js +2 -4
- package/lib/select/select.css +5 -19
- package/lib/select/select.d.ts +0 -11
- package/lib/select/select.less +6 -26
- package/lib/select/select.variable.css +5 -19
- package/lib/select/selectTagInput.d.ts +0 -7
- package/lib/shared/index.d.ts +0 -1
- package/lib/shared/index.js +1 -48
- package/lib/sideslider/index.d.ts +31 -222
- package/lib/sideslider/index.js +49 -36
- package/lib/sideslider/sideslider.css +4 -42
- package/lib/sideslider/sideslider.d.ts +14 -105
- package/lib/sideslider/sideslider.less +13 -58
- package/lib/sideslider/sideslider.variable.css +4 -42
- package/lib/table/const.d.ts +1 -1
- package/lib/table/index.js +49 -40
- package/lib/table/plugins/use-fixed-column.d.ts +1 -1
- package/lib/table/plugins/use-pagination.d.ts +3 -1
- package/lib/table/table.css +97 -42
- package/lib/table/table.less +43 -58
- package/lib/table/table.variable.css +97 -42
- package/lib/table/use-attributes.d.ts +1 -0
- package/lib/table/use-render.d.ts +1 -1
- package/lib/table-column/index.js +1 -1
- package/lib/tree/tree.css +75 -2
- package/lib/tree/tree.variable.css +75 -2
- package/lib/virtual-render/index.d.ts +4 -0
- package/lib/virtual-render/index.js +253 -52
- package/lib/virtual-render/props.d.ts +7 -0
- package/lib/virtual-render/use-fix-top.d.ts +2 -7
- package/lib/virtual-render/use-scrollbar.d.ts +23 -0
- package/lib/virtual-render/v-virtual-render.d.ts +2 -1
- package/lib/virtual-render/virtual-render.css +75 -2
- package/lib/virtual-render/virtual-render.d.ts +2 -0
- package/lib/virtual-render/virtual-render.less +3 -3
- package/lib/virtual-render/virtual-render.variable.css +75 -2
- package/package.json +2 -1
- package/lib/icon/image-fill.js +0 -191
- package/lib/shared/mask.d.ts +0 -11
@@ -3,6 +3,8 @@ import "./virtual-render.less";
|
|
3
3
|
import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
|
5
5
|
import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__ from "../config-provider";
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__ from "../scrollbar";
|
6
8
|
import * as __WEBPACK_EXTERNAL_MODULE_lodash_throttle_a7b7506a__ from "lodash/throttle";
|
7
9
|
/******/ // The require scope
|
8
10
|
/******/ var __webpack_require__ = {};
|
@@ -127,6 +129,10 @@ const external_vue_namespaceObject = external_vue_x({ ["computed"]: () => __WEBP
|
|
127
129
|
var config_provider_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
128
130
|
var config_provider_y = x => () => x
|
129
131
|
const config_provider_namespaceObject = config_provider_x({ ["usePrefix"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__.usePrefix });
|
132
|
+
;// CONCATENATED MODULE: external "vue-types"
|
133
|
+
var external_vue_types_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
134
|
+
var external_vue_types_y = x => () => x
|
135
|
+
const external_vue_types_namespaceObject = external_vue_types_x({ ["toType"]: () => __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__.toType });
|
130
136
|
;// CONCATENATED MODULE: ../../packages/virtual-render/src/props.ts
|
131
137
|
|
132
138
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
@@ -157,6 +163,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
157
163
|
* IN THE SOFTWARE.
|
158
164
|
*/
|
159
165
|
|
166
|
+
|
160
167
|
var EventProps = {
|
161
168
|
onContentScroll: Function
|
162
169
|
};
|
@@ -241,6 +248,14 @@ var virtualRenderProps = _objectSpread({
|
|
241
248
|
* 保持滚动条位置、当前渲染区间
|
242
249
|
*/
|
243
250
|
keepAlive: shared_namespaceObject.PropTypes.bool.def(false),
|
251
|
+
/**
|
252
|
+
* 是否允许滚动条改变原有DOM结构
|
253
|
+
*/
|
254
|
+
scrollbar: (0,external_vue_types_namespaceObject.toType)('IScrollbarOption', {
|
255
|
+
"default": {
|
256
|
+
enabled: true
|
257
|
+
}
|
258
|
+
}),
|
244
259
|
/**
|
245
260
|
* 数据监听改变时,是否自动重置位置到[0, 0]
|
246
261
|
*/
|
@@ -248,16 +263,32 @@ var virtualRenderProps = _objectSpread({
|
|
248
263
|
wrapperStyle: shared_namespaceObject.PropTypes.any.def({})
|
249
264
|
}, EventProps);
|
250
265
|
;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-fix-top.tsx
|
251
|
-
/*
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
266
|
+
/*
|
267
|
+
* Tencent is pleased to support the open source community by making
|
268
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
|
269
|
+
*
|
270
|
+
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
271
|
+
*
|
272
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
|
273
|
+
*
|
274
|
+
* License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
|
275
|
+
*
|
276
|
+
* ---------------------------------------------------
|
277
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
278
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
279
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
280
|
+
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
281
|
+
*
|
282
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
283
|
+
* the Software.
|
284
|
+
*
|
285
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
286
|
+
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
287
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
288
|
+
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
289
|
+
* IN THE SOFTWARE.
|
290
|
+
*/
|
291
|
+
/* harmony default export */ const use_fix_top = (function (props, scrollTo) {
|
261
292
|
/**
|
262
293
|
* 指定元素滚动到顶部
|
263
294
|
* @param param0
|
@@ -282,15 +313,91 @@ var virtualRenderProps = _objectSpread({
|
|
282
313
|
if (typeof targetIndex === 'number') {
|
283
314
|
var resolvedIndex = targetIndex >= 0 ? targetIndex : 0;
|
284
315
|
var offsetY = resolvedIndex * props.lineHeight;
|
285
|
-
scrollTo(
|
286
|
-
|
287
|
-
|
316
|
+
scrollTo(0, offsetY);
|
317
|
+
}
|
318
|
+
return null;
|
319
|
+
};
|
320
|
+
return {
|
321
|
+
fixToTop: fixToTop
|
322
|
+
};
|
323
|
+
});
|
324
|
+
;// CONCATENATED MODULE: external "../scrollbar"
|
325
|
+
var scrollbar_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
|
326
|
+
var scrollbar_y = x => () => x
|
327
|
+
const scrollbar_namespaceObject = scrollbar_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__["default"] });
|
328
|
+
;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-scrollbar.tsx
|
329
|
+
/*
|
330
|
+
* Tencent is pleased to support the open source community by making
|
331
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
|
332
|
+
*
|
333
|
+
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
334
|
+
*
|
335
|
+
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
|
336
|
+
*
|
337
|
+
* License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
|
338
|
+
*
|
339
|
+
* ---------------------------------------------------
|
340
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
341
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
342
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
343
|
+
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
344
|
+
*
|
345
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
346
|
+
* the Software.
|
347
|
+
*
|
348
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
349
|
+
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
350
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
351
|
+
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
352
|
+
* IN THE SOFTWARE.
|
353
|
+
*/
|
354
|
+
|
355
|
+
|
356
|
+
/* harmony default export */ const use_scrollbar = (function (target, props) {
|
357
|
+
var instance = null;
|
358
|
+
var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
|
359
|
+
resolveClassName = _usePrefix.resolveClassName;
|
360
|
+
var classNames = {
|
361
|
+
contentEl: resolveClassName('scrollbar-content-el'),
|
362
|
+
wrapper: resolveClassName('scrollbar-wrapper'),
|
363
|
+
scrollbar: resolveClassName('scrollbar'),
|
364
|
+
track: resolveClassName('scrollbar-track'),
|
365
|
+
visible: resolveClassName('scrollbar-visible'),
|
366
|
+
horizontal: resolveClassName('scrollbar-horizontal'),
|
367
|
+
vertical: resolveClassName('scrollbar-vertical'),
|
368
|
+
hover: resolveClassName('scrollbar-hover'),
|
369
|
+
dragging: resolveClassName('scrollbar-dragging'),
|
370
|
+
scrolling: resolveClassName('scrollbar-scrolling'),
|
371
|
+
scrollable: resolveClassName('scrollbar-scrollable'),
|
372
|
+
mouseEntered: resolveClassName('scrollbar-mouse-entered')
|
373
|
+
};
|
374
|
+
var init = function init(scrollFn, delegateXContent, delegateYContent) {
|
375
|
+
instance = new scrollbar_namespaceObject["default"](target.value, {
|
376
|
+
classNames: classNames,
|
377
|
+
wrapperNode: target.value,
|
378
|
+
useSystemScrollYBehavior: !props.enabled,
|
379
|
+
useSystemScrollXBehavior: true,
|
380
|
+
delegateXContent: delegateXContent,
|
381
|
+
delegateYContent: delegateYContent,
|
382
|
+
onScrollCallback: scrollFn
|
383
|
+
});
|
384
|
+
};
|
385
|
+
var scrollTo = function scrollTo(x, y) {
|
386
|
+
var _props$scrollbar;
|
387
|
+
if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
|
388
|
+
instance.scrollTo({
|
389
|
+
left: x,
|
390
|
+
top: y
|
288
391
|
});
|
392
|
+
return;
|
289
393
|
}
|
394
|
+
target.value.scrollTo(x, y);
|
290
395
|
};
|
291
396
|
return {
|
292
|
-
|
293
|
-
|
397
|
+
init: init,
|
398
|
+
instance: instance,
|
399
|
+
scrollTo: scrollTo,
|
400
|
+
classNames: classNames
|
294
401
|
};
|
295
402
|
});
|
296
403
|
;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js
|
@@ -325,6 +432,7 @@ const throttle_namespaceObject = throttle_x({ ["default"]: () => __WEBPACK_EXTER
|
|
325
432
|
;// CONCATENATED MODULE: ../../packages/virtual-render/src/v-virtual-render.ts
|
326
433
|
|
327
434
|
|
435
|
+
|
328
436
|
/*
|
329
437
|
* Tencent is pleased to support the open source community by making
|
330
438
|
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
|
@@ -375,14 +483,14 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
|
|
375
483
|
diffHeight: diffHeight
|
376
484
|
};
|
377
485
|
}
|
378
|
-
function computedVirtualIndex(lineHeight, callback, pagination,
|
379
|
-
if (!event.
|
486
|
+
function computedVirtualIndex(lineHeight, callback, pagination, wrapper, event) {
|
487
|
+
if (!wrapper || !event.offset) {
|
380
488
|
return;
|
381
489
|
}
|
382
|
-
var elScrollTop = event.
|
383
|
-
var elScrollLeft = event.
|
384
|
-
var elScrollHeight =
|
385
|
-
var elOffsetHeight =
|
490
|
+
var elScrollTop = event.offset.y;
|
491
|
+
var elScrollLeft = event.offset.x;
|
492
|
+
var elScrollHeight = wrapper.scrollHeight;
|
493
|
+
var elOffsetHeight = wrapper.offsetHeight;
|
386
494
|
var count = pagination.count,
|
387
495
|
groupItemCount = pagination.groupItemCount;
|
388
496
|
var targetStartIndex = 0;
|
@@ -402,7 +510,8 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
|
|
402
510
|
}
|
403
511
|
var bottom = elScrollHeight - elOffsetHeight - elScrollTop;
|
404
512
|
typeof callback === 'function' && callback(event, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {
|
405
|
-
bottom: bottom >= 0 ? bottom : 0
|
513
|
+
bottom: bottom >= 0 ? bottom : 0,
|
514
|
+
scrollbar: event
|
406
515
|
});
|
407
516
|
return {
|
408
517
|
targetStartIndex: targetStartIndex,
|
@@ -414,7 +523,33 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
|
|
414
523
|
}
|
415
524
|
var VisibleRender = /*#__PURE__*/function () {
|
416
525
|
function VisibleRender(binding, el) {
|
526
|
+
var _this = this;
|
417
527
|
_classCallCheck(this, VisibleRender);
|
528
|
+
_defineProperty(this, "getEvent", function (event) {
|
529
|
+
var _this$binding$value$s = _this.binding.value.scrollbar,
|
530
|
+
scrollbar = _this$binding$value$s === void 0 ? {
|
531
|
+
enabled: false
|
532
|
+
} : _this$binding$value$s;
|
533
|
+
if (scrollbar.enabled) {
|
534
|
+
var _event$offset;
|
535
|
+
return {
|
536
|
+
offset: (_event$offset = event.offset) !== null && _event$offset !== void 0 ? _event$offset : event
|
537
|
+
};
|
538
|
+
}
|
539
|
+
if (event !== null && event !== void 0 && event.offset) {
|
540
|
+
return {
|
541
|
+
offset: event === null || event === void 0 ? void 0 : event.offset
|
542
|
+
};
|
543
|
+
}
|
544
|
+
var elScrollTop = event.target.scrollTop;
|
545
|
+
var elScrollLeft = event.target.scrollLeft;
|
546
|
+
return {
|
547
|
+
offset: {
|
548
|
+
x: elScrollLeft,
|
549
|
+
y: elScrollTop
|
550
|
+
}
|
551
|
+
};
|
552
|
+
});
|
418
553
|
this.binding = binding;
|
419
554
|
this.wrapper = el;
|
420
555
|
var throttleDelay = binding.value.throttleDelay;
|
@@ -431,11 +566,13 @@ var VisibleRender = /*#__PURE__*/function () {
|
|
431
566
|
pagination = _this$binding$value$p === void 0 ? {} : _this$binding$value$p,
|
432
567
|
onlyScroll = _this$binding$value.onlyScroll;
|
433
568
|
if (onlyScroll) {
|
434
|
-
var
|
435
|
-
var
|
436
|
-
var
|
569
|
+
var _e$offset, _e$offset$x, _e$offset2;
|
570
|
+
var elScrollTop = (_e$offset = e.offset) === null || _e$offset === void 0 ? void 0 : _e$offset.y;
|
571
|
+
var elScrollLeft = (_e$offset$x = (_e$offset2 = e.offset) === null || _e$offset2 === void 0 ? void 0 : _e$offset2.x) !== null && _e$offset$x !== void 0 ? _e$offset$x : 0;
|
572
|
+
var bottom = this.wrapper.scrollHeight - this.wrapper.offsetHeight - elScrollTop;
|
437
573
|
handleScrollCallback(e, null, null, elScrollTop, elScrollTop, elScrollLeft, {
|
438
|
-
bottom: bottom >= 0 ? bottom : 0
|
574
|
+
bottom: bottom >= 0 ? bottom : 0,
|
575
|
+
scrollbar: e
|
439
576
|
});
|
440
577
|
return;
|
441
578
|
}
|
@@ -457,7 +594,7 @@ var VisibleRender = /*#__PURE__*/function () {
|
|
457
594
|
}, {
|
458
595
|
key: "executeThrottledRender",
|
459
596
|
value: function executeThrottledRender(e) {
|
460
|
-
(0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(e);
|
597
|
+
(0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(this.getEvent(e));
|
461
598
|
}
|
462
599
|
}, {
|
463
600
|
key: "install",
|
@@ -531,28 +668,46 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
531
668
|
|
532
669
|
|
533
670
|
|
671
|
+
|
534
672
|
/* harmony default export */ const use_tag_render = (function (props, ctx) {
|
535
673
|
var renderAs = props.renderAs,
|
536
674
|
contentAs = props.contentAs;
|
675
|
+
var refRoot = (0,external_vue_namespaceObject.ref)(null);
|
676
|
+
var _useScrollbar = use_scrollbar(refRoot, props),
|
677
|
+
init = _useScrollbar.init,
|
678
|
+
scrollTo = _useScrollbar.scrollTo,
|
679
|
+
classNames = _useScrollbar.classNames;
|
680
|
+
var contentStyle = (0,external_vue_namespaceObject.reactive)({
|
681
|
+
x: 0,
|
682
|
+
y: 0
|
683
|
+
});
|
684
|
+
var computedStyle = (0,external_vue_namespaceObject.computed)(function () {
|
685
|
+
return use_tag_render_objectSpread({}, props.contentStyle);
|
686
|
+
});
|
537
687
|
/** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
|
538
688
|
var handleScrollCallback = function handleScrollCallback(event, _startIndex, _endIndex, _scrollTop, translateY, scrollLeft, pos) {
|
689
|
+
var scrollbar = pos.scrollbar;
|
690
|
+
if (scrollbar !== null && scrollbar !== void 0 && scrollbar.offset) {
|
691
|
+
var _scrollbar$offset;
|
692
|
+
Object.assign(contentStyle, (_scrollbar$offset = scrollbar === null || scrollbar === void 0 ? void 0 : scrollbar.offset) !== null && _scrollbar$offset !== void 0 ? _scrollbar$offset : {});
|
693
|
+
}
|
539
694
|
ctx.emit('content-scroll', [event, {
|
540
695
|
translateY: translateY,
|
541
696
|
translateX: scrollLeft,
|
542
697
|
pos: pos
|
543
698
|
}]);
|
544
699
|
};
|
545
|
-
var
|
700
|
+
var renderInstance = null;
|
546
701
|
var binding = (0,external_vue_namespaceObject.computed)(function () {
|
547
702
|
return {
|
548
703
|
lineHeight: props.lineHeight,
|
704
|
+
scrollbar: props.scrollbar,
|
549
705
|
handleScrollCallback: handleScrollCallback,
|
550
706
|
pagination: {},
|
551
707
|
throttleDelay: props.throttleDelay,
|
552
708
|
onlyScroll: props.scrollEvent
|
553
709
|
};
|
554
710
|
});
|
555
|
-
var refRoot = (0,external_vue_namespaceObject.ref)(null);
|
556
711
|
/** 虚拟渲染外层容器样式 */
|
557
712
|
var wrapperStyle = (0,external_vue_namespaceObject.computed)(function () {
|
558
713
|
var _props$maxHeight;
|
@@ -564,20 +719,36 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
564
719
|
maxHeight: (_props$maxHeight = props.maxHeight) !== null && _props$maxHeight !== void 0 ? _props$maxHeight : height
|
565
720
|
}, props.wrapperStyle);
|
566
721
|
});
|
567
|
-
var _useFixTop = use_fix_top(props,
|
568
|
-
scrollTo = _useFixTop.scrollTo,
|
722
|
+
var _useFixTop = use_fix_top(props, scrollTo),
|
569
723
|
fixToTop = _useFixTop.fixToTop;
|
570
724
|
ctx.expose({
|
571
725
|
scrollTo: scrollTo,
|
572
726
|
fixToTop: fixToTop
|
573
727
|
});
|
574
728
|
(0,external_vue_namespaceObject.onMounted)(function () {
|
575
|
-
|
576
|
-
|
729
|
+
var _props$scrollbar;
|
730
|
+
renderInstance = new VisibleRender(binding, refRoot.value);
|
731
|
+
if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
|
732
|
+
init(renderInstance.executeThrottledRender.bind(renderInstance));
|
733
|
+
return;
|
734
|
+
}
|
735
|
+
renderInstance.install();
|
577
736
|
});
|
578
737
|
(0,external_vue_namespaceObject.onUnmounted)(function () {
|
579
|
-
var
|
580
|
-
(
|
738
|
+
var _renderInstance;
|
739
|
+
(_renderInstance = renderInstance) === null || _renderInstance === void 0 || _renderInstance.uninstall();
|
740
|
+
});
|
741
|
+
var wrapperClassNames = (0,external_vue_namespaceObject.computed)(function () {
|
742
|
+
if (props.scrollbar.enabled) {
|
743
|
+
return [props.className, classNames.wrapper];
|
744
|
+
}
|
745
|
+
return [props.className];
|
746
|
+
});
|
747
|
+
var contentClassNames = (0,external_vue_namespaceObject.computed)(function () {
|
748
|
+
if (props.scrollbar.enabled) {
|
749
|
+
return [props.contentClassName, classNames.contentEl];
|
750
|
+
}
|
751
|
+
return [props.contentClassName];
|
581
752
|
});
|
582
753
|
return {
|
583
754
|
rendAsTag: function rendAsTag() {
|
@@ -585,12 +756,12 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
585
756
|
return (0,external_vue_namespaceObject.h)(
|
586
757
|
// @ts-ignore:next-line
|
587
758
|
renderAs, {
|
588
|
-
"class":
|
759
|
+
"class": wrapperClassNames.value,
|
589
760
|
style: wrapperStyle.value,
|
590
761
|
ref: refRoot
|
591
762
|
}, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs, {
|
592
|
-
"class":
|
593
|
-
style:
|
763
|
+
"class": contentClassNames.value,
|
764
|
+
style: computedStyle.value
|
594
765
|
}, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
|
595
766
|
data: props.list
|
596
767
|
})) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
|
@@ -639,6 +810,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
639
810
|
|
640
811
|
|
641
812
|
|
813
|
+
|
642
814
|
/* harmony default export */ const virtual_render = ((0,external_vue_namespaceObject.defineComponent)({
|
643
815
|
name: 'VirtualRender',
|
644
816
|
directives: {
|
@@ -670,10 +842,17 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
670
842
|
lineHeight: props.lineHeight,
|
671
843
|
handleScrollCallback: handleScrollCallback,
|
672
844
|
pagination: pagination,
|
673
|
-
throttleDelay: props.throttleDelay
|
845
|
+
throttleDelay: props.throttleDelay,
|
846
|
+
scrollbar: props.scrollbar
|
674
847
|
};
|
675
848
|
});
|
676
849
|
var refRoot = (0,external_vue_namespaceObject.ref)(null);
|
850
|
+
var refVirtualSection = (0,external_vue_namespaceObject.ref)(null);
|
851
|
+
var refContent = (0,external_vue_namespaceObject.ref)(null);
|
852
|
+
var _useScrollbar = use_scrollbar(refRoot, props),
|
853
|
+
init = _useScrollbar.init,
|
854
|
+
scrollTo = _useScrollbar.scrollTo,
|
855
|
+
classNames = _useScrollbar.classNames;
|
677
856
|
var instance = null;
|
678
857
|
var pagination = (0,external_vue_namespaceObject.reactive)({
|
679
858
|
startIndex: 0,
|
@@ -703,10 +882,9 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
703
882
|
var end = (pagination.endIndex + props.preloadItemCount) * props.groupItemCount;
|
704
883
|
var total = localList.value.length;
|
705
884
|
if (total < end) {
|
706
|
-
var contentLength = end - start;
|
707
885
|
calcList.value = localList.value.slice(start, total);
|
708
886
|
end = total + 1;
|
709
|
-
start = end -
|
887
|
+
start = end - Math.ceil(refContent.value.offsetHeight / props.lineHeight);
|
710
888
|
start = start < 0 ? 0 : start;
|
711
889
|
}
|
712
890
|
var value = localList.value.slice(start, end + 10);
|
@@ -716,7 +894,18 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
716
894
|
}
|
717
895
|
};
|
718
896
|
(0,external_vue_namespaceObject.onMounted)(function () {
|
897
|
+
var _props$scrollbar;
|
719
898
|
instance = new VisibleRender(binding, refRoot.value);
|
899
|
+
if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
|
900
|
+
init(instance.executeThrottledRender.bind(instance), null, refVirtualSection.value);
|
901
|
+
instance.executeThrottledRender.call(instance, {
|
902
|
+
offset: {
|
903
|
+
x: 0,
|
904
|
+
y: 0
|
905
|
+
}
|
906
|
+
});
|
907
|
+
return;
|
908
|
+
}
|
720
909
|
instance.install();
|
721
910
|
});
|
722
911
|
(0,external_vue_namespaceObject.onUnmounted)(function () {
|
@@ -780,10 +969,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
780
969
|
});
|
781
970
|
/** 展示列表内容区域样式 */
|
782
971
|
var innerContentStyle = (0,external_vue_namespaceObject.computed)(function () {
|
783
|
-
return props.scrollPosition === 'content' ? {
|
784
|
-
top: "".concat(pagination.scrollTop + props.scrollOffsetTop, "px"),
|
785
|
-
transform: "translateY(-".concat(pagination.translateY, "px)")
|
786
|
-
} : {};
|
972
|
+
return props.scrollPosition === 'content' ? {} : {};
|
787
973
|
});
|
788
974
|
/** 虚拟渲染外层容器样式 */
|
789
975
|
var wrapperStyle = (0,external_vue_namespaceObject.computed)(function () {
|
@@ -808,7 +994,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
808
994
|
resolveClassName = _usePrefix.resolveClassName;
|
809
995
|
/** 外层样式列表 */
|
810
996
|
var wrapperClass = (0,external_vue_namespaceObject.computed)(function () {
|
811
|
-
return [resolveClassName('virtual-render')
|
997
|
+
return [resolveClassName('virtual-render')].concat(_toConsumableArray(resolvePropClassName(props.className)), [props.scrollPosition === 'container' ? resolveClassName('virtual-content') : '']);
|
812
998
|
});
|
813
999
|
/** 内容区域样式列表 */
|
814
1000
|
var innerClass = (0,external_vue_namespaceObject.computed)(function () {
|
@@ -819,20 +1005,33 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
819
1005
|
* @param keepLastPostion
|
820
1006
|
*/
|
821
1007
|
var reset = function reset() {
|
1008
|
+
var _instance2;
|
822
1009
|
handleChangeListConfig();
|
823
1010
|
afterListDataReset();
|
1011
|
+
(_instance2 = instance) === null || _instance2 === void 0 || _instance2.executeThrottledRender.call(instance, {
|
1012
|
+
offset: {
|
1013
|
+
x: 0,
|
1014
|
+
y: 0
|
1015
|
+
}
|
1016
|
+
});
|
824
1017
|
};
|
825
|
-
var _useFixTop = use_fix_top(props,
|
826
|
-
scrollTo = _useFixTop.scrollTo,
|
1018
|
+
var _useFixTop = use_fix_top(props, scrollTo),
|
827
1019
|
fixToTop = _useFixTop.fixToTop;
|
828
1020
|
(0,external_vue_namespaceObject.watch)(function () {
|
829
1021
|
return [props.lineHeight, props.height, props.list, props.maxHeight];
|
830
1022
|
}, function () {
|
831
|
-
var
|
832
|
-
(
|
1023
|
+
var _instance3;
|
1024
|
+
(_instance3 = instance) === null || _instance3 === void 0 || _instance3.setBinding(binding);
|
833
1025
|
handleChangeListConfig();
|
834
1026
|
(0,external_vue_namespaceObject.nextTick)(function () {
|
1027
|
+
var _instance4;
|
835
1028
|
afterListDataReset();
|
1029
|
+
(_instance4 = instance) === null || _instance4 === void 0 || _instance4.executeThrottledRender.call(instance, {
|
1030
|
+
offset: {
|
1031
|
+
x: 0,
|
1032
|
+
y: 0
|
1033
|
+
}
|
1034
|
+
});
|
836
1035
|
});
|
837
1036
|
}, {
|
838
1037
|
deep: true,
|
@@ -849,14 +1048,16 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
|
|
849
1048
|
// @ts-ignore:next-line
|
850
1049
|
renderAs || 'div', {
|
851
1050
|
ref: refRoot,
|
852
|
-
"class": wrapperClass.value,
|
1051
|
+
"class": [].concat(_toConsumableArray(wrapperClass.value), [classNames.wrapper]),
|
853
1052
|
style: wrapperStyle.value
|
854
1053
|
}, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs || 'div', {
|
855
|
-
|
1054
|
+
ref: refContent,
|
1055
|
+
"class": [].concat(_toConsumableArray(innerClass.value), [classNames.contentEl]),
|
856
1056
|
style: virtual_render_objectSpread(virtual_render_objectSpread({}, innerContentStyle.value), props.contentStyle)
|
857
1057
|
}, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
|
858
1058
|
data: calcList.value
|
859
1059
|
})) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (0,external_vue_namespaceObject.h)('div', {
|
1060
|
+
ref: refVirtualSection,
|
860
1061
|
"class": [resolveClassName('virtual-section')],
|
861
1062
|
style: innerStyle.value
|
862
1063
|
}), (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
|
@@ -1,4 +1,7 @@
|
|
1
1
|
import { ExtractPropTypes } from 'vue';
|
2
|
+
export type IScrollbarOption = {
|
3
|
+
enabled: boolean;
|
4
|
+
};
|
2
5
|
export declare const virtualRenderProps: {
|
3
6
|
onContentScroll: FunctionConstructor;
|
4
7
|
/** 传入原始数据源 */
|
@@ -181,6 +184,10 @@ export declare const virtualRenderProps: {
|
|
181
184
|
} & {
|
182
185
|
default: boolean;
|
183
186
|
};
|
187
|
+
/**
|
188
|
+
* 是否允许滚动条改变原有DOM结构
|
189
|
+
*/
|
190
|
+
scrollbar: import("vue-types").VueTypeDef<IScrollbarOption>;
|
184
191
|
/**
|
185
192
|
* 数据监听改变时,是否自动重置位置到[0, 0]
|
186
193
|
*/
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { Ref } from 'vue';
|
2
1
|
import { VirtualRenderProps } from './props';
|
3
2
|
type IFixToTopParams = {
|
4
3
|
index?: number;
|
@@ -8,11 +7,7 @@ type IFixToTopParams = {
|
|
8
7
|
};
|
9
8
|
position: number[];
|
10
9
|
};
|
11
|
-
declare const _default: (props: VirtualRenderProps,
|
12
|
-
fixToTop: (params: IFixToTopParams) =>
|
13
|
-
scrollTo: (option?: {
|
14
|
-
left: number;
|
15
|
-
top: number;
|
16
|
-
}) => void;
|
10
|
+
declare const _default: (props: VirtualRenderProps, scrollTo: (x: any, y: any) => void) => {
|
11
|
+
fixToTop: (params: IFixToTopParams) => any;
|
17
12
|
};
|
18
13
|
export default _default;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Ref } from 'vue';
|
2
|
+
import BkScrollbar from '../scrollbar';
|
3
|
+
import { VirtualRenderProps } from './props';
|
4
|
+
declare const _default: (target: Ref<HTMLElement>, props: VirtualRenderProps) => {
|
5
|
+
init: (scrollFn?: any, delegateXContent?: any, delegateYContent?: any) => void;
|
6
|
+
instance: BkScrollbar;
|
7
|
+
scrollTo: (x: any, y: any) => void;
|
8
|
+
classNames: {
|
9
|
+
contentEl: string;
|
10
|
+
wrapper: string;
|
11
|
+
scrollbar: string;
|
12
|
+
track: string;
|
13
|
+
visible: string;
|
14
|
+
horizontal: string;
|
15
|
+
vertical: string;
|
16
|
+
hover: string;
|
17
|
+
dragging: string;
|
18
|
+
scrolling: string;
|
19
|
+
scrollable: string;
|
20
|
+
mouseEntered: string;
|
21
|
+
};
|
22
|
+
};
|
23
|
+
export default _default;
|
@@ -3,7 +3,7 @@ export declare function getMatchedIndex(maxCount: number, maxHeight: number, gro
|
|
3
3
|
height: number;
|
4
4
|
diffHeight: number;
|
5
5
|
};
|
6
|
-
export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any,
|
6
|
+
export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, wrapper: any, event: any): {
|
7
7
|
targetStartIndex: number;
|
8
8
|
targetEndIndex: number;
|
9
9
|
elScrollTop: any;
|
@@ -20,6 +20,7 @@ export declare class VisibleRender {
|
|
20
20
|
install(): void;
|
21
21
|
uninstall(): void;
|
22
22
|
setBinding(binding: any): void;
|
23
|
+
private getEvent;
|
23
24
|
}
|
24
25
|
declare const _default: {
|
25
26
|
mounted(el: any, binding: any): void;
|