@blueking/bk-user-selector 0.0.38-beta.6 → 0.0.39-beta.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/README.md +7 -6
- package/package.json +2 -2
- package/typings/components/multiple-selector.vue.d.ts +1 -0
- package/typings/components/user-selector.vue.d.ts +1 -0
- package/typings/types/index.d.ts +8 -0
- package/vue2/index.es.min.js +215 -16
- package/vue2/index.iife.min.js +215 -16
- package/vue2/index.umd.min.js +215 -16
- package/vue2/vue2.css +20 -20
- package/vue3/index.es.min.js +69 -11
- package/vue3/index.iife.min.js +215 -16
- package/vue3/index.umd.min.js +70 -12
- package/vue3/vue3.css +20 -20
package/vue3/index.es.min.js
CHANGED
|
@@ -8,11 +8,15 @@ const generateCallbackName = () => {
|
|
|
8
8
|
const jsonpRequest = (requestUrl, options = {}) => {
|
|
9
9
|
return new Promise((resolve, reject) => {
|
|
10
10
|
const url = unref(requestUrl);
|
|
11
|
-
const { timeout = 1e3 * 60 * 2, params } = options;
|
|
11
|
+
const { timeout = 1e3 * 60 * 2, params, withCredentials = true } = options;
|
|
12
12
|
const callbackName = generateCallbackName();
|
|
13
13
|
const script = document.createElement("script");
|
|
14
|
-
let timeoutId
|
|
15
|
-
|
|
14
|
+
let timeoutId;
|
|
15
|
+
if (withCredentials) {
|
|
16
|
+
script.crossOrigin = "use-credentials";
|
|
17
|
+
} else {
|
|
18
|
+
script.crossOrigin = "anonymous";
|
|
19
|
+
}
|
|
16
20
|
const cleanup = () => {
|
|
17
21
|
if (timeoutId) {
|
|
18
22
|
clearTimeout(timeoutId);
|
|
@@ -3584,6 +3588,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3584
3588
|
},
|
|
3585
3589
|
__name: "multiple-selector",
|
|
3586
3590
|
props: {
|
|
3591
|
+
freePaste: { type: Boolean, default: false },
|
|
3587
3592
|
draggable: { type: Boolean, default: false },
|
|
3588
3593
|
modelValue: { default: () => [] },
|
|
3589
3594
|
selectedUsers: { default: () => [] },
|
|
@@ -3803,7 +3808,37 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3803
3808
|
}
|
|
3804
3809
|
});
|
|
3805
3810
|
const updatedUsers = Array.from(userMap.values());
|
|
3806
|
-
|
|
3811
|
+
if (props.freePaste) {
|
|
3812
|
+
const pastedUsers = usersList.map((user) => ({
|
|
3813
|
+
id: user,
|
|
3814
|
+
name: user,
|
|
3815
|
+
type: "custom",
|
|
3816
|
+
tenantId: "",
|
|
3817
|
+
login_name: user
|
|
3818
|
+
}));
|
|
3819
|
+
pastedUsers.forEach((user) => {
|
|
3820
|
+
if (!updatedUsers.some((item) => item.login_name === user.login_name)) {
|
|
3821
|
+
addUser(user);
|
|
3822
|
+
}
|
|
3823
|
+
});
|
|
3824
|
+
} else {
|
|
3825
|
+
emit("update:selectedUsers", updatedUsers);
|
|
3826
|
+
}
|
|
3827
|
+
} else {
|
|
3828
|
+
if (props.freePaste) {
|
|
3829
|
+
const pastedUsers = usersList.map((user) => ({
|
|
3830
|
+
id: user,
|
|
3831
|
+
name: user,
|
|
3832
|
+
type: "custom",
|
|
3833
|
+
tenantId: "",
|
|
3834
|
+
login_name: user
|
|
3835
|
+
}));
|
|
3836
|
+
pastedUsers.forEach((user) => {
|
|
3837
|
+
if (!props.selectedUsers.some((item) => item.login_name === user.login_name)) {
|
|
3838
|
+
addUser(user);
|
|
3839
|
+
}
|
|
3840
|
+
});
|
|
3841
|
+
}
|
|
3807
3842
|
}
|
|
3808
3843
|
} catch (error) {
|
|
3809
3844
|
console.error("精准查找用户失败:", error);
|
|
@@ -3825,7 +3860,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3825
3860
|
removeUser(lastUser);
|
|
3826
3861
|
}
|
|
3827
3862
|
} else if (event.key === "Enter" && props.allowCreate) {
|
|
3828
|
-
addUser({
|
|
3863
|
+
addUser({
|
|
3864
|
+
id: searchQuery.value,
|
|
3865
|
+
name: searchQuery.value,
|
|
3866
|
+
type: "custom",
|
|
3867
|
+
tenantId: "",
|
|
3868
|
+
login_name: searchQuery.value
|
|
3869
|
+
});
|
|
3829
3870
|
}
|
|
3830
3871
|
};
|
|
3831
3872
|
const addUser = (user) => {
|
|
@@ -4124,7 +4165,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4124
4165
|
};
|
|
4125
4166
|
}
|
|
4126
4167
|
});
|
|
4127
|
-
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
4168
|
+
const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-2a532f24"]]);
|
|
4128
4169
|
const _hoisted_1 = { class: "input-container" };
|
|
4129
4170
|
const _hoisted_2 = ["placeholder"];
|
|
4130
4171
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
@@ -4136,6 +4177,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4136
4177
|
modelValue: { default: "" },
|
|
4137
4178
|
tenants: {},
|
|
4138
4179
|
allowCreate: { type: Boolean },
|
|
4180
|
+
freePaste: { type: Boolean },
|
|
4139
4181
|
apiBaseUrl: { default: "" },
|
|
4140
4182
|
currentUserId: { default: "" },
|
|
4141
4183
|
disabled: { type: Boolean },
|
|
@@ -4278,6 +4320,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4278
4320
|
}
|
|
4279
4321
|
}
|
|
4280
4322
|
};
|
|
4323
|
+
const handlePaste = (event) => {
|
|
4324
|
+
var _a;
|
|
4325
|
+
event.preventDefault();
|
|
4326
|
+
const pastedText = ((_a = event.clipboardData) == null ? void 0 : _a.getData("text").trim()) || "";
|
|
4327
|
+
if (props.freePaste) {
|
|
4328
|
+
const customUser = { id: pastedText, name: pastedText, type: "custom", tenantId: "", login_name: pastedText };
|
|
4329
|
+
if (!options.value.some((item) => item.login_name === customUser.login_name)) {
|
|
4330
|
+
options.value.push(customUser);
|
|
4331
|
+
}
|
|
4332
|
+
addUser(customUser);
|
|
4333
|
+
}
|
|
4334
|
+
};
|
|
4281
4335
|
const addUser = (user) => {
|
|
4282
4336
|
selectedUser.value = user.id;
|
|
4283
4337
|
searchQuery.value = "";
|
|
@@ -4360,7 +4414,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4360
4414
|
onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur")),
|
|
4361
4415
|
onFocus: handleInputFocus,
|
|
4362
4416
|
onInput: handleInput,
|
|
4363
|
-
onKeydown: handleKeyDown
|
|
4417
|
+
onKeydown: handleKeyDown,
|
|
4418
|
+
onPaste: handlePaste
|
|
4364
4419
|
}, null, 40, _hoisted_2), [
|
|
4365
4420
|
[vModelText, searchQuery.value]
|
|
4366
4421
|
]),
|
|
@@ -4384,7 +4439,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
4384
4439
|
};
|
|
4385
4440
|
}
|
|
4386
4441
|
});
|
|
4387
|
-
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
4442
|
+
const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-633b6466"]]);
|
|
4388
4443
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4389
4444
|
...{
|
|
4390
4445
|
name: "BkUserSelector"
|
|
@@ -4395,6 +4450,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4395
4450
|
modelValue: { default: "" },
|
|
4396
4451
|
multiple: { type: Boolean, default: false },
|
|
4397
4452
|
allowCreate: { type: Boolean, default: false },
|
|
4453
|
+
freePaste: { type: Boolean, default: false },
|
|
4398
4454
|
apiBaseUrl: { default: "" },
|
|
4399
4455
|
currentUserId: { default: "" },
|
|
4400
4456
|
disabled: { type: Boolean, default: false },
|
|
@@ -4530,10 +4586,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4530
4586
|
tenants: unref(tenants),
|
|
4531
4587
|
"user-group": _ctx.userGroup,
|
|
4532
4588
|
"user-group-name": userGroupName.value,
|
|
4589
|
+
"free-paste": _ctx.freePaste,
|
|
4533
4590
|
onBlur: handleBlur,
|
|
4534
4591
|
onChange: handleUpdateUser,
|
|
4535
4592
|
onFocus: handleFocus
|
|
4536
|
-
}, 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(
|
|
4593
|
+
}, 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(
|
|
4537
4594
|
Fragment,
|
|
4538
4595
|
{ key: 1 },
|
|
4539
4596
|
[
|
|
@@ -4558,12 +4615,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4558
4615
|
tenants: unref(tenants),
|
|
4559
4616
|
"user-group": _ctx.userGroup,
|
|
4560
4617
|
"user-group-name": userGroupName.value,
|
|
4618
|
+
"free-paste": _ctx.freePaste,
|
|
4561
4619
|
onBlur: handleBlur,
|
|
4562
4620
|
onDragEnd: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("dragEnd", $event)),
|
|
4563
4621
|
onDragStart: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("dragStart", $event)),
|
|
4564
4622
|
onFocus: handleFocus,
|
|
4565
4623
|
"onUpdate:selectedUsers": handleUpdateSelectedUsers
|
|
4566
|
-
}, 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"])
|
|
4624
|
+
}, 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"])
|
|
4567
4625
|
],
|
|
4568
4626
|
2112
|
|
4569
4627
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
@@ -4575,7 +4633,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
4575
4633
|
};
|
|
4576
4634
|
}
|
|
4577
4635
|
});
|
|
4578
|
-
const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4636
|
+
const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-37ff6c88"]]);
|
|
4579
4637
|
export {
|
|
4580
4638
|
BkUserSelector,
|
|
4581
4639
|
BkUserSelector as default
|