@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.
@@ -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 = null;
15
- script.setAttribute("type", "text/javascript");
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
- emit("update:selectedUsers", updatedUsers);
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({ id: searchQuery.value, name: searchQuery.value, type: "custom", tenantId: "" });
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-6c9ac297"]]);
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-2a791ec6"]]);
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-f4c00173"]]);
4636
+ const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-37ff6c88"]]);
4579
4637
  export {
4580
4638
  BkUserSelector,
4581
4639
  BkUserSelector as default