@blueking/bk-user-selector 0.0.18 → 0.0.20
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/README.md +19 -16
- package/package.json +1 -1
- package/typings/components/multiple-selector.vue.d.ts +5 -0
- package/typings/components/selection-popover.vue.d.ts +16 -0
- package/typings/components/single-selector.vue.d.ts +5 -0
- package/typings/components/user-render.d.ts +21 -0
- package/typings/components/user-selector.vue.d.ts +6 -0
- package/typings/components/user-tag.vue.d.ts +9 -0
- package/typings/types/index.d.ts +1 -0
- package/vue2/index.es.min.js +92 -66
- package/vue2/index.iife.min.js +92 -72
- package/vue2/index.umd.min.js +92 -66
- package/vue2/vue2.css +27 -46
- package/vue3/index.es.min.js +92 -66
- package/vue3/index.iife.min.js +92 -66
- package/vue3/index.umd.min.js +92 -66
- package/vue3/vue3.css +27 -46
package/vue3/index.umd.min.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
})(this, function(exports2, vue, bkuiVue) {
|
|
4
4
|
"use strict";
|
|
5
5
|
var __vite_style__ = document.createElement("style");
|
|
6
|
-
__vite_style__.textContent = ".me-tag[data-v-887b7c44] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: #e1ecff;\n color: #4d4f56;\n border-radius: 50%;\n padding: 0 8px;\n height: 24px;\n width: 24px;\n cursor: pointer;\n font-size: 12px;\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n}\n.me-tag[data-v-887b7c44]:hover {\n background-color: #cddffe;\n color: #3a84ff;\n}\n.me-tag.disabled[data-v-887b7c44] {\n background-color: #f0f1f5;\n color: #c4c6cc;\n cursor: not-allowed;\n}.dropdown-content[data-v-
|
|
6
|
+
__vite_style__.textContent = ".me-tag[data-v-887b7c44] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: #e1ecff;\n color: #4d4f56;\n border-radius: 50%;\n padding: 0 8px;\n height: 24px;\n width: 24px;\n cursor: pointer;\n font-size: 12px;\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n}\n.me-tag[data-v-887b7c44]:hover {\n background-color: #cddffe;\n color: #3a84ff;\n}\n.me-tag.disabled[data-v-887b7c44] {\n background-color: #f0f1f5;\n color: #c4c6cc;\n cursor: not-allowed;\n}.dropdown-content[data-v-a24bd074] {\n min-height: 40px;\n max-height: 300px;\n overflow-y: auto;\n padding: 5px 0;\n}\n.dropdown-content .no-data[data-v-a24bd074] {\n padding: 10px;\n text-align: center;\n color: #979ba5;\n}\n.dropdown-content .user-group .group-header[data-v-a24bd074] {\n padding: 8px 12px;\n color: #979ba5;\n display: flex;\n align-items: center;\n}\n.dropdown-content .user-group .group-header .group-count[data-v-a24bd074] {\n margin-left: 4px;\n}\n.dropdown-content .user-option[data-v-a24bd074] {\n padding: 8px 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n height: 32px;\n}\n.dropdown-content .user-option[data-v-a24bd074]:hover {\n background-color: #f5f7fa;\n}\n.dropdown-content .user-option .tenant-name[data-v-a24bd074] {\n color: #f59500;\n margin-left: 4px;\n padding: 0 4px;\n}.bk-user-selector-popover.bk-popover.bk-pop2-content {\n padding: 0;\n}.user-tag[data-v-7099192b] {\n margin-right: 4px;\n margin-left: 0;\n}\n.user-tag.draggable[data-v-7099192b] {\n cursor: move;\n}\n.user-tag.active[data-v-7099192b] {\n background-color: #e1ecff;\n border-color: #3a84ff;\n}\n.user-tag .tag-content .user-name[data-v-7099192b] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 12px;\n}\n.user-tag .tag-content .tenant-name[data-v-7099192b] {\n color: #f59500;\n margin-left: 3px;\n white-space: nowrap;\n padding: 0 3px;\n border-radius: 2px;\n}.multiple-selector[data-v-5e95d86c] {\n position: relative;\n width: 100%;\n}\n.multiple-selector .tags-container[data-v-5e95d86c] {\n min-height: 32px;\n border: 1px solid #dcdee5;\n border-radius: 2px;\n padding: 1px 10px 1px 8px;\n transition: all 0.2s ease;\n background-color: #fff;\n}\n.multiple-selector .tags-container.focused[data-v-5e95d86c] {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.multiple-selector .tags-container.collapsed[data-v-5e95d86c] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-list[data-v-5e95d86c] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-wrapper[data-v-5e95d86c] {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n}\n.multiple-selector .search-input[data-v-5e95d86c] {\n outline: none;\n border: none;\n height: 28px;\n min-width: 10px;\n background: transparent;\n}\n.multiple-selector .search-input[data-v-5e95d86c]::placeholder {\n color: #c4c6cc;\n}\n.multiple-selector .search-input.inline[data-v-5e95d86c] {\n min-width: 10px;\n}\n.multiple-selector .search-input.last[data-v-5e95d86c], .multiple-selector .search-input.collapsed[data-v-5e95d86c] {\n flex: 1;\n min-width: 60px;\n}.single-selector[data-v-02021e20] {\n position: relative;\n width: 100%;\n}\n.input-container[data-v-02021e20] {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 32px;\n border: 1px solid #dcdee5;\n border-radius: 2px;\n padding: 0 8px;\n background-color: #fff;\n}\n.input-container[data-v-02021e20]:focus-within {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.search-input[data-v-02021e20] {\n flex: 1;\n outline: none;\n border: none;\n height: 30px;\n background: transparent;\n}\n.search-input[data-v-02021e20]::placeholder {\n color: #c4c6cc;\n}.bk-user-selector[data-v-c23f5bc9] {\n width: 100%;\n position: relative;\n font-size: 12px;\n}/*$vite$:1*/";
|
|
7
7
|
document.head.appendChild(__vite_style__);
|
|
8
8
|
const getTenants = async (apiBaseUrl, tenantId) => {
|
|
9
9
|
if (!apiBaseUrl || !tenantId) {
|
|
@@ -3018,17 +3018,40 @@
|
|
|
3018
3018
|
return target;
|
|
3019
3019
|
};
|
|
3020
3020
|
const MeTag = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-887b7c44"]]);
|
|
3021
|
+
const UserRender = vue.defineComponent({
|
|
3022
|
+
name: "UserRender",
|
|
3023
|
+
props: {
|
|
3024
|
+
render: {
|
|
3025
|
+
type: Function,
|
|
3026
|
+
required: true
|
|
3027
|
+
},
|
|
3028
|
+
user: {
|
|
3029
|
+
type: Object,
|
|
3030
|
+
required: true
|
|
3031
|
+
}
|
|
3032
|
+
},
|
|
3033
|
+
setup(props) {
|
|
3034
|
+
return () => {
|
|
3035
|
+
try {
|
|
3036
|
+
return props.render(vue.h, props.user);
|
|
3037
|
+
} catch (error) {
|
|
3038
|
+
console.error("Error rendering tag:", error);
|
|
3039
|
+
return vue.h("div", props.user.name);
|
|
3040
|
+
}
|
|
3041
|
+
};
|
|
3042
|
+
}
|
|
3043
|
+
});
|
|
3021
3044
|
const _hoisted_1$4 = {
|
|
3022
3045
|
key: 0,
|
|
3023
3046
|
class: "no-data"
|
|
3024
3047
|
};
|
|
3025
3048
|
const _hoisted_2$3 = { class: "group-name" };
|
|
3026
|
-
const _hoisted_3$
|
|
3049
|
+
const _hoisted_3$2 = { class: "group-count" };
|
|
3027
3050
|
const _hoisted_4$1 = ["onMousedown"];
|
|
3028
3051
|
const _hoisted_5 = { key: 0 };
|
|
3029
3052
|
const _hoisted_6 = { key: 1 };
|
|
3030
3053
|
const _hoisted_7 = {
|
|
3031
|
-
key:
|
|
3054
|
+
key: 0,
|
|
3032
3055
|
class: "tenant-name"
|
|
3033
3056
|
};
|
|
3034
3057
|
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -3106,6 +3129,12 @@
|
|
|
3106
3129
|
emptyText: {
|
|
3107
3130
|
type: String,
|
|
3108
3131
|
default: "无匹配人员"
|
|
3132
|
+
},
|
|
3133
|
+
/**
|
|
3134
|
+
* 渲染列表项
|
|
3135
|
+
*/
|
|
3136
|
+
renderListItem: {
|
|
3137
|
+
type: Function
|
|
3109
3138
|
}
|
|
3110
3139
|
},
|
|
3111
3140
|
emits: ["select-user"],
|
|
@@ -3115,7 +3144,7 @@
|
|
|
3115
3144
|
const groupedUsers = vue.computed(() => {
|
|
3116
3145
|
const groups = {};
|
|
3117
3146
|
if (Array.isArray(props.userGroup) && props.userGroup.length > 0) {
|
|
3118
|
-
groups[props.userGroupName] = props.userGroup.
|
|
3147
|
+
groups[props.userGroupName] = props.userGroup.map((group) => ({
|
|
3119
3148
|
...group,
|
|
3120
3149
|
tenantId: "",
|
|
3121
3150
|
type: "userGroup"
|
|
@@ -3185,7 +3214,7 @@
|
|
|
3185
3214
|
),
|
|
3186
3215
|
vue.createElementVNode(
|
|
3187
3216
|
"span",
|
|
3188
|
-
_hoisted_3$
|
|
3217
|
+
_hoisted_3$2,
|
|
3189
3218
|
"(" + vue.toDisplayString(group.length) + ")",
|
|
3190
3219
|
1
|
|
3191
3220
|
/* TEXT */
|
|
@@ -3203,20 +3232,19 @@
|
|
|
3203
3232
|
key: user.id,
|
|
3204
3233
|
onMousedown: vue.withModifiers(($event) => selectUser(user), ["prevent"])
|
|
3205
3234
|
}, [
|
|
3206
|
-
vue.
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
)) : (vue.openBlock(), vue.createElementBlock(
|
|
3235
|
+
__props.renderListItem ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
|
|
3236
|
+
vue.createVNode(vue.unref(UserRender), {
|
|
3237
|
+
render: __props.renderListItem,
|
|
3238
|
+
user
|
|
3239
|
+
}, null, 8, ["render", "user"])
|
|
3240
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
3241
|
+
vue.createElementVNode(
|
|
3214
3242
|
"span",
|
|
3215
|
-
|
|
3243
|
+
null,
|
|
3216
3244
|
vue.toDisplayString(user.name),
|
|
3217
3245
|
1
|
|
3218
3246
|
/* TEXT */
|
|
3219
|
-
)
|
|
3247
|
+
),
|
|
3220
3248
|
user.tenantId !== __props.tenantId && user.tenantId && __props.tenants[user.tenantId] ? (vue.openBlock(), vue.createElementBlock(
|
|
3221
3249
|
"span",
|
|
3222
3250
|
_hoisted_7,
|
|
@@ -3224,7 +3252,7 @@
|
|
|
3224
3252
|
1
|
|
3225
3253
|
/* TEXT */
|
|
3226
3254
|
)) : vue.createCommentVNode("v-if", true)
|
|
3227
|
-
])
|
|
3255
|
+
]))
|
|
3228
3256
|
], 40, _hoisted_4$1);
|
|
3229
3257
|
}),
|
|
3230
3258
|
128
|
|
@@ -3246,10 +3274,14 @@
|
|
|
3246
3274
|
};
|
|
3247
3275
|
}
|
|
3248
3276
|
});
|
|
3249
|
-
const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
3250
|
-
const _hoisted_1$3 = {
|
|
3251
|
-
const _hoisted_2$2 = {
|
|
3252
|
-
|
|
3277
|
+
const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-a24bd074"]]);
|
|
3278
|
+
const _hoisted_1$3 = { key: 0 };
|
|
3279
|
+
const _hoisted_2$2 = {
|
|
3280
|
+
key: 1,
|
|
3281
|
+
class: "tag-content"
|
|
3282
|
+
};
|
|
3283
|
+
const _hoisted_3$1 = { class: "user-name" };
|
|
3284
|
+
const _hoisted_4 = {
|
|
3253
3285
|
key: 0,
|
|
3254
3286
|
class: "tenant-name"
|
|
3255
3287
|
};
|
|
@@ -3264,7 +3296,8 @@
|
|
|
3264
3296
|
currentTenantId: {},
|
|
3265
3297
|
draggable: { type: Boolean },
|
|
3266
3298
|
active: { type: Boolean },
|
|
3267
|
-
showTenant: { type: Boolean }
|
|
3299
|
+
showTenant: { type: Boolean },
|
|
3300
|
+
renderTag: { type: Function }
|
|
3268
3301
|
},
|
|
3269
3302
|
emits: ["click", "close"],
|
|
3270
3303
|
setup(__props, { emit: __emit }) {
|
|
@@ -3283,22 +3316,27 @@
|
|
|
3283
3316
|
onClose: handleClose
|
|
3284
3317
|
}, {
|
|
3285
3318
|
default: vue.withCtx(() => [
|
|
3286
|
-
vue.
|
|
3319
|
+
_ctx.renderTag ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
3320
|
+
vue.createVNode(vue.unref(UserRender), {
|
|
3321
|
+
render: _ctx.renderTag,
|
|
3322
|
+
user: _ctx.user
|
|
3323
|
+
}, null, 8, ["render", "user"])
|
|
3324
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
|
|
3287
3325
|
vue.createElementVNode(
|
|
3288
3326
|
"span",
|
|
3289
|
-
|
|
3327
|
+
_hoisted_3$1,
|
|
3290
3328
|
vue.toDisplayString(_ctx.user.name),
|
|
3291
3329
|
1
|
|
3292
3330
|
/* TEXT */
|
|
3293
3331
|
),
|
|
3294
3332
|
_ctx.user.tenantId !== _ctx.currentTenantId && _ctx.user.tenantId ? (vue.openBlock(), vue.createElementBlock(
|
|
3295
3333
|
"span",
|
|
3296
|
-
|
|
3334
|
+
_hoisted_4,
|
|
3297
3335
|
" @" + vue.toDisplayString(_ctx.tenants[_ctx.user.tenantId]),
|
|
3298
3336
|
1
|
|
3299
3337
|
/* TEXT */
|
|
3300
3338
|
)) : vue.createCommentVNode("v-if", true)
|
|
3301
|
-
])
|
|
3339
|
+
]))
|
|
3302
3340
|
]),
|
|
3303
3341
|
_: 1
|
|
3304
3342
|
/* STABLE */
|
|
@@ -3306,10 +3344,10 @@
|
|
|
3306
3344
|
};
|
|
3307
3345
|
}
|
|
3308
3346
|
});
|
|
3309
|
-
const UserTag = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
3347
|
+
const UserTag = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7099192b"]]);
|
|
3310
3348
|
const _hoisted_1$2 = ["onClick"];
|
|
3311
3349
|
const _hoisted_2$1 = ["placeholder"];
|
|
3312
|
-
const _hoisted_3
|
|
3350
|
+
const _hoisted_3 = ["placeholder"];
|
|
3313
3351
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
3314
3352
|
...{
|
|
3315
3353
|
name: "BkUserSelectorMultiple"
|
|
@@ -3358,6 +3396,9 @@
|
|
|
3358
3396
|
const options = vue.computed(() => {
|
|
3359
3397
|
return searchResults.value.filter((user) => !props.selectedUsers.some((selectedUser) => selectedUser.id === user.id));
|
|
3360
3398
|
});
|
|
3399
|
+
const userGroupFilter = vue.computed(() => {
|
|
3400
|
+
return props.userGroup.filter((group) => !props.selectedUsers.some((user) => user.id === group.id) && !group.hidden);
|
|
3401
|
+
});
|
|
3361
3402
|
const initSortable = () => {
|
|
3362
3403
|
if (!props.draggable || !sortableContainerRef.value) return;
|
|
3363
3404
|
if (sortableInstance.value) {
|
|
@@ -3616,11 +3657,12 @@
|
|
|
3616
3657
|
active: index === activeTagIndex.value,
|
|
3617
3658
|
"current-tenant-id": _ctx.tenantId,
|
|
3618
3659
|
draggable: _ctx.draggable,
|
|
3660
|
+
"render-tag": _ctx.renderTag,
|
|
3619
3661
|
tenants: _ctx.tenants,
|
|
3620
3662
|
user,
|
|
3621
3663
|
onClick: ($event) => handleTagClick(index),
|
|
3622
3664
|
onClose: ($event) => removeUser(user)
|
|
3623
|
-
}, null, 8, ["active", "current-tenant-id", "draggable", "tenants", "user", "onClick", "onClose"]),
|
|
3665
|
+
}, null, 8, ["active", "current-tenant-id", "draggable", "render-tag", "tenants", "user", "onClick", "onClose"]),
|
|
3624
3666
|
vue.createCommentVNode(" 在当前激活标签后插入输入框 "),
|
|
3625
3667
|
index === activeTagIndex.value && activeTagIndex.value !== _ctx.selectedUsers.length - 1 ? vue.withDirectives((vue.openBlock(), vue.createElementBlock(
|
|
3626
3668
|
"input",
|
|
@@ -3696,12 +3738,13 @@
|
|
|
3696
3738
|
return vue.openBlock(), vue.createBlock(UserTag, {
|
|
3697
3739
|
"current-tenant-id": _ctx.tenantId,
|
|
3698
3740
|
key: user.id,
|
|
3741
|
+
"render-tag": _ctx.renderTag,
|
|
3699
3742
|
"show-tenant": true,
|
|
3700
3743
|
tenants: _ctx.tenants,
|
|
3701
3744
|
user,
|
|
3702
3745
|
onClick: handleFocus,
|
|
3703
3746
|
onClose: ($event) => removeUser(user)
|
|
3704
|
-
}, null, 8, ["current-tenant-id", "tenants", "user", "onClose"]);
|
|
3747
|
+
}, null, 8, ["current-tenant-id", "render-tag", "tenants", "user", "onClose"]);
|
|
3705
3748
|
}),
|
|
3706
3749
|
128
|
|
3707
3750
|
/* KEYED_FRAGMENT */
|
|
@@ -3734,7 +3777,7 @@
|
|
|
3734
3777
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(searchQuery) ? searchQuery.value = $event : null),
|
|
3735
3778
|
placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
|
|
3736
3779
|
onFocus: handleFocus
|
|
3737
|
-
}, null, 40, _hoisted_3
|
|
3780
|
+
}, null, 40, _hoisted_3), [
|
|
3738
3781
|
[vue.vModelText, vue.unref(searchQuery)]
|
|
3739
3782
|
]),
|
|
3740
3783
|
vue.createCommentVNode(' 未聚焦状态下的"我"标签 '),
|
|
@@ -3758,14 +3801,15 @@
|
|
|
3758
3801
|
"is-show": showDropdown.value,
|
|
3759
3802
|
loading: vue.unref(searchLoading),
|
|
3760
3803
|
options: options.value,
|
|
3804
|
+
"render-list-item": _ctx.renderListItem,
|
|
3761
3805
|
"search-query": vue.unref(searchQuery),
|
|
3762
3806
|
"tenant-id": _ctx.tenantId,
|
|
3763
3807
|
tenants: _ctx.tenants,
|
|
3764
|
-
"user-group":
|
|
3808
|
+
"user-group": userGroupFilter.value,
|
|
3765
3809
|
"user-group-name": _ctx.userGroupName,
|
|
3766
3810
|
onClickoutside: handleClickOutside,
|
|
3767
3811
|
onSelectUser: addUser
|
|
3768
|
-
}, null, 8, ["container-width", "empty-text", "is-show", "loading", "options", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
|
|
3812
|
+
}, null, 8, ["container-width", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
|
|
3769
3813
|
],
|
|
3770
3814
|
512
|
|
3771
3815
|
/* NEED_PATCH */
|
|
@@ -3773,21 +3817,9 @@
|
|
|
3773
3817
|
};
|
|
3774
3818
|
}
|
|
3775
3819
|
});
|
|
3776
|
-
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
3777
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-5040d42f"), n = n(), vue.popScopeId(), n);
|
|
3820
|
+
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-5e95d86c"]]);
|
|
3778
3821
|
const _hoisted_1$1 = { class: "input-container" };
|
|
3779
|
-
const _hoisted_2 =
|
|
3780
|
-
key: 0,
|
|
3781
|
-
class: "tenant-name"
|
|
3782
|
-
};
|
|
3783
|
-
const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
|
|
3784
|
-
"i",
|
|
3785
|
-
{ class: "close-icon" },
|
|
3786
|
-
"×",
|
|
3787
|
-
-1
|
|
3788
|
-
/* HOISTED */
|
|
3789
|
-
));
|
|
3790
|
-
const _hoisted_4 = ["placeholder"];
|
|
3822
|
+
const _hoisted_2 = ["placeholder"];
|
|
3791
3823
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
3792
3824
|
...{
|
|
3793
3825
|
name: "BkUserSelectorSingle"
|
|
@@ -3818,6 +3850,9 @@
|
|
|
3818
3850
|
const selectedUser = vue.ref(props.modelValue || "");
|
|
3819
3851
|
const searchQuery = vue.ref("");
|
|
3820
3852
|
const showDropdown = vue.ref(false);
|
|
3853
|
+
const userGroupFilter = vue.computed(() => {
|
|
3854
|
+
return props.userGroup.filter((group) => group.id !== selectedUser.value && !group.hidden);
|
|
3855
|
+
});
|
|
3821
3856
|
const selectedUserInfo = vue.computed(() => {
|
|
3822
3857
|
const userGroup = (props.userGroup || []).map((group) => ({
|
|
3823
3858
|
...group,
|
|
@@ -3916,24 +3951,14 @@
|
|
|
3916
3951
|
vue.createCommentVNode(" 用户标签显示 "),
|
|
3917
3952
|
selectedUserInfo.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3918
3953
|
key: 0,
|
|
3919
|
-
class: "selected-user",
|
|
3920
3954
|
onClick: vue.withModifiers(removeSelectedUser, ["stop"])
|
|
3921
3955
|
}, [
|
|
3922
|
-
vue.
|
|
3923
|
-
"
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
),
|
|
3929
|
-
selectedUserInfo.value.tenantId !== _ctx.tenantId && selectedUserInfo.value.tenantId && _ctx.tenants[selectedUserInfo.value.tenantId] ? (vue.openBlock(), vue.createElementBlock(
|
|
3930
|
-
"span",
|
|
3931
|
-
_hoisted_2,
|
|
3932
|
-
"@" + vue.toDisplayString(_ctx.tenants[selectedUserInfo.value.tenantId]),
|
|
3933
|
-
1
|
|
3934
|
-
/* TEXT */
|
|
3935
|
-
)) : vue.createCommentVNode("v-if", true),
|
|
3936
|
-
_hoisted_3
|
|
3956
|
+
vue.createVNode(UserTag, {
|
|
3957
|
+
"render-tag": _ctx.renderTag,
|
|
3958
|
+
tenants: _ctx.tenants,
|
|
3959
|
+
user: selectedUserInfo.value,
|
|
3960
|
+
onClose: removeSelectedUser
|
|
3961
|
+
}, null, 8, ["render-tag", "tenants", "user"])
|
|
3937
3962
|
])) : vue.createCommentVNode("v-if", true),
|
|
3938
3963
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
3939
3964
|
ref_key: "inputRef",
|
|
@@ -3943,7 +3968,7 @@
|
|
|
3943
3968
|
placeholder: selectedUserInfo.value ? "" : _ctx.placeholder,
|
|
3944
3969
|
onFocus: handleInputFocus,
|
|
3945
3970
|
onInput: handleInput
|
|
3946
|
-
}, null, 40,
|
|
3971
|
+
}, null, 40, _hoisted_2), [
|
|
3947
3972
|
[vue.vModelText, searchQuery.value]
|
|
3948
3973
|
]),
|
|
3949
3974
|
vue.createCommentVNode(' "我"标签 '),
|
|
@@ -3960,20 +3985,21 @@
|
|
|
3960
3985
|
"is-show": showDropdown.value,
|
|
3961
3986
|
loading: isLoading.value,
|
|
3962
3987
|
options: options.value,
|
|
3988
|
+
"render-list-item": _ctx.renderListItem,
|
|
3963
3989
|
"search-query": searchQuery.value,
|
|
3964
3990
|
"tenant-id": _ctx.tenantId,
|
|
3965
3991
|
tenants: _ctx.tenants,
|
|
3966
|
-
"user-group":
|
|
3992
|
+
"user-group": userGroupFilter.value,
|
|
3967
3993
|
"user-group-name": _ctx.userGroupName,
|
|
3968
3994
|
onSelectUser: addUser
|
|
3969
|
-
}, null, 8, ["container-width", "empty-text", "is-show", "loading", "options", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
|
|
3995
|
+
}, null, 8, ["container-width", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
|
|
3970
3996
|
])), [
|
|
3971
3997
|
[vue.unref(bkuiVue.clickoutside), handleClickOutside]
|
|
3972
3998
|
]);
|
|
3973
3999
|
};
|
|
3974
4000
|
}
|
|
3975
4001
|
});
|
|
3976
|
-
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
4002
|
+
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-02021e20"]]);
|
|
3977
4003
|
const _hoisted_1 = {
|
|
3978
4004
|
ref: "containerRef",
|
|
3979
4005
|
class: "bk-user-selector"
|
package/vue3/vue3.css
CHANGED
|
@@ -24,70 +24,70 @@
|
|
|
24
24
|
background-color: #f0f1f5;
|
|
25
25
|
color: #c4c6cc;
|
|
26
26
|
cursor: not-allowed;
|
|
27
|
-
}.dropdown-content[data-v-
|
|
27
|
+
}.dropdown-content[data-v-a24bd074] {
|
|
28
28
|
min-height: 40px;
|
|
29
29
|
max-height: 300px;
|
|
30
30
|
overflow-y: auto;
|
|
31
31
|
padding: 5px 0;
|
|
32
32
|
}
|
|
33
|
-
.dropdown-content .no-data[data-v-
|
|
33
|
+
.dropdown-content .no-data[data-v-a24bd074] {
|
|
34
34
|
padding: 10px;
|
|
35
35
|
text-align: center;
|
|
36
36
|
color: #979ba5;
|
|
37
37
|
}
|
|
38
|
-
.dropdown-content .user-group .group-header[data-v-
|
|
38
|
+
.dropdown-content .user-group .group-header[data-v-a24bd074] {
|
|
39
39
|
padding: 8px 12px;
|
|
40
40
|
color: #979ba5;
|
|
41
41
|
display: flex;
|
|
42
42
|
align-items: center;
|
|
43
43
|
}
|
|
44
|
-
.dropdown-content .user-group .group-header .group-count[data-v-
|
|
44
|
+
.dropdown-content .user-group .group-header .group-count[data-v-a24bd074] {
|
|
45
45
|
margin-left: 4px;
|
|
46
46
|
}
|
|
47
|
-
.dropdown-content .user-option[data-v-
|
|
47
|
+
.dropdown-content .user-option[data-v-a24bd074] {
|
|
48
48
|
padding: 8px 12px;
|
|
49
49
|
cursor: pointer;
|
|
50
50
|
display: flex;
|
|
51
51
|
align-items: center;
|
|
52
52
|
height: 32px;
|
|
53
53
|
}
|
|
54
|
-
.dropdown-content .user-option[data-v-
|
|
54
|
+
.dropdown-content .user-option[data-v-a24bd074]:hover {
|
|
55
55
|
background-color: #f5f7fa;
|
|
56
56
|
}
|
|
57
|
-
.dropdown-content .user-option .tenant-name[data-v-
|
|
57
|
+
.dropdown-content .user-option .tenant-name[data-v-a24bd074] {
|
|
58
58
|
color: #f59500;
|
|
59
59
|
margin-left: 4px;
|
|
60
60
|
padding: 0 4px;
|
|
61
61
|
}.bk-user-selector-popover.bk-popover.bk-pop2-content {
|
|
62
62
|
padding: 0;
|
|
63
|
-
}.user-tag[data-v-
|
|
63
|
+
}.user-tag[data-v-7099192b] {
|
|
64
64
|
margin-right: 4px;
|
|
65
65
|
margin-left: 0;
|
|
66
66
|
}
|
|
67
|
-
.user-tag.draggable[data-v-
|
|
67
|
+
.user-tag.draggable[data-v-7099192b] {
|
|
68
68
|
cursor: move;
|
|
69
69
|
}
|
|
70
|
-
.user-tag.active[data-v-
|
|
70
|
+
.user-tag.active[data-v-7099192b] {
|
|
71
71
|
background-color: #e1ecff;
|
|
72
72
|
border-color: #3a84ff;
|
|
73
73
|
}
|
|
74
|
-
.user-tag .tag-content .user-name[data-v-
|
|
74
|
+
.user-tag .tag-content .user-name[data-v-7099192b] {
|
|
75
75
|
white-space: nowrap;
|
|
76
76
|
overflow: hidden;
|
|
77
77
|
text-overflow: ellipsis;
|
|
78
78
|
font-size: 12px;
|
|
79
79
|
}
|
|
80
|
-
.user-tag .tag-content .tenant-name[data-v-
|
|
80
|
+
.user-tag .tag-content .tenant-name[data-v-7099192b] {
|
|
81
81
|
color: #f59500;
|
|
82
82
|
margin-left: 3px;
|
|
83
83
|
white-space: nowrap;
|
|
84
84
|
padding: 0 3px;
|
|
85
85
|
border-radius: 2px;
|
|
86
|
-
}.multiple-selector[data-v-
|
|
86
|
+
}.multiple-selector[data-v-5e95d86c] {
|
|
87
87
|
position: relative;
|
|
88
88
|
width: 100%;
|
|
89
89
|
}
|
|
90
|
-
.multiple-selector .tags-container[data-v-
|
|
90
|
+
.multiple-selector .tags-container[data-v-5e95d86c] {
|
|
91
91
|
min-height: 32px;
|
|
92
92
|
border: 1px solid #dcdee5;
|
|
93
93
|
border-radius: 2px;
|
|
@@ -95,46 +95,46 @@
|
|
|
95
95
|
transition: all 0.2s ease;
|
|
96
96
|
background-color: #fff;
|
|
97
97
|
}
|
|
98
|
-
.multiple-selector .tags-container.focused[data-v-
|
|
98
|
+
.multiple-selector .tags-container.focused[data-v-5e95d86c] {
|
|
99
99
|
border-color: #3a84ff;
|
|
100
100
|
box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);
|
|
101
101
|
}
|
|
102
|
-
.multiple-selector .tags-container.collapsed[data-v-
|
|
102
|
+
.multiple-selector .tags-container.collapsed[data-v-5e95d86c] {
|
|
103
103
|
display: flex;
|
|
104
104
|
flex-wrap: wrap;
|
|
105
105
|
align-items: center;
|
|
106
106
|
}
|
|
107
|
-
.multiple-selector .tag-list[data-v-
|
|
107
|
+
.multiple-selector .tag-list[data-v-5e95d86c] {
|
|
108
108
|
display: flex;
|
|
109
109
|
flex-wrap: wrap;
|
|
110
110
|
align-items: center;
|
|
111
111
|
}
|
|
112
|
-
.multiple-selector .tag-wrapper[data-v-
|
|
112
|
+
.multiple-selector .tag-wrapper[data-v-5e95d86c] {
|
|
113
113
|
display: inline-flex;
|
|
114
114
|
align-items: center;
|
|
115
115
|
max-width: 100%;
|
|
116
116
|
}
|
|
117
|
-
.multiple-selector .search-input[data-v-
|
|
117
|
+
.multiple-selector .search-input[data-v-5e95d86c] {
|
|
118
118
|
outline: none;
|
|
119
119
|
border: none;
|
|
120
120
|
height: 28px;
|
|
121
121
|
min-width: 10px;
|
|
122
122
|
background: transparent;
|
|
123
123
|
}
|
|
124
|
-
.multiple-selector .search-input[data-v-
|
|
124
|
+
.multiple-selector .search-input[data-v-5e95d86c]::placeholder {
|
|
125
125
|
color: #c4c6cc;
|
|
126
126
|
}
|
|
127
|
-
.multiple-selector .search-input.inline[data-v-
|
|
127
|
+
.multiple-selector .search-input.inline[data-v-5e95d86c] {
|
|
128
128
|
min-width: 10px;
|
|
129
129
|
}
|
|
130
|
-
.multiple-selector .search-input.last[data-v-
|
|
130
|
+
.multiple-selector .search-input.last[data-v-5e95d86c], .multiple-selector .search-input.collapsed[data-v-5e95d86c] {
|
|
131
131
|
flex: 1;
|
|
132
132
|
min-width: 60px;
|
|
133
|
-
}.single-selector[data-v-
|
|
133
|
+
}.single-selector[data-v-02021e20] {
|
|
134
134
|
position: relative;
|
|
135
135
|
width: 100%;
|
|
136
136
|
}
|
|
137
|
-
.input-container[data-v-
|
|
137
|
+
.input-container[data-v-02021e20] {
|
|
138
138
|
position: relative;
|
|
139
139
|
display: flex;
|
|
140
140
|
align-items: center;
|
|
@@ -144,38 +144,19 @@
|
|
|
144
144
|
padding: 0 8px;
|
|
145
145
|
background-color: #fff;
|
|
146
146
|
}
|
|
147
|
-
.input-container[data-v-
|
|
147
|
+
.input-container[data-v-02021e20]:focus-within {
|
|
148
148
|
border-color: #3a84ff;
|
|
149
149
|
box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);
|
|
150
150
|
}
|
|
151
|
-
.search-input[data-v-
|
|
151
|
+
.search-input[data-v-02021e20] {
|
|
152
152
|
flex: 1;
|
|
153
153
|
outline: none;
|
|
154
154
|
border: none;
|
|
155
155
|
height: 30px;
|
|
156
156
|
background: transparent;
|
|
157
157
|
}
|
|
158
|
-
.search-input[data-v-
|
|
158
|
+
.search-input[data-v-02021e20]::placeholder {
|
|
159
159
|
color: #c4c6cc;
|
|
160
|
-
}
|
|
161
|
-
.selected-user[data-v-5040d42f] {
|
|
162
|
-
display: inline-flex;
|
|
163
|
-
align-items: center;
|
|
164
|
-
background-color: #f0f1f5;
|
|
165
|
-
border-radius: 2px;
|
|
166
|
-
padding: 0 8px;
|
|
167
|
-
margin-right: 8px;
|
|
168
|
-
height: 24px;
|
|
169
|
-
max-width: calc(100% - 32px);
|
|
170
|
-
}
|
|
171
|
-
.selected-user .tenant-name[data-v-5040d42f] {
|
|
172
|
-
color: #f59500;
|
|
173
|
-
margin-left: 4px;
|
|
174
|
-
}
|
|
175
|
-
.selected-user .close-icon[data-v-5040d42f] {
|
|
176
|
-
margin-left: 4px;
|
|
177
|
-
cursor: pointer;
|
|
178
|
-
font-style: normal;
|
|
179
160
|
}.bk-user-selector[data-v-c23f5bc9] {
|
|
180
161
|
width: 100%;
|
|
181
162
|
position: relative;
|