bkui-vue 0.0.1-beta.409 → 0.0.1-beta.410
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 +41 -41
- package/dist/index.esm.js +201 -81
- package/dist/index.umd.js +41 -41
- package/dist/locale/en.esm.js +1 -1
- package/dist/locale/en.esm.js.map +1 -1
- package/dist/locale/en.umd.js +1 -1
- package/dist/locale/en.umd.js.map +1 -1
- package/dist/locale/zh-cn.esm.js +1 -1
- package/dist/locale/zh-cn.esm.js.map +1 -1
- package/dist/locale/zh-cn.umd.js +1 -1
- package/dist/locale/zh-cn.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/style.variable.css +1 -1
- package/lib/cascader/cascader.css +146 -9
- package/lib/cascader/cascader.d.ts +41 -3
- package/lib/cascader/cascader.less +92 -11
- package/lib/cascader/cascader.variable.css +157 -20
- package/lib/cascader/index.d.ts +96 -7
- package/lib/cascader/index.js +1 -1
- package/lib/cascader/store.d.ts +2 -0
- package/lib/config-provider/config-provider.d.ts +13 -1
- package/lib/config-provider/index.d.ts +25 -0
- package/lib/config-provider/index.js +1 -1
- package/lib/config-provider/type.d.ts +7 -1
- package/lib/dialog/dialog.css +6 -16
- package/lib/dialog/dialog.less +12 -23
- package/lib/dialog/dialog.variable.css +6 -16
- package/lib/dialog/index.js +1 -1
- package/lib/directives/index.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/info-box/index.d.ts +3 -2
- package/lib/info-box/index.js +1 -1
- package/lib/info-box/info-box.d.ts +7 -5
- package/lib/input/index.js +1 -1
- package/lib/locale/index.js +1 -1
- package/lib/locale/lang/en.d.ts +6 -0
- package/lib/message/messageConstructor.d.ts +1 -1
- package/lib/notify/notifyConstructor.d.ts +1 -1
- package/lib/plugin-popover/index.js +1 -1
- package/lib/popover/index.js +1 -1
- package/lib/preset.d.ts +12 -0
- package/lib/select/index.d.ts +4 -4
- package/lib/select/select.d.ts +1 -1
- package/lib/shared/index.js +1 -1
- package/lib/table/index.js +1 -1
- package/lib/table/table.css +9 -1
- package/lib/table/table.less +7 -1
- package/lib/table/table.variable.css +9 -1
- package/lib/table-column/index.js +1 -1
- package/lib/tag-input/index.d.ts +7 -4
- package/lib/tag-input/index.js +1 -1
- package/lib/tag-input/tag-input.d.ts +2 -15
- package/lib/transfer/index.d.ts +4 -4
- package/lib/transfer/transfer.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
@@ -7446,7 +7446,12 @@ class BkMaskManager {
|
|
7446
7446
|
this.setMaskStyle(style2);
|
7447
7447
|
this.mask.style.setProperty("display", "block");
|
7448
7448
|
this.mask.style.setProperty("z-index", `${localZIndex}`);
|
7449
|
+
this.mask.style.setProperty("pointer-events", "all");
|
7449
7450
|
this.backupMask.style.setProperty("z-index", `${localZIndex - 1}`);
|
7451
|
+
if (!showMask) {
|
7452
|
+
this.mask.style.setProperty("pointer-events", "none");
|
7453
|
+
content == null ? void 0 : content.style.setProperty("pointer-events", "all");
|
7454
|
+
}
|
7450
7455
|
if (content) {
|
7451
7456
|
if (transfer2)
|
7452
7457
|
content.style.setProperty("z-index", `${localZIndex + 1}`);
|
@@ -7982,7 +7987,7 @@ var RenderType = /* @__PURE__ */ ((RenderType2) => {
|
|
7982
7987
|
return RenderType2;
|
7983
7988
|
})(RenderType || {});
|
7984
7989
|
function renderType() {
|
7985
|
-
return j("
|
7990
|
+
return j("popRenderType", {}).def("shown");
|
7986
7991
|
}
|
7987
7992
|
function dialogTypeUnion() {
|
7988
7993
|
return j("dialogType", {
|
@@ -8295,6 +8300,12 @@ const zhCn = {
|
|
8295
8300
|
drapFileOr: "\u5C06\u6587\u4EF6\u62D6\u5230\u6B64\u5904\u6216",
|
8296
8301
|
clickUpload: "\u70B9\u51FB\u4E0A\u4F20",
|
8297
8302
|
uploadLabel: "\u4E0A\u4F20\u6587\u4EF6"
|
8303
|
+
},
|
8304
|
+
input: {
|
8305
|
+
placeholder: "\u8BF7\u8F93\u5165"
|
8306
|
+
},
|
8307
|
+
tagInput: {
|
8308
|
+
placeholder: "\u8BF7\u8F93\u5165\u5E76\u6309Enter\u7ED3\u675F"
|
8298
8309
|
}
|
8299
8310
|
};
|
8300
8311
|
const configProviderProps = {
|
@@ -9681,7 +9692,7 @@ const inputType = {
|
|
9681
9692
|
clearable: PropTypes.bool,
|
9682
9693
|
disabled: PropTypes.bool,
|
9683
9694
|
readonly: PropTypes.bool,
|
9684
|
-
placeholder: PropTypes.string.def("
|
9695
|
+
placeholder: PropTypes.string.def(""),
|
9685
9696
|
prefixIcon: PropTypes.string,
|
9686
9697
|
suffixIcon: PropTypes.string,
|
9687
9698
|
suffix: PropTypes.string,
|
@@ -9747,6 +9758,7 @@ var Component$w = defineComponent({
|
|
9747
9758
|
emits: inputEmitEventsType,
|
9748
9759
|
setup(props2, ctx) {
|
9749
9760
|
const formItem = useFormItem();
|
9761
|
+
const t2 = useLocale("input");
|
9750
9762
|
const isFocused = ref(false);
|
9751
9763
|
const isCNInput = ref(false);
|
9752
9764
|
const isTextArea = computed(() => props2.type === "textarea");
|
@@ -9899,7 +9911,7 @@ var Component$w = defineComponent({
|
|
9899
9911
|
};
|
9900
9912
|
return __spreadProps(__spreadValues({}, val), {
|
9901
9913
|
maxlength: props2.maxlength,
|
9902
|
-
placeholder: props2.placeholder,
|
9914
|
+
placeholder: props2.placeholder || t2.value.placeholder,
|
9903
9915
|
readonly: props2.readonly,
|
9904
9916
|
disabled: props2.disabled
|
9905
9917
|
});
|
@@ -10918,10 +10930,9 @@ var Dialog = defineComponent({
|
|
10918
10930
|
default: () => [this.localConfirmText]
|
10919
10931
|
})]) : ""]);
|
10920
10932
|
},
|
10921
|
-
close: () => createVNode(
|
10922
|
-
"class": resolveClassName("dialog-close"),
|
10933
|
+
close: () => createVNode(error, {
|
10923
10934
|
"onClick": this.handleClose
|
10924
|
-
},
|
10935
|
+
}, null)
|
10925
10936
|
};
|
10926
10937
|
const className = `${resolveClassName("dialog-wrapper ")} ${this.scrollable ? "scroll-able" : ""} ${this.multiInstance ? "multi-instance" : ""} ${this.hasFooter ? "has-footer" : "no-footer"}`;
|
10927
10938
|
return createVNode(BkModal, mergeProps(this.$props, {
|
@@ -12775,7 +12786,9 @@ var useFloating = (props2, ctx, {
|
|
12775
12786
|
elContent
|
12776
12787
|
} = resolvePopElements();
|
12777
12788
|
cleanup = autoUpdate(elReference, elContent, () => {
|
12778
|
-
|
12789
|
+
if (localIsShow.value) {
|
12790
|
+
updatePopover(null, props2);
|
12791
|
+
}
|
12779
12792
|
});
|
12780
12793
|
};
|
12781
12794
|
const updatePopover = (virtualEl = null, props3 = {}) => {
|
@@ -12820,8 +12833,12 @@ var useFloating = (props2, ctx, {
|
|
12820
12833
|
const showPopover = () => {
|
12821
12834
|
const delay = resolvePopoverDelay()[0];
|
12822
12835
|
popShowTimerId = setTimeout(() => {
|
12823
|
-
|
12824
|
-
|
12836
|
+
if (popHideTimerId) {
|
12837
|
+
clearTimeout(popHideTimerId);
|
12838
|
+
}
|
12839
|
+
if (!props2.disabled) {
|
12840
|
+
localIsShow.value = true;
|
12841
|
+
}
|
12825
12842
|
}, delay);
|
12826
12843
|
};
|
12827
12844
|
const hidePopover = () => {
|
@@ -13329,10 +13346,8 @@ function createPopoverComponent(options) {
|
|
13329
13346
|
};
|
13330
13347
|
updateStyle(refProps.value.target);
|
13331
13348
|
const show3 = () => {
|
13332
|
-
|
13333
|
-
|
13334
|
-
(_b = (_a = refReference.value) == null ? void 0 : _a.show) == null ? void 0 : _b.call(_a);
|
13335
|
-
});
|
13349
|
+
var _a, _b;
|
13350
|
+
(_b = (_a = refReference.value) == null ? void 0 : _a.show) == null ? void 0 : _b.call(_a);
|
13336
13351
|
};
|
13337
13352
|
const hide3 = () => {
|
13338
13353
|
var _a, _b;
|
@@ -13401,10 +13416,8 @@ function createPopoverComponent(options) {
|
|
13401
13416
|
if ($PopoverInstance === null) {
|
13402
13417
|
$PopoverInstanceEl = document.createElement("div");
|
13403
13418
|
getBoundaryDom(resolvedOptions.boundary).append($PopoverInstanceEl);
|
13404
|
-
|
13405
|
-
|
13406
|
-
$PopoverInstanceVm = $PopoverInstance.mount($PopoverInstanceEl);
|
13407
|
-
});
|
13419
|
+
$PopoverInstance = createApp(popoverComponent);
|
13420
|
+
$PopoverInstanceVm = $PopoverInstance.mount($PopoverInstanceEl);
|
13408
13421
|
}
|
13409
13422
|
function close2() {
|
13410
13423
|
if ($PopoverInstance) {
|
@@ -15051,15 +15064,13 @@ const createInstance = (el, binding) => {
|
|
15051
15064
|
createTimer && clearTimeout(createTimer);
|
15052
15065
|
createTimer = setTimeout(() => {
|
15053
15066
|
const targetOptions = resolveOptions(el, binding);
|
15067
|
+
targetOptions.isShow = true;
|
15054
15068
|
targetOptions.content = targetOptions.content || el.innerHTML;
|
15055
15069
|
Object.assign(targetOptions, {
|
15056
15070
|
onContentMouseenter: handleContentEnter,
|
15057
15071
|
onContentMouseleave: handleContentLeave
|
15058
15072
|
});
|
15059
15073
|
instance = createPopoverComponent(targetOptions);
|
15060
|
-
setTimeout(() => {
|
15061
|
-
instance.show();
|
15062
|
-
});
|
15063
15074
|
}, 100);
|
15064
15075
|
};
|
15065
15076
|
const handleMouseLeave = () => {
|
@@ -16874,7 +16885,7 @@ const IColumnType = {
|
|
16874
16885
|
field: PropTypes.oneOfType([PropTypes.func.def(() => ""), PropTypes.string.def("")]),
|
16875
16886
|
render: PropTypes.oneOfType([PropTypes.func.def(() => ""), PropTypes.string.def("")]),
|
16876
16887
|
width: PropTypes.oneOfType([PropTypes.number.def(void 0), PropTypes.string.def("auto")]),
|
16877
|
-
minWidth: PropTypes.oneOfType([PropTypes.number.def(void 0), PropTypes.string.def("auto")]).def(
|
16888
|
+
minWidth: PropTypes.oneOfType([PropTypes.number.def(void 0), PropTypes.string.def("auto")]).def(30),
|
16878
16889
|
columnKey: PropTypes.string.def(""),
|
16879
16890
|
showOverflowTooltip: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({
|
16880
16891
|
content: PropTypes.string.def(""),
|
@@ -18405,6 +18416,7 @@ var TableCell = defineComponent({
|
|
18405
18416
|
} = props2;
|
18406
18417
|
let content = refRoot.value.innerText;
|
18407
18418
|
let mode = "auto";
|
18419
|
+
let watchCellResize = true;
|
18408
18420
|
if (typeof showOverflowTooltip === "boolean") {
|
18409
18421
|
disabled = !showOverflowTooltip;
|
18410
18422
|
}
|
@@ -18415,6 +18427,7 @@ var TableCell = defineComponent({
|
|
18415
18427
|
if (typeof showOverflowTooltip.content === "function") {
|
18416
18428
|
content = showOverflowTooltip.content(props2.column, props2.row);
|
18417
18429
|
}
|
18430
|
+
watchCellResize = showOverflowTooltip.watchCellResize;
|
18418
18431
|
mode = showOverflowTooltip.mode || "auto";
|
18419
18432
|
}
|
18420
18433
|
if (typeof disabled === "function") {
|
@@ -18424,7 +18437,8 @@ var TableCell = defineComponent({
|
|
18424
18437
|
disabled,
|
18425
18438
|
content,
|
18426
18439
|
mode,
|
18427
|
-
resizerWay
|
18440
|
+
resizerWay,
|
18441
|
+
watchCellResize
|
18428
18442
|
};
|
18429
18443
|
};
|
18430
18444
|
const resolveOverflowTooltip = () => {
|
@@ -18445,7 +18459,11 @@ var TableCell = defineComponent({
|
|
18445
18459
|
if (isTipsEnabled.value) {
|
18446
18460
|
const bindings = ref(resolveTooltipOption());
|
18447
18461
|
if (bkEllipsisIns === null) {
|
18448
|
-
bkEllipsisIns = createInstance(refRoot.value,
|
18462
|
+
bkEllipsisIns = createInstance(refRoot.value, {
|
18463
|
+
disabled: bindings.value.disabled,
|
18464
|
+
content: bindings.value.content,
|
18465
|
+
mode: bindings.value.mode
|
18466
|
+
});
|
18449
18467
|
}
|
18450
18468
|
} else {
|
18451
18469
|
bkEllipsisIns == null ? void 0 : bkEllipsisIns.destroyInstance(refRoot.value);
|
@@ -18453,14 +18471,14 @@ var TableCell = defineComponent({
|
|
18453
18471
|
}
|
18454
18472
|
};
|
18455
18473
|
onMounted(() => {
|
18456
|
-
var _a;
|
18457
18474
|
const {
|
18458
18475
|
disabled,
|
18459
|
-
resizerWay
|
18476
|
+
resizerWay,
|
18477
|
+
watchCellResize
|
18460
18478
|
} = resolveTooltipOption();
|
18461
18479
|
if (!disabled) {
|
18462
18480
|
resolveOverflowTooltip();
|
18463
|
-
if (
|
18481
|
+
if (watchCellResize !== false && props2.observerResize) {
|
18464
18482
|
let observerIns = observerResize(refRoot.value, () => {
|
18465
18483
|
resolveOverflowTooltip();
|
18466
18484
|
}, 60, true, resizerWay);
|
@@ -18789,16 +18807,21 @@ var Settings = defineComponent({
|
|
18789
18807
|
const resolvedColVal = (item, index2) => resolvePropVal(item, ["field", "type"], [item, index2]);
|
18790
18808
|
const checkAll = ref(false);
|
18791
18809
|
const isShow = ref(false);
|
18792
|
-
const localSettings =
|
18793
|
-
|
18794
|
-
|
18795
|
-
|
18796
|
-
|
18797
|
-
|
18798
|
-
|
18799
|
-
|
18800
|
-
|
18801
|
-
|
18810
|
+
const localSettings = computed(() => {
|
18811
|
+
if (typeof props2.settings === "boolean") {
|
18812
|
+
return {
|
18813
|
+
fields: props2.columns.map((col) => __spreadProps(__spreadValues({}, col), {
|
18814
|
+
field: col.field || col.type
|
18815
|
+
})),
|
18816
|
+
checked: [],
|
18817
|
+
limit: 0,
|
18818
|
+
size: "small",
|
18819
|
+
sizeList: defaultSizeList,
|
18820
|
+
showLineHeight: true
|
18821
|
+
};
|
18822
|
+
}
|
18823
|
+
return props2.settings;
|
18824
|
+
});
|
18802
18825
|
const activeSize = ref(localSettings.value.size || "small");
|
18803
18826
|
const activeHeight = ref(props2.rowHeight);
|
18804
18827
|
const checkedFields = ref(localSettings.value.checked || []);
|
@@ -19295,7 +19318,9 @@ class TableRender {
|
|
19295
19318
|
cells.push(this.getFilterCell(column, index2));
|
19296
19319
|
}
|
19297
19320
|
const cellText = getHeadCellText(column, index2);
|
19298
|
-
cells.unshift(
|
19321
|
+
cells.unshift(createVNode("span", {
|
19322
|
+
"class": "head-text"
|
19323
|
+
}, [cellText]));
|
19299
19324
|
const showTitle = typeof cellText === "string" ? cellText : void 0;
|
19300
19325
|
return createVNode(TableCell, {
|
19301
19326
|
"title": showTitle,
|
@@ -20738,7 +20763,7 @@ var ListTagRender = defineComponent({
|
|
20738
20763
|
});
|
20739
20764
|
const tagProps = () => ({
|
20740
20765
|
modelValue: PropTypes.arrayOf(PropTypes.string).def([]),
|
20741
|
-
placeholder: PropTypes.string.def("
|
20766
|
+
placeholder: PropTypes.string.def(""),
|
20742
20767
|
list: PropTypes.arrayOf(PropTypes.object).def([]),
|
20743
20768
|
disabled: PropTypes.bool.def(false),
|
20744
20769
|
tooltipKey: PropTypes.string.def(""),
|
@@ -20852,6 +20877,7 @@ var Component$d = defineComponent({
|
|
20852
20877
|
emit
|
20853
20878
|
}) {
|
20854
20879
|
const formItem = useFormItem();
|
20880
|
+
const t2 = useLocale("tagInput");
|
20855
20881
|
const state = reactive({
|
20856
20882
|
isEdit: false,
|
20857
20883
|
isHover: false,
|
@@ -20883,6 +20909,7 @@ var Component$d = defineComponent({
|
|
20883
20909
|
const showTagClose = computed(() => !props2.disabled && props2.hasDeleteIcon);
|
20884
20910
|
const isSingleSelect = computed(() => props2.maxData === 1);
|
20885
20911
|
const isShowPlaceholder = computed(() => listState.selectedTagList.length === 0 && curInputValue.value === "" && !state.isEdit);
|
20912
|
+
const placeholderText = computed(() => props2.placeholder || t2.value.placeholder);
|
20886
20913
|
const isShowClear = computed(() => props2.clearable && !props2.disabled && listState.selectedTagList.length !== 0 && (props2.showClearOnlyHover ? state.isHover : true));
|
20887
20914
|
const triggerClass = computed(() => ({
|
20888
20915
|
"bk-tag-input-trigger": true,
|
@@ -21488,6 +21515,7 @@ var Component$d = defineComponent({
|
|
21488
21515
|
}, toRefs(state)), toRefs(listState)), toRefs(pageState)), {
|
21489
21516
|
isShowPlaceholder,
|
21490
21517
|
isShowClear,
|
21518
|
+
placeholderText,
|
21491
21519
|
curInputValue,
|
21492
21520
|
renderList,
|
21493
21521
|
showTagClose,
|
@@ -21583,7 +21611,7 @@ var Component$d = defineComponent({
|
|
21583
21611
|
"class": "text"
|
21584
21612
|
}, [createTextVNode("+"), this.selectedTagList.length - this.overflowTagIndex])])])]), withDirectives(createVNode("p", {
|
21585
21613
|
"class": "placeholder"
|
21586
|
-
}, [this.
|
21614
|
+
}, [this.placeholderText]), [[vShow, this.isShowPlaceholder]]), (_c = (_b = (_a = this.$slots) == null ? void 0 : _a.suffix) == null ? void 0 : _b.call(_a)) != null ? _c : this.isShowClear && createVNode(close$1, {
|
21587
21615
|
"class": "clear-icon",
|
21588
21616
|
"onClick": this.handleClear
|
21589
21617
|
}, null)]);
|
@@ -22393,8 +22421,8 @@ const InfoBox = (config) => {
|
|
22393
22421
|
}), getContent());
|
22394
22422
|
}
|
22395
22423
|
});
|
22396
|
-
|
22397
|
-
|
22424
|
+
let app = createApp(dialog2).mount(container2);
|
22425
|
+
return {
|
22398
22426
|
show: () => {
|
22399
22427
|
isShow.value = true;
|
22400
22428
|
},
|
@@ -22403,9 +22431,12 @@ const InfoBox = (config) => {
|
|
22403
22431
|
},
|
22404
22432
|
update: (config2) => {
|
22405
22433
|
app.update(config2);
|
22434
|
+
},
|
22435
|
+
destroy: () => {
|
22436
|
+
app.unmount();
|
22437
|
+
app = null;
|
22406
22438
|
}
|
22407
22439
|
};
|
22408
|
-
return instance;
|
22409
22440
|
};
|
22410
22441
|
const BkInfoBox = withInstall(InfoBox);
|
22411
22442
|
var NotifyThemeEnum;
|
@@ -30841,13 +30872,13 @@ var CascaderPanel = defineComponent({
|
|
30841
30872
|
render() {
|
30842
30873
|
const emptyWidth = parseInt(this.panelWidth, 10) > 200 ? this.panelWidth : `${200}px`;
|
30843
30874
|
const searchPanelRender = () => this.suggestions.length ? createVNode("ul", {
|
30844
|
-
"class": "
|
30875
|
+
"class": [resolveClassName("cascader-panel"), "bk-scroll-y"],
|
30845
30876
|
"style": {
|
30846
30877
|
height: this.panelHeight,
|
30847
30878
|
width: this.panelWidth
|
30848
30879
|
}
|
30849
30880
|
}, [this.suggestions.map((node) => createVNode("li", mergeProps({
|
30850
|
-
"class": ["
|
30881
|
+
"class": [resolveClassName("cascader-node"), {
|
30851
30882
|
"is-selected": this.isNodeInPath(node)
|
30852
30883
|
}, {
|
30853
30884
|
"is-disabled": node.isDisabled
|
@@ -30855,15 +30886,15 @@ var CascaderPanel = defineComponent({
|
|
30855
30886
|
"is-checked": this.isCheckedNode(node, this.checkValue)
|
30856
30887
|
}]
|
30857
30888
|
}, this.searchPanelEvents(node)), [node.pathNames.join(this.separator)]))]) : createVNode("div", {
|
30858
|
-
"class": "
|
30889
|
+
"class": resolveClassName("cascader-search-empty"),
|
30859
30890
|
"style": {
|
30860
30891
|
width: emptyWidth
|
30861
30892
|
}
|
30862
30893
|
}, [createVNode("span", null, [createTextVNode("\u6682\u65E0\u641C\u7D22\u7ED3\u679C")])]);
|
30863
30894
|
return createVNode("div", {
|
30864
|
-
"class": "
|
30895
|
+
"class": resolveClassName("cascader-panel-wrapper")
|
30865
30896
|
}, [this.isFiltering ? searchPanelRender() : this.menus.list.map((menu2) => createVNode("ul", {
|
30866
|
-
"class": "
|
30897
|
+
"class": [resolveClassName("cascader-panel"), "bk-scroll-y"],
|
30867
30898
|
"style": {
|
30868
30899
|
height: this.panelHeight,
|
30869
30900
|
width: this.panelWidth
|
@@ -30871,7 +30902,7 @@ var CascaderPanel = defineComponent({
|
|
30871
30902
|
}, [menu2.map((node) => {
|
30872
30903
|
var _a, _b;
|
30873
30904
|
return createVNode("li", mergeProps({
|
30874
|
-
"class": ["
|
30905
|
+
"class": [resolveClassName("cascader-node"), {
|
30875
30906
|
"is-selected": this.isNodeInPath(node)
|
30876
30907
|
}, {
|
30877
30908
|
"is-disabled": node.isDisabled
|
@@ -30883,6 +30914,7 @@ var CascaderPanel = defineComponent({
|
|
30883
30914
|
"modelValue": node.checked,
|
30884
30915
|
"onUpdate:modelValue": ($event) => node.checked = $event,
|
30885
30916
|
"indeterminate": node.isIndeterminate,
|
30917
|
+
"style": "margin-right: 5px",
|
30886
30918
|
"onChange": (val) => this.checkNode(node, val)
|
30887
30919
|
}, null), (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a, {
|
30888
30920
|
node,
|
@@ -31031,6 +31063,16 @@ class Store {
|
|
31031
31063
|
getFlattedNodes(leafOnly = false) {
|
31032
31064
|
return flatNodes(this.nodes, leafOnly);
|
31033
31065
|
}
|
31066
|
+
setNodesCheck(nodes) {
|
31067
|
+
this.getFlattedNodes().forEach((node) => {
|
31068
|
+
node.checked = false;
|
31069
|
+
const checkedNode = nodes.find((nodeValue) => arrayEqual(node.path, nodeValue));
|
31070
|
+
if (checkedNode) {
|
31071
|
+
const currentNode = this.getNodeByValue(checkedNode);
|
31072
|
+
currentNode.checked = true;
|
31073
|
+
}
|
31074
|
+
});
|
31075
|
+
}
|
31034
31076
|
getCheckedNodes() {
|
31035
31077
|
return this.getFlattedNodes().filter((node) => node.checked);
|
31036
31078
|
}
|
@@ -31054,16 +31096,18 @@ class Store {
|
|
31054
31096
|
var Component$7 = defineComponent({
|
31055
31097
|
name: "Cascader",
|
31056
31098
|
directives: {
|
31057
|
-
|
31099
|
+
bkTooltips: tooltips
|
31058
31100
|
},
|
31059
31101
|
components: {
|
31060
31102
|
CascaderPanel,
|
31061
|
-
BkPopover
|
31103
|
+
BkPopover,
|
31104
|
+
Tag: BkTag
|
31062
31105
|
},
|
31063
31106
|
props: {
|
31064
31107
|
modelValue: PropTypes.arrayOf(PropTypes.oneOfType([q(), String, Number])),
|
31065
31108
|
list: PropTypes.array.def([]),
|
31066
31109
|
placeholder: PropTypes.string.def("\u8BF7\u9009\u62E9"),
|
31110
|
+
behavior: PropTypes.string.def("normal"),
|
31067
31111
|
filterable: PropTypes.bool.def(false),
|
31068
31112
|
multiple: PropTypes.bool.def(false),
|
31069
31113
|
disabled: PropTypes.bool.def(false),
|
@@ -31080,9 +31124,17 @@ var Component$7 = defineComponent({
|
|
31080
31124
|
limitOneLine: PropTypes.bool.def(false),
|
31081
31125
|
extCls: PropTypes.string.def(""),
|
31082
31126
|
scrollHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def(216),
|
31083
|
-
scrollWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def("auto")
|
31127
|
+
scrollWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def("auto"),
|
31128
|
+
collapseTags: {
|
31129
|
+
type: Boolean,
|
31130
|
+
default: true
|
31131
|
+
},
|
31132
|
+
floatMode: {
|
31133
|
+
type: Boolean,
|
31134
|
+
default: false
|
31135
|
+
}
|
31084
31136
|
},
|
31085
|
-
emits: ["update:modelValue", "change", "clear", "toggle"],
|
31137
|
+
emits: ["update:modelValue", "change", "clear", "toggle", "focus"],
|
31086
31138
|
setup(props2, {
|
31087
31139
|
emit
|
31088
31140
|
}) {
|
@@ -31096,7 +31148,6 @@ var Component$7 = defineComponent({
|
|
31096
31148
|
cancelHover
|
31097
31149
|
} = useHover();
|
31098
31150
|
const store = ref(new Store(props2));
|
31099
|
-
const panelShow = ref(false);
|
31100
31151
|
const selectedText = ref("");
|
31101
31152
|
const selectedTags = ref([]);
|
31102
31153
|
const {
|
@@ -31106,6 +31157,8 @@ var Component$7 = defineComponent({
|
|
31106
31157
|
const searchKey = ref("");
|
31107
31158
|
const suggestions = ref([]);
|
31108
31159
|
const isFiltering = ref(false);
|
31160
|
+
const isEdit = ref(false);
|
31161
|
+
const isFocus = ref(false);
|
31109
31162
|
const checkedValue = computed({
|
31110
31163
|
get: () => modelValue.value,
|
31111
31164
|
set: (value) => {
|
@@ -31113,6 +31166,8 @@ var Component$7 = defineComponent({
|
|
31113
31166
|
}
|
31114
31167
|
});
|
31115
31168
|
const popover2 = ref(null);
|
31169
|
+
const bkCascaderRef = ref(null);
|
31170
|
+
const inputRef = ref(null);
|
31116
31171
|
const getShowText = (node) => props2.showCompleteName ? node.pathNames.join(separator2) : node.pathNames[node.pathNames.length - 1];
|
31117
31172
|
const updateSearchKey = () => {
|
31118
31173
|
searchKey.value = selectedText.value;
|
@@ -31120,10 +31175,12 @@ var Component$7 = defineComponent({
|
|
31120
31175
|
const updateValue = (val) => {
|
31121
31176
|
var _a;
|
31122
31177
|
if (multiple) {
|
31178
|
+
store.value.setNodesCheck(val);
|
31123
31179
|
selectedTags.value = store.value.getCheckedNodes().map((node) => ({
|
31124
31180
|
text: getShowText(node),
|
31125
31181
|
key: node.id
|
31126
31182
|
}));
|
31183
|
+
selectedText.value = selectedTags.value.map((item) => item.text).join(", ");
|
31127
31184
|
return;
|
31128
31185
|
}
|
31129
31186
|
!props2.checkAnyLevel && ((_a = popover2 == null ? void 0 : popover2.value) == null ? void 0 : _a.hide());
|
@@ -31149,14 +31206,20 @@ var Component$7 = defineComponent({
|
|
31149
31206
|
e.stopPropagation();
|
31150
31207
|
const current = JSON.parse(JSON.stringify(value));
|
31151
31208
|
const tag2 = current.splice(index2, 1)[0];
|
31209
|
+
isEdit.value = true;
|
31152
31210
|
store.value.removeTag(tag2);
|
31153
31211
|
updateValue(current);
|
31154
31212
|
emit("update:modelValue", store.value.getCheckedNodes().map((node) => node.path));
|
31213
|
+
setTimeout(() => {
|
31214
|
+
isEdit.value = isFocus.value;
|
31215
|
+
});
|
31155
31216
|
};
|
31156
31217
|
const modelValueChangeHandler = (value, oldValue) => {
|
31218
|
+
var _a;
|
31157
31219
|
updateValue(value);
|
31158
31220
|
emit("update:modelValue", value);
|
31159
31221
|
oldValue !== void 0 && emit("change", value);
|
31222
|
+
(_a = inputRef == null ? void 0 : inputRef.value) == null ? void 0 : _a.focus();
|
31160
31223
|
};
|
31161
31224
|
const listChangeHandler = () => {
|
31162
31225
|
store.value = new Store(props2);
|
@@ -31164,6 +31227,13 @@ var Component$7 = defineComponent({
|
|
31164
31227
|
};
|
31165
31228
|
const popoverChangeEmitter = (val) => {
|
31166
31229
|
emit("toggle", val.isShow);
|
31230
|
+
isEdit.value = val.isShow;
|
31231
|
+
isFocus.value = val.isShow;
|
31232
|
+
nextTick(() => {
|
31233
|
+
var _a;
|
31234
|
+
val && ((_a = inputRef.value) == null ? void 0 : _a.focus());
|
31235
|
+
});
|
31236
|
+
val.isShow && focusEmitter();
|
31167
31237
|
if (!val.isShow) {
|
31168
31238
|
isFiltering.value = false;
|
31169
31239
|
}
|
@@ -31185,6 +31255,9 @@ var Component$7 = defineComponent({
|
|
31185
31255
|
suggestions.value = targetNodes;
|
31186
31256
|
!(popover2 == null ? void 0 : popover2.value.isShow) && (popover2 == null ? void 0 : popover2.value.show());
|
31187
31257
|
});
|
31258
|
+
const focusEmitter = () => {
|
31259
|
+
emit("focus");
|
31260
|
+
};
|
31188
31261
|
watch(() => props2.modelValue, modelValueChangeHandler, {
|
31189
31262
|
immediate: true
|
31190
31263
|
});
|
@@ -31192,10 +31265,20 @@ var Component$7 = defineComponent({
|
|
31192
31265
|
deep: true,
|
31193
31266
|
immediate: true
|
31194
31267
|
});
|
31268
|
+
const tagList = computed(() => selectedTags.value.map((item) => item.text));
|
31269
|
+
const isCollapse = computed(() => props2.collapseTags ? props2.collapseTags && isFocus.value : props2.collapseTags);
|
31270
|
+
const isEditMode = computed(() => props2.collapseTags ? props2.collapseTags && isEdit.value : props2.collapseTags);
|
31271
|
+
const {
|
31272
|
+
overflowTagIndex
|
31273
|
+
} = useTagsOverflow(bkCascaderRef, isEditMode, tagList);
|
31195
31274
|
return {
|
31275
|
+
bkCascaderRef,
|
31276
|
+
inputRef,
|
31277
|
+
overflowTagIndex,
|
31278
|
+
isCollapse,
|
31279
|
+
isFocus,
|
31196
31280
|
store,
|
31197
31281
|
updateValue,
|
31198
|
-
panelShow,
|
31199
31282
|
selectedText,
|
31200
31283
|
checkedValue,
|
31201
31284
|
handleClear,
|
@@ -31210,69 +31293,106 @@ var Component$7 = defineComponent({
|
|
31210
31293
|
searchKey,
|
31211
31294
|
suggestions,
|
31212
31295
|
isFiltering,
|
31213
|
-
searchInputHandler
|
31296
|
+
searchInputHandler,
|
31297
|
+
focusEmitter,
|
31298
|
+
tagList,
|
31299
|
+
isEdit
|
31214
31300
|
};
|
31215
31301
|
},
|
31216
31302
|
render() {
|
31217
31303
|
const suffixIcon = () => {
|
31218
|
-
if (this.clearable && this.isHover) {
|
31304
|
+
if (this.clearable && this.isHover && !this.disabled) {
|
31219
31305
|
return createVNode(close$1, {
|
31220
|
-
"class": "
|
31306
|
+
"class": resolveClassName("icon-clear-icon"),
|
31221
31307
|
"onClick": this.handleClear
|
31222
31308
|
}, null);
|
31223
31309
|
}
|
31224
31310
|
return createVNode(angleUp, {
|
31225
|
-
"class": "
|
31311
|
+
"class": resolveClassName("icon-angle-up")
|
31226
31312
|
}, null);
|
31227
31313
|
};
|
31314
|
+
this.overflowTagIndex = this.overflowTagIndex === 0 ? 1 : this.overflowTagIndex;
|
31315
|
+
const collapseTooltip = this.tagList.reduce((acc, cur, curIndex) => {
|
31316
|
+
if (this.overflowTagIndex !== null && curIndex >= this.overflowTagIndex) {
|
31317
|
+
acc.push(cur);
|
31318
|
+
}
|
31319
|
+
return acc;
|
31320
|
+
}, []);
|
31228
31321
|
const renderTags = () => {
|
31229
31322
|
if (this.limitOneLine) {
|
31230
|
-
return createVNode("span",
|
31323
|
+
return createVNode("span", {
|
31324
|
+
"class": "cascader-selected-text"
|
31325
|
+
}, [this.selectedText]);
|
31231
31326
|
}
|
31232
31327
|
return createVNode("div", {
|
31233
31328
|
"class": "cascader-tag-list"
|
31234
|
-
}, [this.
|
31235
|
-
|
31236
|
-
|
31237
|
-
|
31238
|
-
|
31239
|
-
|
31240
|
-
|
31241
|
-
|
31329
|
+
}, [this.tagList.map((tag2, index2) => {
|
31330
|
+
const isOverflow = !this.isCollapse && this.overflowTagIndex !== null && index2 >= this.overflowTagIndex;
|
31331
|
+
return createVNode("span", {
|
31332
|
+
"class": "tag-item",
|
31333
|
+
"style": {
|
31334
|
+
display: isOverflow ? "none" : ""
|
31335
|
+
},
|
31336
|
+
"key": tag2
|
31337
|
+
}, [createVNode("span", {
|
31338
|
+
"class": "tag-item-name"
|
31339
|
+
}, [tag2]), createVNode(error, {
|
31340
|
+
"class": resolveClassName("icon-clear-icon"),
|
31341
|
+
"onClick": (e) => {
|
31342
|
+
e.stopPropagation();
|
31343
|
+
this.removeTag(this.modelValue, index2, e);
|
31344
|
+
}
|
31345
|
+
}, null)]);
|
31346
|
+
}), this.overflowTagIndex !== null && !this.isCollapse && withDirectives(createVNode(BkTag, {
|
31347
|
+
"style": "margin-top: 0"
|
31348
|
+
}, {
|
31349
|
+
default: () => [createTextVNode("+"), this.selectedTags.length - this.overflowTagIndex]
|
31350
|
+
}), [[resolveDirective("bk-tooltips"), collapseTooltip.join(", ")]])]);
|
31242
31351
|
};
|
31352
|
+
const textRender = () => this.multiple ? null : createVNode("span", null, [this.selectedText]);
|
31243
31353
|
return createVNode("div", {
|
31244
|
-
"class": ["
|
31245
|
-
|
31354
|
+
"class": [resolveClassName("cascader-wrapper"), this.floatMode ? "float-mode" : ""]
|
31355
|
+
}, [createVNode("div", {
|
31356
|
+
"class": [resolveClassName("cascader"), this.extCls, {
|
31246
31357
|
"is-unselected": this.modelValue.length === 0,
|
31247
31358
|
"is-hover": this.isHover,
|
31248
|
-
"is-filterable": this.filterable
|
31359
|
+
"is-filterable": this.filterable,
|
31360
|
+
"is-focus": this.isFocus,
|
31361
|
+
"is-disabled": this.disabled,
|
31362
|
+
"is-simplicity": this.behavior === "simplicity"
|
31249
31363
|
}],
|
31250
31364
|
"tabindex": "0",
|
31251
31365
|
"data-placeholder": this.placeholder,
|
31252
31366
|
"onMouseenter": this.setHover,
|
31253
|
-
"onMouseleave": this.cancelHover
|
31367
|
+
"onMouseleave": this.cancelHover,
|
31368
|
+
"ref": "bkCascaderRef"
|
31254
31369
|
}, [suffixIcon(), createVNode(BkPopover, {
|
31255
31370
|
"placement": "bottom-start",
|
31256
|
-
"theme":
|
31371
|
+
"theme": `light ${resolveClassName("cascader-popover")}`,
|
31257
31372
|
"trigger": "click",
|
31258
31373
|
"arrow": false,
|
31259
|
-
"
|
31374
|
+
"disabled": this.disabled,
|
31375
|
+
"class": resolveClassName("cascader-popover-wrapper"),
|
31260
31376
|
"ref": "popover",
|
31261
31377
|
"onAfterHidden": this.popoverChangeEmitter,
|
31262
31378
|
"onAfterShow": this.popoverChangeEmitter,
|
31263
31379
|
"boundary": "body"
|
31264
31380
|
}, {
|
31265
31381
|
default: () => createVNode("div", {
|
31266
|
-
"class": "
|
31267
|
-
}, [this.multiple && this.selectedTags.length > 0 && renderTags(), this.filterable ? createVNode("input", {
|
31268
|
-
"class": "
|
31382
|
+
"class": [resolveClassName("cascader-name"), "bk-scroll-y"]
|
31383
|
+
}, [this.multiple && this.selectedTags.length > 0 && renderTags(), this.filterable ? (this.isCollapse || this.selectedTags.length === 0) && createVNode("input", {
|
31384
|
+
"class": [resolveClassName("cascader-search-input"), {
|
31385
|
+
"is-disabled": this.disabled
|
31386
|
+
}],
|
31269
31387
|
"type": "text",
|
31270
31388
|
"onInput": this.searchInputHandler,
|
31271
31389
|
"placeholder": this.placeholder,
|
31272
|
-
"value": this.searchKey
|
31273
|
-
|
31390
|
+
"value": this.searchKey,
|
31391
|
+
"disabled": this.disabled,
|
31392
|
+
"ref": "inputRef"
|
31393
|
+
}, null) : textRender()]),
|
31274
31394
|
content: () => createVNode("div", {
|
31275
|
-
"class": "
|
31395
|
+
"class": resolveClassName("cascader-popover")
|
31276
31396
|
}, [createVNode(CascaderPanel, {
|
31277
31397
|
"store": this.store,
|
31278
31398
|
"ref": "cascaderPanel",
|
@@ -31286,10 +31406,10 @@ var Component$7 = defineComponent({
|
|
31286
31406
|
"onUpdate:modelValue": ($event) => this.checkedValue = $event
|
31287
31407
|
}, {
|
31288
31408
|
default: (scope) => this.$slots.default ? this.$slots.default(scope) : createVNode("span", {
|
31289
|
-
"class": "
|
31409
|
+
"class": resolveClassName("cascader-node-name")
|
31290
31410
|
}, [scope.node.name])
|
31291
31411
|
})])
|
31292
|
-
})]);
|
31412
|
+
})])]);
|
31293
31413
|
}
|
31294
31414
|
});
|
31295
31415
|
const BkCascader = withInstallProps(Component$7, { CascaderPanel });
|