@blueking/bk-user-selector 0.0.38 → 0.0.39-beta.2
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 +7 -6
- package/package.json +1 -1
- package/typings/api/user.d.ts +8 -8
- package/typings/components/multiple-selector.vue.d.ts +5 -4
- package/typings/components/selection-popover.vue.d.ts +3 -3
- package/typings/components/single-selector.vue.d.ts +3 -3
- package/typings/components/user-selector.vue.d.ts +5 -4
- package/typings/components/user-tag.vue.d.ts +20 -20
- package/typings/hooks/use-jsonp.d.ts +5 -5
- package/typings/hooks/useUserSearch.d.ts +1 -1
- package/typings/types/index.d.ts +107 -99
- package/typings/utils/common.d.ts +1 -1
- package/vue2/index.es.min.js +123 -209
- package/vue2/index.iife.min.js +123 -209
- package/vue2/index.umd.min.js +123 -209
- package/vue2/vue2.css +41 -41
- package/vue3/index.es.min.js +118 -63
- package/vue3/index.iife.min.js +123 -209
- package/vue3/index.umd.min.js +119 -64
- package/vue3/vue3.css +41 -41
package/vue2/index.es.min.js
CHANGED
|
@@ -4546,10 +4546,6 @@ __webpack_require__$7.d(__webpack_exports__$7, {
|
|
|
4546
4546
|
/* reexport */
|
|
4547
4547
|
lang_en
|
|
4548
4548
|
),
|
|
4549
|
-
jp: () => (
|
|
4550
|
-
/* reexport */
|
|
4551
|
-
ja_jp
|
|
4552
|
-
),
|
|
4553
4549
|
zhCn: () => (
|
|
4554
4550
|
/* reexport */
|
|
4555
4551
|
zh_cn
|
|
@@ -4737,145 +4733,6 @@ var en = {
|
|
|
4737
4733
|
}
|
|
4738
4734
|
};
|
|
4739
4735
|
const lang_en = en;
|
|
4740
|
-
var jp = {
|
|
4741
|
-
lang: "ja",
|
|
4742
|
-
steps: {
|
|
4743
|
-
step1: "ステップ1",
|
|
4744
|
-
step2: "ステップ2",
|
|
4745
|
-
step3: "ステップ3"
|
|
4746
|
-
},
|
|
4747
|
-
datePicker: {
|
|
4748
|
-
selectDate: "日付を選択",
|
|
4749
|
-
selectTime: "時間を選択",
|
|
4750
|
-
clear: "クリア",
|
|
4751
|
-
ok: "OK",
|
|
4752
|
-
weekdays: {
|
|
4753
|
-
sun: "日",
|
|
4754
|
-
mon: "月",
|
|
4755
|
-
tue: "火",
|
|
4756
|
-
wed: "水",
|
|
4757
|
-
thu: "木",
|
|
4758
|
-
fri: "金",
|
|
4759
|
-
sat: "土"
|
|
4760
|
-
},
|
|
4761
|
-
hour: "時間",
|
|
4762
|
-
min: "分",
|
|
4763
|
-
sec: "秒",
|
|
4764
|
-
toNow: "現在まで"
|
|
4765
|
-
},
|
|
4766
|
-
dialog: {
|
|
4767
|
-
ok: "OK",
|
|
4768
|
-
cancel: "キャンセル",
|
|
4769
|
-
prev: "前へ",
|
|
4770
|
-
next: "次へ"
|
|
4771
|
-
},
|
|
4772
|
-
popConfirm: {
|
|
4773
|
-
ok: "OK",
|
|
4774
|
-
cancel: "キャンセル"
|
|
4775
|
-
},
|
|
4776
|
-
form: {
|
|
4777
|
-
notBeEmpty: "空にできません",
|
|
4778
|
-
incorrectFormat: "形式が正しくありません",
|
|
4779
|
-
max: "最大値",
|
|
4780
|
-
min: "最小値",
|
|
4781
|
-
maxLen: "最大長",
|
|
4782
|
-
verifyError: "検証エラー"
|
|
4783
|
-
},
|
|
4784
|
-
pagination: {
|
|
4785
|
-
eachPage: "各ページ",
|
|
4786
|
-
strip: "",
|
|
4787
|
-
total: "合計"
|
|
4788
|
-
},
|
|
4789
|
-
process: {
|
|
4790
|
-
step1: "ステップ1",
|
|
4791
|
-
step2: "ステップ2",
|
|
4792
|
-
step3: "ステップ3",
|
|
4793
|
-
step4: "ステップ4"
|
|
4794
|
-
},
|
|
4795
|
-
searchSelect: {
|
|
4796
|
-
pleaseSelect: "選択してください",
|
|
4797
|
-
loading: "ロード中...",
|
|
4798
|
-
filterQueryMustHasValue: "フィルタークエリに値を含める必要があります",
|
|
4799
|
-
ok: "OK",
|
|
4800
|
-
cancel: "キャンセル",
|
|
4801
|
-
or: "または",
|
|
4802
|
-
and: "そして",
|
|
4803
|
-
logical: "論理:"
|
|
4804
|
-
},
|
|
4805
|
-
select: {
|
|
4806
|
-
noData: "データなし",
|
|
4807
|
-
noMatchedData: "一致するデータがありません",
|
|
4808
|
-
loading: "読み込み中...",
|
|
4809
|
-
pleaseSelect: "選んでください",
|
|
4810
|
-
enterKeywords: "キーワードを入力してください",
|
|
4811
|
-
all: "すべて",
|
|
4812
|
-
selectAll: "すべて選択"
|
|
4813
|
-
},
|
|
4814
|
-
table: {
|
|
4815
|
-
emptyText: "データがありません",
|
|
4816
|
-
confirm: "確認",
|
|
4817
|
-
reset: "リセット",
|
|
4818
|
-
sort: "ソート",
|
|
4819
|
-
setting: {
|
|
4820
|
-
title: "テーブル設定",
|
|
4821
|
-
fields: {
|
|
4822
|
-
title: "表示フィールド設定",
|
|
4823
|
-
subtitle: function subtitle2(max2) {
|
|
4824
|
-
return "(".concat(max2, "フィールド最大)");
|
|
4825
|
-
},
|
|
4826
|
-
selectAll: "すべて選択"
|
|
4827
|
-
},
|
|
4828
|
-
lineHeight: {
|
|
4829
|
-
title: "テーブル行の高さ",
|
|
4830
|
-
small: "小",
|
|
4831
|
-
medium: "中",
|
|
4832
|
-
large: "大"
|
|
4833
|
-
},
|
|
4834
|
-
options: {
|
|
4835
|
-
ok: "OK",
|
|
4836
|
-
cancel: "キャンセル"
|
|
4837
|
-
}
|
|
4838
|
-
}
|
|
4839
|
-
},
|
|
4840
|
-
transfer: {
|
|
4841
|
-
sourceList: "ソースリスト",
|
|
4842
|
-
targetList: "ターゲットリスト",
|
|
4843
|
-
removeAll: "すべて削除",
|
|
4844
|
-
selectAll: "すべて選択",
|
|
4845
|
-
noData: "データがありません",
|
|
4846
|
-
noSelected: "選択されていません",
|
|
4847
|
-
search: "検索"
|
|
4848
|
-
},
|
|
4849
|
-
upload: {
|
|
4850
|
-
uploadSuccess: "アップロード成功",
|
|
4851
|
-
uploadFailed: "アップロード失敗",
|
|
4852
|
-
drapFileOr: "ここにファイルをドラッグまたは",
|
|
4853
|
-
clickUpload: "クリックしてアップロード",
|
|
4854
|
-
uploadLabel: "ファイルをアップロード"
|
|
4855
|
-
},
|
|
4856
|
-
input: {
|
|
4857
|
-
placeholder: "入力してください",
|
|
4858
|
-
maxlengthLimitTips: "文字数制限に達しました"
|
|
4859
|
-
},
|
|
4860
|
-
tagInput: {
|
|
4861
|
-
placeholder: "入力してEnterキーで終了"
|
|
4862
|
-
},
|
|
4863
|
-
message: {
|
|
4864
|
-
assistant: "アシスタント",
|
|
4865
|
-
details: "詳細",
|
|
4866
|
-
copySuccess: "コピー成功",
|
|
4867
|
-
copyFailed: "コピー失敗"
|
|
4868
|
-
},
|
|
4869
|
-
cascader: {
|
|
4870
|
-
pleaseSelect: "選択してください",
|
|
4871
|
-
noData: "データがありません",
|
|
4872
|
-
emptyText: "データがありません"
|
|
4873
|
-
},
|
|
4874
|
-
versionLog: {
|
|
4875
|
-
current: "現在のバージョン"
|
|
4876
|
-
}
|
|
4877
|
-
};
|
|
4878
|
-
const ja_jp = jp;
|
|
4879
4736
|
var zhCn = {
|
|
4880
4737
|
lang: "zh-cn",
|
|
4881
4738
|
steps: {
|
|
@@ -4960,7 +4817,7 @@ var zhCn = {
|
|
|
4960
4817
|
title: "表格设置",
|
|
4961
4818
|
fields: {
|
|
4962
4819
|
title: "字段显示设置",
|
|
4963
|
-
subtitle: function
|
|
4820
|
+
subtitle: function subtitle2(max2) {
|
|
4964
4821
|
return "(最多".concat(max2, "项)");
|
|
4965
4822
|
},
|
|
4966
4823
|
selectAll: "全选"
|
|
@@ -5059,7 +4916,6 @@ var zhCn = {
|
|
|
5059
4916
|
};
|
|
5060
4917
|
const zh_cn = zhCn;
|
|
5061
4918
|
__webpack_exports__$7.en;
|
|
5062
|
-
__webpack_exports__$7.jp;
|
|
5063
4919
|
var __webpack_exports__zhCn = __webpack_exports__$7.zhCn;
|
|
5064
4920
|
var __webpack_require__$6 = {};
|
|
5065
4921
|
(() => {
|
|
@@ -10617,6 +10473,9 @@ var __webpack_exports__ = {};
|
|
|
10617
10473
|
hide2(el);
|
|
10618
10474
|
}, 100);
|
|
10619
10475
|
});
|
|
10476
|
+
el.addEventListener("click", function() {
|
|
10477
|
+
hide2(el);
|
|
10478
|
+
});
|
|
10620
10479
|
popper2.addEventListener("mouseleave", function() {
|
|
10621
10480
|
clearTimeout(delayTimeout);
|
|
10622
10481
|
hideTimeout = setTimeout(function() {
|
|
@@ -10630,7 +10489,7 @@ var __webpack_exports__ = {};
|
|
|
10630
10489
|
show(el);
|
|
10631
10490
|
clearTimeout(delayTimeout);
|
|
10632
10491
|
}, opts.delay);
|
|
10633
|
-
} else if (
|
|
10492
|
+
} else if (popper2.hasAttribute("data-show")) {
|
|
10634
10493
|
hide2(el);
|
|
10635
10494
|
}
|
|
10636
10495
|
});
|
|
@@ -10819,15 +10678,11 @@ const generateCallbackName = () => {
|
|
|
10819
10678
|
const jsonpRequest = (requestUrl, options = {}) => {
|
|
10820
10679
|
return new Promise((resolve, reject) => {
|
|
10821
10680
|
const url = unref(requestUrl);
|
|
10822
|
-
const { timeout = 1e3 * 60 * 2, params
|
|
10681
|
+
const { timeout = 1e3 * 60 * 2, params } = options;
|
|
10823
10682
|
const callbackName = generateCallbackName();
|
|
10824
10683
|
const script = document.createElement("script");
|
|
10825
|
-
let timeoutId;
|
|
10826
|
-
|
|
10827
|
-
script.crossOrigin = "use-credentials";
|
|
10828
|
-
} else {
|
|
10829
|
-
script.crossOrigin = "anonymous";
|
|
10830
|
-
}
|
|
10684
|
+
let timeoutId = null;
|
|
10685
|
+
script.setAttribute("type", "text/javascript");
|
|
10831
10686
|
const cleanup = () => {
|
|
10832
10687
|
if (timeoutId) {
|
|
10833
10688
|
clearTimeout(timeoutId);
|
|
@@ -14069,7 +13924,7 @@ const _export_sfc = (sfc, props2) => {
|
|
|
14069
13924
|
}
|
|
14070
13925
|
return target;
|
|
14071
13926
|
};
|
|
14072
|
-
const MeTag = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-
|
|
13927
|
+
const MeTag = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-ef4a05c4"]]);
|
|
14073
13928
|
const UserRender = defineComponent({
|
|
14074
13929
|
name: "UserRender",
|
|
14075
13930
|
props: {
|
|
@@ -14244,22 +14099,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14244
14099
|
};
|
|
14245
14100
|
return (_ctx, _cache) => {
|
|
14246
14101
|
return openBlock(), createBlock(unref(__webpack_exports__default$1), {
|
|
14247
|
-
"ext-cls": "bk-user-selector-popover",
|
|
14248
14102
|
arrow: false,
|
|
14103
|
+
"ext-cls": "bk-user-selector-popover",
|
|
14249
14104
|
"is-show": __props.isShow,
|
|
14250
14105
|
offset: { mainAxis: 4, crossAxis: __props.crossAxisOffset },
|
|
14251
|
-
width: __props.containerWidth,
|
|
14252
14106
|
placement: "bottom-start",
|
|
14253
14107
|
theme: "light",
|
|
14254
14108
|
trigger: "manual",
|
|
14109
|
+
width: __props.containerWidth,
|
|
14255
14110
|
onClickoutside: handleClickOutside
|
|
14256
14111
|
}, {
|
|
14257
14112
|
content: withCtx(() => [
|
|
14258
14113
|
createVNode(unref(__webpack_exports__default$2), {
|
|
14259
14114
|
class: "dropdown-content",
|
|
14260
14115
|
loading: __props.loading,
|
|
14261
|
-
|
|
14262
|
-
|
|
14116
|
+
mode: "spin",
|
|
14117
|
+
size: "mini"
|
|
14263
14118
|
}, {
|
|
14264
14119
|
default: withCtx(() => [
|
|
14265
14120
|
__props.options.length === 0 && __props.userGroup.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
@@ -14275,8 +14130,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14275
14130
|
{ key: 1 },
|
|
14276
14131
|
renderList(groupedUsers.value, (group, groupName) => {
|
|
14277
14132
|
return openBlock(), createElementBlock("div", {
|
|
14278
|
-
|
|
14279
|
-
|
|
14133
|
+
key: groupName,
|
|
14134
|
+
class: "user-group"
|
|
14280
14135
|
}, [
|
|
14281
14136
|
Object.keys(groupedUsers.value).length > 1 || group.some((user) => user.type === "userGroup") ? (openBlock(), createElementBlock("div", {
|
|
14282
14137
|
key: 0,
|
|
@@ -14304,8 +14159,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14304
14159
|
null,
|
|
14305
14160
|
renderList(group, (user) => {
|
|
14306
14161
|
return openBlock(), createElementBlock("div", {
|
|
14307
|
-
class: "user-option",
|
|
14308
14162
|
key: user.id,
|
|
14163
|
+
class: "user-option",
|
|
14309
14164
|
onClick: withModifiers(($event) => selectUser(user), ["prevent"])
|
|
14310
14165
|
}, [
|
|
14311
14166
|
createVNode(unref(UserRender), {
|
|
@@ -14338,20 +14193,20 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14338
14193
|
};
|
|
14339
14194
|
}
|
|
14340
14195
|
});
|
|
14341
|
-
const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
14196
|
+
const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-78875ea6"]]);
|
|
14342
14197
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
14343
14198
|
...{
|
|
14344
14199
|
name: "UserTag"
|
|
14345
14200
|
},
|
|
14346
14201
|
__name: "user-tag",
|
|
14347
14202
|
props: {
|
|
14348
|
-
|
|
14349
|
-
tenants: {},
|
|
14203
|
+
active: { type: Boolean },
|
|
14350
14204
|
currentTenantId: {},
|
|
14351
14205
|
draggable: { type: Boolean },
|
|
14352
|
-
|
|
14206
|
+
renderTag: { type: Function },
|
|
14353
14207
|
showTenant: { type: Boolean },
|
|
14354
|
-
|
|
14208
|
+
tenants: {},
|
|
14209
|
+
user: {}
|
|
14355
14210
|
},
|
|
14356
14211
|
emits: ["click", "close"],
|
|
14357
14212
|
setup(__props, { emit: __emit }) {
|
|
@@ -14384,7 +14239,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
14384
14239
|
};
|
|
14385
14240
|
}
|
|
14386
14241
|
});
|
|
14387
|
-
const UserTag = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
14242
|
+
const UserTag = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-48ac8fc1"]]);
|
|
14388
14243
|
const _hoisted_1$1 = ["onClick"];
|
|
14389
14244
|
const _hoisted_2$1 = ["placeholder"];
|
|
14390
14245
|
const _hoisted_3 = { class: "hidden-users" };
|
|
@@ -14395,24 +14250,25 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14395
14250
|
},
|
|
14396
14251
|
__name: "multiple-selector",
|
|
14397
14252
|
props: {
|
|
14398
|
-
modelValue: { default: () => [] },
|
|
14399
14253
|
draggable: { type: Boolean, default: false },
|
|
14254
|
+
freePaste: { type: Boolean, default: false },
|
|
14255
|
+
modelValue: { default: () => [] },
|
|
14400
14256
|
selectedUsers: { default: () => [] },
|
|
14401
14257
|
tenants: { default: () => ({}) },
|
|
14258
|
+
allowCreate: { type: Boolean, default: false },
|
|
14402
14259
|
apiBaseUrl: { default: "" },
|
|
14403
|
-
tenantId: { default: "" },
|
|
14404
|
-
placeholder: { default: "" },
|
|
14405
14260
|
currentUserId: { default: "" },
|
|
14261
|
+
disabled: { type: Boolean },
|
|
14262
|
+
emptyText: { default: "" },
|
|
14263
|
+
enableMultiTenantMode: { type: Boolean },
|
|
14406
14264
|
exactSearchKey: { default: "bk_username" },
|
|
14407
|
-
|
|
14265
|
+
excludeUserIds: { default: () => [] },
|
|
14266
|
+
placeholder: { default: "" },
|
|
14267
|
+
tenantId: { default: "" },
|
|
14408
14268
|
userGroupName: { default: "" },
|
|
14409
|
-
emptyText: { default: "" },
|
|
14410
|
-
disabled: { type: Boolean },
|
|
14411
14269
|
renderListItem: {},
|
|
14412
14270
|
renderTag: {},
|
|
14413
|
-
|
|
14414
|
-
enableMultiTenantMode: { type: Boolean },
|
|
14415
|
-
allowCreate: { type: Boolean, default: false }
|
|
14271
|
+
userGroup: { default: () => [] }
|
|
14416
14272
|
},
|
|
14417
14273
|
emits: [
|
|
14418
14274
|
"update:selectedUsers",
|
|
@@ -14513,7 +14369,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14513
14369
|
});
|
|
14514
14370
|
};
|
|
14515
14371
|
const handleClickOutside = (event) => {
|
|
14516
|
-
event.stopPropagation();
|
|
14517
14372
|
const target = event.target;
|
|
14518
14373
|
const container = containerRef.value;
|
|
14519
14374
|
if ((container == null ? void 0 : container.contains(target)) || container === target) {
|
|
@@ -14615,7 +14470,37 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14615
14470
|
}
|
|
14616
14471
|
});
|
|
14617
14472
|
const updatedUsers = Array.from(userMap.values());
|
|
14618
|
-
|
|
14473
|
+
if (props2.freePaste) {
|
|
14474
|
+
const pastedUsers = usersList.map((user) => ({
|
|
14475
|
+
id: user,
|
|
14476
|
+
name: user,
|
|
14477
|
+
type: "custom",
|
|
14478
|
+
tenantId: "",
|
|
14479
|
+
login_name: user
|
|
14480
|
+
}));
|
|
14481
|
+
pastedUsers.forEach((user) => {
|
|
14482
|
+
if (!updatedUsers.some((item) => item.login_name === user.login_name)) {
|
|
14483
|
+
addUser(user);
|
|
14484
|
+
}
|
|
14485
|
+
});
|
|
14486
|
+
} else {
|
|
14487
|
+
emit("update:selectedUsers", updatedUsers);
|
|
14488
|
+
}
|
|
14489
|
+
} else {
|
|
14490
|
+
if (props2.freePaste) {
|
|
14491
|
+
const pastedUsers = usersList.map((user) => ({
|
|
14492
|
+
id: user,
|
|
14493
|
+
name: user,
|
|
14494
|
+
type: "custom",
|
|
14495
|
+
tenantId: "",
|
|
14496
|
+
login_name: user
|
|
14497
|
+
}));
|
|
14498
|
+
pastedUsers.forEach((user) => {
|
|
14499
|
+
if (!props2.selectedUsers.some((item) => item.login_name === user.login_name)) {
|
|
14500
|
+
addUser(user);
|
|
14501
|
+
}
|
|
14502
|
+
});
|
|
14503
|
+
}
|
|
14619
14504
|
}
|
|
14620
14505
|
} catch (error3) {
|
|
14621
14506
|
console.error("精准查找用户失败:", error3);
|
|
@@ -14637,7 +14522,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14637
14522
|
removeUser(lastUser);
|
|
14638
14523
|
}
|
|
14639
14524
|
} else if (event.key === "Enter" && props2.allowCreate) {
|
|
14640
|
-
addUser({
|
|
14525
|
+
addUser({
|
|
14526
|
+
id: searchQuery.value,
|
|
14527
|
+
name: searchQuery.value,
|
|
14528
|
+
type: "custom",
|
|
14529
|
+
tenantId: "",
|
|
14530
|
+
login_name: searchQuery.value
|
|
14531
|
+
});
|
|
14641
14532
|
}
|
|
14642
14533
|
};
|
|
14643
14534
|
const addUser = (user) => {
|
|
@@ -14761,8 +14652,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14761
14652
|
null,
|
|
14762
14653
|
renderList(_ctx.selectedUsers, (user, index) => {
|
|
14763
14654
|
return openBlock(), createElementBlock("div", {
|
|
14764
|
-
class: "tag-wrapper",
|
|
14765
14655
|
key: user.id,
|
|
14656
|
+
class: "tag-wrapper",
|
|
14766
14657
|
onClick: withModifiers(($event) => handleTagClick(index), ["stop"])
|
|
14767
14658
|
}, [
|
|
14768
14659
|
createVNode(UserTag, {
|
|
@@ -14783,8 +14674,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14783
14674
|
ref_for: true,
|
|
14784
14675
|
ref_key: "inlineInputRef",
|
|
14785
14676
|
ref: inlineInputRef,
|
|
14786
|
-
class: "search-input inline",
|
|
14787
14677
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
|
|
14678
|
+
class: "search-input inline",
|
|
14788
14679
|
onFocus: handleInputFocus,
|
|
14789
14680
|
onInput: handleInput,
|
|
14790
14681
|
onKeydown: handleKeyDown,
|
|
@@ -14806,8 +14697,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14806
14697
|
key: 0,
|
|
14807
14698
|
ref_key: "lastInputRef",
|
|
14808
14699
|
ref: lastInputRef,
|
|
14809
|
-
class: "search-input last",
|
|
14810
14700
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
|
|
14701
|
+
class: "search-input last",
|
|
14811
14702
|
placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
|
|
14812
14703
|
onFocus: handleInputFocus,
|
|
14813
14704
|
onInput: handleInput,
|
|
@@ -14848,8 +14739,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14848
14739
|
null,
|
|
14849
14740
|
renderList(visibleUsers.value, (user) => {
|
|
14850
14741
|
return openBlock(), createBlock(UserTag, {
|
|
14851
|
-
"current-tenant-id": _ctx.tenantId,
|
|
14852
14742
|
key: user.id,
|
|
14743
|
+
"current-tenant-id": _ctx.tenantId,
|
|
14853
14744
|
"render-tag": _ctx.renderTag,
|
|
14854
14745
|
"show-tenant": true,
|
|
14855
14746
|
tenants: _ctx.tenants,
|
|
@@ -14904,8 +14795,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14904
14795
|
withDirectives(createElementVNode("input", {
|
|
14905
14796
|
ref_key: "collapsedInputRef",
|
|
14906
14797
|
ref: collapsedInputRef,
|
|
14907
|
-
class: "search-input collapsed",
|
|
14908
14798
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
|
|
14799
|
+
class: "search-input collapsed",
|
|
14909
14800
|
placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
|
|
14910
14801
|
onFocus: handleFocus
|
|
14911
14802
|
}, null, 40, _hoisted_4), [
|
|
@@ -14936,7 +14827,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14936
14827
|
};
|
|
14937
14828
|
}
|
|
14938
14829
|
});
|
|
14939
|
-
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
14830
|
+
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-2a532f24"]]);
|
|
14940
14831
|
const _hoisted_1 = { class: "input-container" };
|
|
14941
14832
|
const _hoisted_2 = ["placeholder"];
|
|
14942
14833
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
@@ -14947,20 +14838,21 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
14947
14838
|
props: {
|
|
14948
14839
|
modelValue: { default: "" },
|
|
14949
14840
|
tenants: {},
|
|
14841
|
+
allowCreate: { type: Boolean },
|
|
14950
14842
|
apiBaseUrl: { default: "" },
|
|
14951
|
-
tenantId: { default: "" },
|
|
14952
|
-
placeholder: { default: "" },
|
|
14953
14843
|
currentUserId: { default: "" },
|
|
14844
|
+
disabled: { type: Boolean },
|
|
14845
|
+
emptyText: { default: "" },
|
|
14846
|
+
enableMultiTenantMode: { type: Boolean },
|
|
14954
14847
|
exactSearchKey: { default: "bk_username" },
|
|
14955
|
-
|
|
14848
|
+
excludeUserIds: { default: () => [] },
|
|
14849
|
+
freePaste: { type: Boolean },
|
|
14850
|
+
placeholder: { default: "" },
|
|
14851
|
+
tenantId: { default: "" },
|
|
14956
14852
|
userGroupName: { default: "" },
|
|
14957
|
-
emptyText: { default: "" },
|
|
14958
|
-
disabled: { type: Boolean },
|
|
14959
14853
|
renderListItem: {},
|
|
14960
14854
|
renderTag: {},
|
|
14961
|
-
|
|
14962
|
-
enableMultiTenantMode: { type: Boolean },
|
|
14963
|
-
allowCreate: { type: Boolean }
|
|
14855
|
+
userGroup: { default: () => [] }
|
|
14964
14856
|
},
|
|
14965
14857
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
14966
14858
|
setup(__props, { emit: __emit }) {
|
|
@@ -15058,6 +14950,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
15058
14950
|
const fetchUsers = async (keyword = "") => {
|
|
15059
14951
|
if (!(keyword == null ? void 0 : keyword.length)) {
|
|
15060
14952
|
options.value = [];
|
|
14953
|
+
isLoading.value = false;
|
|
15061
14954
|
return;
|
|
15062
14955
|
}
|
|
15063
14956
|
isLoading.value = true;
|
|
@@ -15090,6 +14983,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
15090
14983
|
}
|
|
15091
14984
|
}
|
|
15092
14985
|
};
|
|
14986
|
+
const handlePaste = (event) => {
|
|
14987
|
+
var _a;
|
|
14988
|
+
event.preventDefault();
|
|
14989
|
+
const pastedText = ((_a = event.clipboardData) == null ? void 0 : _a.getData("text").trim()) || "";
|
|
14990
|
+
if (props2.freePaste) {
|
|
14991
|
+
const customUser = { id: pastedText, name: pastedText, type: "custom", tenantId: "", login_name: pastedText };
|
|
14992
|
+
if (!options.value.some((item) => item.login_name === customUser.login_name)) {
|
|
14993
|
+
options.value.push(customUser);
|
|
14994
|
+
}
|
|
14995
|
+
addUser(customUser);
|
|
14996
|
+
}
|
|
14997
|
+
};
|
|
15093
14998
|
const addUser = (user) => {
|
|
15094
14999
|
selectedUser.value = user.id;
|
|
15095
15000
|
searchQuery.value = "";
|
|
@@ -15105,9 +15010,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
15105
15010
|
}
|
|
15106
15011
|
emit("focus");
|
|
15107
15012
|
};
|
|
15013
|
+
let timer = null;
|
|
15108
15014
|
const handleInput = () => {
|
|
15109
|
-
fetchUsers(searchQuery.value);
|
|
15110
15015
|
showDropdown.value = searchQuery.value.length >= 1;
|
|
15016
|
+
isLoading.value = true;
|
|
15017
|
+
clearTimeout(timer);
|
|
15018
|
+
timer = setTimeout(() => {
|
|
15019
|
+
fetchUsers(searchQuery.value);
|
|
15020
|
+
}, 300);
|
|
15111
15021
|
};
|
|
15112
15022
|
const handleClickOutside = () => {
|
|
15113
15023
|
setTimeout(() => {
|
|
@@ -15166,13 +15076,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
15166
15076
|
withDirectives(createElementVNode("input", {
|
|
15167
15077
|
ref_key: "inputRef",
|
|
15168
15078
|
ref: inputRef,
|
|
15169
|
-
class: "search-input",
|
|
15170
15079
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
|
|
15080
|
+
class: "search-input",
|
|
15171
15081
|
placeholder: selectedUserInfo.value ? "" : _ctx.placeholder,
|
|
15172
15082
|
onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur")),
|
|
15173
15083
|
onFocus: handleInputFocus,
|
|
15174
15084
|
onInput: handleInput,
|
|
15175
|
-
onKeydown: handleKeyDown
|
|
15085
|
+
onKeydown: handleKeyDown,
|
|
15086
|
+
onPaste: handlePaste
|
|
15176
15087
|
}, null, 40, _hoisted_2), [
|
|
15177
15088
|
[vModelText, searchQuery.value]
|
|
15178
15089
|
]),
|
|
@@ -15196,30 +15107,31 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
15196
15107
|
};
|
|
15197
15108
|
}
|
|
15198
15109
|
});
|
|
15199
|
-
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
15110
|
+
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-cbe352a6"]]);
|
|
15200
15111
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
15201
15112
|
...{
|
|
15202
15113
|
name: "BkUserSelector"
|
|
15203
15114
|
},
|
|
15204
15115
|
__name: "user-selector",
|
|
15205
15116
|
props: {
|
|
15206
|
-
modelValue: { default: "" },
|
|
15207
15117
|
draggable: { type: Boolean, default: false },
|
|
15118
|
+
modelValue: { default: "" },
|
|
15208
15119
|
multiple: { type: Boolean, default: false },
|
|
15120
|
+
allowCreate: { type: Boolean, default: false },
|
|
15209
15121
|
apiBaseUrl: { default: "" },
|
|
15210
|
-
tenantId: { default: "" },
|
|
15211
|
-
placeholder: { default: "" },
|
|
15212
15122
|
currentUserId: { default: "" },
|
|
15123
|
+
disabled: { type: Boolean, default: false },
|
|
15124
|
+
emptyText: { default: "" },
|
|
15125
|
+
enableMultiTenantMode: { type: Boolean, default: true },
|
|
15213
15126
|
exactSearchKey: { default: "bk_username" },
|
|
15214
|
-
|
|
15127
|
+
excludeUserIds: { default: () => [] },
|
|
15128
|
+
freePaste: { type: Boolean, default: false },
|
|
15129
|
+
placeholder: { default: "" },
|
|
15130
|
+
tenantId: { default: "" },
|
|
15215
15131
|
userGroupName: { default: "" },
|
|
15216
|
-
emptyText: { default: "" },
|
|
15217
|
-
disabled: { type: Boolean, default: false },
|
|
15218
15132
|
renderListItem: {},
|
|
15219
15133
|
renderTag: {},
|
|
15220
|
-
|
|
15221
|
-
enableMultiTenantMode: { type: Boolean, default: true },
|
|
15222
|
-
allowCreate: { type: Boolean, default: false }
|
|
15134
|
+
userGroup: { default: () => [] }
|
|
15223
15135
|
},
|
|
15224
15136
|
emits: ["update:modelValue", "change", "dragStart", "dragEnd", "focus", "blur"],
|
|
15225
15137
|
setup(__props, { emit: __emit }) {
|
|
@@ -15342,10 +15254,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15342
15254
|
tenants: unref(tenants),
|
|
15343
15255
|
"user-group": _ctx.userGroup,
|
|
15344
15256
|
"user-group-name": userGroupName.value,
|
|
15257
|
+
"free-paste": _ctx.freePaste,
|
|
15345
15258
|
onBlur: handleBlur,
|
|
15346
15259
|
onChange: handleUpdateUser,
|
|
15347
15260
|
onFocus: handleFocus
|
|
15348
|
-
}, null, 8, ["modelValue", "allow-create", "api-base-url", "current-user-id", "disabled", "empty-text", "enable-multi-tenant-mode", "exact-search-key", "exclude-user-ids", "placeholder", "render-list-item", "render-tag", "tenant-id", "tenants", "user-group", "user-group-name"])) : (openBlock(), createElementBlock(
|
|
15261
|
+
}, null, 8, ["modelValue", "allow-create", "api-base-url", "current-user-id", "disabled", "empty-text", "enable-multi-tenant-mode", "exact-search-key", "exclude-user-ids", "placeholder", "render-list-item", "render-tag", "tenant-id", "tenants", "user-group", "user-group-name", "free-paste"])) : (openBlock(), createElementBlock(
|
|
15349
15262
|
Fragment,
|
|
15350
15263
|
{ key: 1 },
|
|
15351
15264
|
[
|
|
@@ -15370,12 +15283,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15370
15283
|
tenants: unref(tenants),
|
|
15371
15284
|
"user-group": _ctx.userGroup,
|
|
15372
15285
|
"user-group-name": userGroupName.value,
|
|
15286
|
+
"free-paste": _ctx.freePaste,
|
|
15373
15287
|
onBlur: handleBlur,
|
|
15374
15288
|
onDragEnd: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("dragEnd", $event)),
|
|
15375
15289
|
onDragStart: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("dragStart", $event)),
|
|
15376
15290
|
onFocus: handleFocus,
|
|
15377
15291
|
"onUpdate:selectedUsers": handleUpdateSelectedUsers
|
|
15378
|
-
}, null, 8, ["modelValue", "allow-create", "api-base-url", "current-user-id", "disabled", "draggable", "empty-text", "enable-multi-tenant-mode", "exact-search-key", "exclude-user-ids", "placeholder", "render-list-item", "render-tag", "selected-users", "tenant-id", "tenants", "user-group", "user-group-name"])
|
|
15292
|
+
}, null, 8, ["modelValue", "allow-create", "api-base-url", "current-user-id", "disabled", "draggable", "empty-text", "enable-multi-tenant-mode", "exact-search-key", "exclude-user-ids", "placeholder", "render-list-item", "render-tag", "selected-users", "tenant-id", "tenants", "user-group", "user-group-name", "free-paste"])
|
|
15379
15293
|
],
|
|
15380
15294
|
2112
|
|
15381
15295
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
@@ -15387,7 +15301,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15387
15301
|
};
|
|
15388
15302
|
}
|
|
15389
15303
|
});
|
|
15390
|
-
const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
15304
|
+
const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f29cda5a"]]);
|
|
15391
15305
|
const vue2 = {
|
|
15392
15306
|
model: {
|
|
15393
15307
|
prop: "modelValue",
|