@next-bricks/form-platform 0.6.0 → 0.6.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.
Files changed (63) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/1889.3b1a8139.js +2 -0
  3. package/dist/chunks/1889.3b1a8139.js.map +1 -0
  4. package/dist/chunks/3171.503ba1ad.js +2 -0
  5. package/dist/chunks/3171.503ba1ad.js.map +1 -0
  6. package/dist/chunks/5399.45552283.js +2 -0
  7. package/dist/chunks/5399.45552283.js.map +1 -0
  8. package/dist/chunks/5552.5e249d7f.js +2 -0
  9. package/dist/chunks/5552.5e249d7f.js.map +1 -0
  10. package/dist/chunks/6046.57f17e71.js +3 -0
  11. package/dist/chunks/{6046.d0b3cfb1.js.LICENSE.txt → 6046.57f17e71.js.LICENSE.txt} +2 -0
  12. package/dist/chunks/6046.57f17e71.js.map +1 -0
  13. package/dist/chunks/6223.ef1a783e.js.map +1 -1
  14. package/dist/chunks/6376.5cbfdb2a.js +2 -0
  15. package/dist/chunks/6376.5cbfdb2a.js.map +1 -0
  16. package/dist/chunks/{6941.66e34b74.js → 6941.f45659ab.js} +2 -2
  17. package/dist/chunks/6941.f45659ab.js.map +1 -0
  18. package/dist/chunks/{7895.0c6c8882.js → 7895.b1a401b6.js} +3 -3
  19. package/dist/chunks/7895.b1a401b6.js.map +1 -0
  20. package/dist/chunks/948.be85ace4.js +3 -0
  21. package/dist/chunks/948.be85ace4.js.map +1 -0
  22. package/dist/chunks/eo-user-or-user-group-select.422d8070.js +3 -0
  23. package/dist/chunks/eo-user-or-user-group-select.422d8070.js.map +1 -0
  24. package/dist/chunks/main.13e3e06b.js +2 -0
  25. package/dist/chunks/main.13e3e06b.js.map +1 -0
  26. package/dist/examples.json +1 -1
  27. package/dist/index.fd32ac07.js +2 -0
  28. package/dist/index.fd32ac07.js.map +1 -0
  29. package/dist/manifest.json +2 -0
  30. package/dist-types/cmdb-instance-select/CmdbInstanceSelectInternal.d.ts +2 -2
  31. package/docs/eo-user-or-user-group-select.md +120 -3
  32. package/docs/eo-user-or-user-group-select.react.md +126 -0
  33. package/package.json +2 -2
  34. package/dist/chunks/1889.b59510a4.js +0 -2
  35. package/dist/chunks/1889.b59510a4.js.map +0 -1
  36. package/dist/chunks/3171.508feb36.js +0 -2
  37. package/dist/chunks/3171.508feb36.js.map +0 -1
  38. package/dist/chunks/4837.c71e7277.js +0 -2
  39. package/dist/chunks/4837.c71e7277.js.map +0 -1
  40. package/dist/chunks/5399.8264e057.js +0 -2
  41. package/dist/chunks/5399.8264e057.js.map +0 -1
  42. package/dist/chunks/5552.5757fe37.js +0 -2
  43. package/dist/chunks/5552.5757fe37.js.map +0 -1
  44. package/dist/chunks/6046.d0b3cfb1.js +0 -3
  45. package/dist/chunks/6046.d0b3cfb1.js.map +0 -1
  46. package/dist/chunks/6580.ab4ba4d4.js +0 -3
  47. package/dist/chunks/6580.ab4ba4d4.js.map +0 -1
  48. package/dist/chunks/6941.66e34b74.js.map +0 -1
  49. package/dist/chunks/7218.16427ab5.js +0 -2
  50. package/dist/chunks/7218.16427ab5.js.map +0 -1
  51. package/dist/chunks/7895.0c6c8882.js.map +0 -1
  52. package/dist/chunks/948.dec6ad6a.js +0 -3
  53. package/dist/chunks/948.dec6ad6a.js.map +0 -1
  54. package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js +0 -3
  55. package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js.LICENSE.txt +0 -1
  56. package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js.map +0 -1
  57. package/dist/chunks/main.dadcb141.js +0 -2
  58. package/dist/chunks/main.dadcb141.js.map +0 -1
  59. package/dist/index.d4f23f12.js +0 -2
  60. package/dist/index.d4f23f12.js.map +0 -1
  61. /package/dist/chunks/{7895.0c6c8882.js.LICENSE.txt → 7895.b1a401b6.js.LICENSE.txt} +0 -0
  62. /package/dist/chunks/{948.dec6ad6a.js.LICENSE.txt → 948.be85ace4.js.LICENSE.txt} +0 -0
  63. /package/dist/chunks/{6580.ab4ba4d4.js.LICENSE.txt → eo-user-or-user-group-select.422d8070.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6223.ef1a783e.js","mappings":"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","sources":["webpack:///./src/user-or-user-group-select/styles.shadow.css","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearch.js","webpack:///./src/user-or-user-group-select/index.tsx","webpack:///./src/cmdb-instance-select/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}.select-wrapper{display:flex;align-items:center}eo-select{width:100%}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例\n * @endpoint POST /object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearch = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearch@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearch/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearch(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearch.js.map","import React, {\n useEffect,\n useState,\n useMemo,\n useRef,\n useCallback,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { Select, SelectProps } from \"@next-bricks/form/select\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport { InstanceApi_postSearch, CmdbModels } from \"@next-api-sdk/cmdb-sdk\";\n\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n isNil,\n uniq,\n find,\n isEqual,\n groupBy,\n compact,\n some,\n keyBy,\n DebouncedFunc,\n} from \"lodash\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\n\n// --- NOTE: uncomment these lines below to enable i18n for your brick ---\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n// import { K, NS, locales } from \"./i18n.js\";\n// initializeReactI18n(NS, locales);\ntype ModelObjectItem = Partial<CmdbModels.ModelCmdbObject>;\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedSelect = wrapBrick<\n Select,\n SelectProps & {\n onchange: () => void;\n onfocus: () => void;\n onsearch: DebouncedFunc<(e: any) => void>;\n }\n>(\"eo-select\");\n\nexport interface EoUserOrUserGroupSelectProps extends FormItemProps {\n value?: string[] | undefined;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n validateState?: string;\n onChange?: (value: string[]) => void;\n objectList?: ModelObjectItem[];\n query?: Record<string, any>;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n userKey?: \"name\" | \"instanceId\";\n optionsMode: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n isMultiple?: boolean;\n hideAddMeQuickly?: boolean;\n themeVariant?: \"default\" | \"elevo\";\n}\n\nexport interface MarkdownDisplayEventsMap {\n change: CustomEvent<string[]>;\n}\n\nexport interface MarkdownDisplayEventsMapping {\n onChange: \"change\";\n}\n\n/**\n * 用户(组)选择器\n * @author dophijing\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-user-or-user-group-select\", {\n styleTexts: [styleText],\n})\nclass EoUserOrUserGroupSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string[] | undefined;\n\n /**\n * 模型列表(按需传递 USER/USER_GROUP 的模型定义,用于显示对应实例名称)\n *\n * 注:get object ref 被滥用,这里先暂不支持自动拉取。\n */\n @property({\n attribute: false,\n })\n accessor objectList: Partial<CmdbModels.ModelCmdbObject>[] | undefined;\n\n /**\n * 用户和用户组`search`接口的`query`,此参数比较适用于,两者接口需要参数相同的情况\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor query: Record<string, any> | undefined;\n\n /**\n * 针对`USER/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userQuery: Record<string, any> | undefined;\n\n /**\n * 针对`USER_GROUP/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户组做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userGroupQuery: Record<string, any> | undefined;\n\n /**\n * 用户对象的唯一标识字段,即:value 使用的字段名\n *\n * @default \"name\"\n */\n @property()\n accessor userKey: \"name\" | \"instanceId\" | undefined;\n\n /**\n * 支持选择用户、用户组或者两者\n * {\n * \"optionType\": \"button\",\n * \"options\": [\n * {\n * \"label\": \"All\",\n * \"value\": \"all\"\n * },\n * {\n * \"label\": \"User\",\n * \"value\": \"user\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"user\",\n * \"theme\": \"outlined\"\n * }\n * },\n * {\n * \"label\": \"Group\",\n * \"value\": \"group\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"usergroup-add\",\n * \"theme\": \"outlined\"\n * }\n * }\n * ]\n * }\n * @group advanced\n */\n @property()\n accessor optionsMode: \"user\" | \"group\" | \"all\" = \"all\";\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否多选,默认为多选\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor isMultiple: boolean = true;\n\n /**\n * 固定白名单列表,该列表中的值用户不能取消。\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor staticList: string[] | undefined;\n\n /**\n * 快速选择我\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor hideAddMeQuickly: boolean = true;\n\n /** 主题变体 */\n @property()\n accessor themeVariant: \"default\" | \"elevo\" | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string[]>;\n\n handleUserOrUserGroupChange = (values: string[]) => {\n Promise.resolve().then(() => {\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n });\n };\n\n render() {\n return (\n <EoUserOrUserGroupSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n required={this.required}\n value={this.value}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleUserOrUserGroupChange\"\n onChange={this.handleUserOrUserGroupChange}\n objectList={this.objectList}\n query={this.query}\n userQuery={this.userQuery}\n userGroupQuery={this.userGroupQuery}\n userKey={this.userKey}\n optionsMode={this.optionsMode}\n staticList={this.staticList}\n isMultiple={this.isMultiple}\n disabled={this.disabled}\n hideAddMeQuickly={this.hideAddMeQuickly}\n themeVariant={this.themeVariant}\n />\n );\n }\n}\n\nexport function EoUserOrUserGroupSelectComponent(\n props: EoUserOrUserGroupSelectProps\n) {\n // const { t } = useTranslation(NS);\n // const hello = t(K.HELLO);\n const objectList = props.objectList;\n const userKey = props.userKey === \"instanceId\" ? props.userKey : \"name\";\n const [searchValue, setSearchValue] = useState<string>();\n const [userList, setUserList] = useState<any[]>([]);\n const [userGroupList, setUserGroupList] = useState<any[]>([]);\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n\n const computedValue = useMemo(() => {\n if (isNil(props.value)) {\n return undefined;\n } else {\n return props.isMultiple ? [...props.value] : props.value?.[0];\n }\n }, [props.value, props.isMultiple]);\n\n const getShowKey = useCallback(\n (objectId: string): string[] => {\n const objectMap = keyBy(objectList, \"objectId\");\n return (\n (objectMap[objectId]?.view && objectMap[objectId].view?.show_key) || [\n \"name\",\n ]\n );\n },\n [objectList]\n );\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(objectId === \"USER\"\n ? {\n state: \"valid\",\n }\n : {}),\n };\n\n const fetchByCurrentValue = () => {\n // 对于分组是以 \":instanceId\" 的格式存储在 value 中\n const staticIn =\n objectId === \"USER\"\n ? props.value?.filter((v) => !v.startsWith(\":\"))\n : props.value\n ?.filter((v) => v.startsWith(\":\"))\n .map((v) => v.slice(1));\n\n if (staticIn?.length) {\n return InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: staticIn.length,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n objectId === \"USER\"\n ? {\n [userKey]: {\n $in: staticIn,\n },\n }\n : {\n instanceId: {\n $in: staticIn,\n },\n },\n });\n }\n return Promise.resolve({ list: [] });\n };\n\n const [{ list: searchList }, { list: valueList }] = await Promise.all([\n InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n $and: [props.userQuery, showKeyQuery],\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n $and: [props.userGroupQuery, showKeyQuery],\n }\n : props.query\n ? {\n $and: [props.query, showKeyQuery],\n }\n : showKeyQuery,\n }),\n fetchByCurrentValue(),\n ]);\n\n for (const item of valueList!) {\n const exists = searchList!.find((v) => v.instanceId === item.instanceId);\n if (!exists) {\n searchList!.push(item);\n }\n }\n\n return searchList!;\n };\n\n const searchUser = async (value: string) => {\n setUserList(await fetchInstanceList(\"USER\", value));\n };\n\n // 用户组在instanceId前面加上:\n const searchUserGroup = async (value: string) => {\n const result = await fetchInstanceList(\"USER_GROUP\", value);\n setUserGroupList(\n result.map((v) => {\n v.instanceId = \":\" + v.instanceId;\n return v;\n })\n );\n };\n\n const searchUserOrUserGroupInstances = async (value: string) => {\n setSearchValue(value);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n };\n\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const prevValueRef = useRef<string[] | undefined>();\n\n useEffect(() => {\n // Re-fetch when value changes (such as updating the value programmatically)\n // TODO: avoid unnecessary requests\n if (props.value?.length && !isEqual(props.value, prevValueRef.current)) {\n prevValueRef.current = props.value;\n searchUserOrUserGroupInstances(\"\");\n }\n }, [props.value]);\n\n const triggerChange = (changedValue: string[]) => {\n props.onChange?.(changedValue);\n };\n\n const handleSelectChange = (e: any) => {\n const originValue = e.detail?.value;\n\n const value = filter(\n Array.isArray(originValue)\n ? originValue\n : originValue\n ? [originValue]\n : [],\n (item) => {\n return !find(props.staticList, (v) => v === item);\n }\n );\n\n value.unshift(...staticValue.current);\n setSelectedValue(value as any);\n triggerChange(value);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const isDifferent = () => {\n const userOfValues = props.value?.filter((v) => !v.startsWith(\":\")) || [];\n const userGroupOfValues =\n props.value?.filter((v) => v.startsWith(\":\")) || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item: any) => !item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item: any) => item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n return (\n !isEqual([...userOfValues].sort(), [...userOfSelectedValue].sort()) ||\n !isEqual(\n [...userGroupOfValues].sort(),\n [...userGroupOfSelectedValue].sort()\n )\n );\n };\n\n const initializeStaticList = () => {\n return groupBy(props.staticList, (v) =>\n startsWith(v, \":\") ? \"userGroup\" : \"user\"\n );\n };\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n let showName;\n if (Array.isArray(showKey)) {\n showName = showKey\n .map((key, index) => {\n if (index === 0) {\n return instanceData[key];\n } else {\n return instanceData[key] ? \"(\" + instanceData[key] + \")\" : \"\";\n }\n })\n .join(\"\");\n } else {\n showName = instanceData[showKey];\n }\n return showName || instanceData.name;\n };\n\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const usersValue = props.value.filter((v) => !v.startsWith(\":\"));\n const userGroupsValue = props.value.filter((v) => v.startsWith(\":\"));\n const staticKeys = initializeStaticList();\n const user: string[] = compact(\n uniq(([] as string[]).concat(staticKeys.user).concat(usersValue))\n );\n\n const userGroup: string[] = compact(\n uniq(\n ([] as string[])\n .concat(staticKeys.userGroup)\n .concat(userGroupsValue)\n )\n );\n\n if (\n (staticKeys.user &&\n some(staticKeys.user, (v) => !usersValue.includes(v))) ||\n (staticKeys.userGroup &&\n some(staticKeys.userGroup, (v) => !userGroupsValue.includes(v)))\n ) {\n triggerChange([...user, ...userGroup]);\n }\n const staticValueToSet: any = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n [userKey]: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n if (userGroup.length && props.optionsMode !== \"user\") {\n selectedUserGroup = (\n await InstanceApi_postSearch(\"USER_GROUP\", {\n query: {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(userGroup, (v) => (v as string).slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER_GROUP\"),\n map(getShowKey(\"USER_GROUP\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v[userKey],\n label: labelText,\n };\n\n if (props.staticList?.includes(v[userKey])) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ...map(selectedUserGroup, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n const result = {\n key: \":\" + v.instanceId,\n label: labelText,\n };\n\n if (props.staticList?.includes(\":\" + v.instanceId)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ];\n\n labelValue = [\n ...staticValueToSet,\n ...filter(labelValue, (v) => !props.staticList?.includes(v.key)),\n ];\n setSelectedValue(labelValue as any);\n setUserList(selectedUser);\n setUserGroupList(selectedUserGroup);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, []);\n\n const selectOptions = useMemo(() => {\n let userListOptions: any = [];\n let userGroupListOptions: any = [];\n if (userList.length) {\n userListOptions = userList.map((user) => ({\n label: getLabel(\"USER\", user),\n value: user[userKey],\n closeable: !props?.staticList?.includes(user[userKey]),\n tag: \"用户(仅显示前20项,更多结果请搜索)\",\n }));\n }\n if (userGroupList.length) {\n userGroupListOptions = userGroupList.map((group) => ({\n label: getLabel(\"USER_GROUP\", group),\n value: group.instanceId,\n closeable: !props?.staticList?.includes(group.instanceId),\n tag: \"用户组(仅显示前20项,更多结果请搜索)\",\n }));\n }\n\n return props.optionsMode === \"user\"\n ? userListOptions\n : props.optionsMode === \"group\"\n ? userGroupListOptions\n : [...userListOptions, ...userGroupListOptions];\n }, [userList, userGroupList, props.optionsMode, props.staticList, userKey]);\n\n // 快速选择我\n const addMeQuickly = async () => {\n const myUserValue =\n auth.getAuth()[userKey === \"instanceId\" ? \"userInstanceId\" : \"username\"];\n if (find(selectedValue, (v) => v === myUserValue)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n [userKey]: {\n $eq: myUserValue,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n myUser.length && setUserList([...userList, ...myUser]);\n handleSelectChange({ detail: { value: [...selectedValue, myUserValue] } });\n };\n\n return (\n <WrappedFormItem exportparts=\"message\" {...pickFormItemProps(props)}>\n <div className=\"select-wrapper\">\n <WrappedSelect\n clearable={true}\n mode={props.isMultiple ? \"multiple\" : undefined}\n placeholder={props.placeholder}\n value={computedValue}\n onchange={handleSelectChange as any}\n onfocus={handleFocus}\n onsearch={debounce((e) => {\n searchUserOrUserGroupInstances(e.detail.value as string);\n }, 500)}\n options={selectOptions as any}\n disabled={props.disabled}\n groupBy=\"tag\"\n themeVariant={props.themeVariant}\n />\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <WrappedButton\n onClick={addMeQuickly}\n type=\"link\"\n size=\"large\"\n style={{ fontSize: \"16px\" }}\n icon={{\n lib: \"easyops\",\n icon: \"quick-add-me\",\n }}\n />\n )}\n </div>\n </WrappedFormItem>\n );\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport {\n CmdbInstanceSelect,\n ComplexOption,\n} from \"./CmdbInstanceSelectInternal\";\nimport { isNil } from \"lodash\";\nimport { ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface EoCmdbInstanceSelectProps extends FormItemProps {\n shadowRoot: ShadowRoot | null;\n objectId: string;\n mode?: string;\n pageSize?: number;\n instanceQuery?: any;\n placeholder?: string;\n fields?: Partial<ComplexOption<string>>;\n minimumInputLength?: number;\n value?: string | string[];\n onChange?: (value: string | string[], option?: ComplexOption) => void;\n onOptionsChange?: (options: ComplexOption[]) => void;\n allowClear?: boolean;\n inputBoxStyle?: React.CSSProperties;\n extraSearchKey?: string[];\n extraFields?: string[];\n popoverPositionType?: \"default\" | \"parent\";\n isMultiLabel?: boolean;\n showSearchTip?: boolean;\n labelTemplate?: string;\n disabled?: boolean;\n permission?: Array<\"read\" | \"update\" | \"operate\">;\n showTooltip?: boolean;\n ignoreMissingFieldError?: boolean;\n showKeyField?: boolean;\n dropdownMatchSelectWidth?: boolean;\n dropdownStyle?: React.CSSProperties;\n blurAfterValueChanged?: boolean;\n sort?: Array<Record<string, number | string>>;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n validateState?: string;\n trigger?: string;\n}\n\nexport interface CmdbInstanceSelectEventsMap {\n change: CustomEvent<string | string[]>;\n \"change.v2\": CustomEvent<ComplexOption>;\n \"options.change\": CustomEvent<{ options: ComplexOption[]; name: string }>;\n}\n\nexport interface CmdbInstanceSelectEventsMapping {\n onChange: \"change\";\n onChangeV2: \"change.v2\";\n onOptionsChange: \"options.change\";\n}\n\n/**\n * CMDB 实例选择器\n * @author jo\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-cmdb-instance-select\", {\n styleTexts: [styleText],\n})\nclass EoCmdbInstanceSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string | string[] | undefined;\n\n /**\n * 模型 id\n */\n @property()\n accessor objectId!: string;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 支持清除选项\n */\n @property({\n type: Boolean,\n })\n accessor allowClear: boolean | undefined;\n\n /**\n * 多选模式\n */\n @property()\n accessor mode: string | undefined;\n\n /**\n * 配置搜索接口的pageSize\n */\n @property({\n type: Number,\n })\n accessor pageSize: number | undefined;\n\n /**\n * 下拉框选项的过滤条件\n */\n @property({\n attribute: false,\n })\n accessor instanceQuery: any;\n\n /**\n * 自定义 select 下拉选项的 label 和 value 字段\n */\n @property({\n attribute: false,\n })\n accessor fields: Partial<ComplexOption<string>> | undefined;\n\n /**\n * 输入多少个字符才触发搜索动作\n */\n @property({\n type: Number,\n })\n accessor minimumInputLength: number | undefined;\n\n /**\n * 配置额外的字段进行搜索\n */\n @property({\n attribute: false,\n })\n accessor extraSearchKey: string[] | undefined;\n\n /**\n * 配置接口需要返回的额外字段\n */\n @property({\n attribute: false,\n })\n accessor extraFields: string[] | undefined;\n\n /**\n * 下拉选项的渲染方式\n */\n @property()\n accessor popoverPositionType: \"default\" | \"parent\" | undefined;\n\n /**\n * 控制下拉框中的label显示一个或者多个\n */\n @property({\n type: Boolean,\n })\n accessor isMultiLabel: boolean | undefined;\n\n /**\n * 下拉列表的最后一行是否显示提示\n */\n @property({\n type: Boolean,\n })\n accessor showSearchTip: boolean | undefined;\n\n /**\n * 可自定义label显示的模板\n */\n @property()\n accessor labelTemplate: string | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputBoxStyle: React.CSSProperties | undefined;\n\n /**\n * 按照权限过滤实例\n */\n @property({\n attribute: false,\n })\n accessor permission: Array<\"read\" | \"update\" | \"operate\"> | undefined;\n\n /**\n * 下拉框中是否启用tooltip显示label全称\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n /**\n * 是否忽略不存在字段\n */\n @property({\n type: Boolean,\n })\n accessor ignoreMissingFieldError: boolean | undefined;\n\n /**\n * 实例通过showKey自定义展示\n */\n @property({\n type: Boolean,\n })\n accessor showKeyField: boolean | undefined;\n\n /**\n * 下拉菜单和选择器同宽\n */\n @property({\n type: Boolean,\n })\n accessor dropdownMatchSelectWidth: boolean | undefined;\n\n /**\n * 设置下拉框容器的样式\n */\n @property({\n attribute: false,\n })\n accessor dropdownStyle: React.CSSProperties | undefined;\n\n /**\n * 是否在选完值后取消聚焦\n */\n @property({\n type: Boolean,\n })\n accessor blurAfterValueChanged: boolean | undefined;\n\n /**\n * 配置接口返回数据的排序规则\n */\n @property({\n attribute: false,\n })\n accessor sort: Array<Record<string, number | string>> | undefined;\n\n /**\n * 使用外部数据源\n */\n @property({\n type: Boolean,\n })\n accessor useExternalCmdbApi: boolean | undefined;\n\n /**\n * 外部数据源id\n */\n @property()\n accessor externalSourceId: string | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string | string[]>;\n\n @event({ type: \"change.v2\" })\n accessor #changeEventV2!: EventEmitter<ComplexOption>;\n\n @event({ type: \"options.change\" })\n accessor #optionsChangeEvent!: EventEmitter<{\n options: ComplexOption[];\n name: string;\n }>;\n\n handleChange = (value: string | string[], option?: ComplexOption) => {\n this.value = value;\n Promise.resolve().then(() => {\n this.#changeEvent.emit(value);\n this.#changeEventV2.emit(option || ({ value } as ComplexOption));\n this.getFormElement()?.resetValidateState();\n });\n };\n\n handleOptionsChange = (options: ComplexOption[]) => {\n Promise.resolve().then(() => {\n this.#optionsChangeEvent.emit({\n options,\n name: this.name!,\n });\n });\n };\n\n render() {\n return (\n <EoCmdbInstanceSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n value={this.value}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n onOptionsChange={this.handleOptionsChange}\n objectId={this.objectId}\n disabled={this.disabled}\n allowClear={this.allowClear}\n mode={this.mode}\n pageSize={this.pageSize}\n instanceQuery={this.instanceQuery}\n fields={this.fields}\n minimumInputLength={this.minimumInputLength}\n extraSearchKey={this.extraSearchKey}\n extraFields={this.extraFields}\n popoverPositionType={this.popoverPositionType}\n isMultiLabel={this.isMultiLabel}\n showSearchTip={this.showSearchTip}\n labelTemplate={this.labelTemplate}\n inputBoxStyle={this.inputBoxStyle}\n permission={this.permission}\n showTooltip={this.showTooltip}\n ignoreMissingFieldError={this.ignoreMissingFieldError}\n showKeyField={this.showKeyField}\n dropdownMatchSelectWidth={this.dropdownMatchSelectWidth}\n dropdownStyle={this.dropdownStyle}\n blurAfterValueChanged={this.blurAfterValueChanged}\n sort={this.sort}\n useExternalCmdbApi={this.useExternalCmdbApi}\n externalSourceId={this.externalSourceId}\n placeholder={this.placeholder}\n shadowRoot={this.shadowRoot}\n />\n );\n }\n}\n\nexport function EoCmdbInstanceSelectComponent(\n props: EoCmdbInstanceSelectProps\n) {\n const selectRef = useRef<any>();\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n\n useEffect(() => {\n if (!isNil(props.value)) {\n selectRef.current?.setInitValue?.(props.value);\n }\n }, [props.value]);\n\n const handleChange = (value: string, option?: ComplexOption) => {\n props.onChange?.(value, option);\n };\n\n const handleOptionsChange = (options: ComplexOption[]) => {\n props.onOptionsChange?.(options);\n };\n\n const cache = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem exportparts=\"message\" {...pickFormItemProps(props)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cache}>\n <CmdbInstanceSelect\n ref={selectRef}\n objectId={props.objectId}\n mode={props.mode}\n pageSize={props.pageSize}\n instanceQuery={props.instanceQuery}\n placeholder={props.placeholder}\n fields={props.fields}\n firstRender={true}\n minimumInputLength={props.minimumInputLength}\n value={props.value}\n onChange={handleChange}\n optionsChange={handleOptionsChange}\n allowClear={props.allowClear}\n inputBoxStyle={props.inputBoxStyle}\n extraSearchKey={props.extraSearchKey}\n extraFields={props.extraFields}\n popoverPositionType={props.popoverPositionType}\n isMultiLabel={props.isMultiLabel}\n showSearchTip={props.showSearchTip}\n labelTemplate={props.labelTemplate}\n disabled={props.disabled}\n permission={props.permission}\n showTooltip={props.showTooltip}\n ignoreMissingFieldError={props.ignoreMissingFieldError}\n showKeyField={props.showKeyField}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n dropdownStyle={props.dropdownStyle}\n blurAfterValueChanged={props.blurAfterValueChanged}\n sort={props.sort}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n getPopupContainer={(trigger: HTMLElement) => trigger}\n />\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","InstanceApi_postSearch","_ref","objectId","data","options","http","post","concat","_x","_x2","_x3","apply","this","arguments","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedButton","WrappedSelect","_EoUserOrUserGroupSel","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_EoUserOrUserGroupSelect_brand","WeakSet","EoUserOrUserGroupSelect","FormItemElementBase","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_placeholder","_init_extra_placeholder","_init_value","_init_extra_value","_init_objectList","_init_extra_objectList","_init_query","_init_extra_query","_init_userQuery","_init_extra_userQuery","_init_userGroupQuery","_init_extra_userGroupQuery","_init_userKey","_init_extra_userKey","_init_optionsMode","_init_extra_optionsMode","_init_disabled","_init_extra_disabled","_init_isMultiple","_init_extra_isMultiple","_init_staticList","_init_extra_staticList","_init_hideAddMeQuickly","_init_extra_hideAddMeQuickly","_init_themeVariant","_init_extra_themeVariant","_init_changeEvent","_defineProperty","_init_extra_changeEvent","values","Promise","resolve","then","_this$getFormElement","_classPrivateGetter","_get_changeEvent","emit","getFormElement","resetValidateState","name","_classPrivateFieldGet","v","_classPrivateFieldSet","label","required","placeholder","value","objectList","query","userQuery","userGroupQuery","userKey","optionsMode","disabled","isMultiple","staticList","hideAddMeQuickly","themeVariant","render","React","EoUserOrUserGroupSelectComponent","formElement","curElement","validateState","notRender","helpBrick","trigger","onChange","handleUserOrUserGroupChange","props","searchValue","setSearchValue","useState","userList","setUserList","userGroupList","setUserGroupList","selectedValue","setSelectedValue","staticValue","useRef","computedValue","useMemo","_props$value","isNil","getShowKey","useCallback","_objectMap$objectId","_objectMap$objectId$v","objectMap","keyBy","view","show_key","fetchInstanceList","async","keyword","showKey","showKeyQuery","$or","map","uniq","$like","state","list","searchList","valueList","all","page","page_size","fields","zipObject","$and","fetchByCurrentValue","_props$value2","_props$value3","staticIn","filter","startsWith","slice","length","$in","instanceId","item","find","searchUser","searchUserGroup","result","searchUserOrUserGroupInstances","prevValueRef","useEffect","_props$value4","isEqual","current","triggerChange","changedValue","_props$onChange","call","handleSelectChange","e","_e$detail","originValue","detail","Array","isArray","unshift","getLabel","instanceData","showName","key","index","join","isDifferent","_props$value5","_props$value6","userOfValues","userGroupOfValues","userOfSelectedValue","_item$key","userGroupOfSelectedValue","_item$key2","sort","selectedUser","selectedUserGroup","usersValue","userGroupsValue","staticKeys","groupBy","user","compact","userGroup","some","includes","staticValueToSet","labelValue","_props$staticList","labelText","_props$staticList2","_props$staticList3","initializeSelectedValue","selectOptions","userListOptions","userGroupListOptions","_props$staticList4","closeable","tag","group","_props$staticList5","_extends","exportparts","pickFormItemProps","className","clearable","mode","undefined","onchange","onfocus","handleFocus","onsearch","debounce","onClick","myUserValue","auth","getAuth","myUser","$eq","type","size","style","fontSize","icon","lib","_EoUserOrUserGroupSelect","_set_changeEvent","c","_initClass","_applyDecs","styleTexts","styleText","Boolean","attribute","o","_","has","_checkInRHS","initializeI18n","NS","locales","_EoCmdbInstanceSelect","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_d","_e","_EoCmdbInstanceSelect_brand","_f","_g","EoCmdbInstanceSelect","_init_objectId","_init_extra_objectId","_init_allowClear","_init_extra_allowClear","_init_mode","_init_extra_mode","_init_pageSize","_init_extra_pageSize","_init_instanceQuery","_init_extra_instanceQuery","_init_fields","_init_extra_fields","_init_minimumInputLength","_init_extra_minimumInputLength","_init_extraSearchKey","_init_extra_extraSearchKey","_init_extraFields","_init_extra_extraFields","_init_popoverPositionType","_init_extra_popoverPositionType","_init_isMultiLabel","_init_extra_isMultiLabel","_init_showSearchTip","_init_extra_showSearchTip","_init_labelTemplate","_init_extra_labelTemplate","_init_inputBoxStyle","_init_extra_inputBoxStyle","_init_permission","_init_extra_permission","_init_showTooltip","_init_extra_showTooltip","_init_ignoreMissingFieldError","_init_extra_ignoreMissingFieldError","_init_showKeyField","_init_extra_showKeyField","_init_dropdownMatchSelectWidth","_init_extra_dropdownMatchSelectWidth","_init_dropdownStyle","_init_extra_dropdownStyle","_init_blurAfterValueChanged","_init_extra_blurAfterValueChanged","_init_sort","_init_extra_sort","_init_useExternalCmdbApi","_init_extra_useExternalCmdbApi","_init_externalSourceId","_init_extra_externalSourceId","_init_changeEventV","_init_extra_changeEventV","_init_optionsChangeEvent","_init_extra_optionsChangeEvent","option","_get_changeEventV","_get_optionsChangeEvent","allowClear","pageSize","instanceQuery","minimumInputLength","extraSearchKey","extraFields","popoverPositionType","isMultiLabel","showSearchTip","labelTemplate","inputBoxStyle","permission","showTooltip","ignoreMissingFieldError","showKeyField","dropdownMatchSelectWidth","dropdownStyle","blurAfterValueChanged","useExternalCmdbApi","externalSourceId","EoCmdbInstanceSelectComponent","handleChange","onOptionsChange","handleOptionsChange","shadowRoot","selectRef","currentTheme","useCurrentTheme","locale","i18n","language","split","enUS","zhCN","_selectRef$current","_selectRef$current$se","setInitValue","cache","createCache","ConfigProvider","theme","algorithm","darkAlgorithm","defaultAlgorithm","StyleProvider","container","CmdbInstanceSelect","ref","firstRender","optionsChange","_props$onOptionsChang","getPopupContainer","_EoCmdbInstanceSelect2","_set_changeEventV","_set_optionsChangeEvent","Number"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/6223.ef1a783e.js","mappings":"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","sources":["webpack:///./src/user-or-user-group-select/styles.shadow.css","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearch.js","webpack:///./src/user-or-user-group-select/index.tsx","webpack:///./src/cmdb-instance-select/index.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}.select-wrapper{display:flex;align-items:center}eo-select{width:100%}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例\n * @endpoint POST /object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearch = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearch@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearch/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearch(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearch.js.map","import React, {\n useEffect,\n useState,\n useMemo,\n useRef,\n useCallback,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { Select, SelectProps } from \"@next-bricks/form/select\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport { InstanceApi_postSearch, CmdbModels } from \"@next-api-sdk/cmdb-sdk\";\n\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n isNil,\n uniq,\n find,\n isEqual,\n groupBy,\n compact,\n some,\n keyBy,\n DebouncedFunc,\n} from \"lodash\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\n\n// --- NOTE: uncomment these lines below to enable i18n for your brick ---\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n// import { K, NS, locales } from \"./i18n.js\";\n// initializeReactI18n(NS, locales);\ntype ModelObjectItem = Partial<CmdbModels.ModelCmdbObject>;\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedSelect = wrapBrick<\n Select,\n SelectProps & {\n onchange: () => void;\n onfocus: () => void;\n onsearch: DebouncedFunc<(e: any) => void>;\n }\n>(\"eo-select\");\n\nexport interface EoUserOrUserGroupSelectProps extends FormItemProps {\n value?: string[] | undefined;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n validateState?: string;\n onChange?: (value: string[]) => void;\n objectList?: ModelObjectItem[];\n query?: Record<string, any>;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n userKey?: \"name\" | \"instanceId\";\n optionsMode: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n isMultiple?: boolean;\n hideAddMeQuickly?: boolean;\n themeVariant?: \"default\" | \"elevo\";\n}\n\nexport interface MarkdownDisplayEventsMap {\n change: CustomEvent<string[]>;\n}\n\nexport interface MarkdownDisplayEventsMapping {\n onChange: \"change\";\n}\n\n/**\n * 用户(组)选择器\n * @author dophijing\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-user-or-user-group-select\", {\n styleTexts: [styleText],\n})\nclass EoUserOrUserGroupSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string[] | undefined;\n\n /**\n * 模型列表(按需传递 USER/USER_GROUP 的模型定义,用于显示对应实例名称)\n *\n * 注:get object ref 被滥用,这里先暂不支持自动拉取。\n */\n @property({\n attribute: false,\n })\n accessor objectList: Partial<CmdbModels.ModelCmdbObject>[] | undefined;\n\n /**\n * 用户和用户组`search`接口的`query`,此参数比较适用于,两者接口需要参数相同的情况\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor query: Record<string, any> | undefined;\n\n /**\n * 针对`USER/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userQuery: Record<string, any> | undefined;\n\n /**\n * 针对`USER_GROUP/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户组做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userGroupQuery: Record<string, any> | undefined;\n\n /**\n * 用户对象的唯一标识字段,即:value 使用的字段名\n *\n * @default \"name\"\n */\n @property()\n accessor userKey: \"name\" | \"instanceId\" | undefined;\n\n /**\n * 支持选择用户、用户组或者两者\n * {\n * \"optionType\": \"button\",\n * \"options\": [\n * {\n * \"label\": \"All\",\n * \"value\": \"all\"\n * },\n * {\n * \"label\": \"User\",\n * \"value\": \"user\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"user\",\n * \"theme\": \"outlined\"\n * }\n * },\n * {\n * \"label\": \"Group\",\n * \"value\": \"group\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"usergroup-add\",\n * \"theme\": \"outlined\"\n * }\n * }\n * ]\n * }\n * @group advanced\n */\n @property()\n accessor optionsMode: \"user\" | \"group\" | \"all\" = \"all\";\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否多选,默认为多选\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor isMultiple: boolean = true;\n\n /**\n * 固定白名单列表,该列表中的值用户不能取消。\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor staticList: string[] | undefined;\n\n /**\n * 快速选择我\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor hideAddMeQuickly: boolean = true;\n\n /** 主题变体 */\n @property()\n accessor themeVariant: \"default\" | \"elevo\" | undefined;\n\n /**\n * 值变化时触发\n * @detail 当前选中的用户名或用户组实例 ID 列表\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string[]>;\n\n handleUserOrUserGroupChange = (values: string[]) => {\n Promise.resolve().then(() => {\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n });\n };\n\n render() {\n return (\n <EoUserOrUserGroupSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n required={this.required}\n value={this.value}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleUserOrUserGroupChange\"\n onChange={this.handleUserOrUserGroupChange}\n objectList={this.objectList}\n query={this.query}\n userQuery={this.userQuery}\n userGroupQuery={this.userGroupQuery}\n userKey={this.userKey}\n optionsMode={this.optionsMode}\n staticList={this.staticList}\n isMultiple={this.isMultiple}\n disabled={this.disabled}\n hideAddMeQuickly={this.hideAddMeQuickly}\n themeVariant={this.themeVariant}\n />\n );\n }\n}\n\nexport function EoUserOrUserGroupSelectComponent(\n props: EoUserOrUserGroupSelectProps\n) {\n // const { t } = useTranslation(NS);\n // const hello = t(K.HELLO);\n const objectList = props.objectList;\n const userKey = props.userKey === \"instanceId\" ? props.userKey : \"name\";\n const [searchValue, setSearchValue] = useState<string>();\n const [userList, setUserList] = useState<any[]>([]);\n const [userGroupList, setUserGroupList] = useState<any[]>([]);\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n\n const computedValue = useMemo(() => {\n if (isNil(props.value)) {\n return undefined;\n } else {\n return props.isMultiple ? [...props.value] : props.value?.[0];\n }\n }, [props.value, props.isMultiple]);\n\n const getShowKey = useCallback(\n (objectId: string): string[] => {\n const objectMap = keyBy(objectList, \"objectId\");\n return (\n (objectMap[objectId]?.view && objectMap[objectId].view?.show_key) || [\n \"name\",\n ]\n );\n },\n [objectList]\n );\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(objectId === \"USER\"\n ? {\n state: \"valid\",\n }\n : {}),\n };\n\n const fetchByCurrentValue = () => {\n // 对于分组是以 \":instanceId\" 的格式存储在 value 中\n const staticIn =\n objectId === \"USER\"\n ? props.value?.filter((v) => !v.startsWith(\":\"))\n : props.value\n ?.filter((v) => v.startsWith(\":\"))\n .map((v) => v.slice(1));\n\n if (staticIn?.length) {\n return InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: staticIn.length,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n objectId === \"USER\"\n ? {\n [userKey]: {\n $in: staticIn,\n },\n }\n : {\n instanceId: {\n $in: staticIn,\n },\n },\n });\n }\n return Promise.resolve({ list: [] });\n };\n\n const [{ list: searchList }, { list: valueList }] = await Promise.all([\n InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n $and: [props.userQuery, showKeyQuery],\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n $and: [props.userGroupQuery, showKeyQuery],\n }\n : props.query\n ? {\n $and: [props.query, showKeyQuery],\n }\n : showKeyQuery,\n }),\n fetchByCurrentValue(),\n ]);\n\n for (const item of valueList!) {\n const exists = searchList!.find((v) => v.instanceId === item.instanceId);\n if (!exists) {\n searchList!.push(item);\n }\n }\n\n return searchList!;\n };\n\n const searchUser = async (value: string) => {\n setUserList(await fetchInstanceList(\"USER\", value));\n };\n\n // 用户组在instanceId前面加上:\n const searchUserGroup = async (value: string) => {\n const result = await fetchInstanceList(\"USER_GROUP\", value);\n setUserGroupList(\n result.map((v) => {\n v.instanceId = \":\" + v.instanceId;\n return v;\n })\n );\n };\n\n const searchUserOrUserGroupInstances = async (value: string) => {\n setSearchValue(value);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n };\n\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const prevValueRef = useRef<string[] | undefined>();\n\n useEffect(() => {\n // Re-fetch when value changes (such as updating the value programmatically)\n // TODO: avoid unnecessary requests\n if (props.value?.length && !isEqual(props.value, prevValueRef.current)) {\n prevValueRef.current = props.value;\n searchUserOrUserGroupInstances(\"\");\n }\n }, [props.value]);\n\n const triggerChange = (changedValue: string[]) => {\n props.onChange?.(changedValue);\n };\n\n const handleSelectChange = (e: any) => {\n const originValue = e.detail?.value;\n\n const value = filter(\n Array.isArray(originValue)\n ? originValue\n : originValue\n ? [originValue]\n : [],\n (item) => {\n return !find(props.staticList, (v) => v === item);\n }\n );\n\n value.unshift(...staticValue.current);\n setSelectedValue(value as any);\n triggerChange(value);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const isDifferent = () => {\n const userOfValues = props.value?.filter((v) => !v.startsWith(\":\")) || [];\n const userGroupOfValues =\n props.value?.filter((v) => v.startsWith(\":\")) || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item: any) => !item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item: any) => item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n return (\n !isEqual([...userOfValues].sort(), [...userOfSelectedValue].sort()) ||\n !isEqual(\n [...userGroupOfValues].sort(),\n [...userGroupOfSelectedValue].sort()\n )\n );\n };\n\n const initializeStaticList = () => {\n return groupBy(props.staticList, (v) =>\n startsWith(v, \":\") ? \"userGroup\" : \"user\"\n );\n };\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n let showName;\n if (Array.isArray(showKey)) {\n showName = showKey\n .map((key, index) => {\n if (index === 0) {\n return instanceData[key];\n } else {\n return instanceData[key] ? \"(\" + instanceData[key] + \")\" : \"\";\n }\n })\n .join(\"\");\n } else {\n showName = instanceData[showKey];\n }\n return showName || instanceData.name;\n };\n\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const usersValue = props.value.filter((v) => !v.startsWith(\":\"));\n const userGroupsValue = props.value.filter((v) => v.startsWith(\":\"));\n const staticKeys = initializeStaticList();\n const user: string[] = compact(\n uniq(([] as string[]).concat(staticKeys.user).concat(usersValue))\n );\n\n const userGroup: string[] = compact(\n uniq(\n ([] as string[])\n .concat(staticKeys.userGroup)\n .concat(userGroupsValue)\n )\n );\n\n if (\n (staticKeys.user &&\n some(staticKeys.user, (v) => !usersValue.includes(v))) ||\n (staticKeys.userGroup &&\n some(staticKeys.userGroup, (v) => !userGroupsValue.includes(v)))\n ) {\n triggerChange([...user, ...userGroup]);\n }\n const staticValueToSet: any = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n [userKey]: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n if (userGroup.length && props.optionsMode !== \"user\") {\n selectedUserGroup = (\n await InstanceApi_postSearch(\"USER_GROUP\", {\n query: {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(userGroup, (v) => (v as string).slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER_GROUP\"),\n map(getShowKey(\"USER_GROUP\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v[userKey],\n label: labelText,\n };\n\n if (props.staticList?.includes(v[userKey])) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ...map(selectedUserGroup, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n const result = {\n key: \":\" + v.instanceId,\n label: labelText,\n };\n\n if (props.staticList?.includes(\":\" + v.instanceId)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ];\n\n labelValue = [\n ...staticValueToSet,\n ...filter(labelValue, (v) => !props.staticList?.includes(v.key)),\n ];\n setSelectedValue(labelValue as any);\n setUserList(selectedUser);\n setUserGroupList(selectedUserGroup);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, []);\n\n const selectOptions = useMemo(() => {\n let userListOptions: any = [];\n let userGroupListOptions: any = [];\n if (userList.length) {\n userListOptions = userList.map((user) => ({\n label: getLabel(\"USER\", user),\n value: user[userKey],\n closeable: !props?.staticList?.includes(user[userKey]),\n tag: \"用户(仅显示前20项,更多结果请搜索)\",\n }));\n }\n if (userGroupList.length) {\n userGroupListOptions = userGroupList.map((group) => ({\n label: getLabel(\"USER_GROUP\", group),\n value: group.instanceId,\n closeable: !props?.staticList?.includes(group.instanceId),\n tag: \"用户组(仅显示前20项,更多结果请搜索)\",\n }));\n }\n\n return props.optionsMode === \"user\"\n ? userListOptions\n : props.optionsMode === \"group\"\n ? userGroupListOptions\n : [...userListOptions, ...userGroupListOptions];\n }, [userList, userGroupList, props.optionsMode, props.staticList, userKey]);\n\n // 快速选择我\n const addMeQuickly = async () => {\n const myUserValue =\n auth.getAuth()[userKey === \"instanceId\" ? \"userInstanceId\" : \"username\"];\n if (find(selectedValue, (v) => v === myUserValue)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n [userKey]: {\n $eq: myUserValue,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n myUser.length && setUserList([...userList, ...myUser]);\n handleSelectChange({ detail: { value: [...selectedValue, myUserValue] } });\n };\n\n return (\n <WrappedFormItem exportparts=\"message\" {...pickFormItemProps(props)}>\n <div className=\"select-wrapper\">\n <WrappedSelect\n clearable={true}\n mode={props.isMultiple ? \"multiple\" : undefined}\n placeholder={props.placeholder}\n value={computedValue}\n onchange={handleSelectChange as any}\n onfocus={handleFocus}\n onsearch={debounce((e) => {\n searchUserOrUserGroupInstances(e.detail.value as string);\n }, 500)}\n options={selectOptions as any}\n disabled={props.disabled}\n groupBy=\"tag\"\n themeVariant={props.themeVariant}\n />\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <WrappedButton\n onClick={addMeQuickly}\n type=\"link\"\n size=\"large\"\n style={{ fontSize: \"16px\" }}\n icon={{\n lib: \"easyops\",\n icon: \"quick-add-me\",\n }}\n />\n )}\n </div>\n </WrappedFormItem>\n );\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport {\n CmdbInstanceSelect,\n ComplexOption,\n} from \"./CmdbInstanceSelectInternal\";\nimport { isNil } from \"lodash\";\nimport { ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface EoCmdbInstanceSelectProps extends FormItemProps {\n shadowRoot: ShadowRoot | null;\n objectId: string;\n mode?: string;\n pageSize?: number;\n instanceQuery?: any;\n placeholder?: string;\n fields?: Partial<ComplexOption<string>>;\n minimumInputLength?: number;\n value?: string | string[];\n onChange?: (value: string | string[], option?: ComplexOption) => void;\n onOptionsChange?: (options: ComplexOption[]) => void;\n allowClear?: boolean;\n inputBoxStyle?: React.CSSProperties;\n extraSearchKey?: string[];\n extraFields?: string[];\n popoverPositionType?: \"default\" | \"parent\";\n isMultiLabel?: boolean;\n showSearchTip?: boolean;\n labelTemplate?: string;\n disabled?: boolean;\n permission?: Array<\"read\" | \"update\" | \"operate\">;\n showTooltip?: boolean;\n ignoreMissingFieldError?: boolean;\n showKeyField?: boolean;\n dropdownMatchSelectWidth?: boolean;\n dropdownStyle?: React.CSSProperties;\n blurAfterValueChanged?: boolean;\n sort?: Array<Record<string, number | string>>;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n validateState?: string;\n trigger?: string;\n}\n\nexport interface CmdbInstanceSelectEventsMap {\n change: CustomEvent<string | string[]>;\n \"change.v2\": CustomEvent<ComplexOption>;\n \"options.change\": CustomEvent<{ options: ComplexOption[]; name: string }>;\n}\n\nexport interface CmdbInstanceSelectEventsMapping {\n onChange: \"change\";\n onChangeV2: \"change.v2\";\n onOptionsChange: \"options.change\";\n}\n\n/**\n * CMDB 实例选择器\n * @author jo\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-cmdb-instance-select\", {\n styleTexts: [styleText],\n})\nclass EoCmdbInstanceSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string | string[] | undefined;\n\n /**\n * 模型 id\n */\n @property()\n accessor objectId!: string;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 支持清除选项\n */\n @property({\n type: Boolean,\n })\n accessor allowClear: boolean | undefined;\n\n /**\n * 多选模式\n */\n @property()\n accessor mode: string | undefined;\n\n /**\n * 配置搜索接口的pageSize\n */\n @property({\n type: Number,\n })\n accessor pageSize: number | undefined;\n\n /**\n * 下拉框选项的过滤条件\n */\n @property({\n attribute: false,\n })\n accessor instanceQuery: any;\n\n /**\n * 自定义 select 下拉选项的 label 和 value 字段\n */\n @property({\n attribute: false,\n })\n accessor fields: Partial<ComplexOption<string>> | undefined;\n\n /**\n * 输入多少个字符才触发搜索动作\n */\n @property({\n type: Number,\n })\n accessor minimumInputLength: number | undefined;\n\n /**\n * 配置额外的字段进行搜索\n */\n @property({\n attribute: false,\n })\n accessor extraSearchKey: string[] | undefined;\n\n /**\n * 配置接口需要返回的额外字段\n */\n @property({\n attribute: false,\n })\n accessor extraFields: string[] | undefined;\n\n /**\n * 下拉选项的渲染方式\n */\n @property()\n accessor popoverPositionType: \"default\" | \"parent\" | undefined;\n\n /**\n * 控制下拉框中的label显示一个或者多个\n */\n @property({\n type: Boolean,\n })\n accessor isMultiLabel: boolean | undefined;\n\n /**\n * 下拉列表的最后一行是否显示提示\n */\n @property({\n type: Boolean,\n })\n accessor showSearchTip: boolean | undefined;\n\n /**\n * 可自定义label显示的模板\n */\n @property()\n accessor labelTemplate: string | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputBoxStyle: React.CSSProperties | undefined;\n\n /**\n * 按照权限过滤实例\n */\n @property({\n attribute: false,\n })\n accessor permission: Array<\"read\" | \"update\" | \"operate\"> | undefined;\n\n /**\n * 下拉框中是否启用tooltip显示label全称\n */\n @property({\n type: Boolean,\n })\n accessor showTooltip: boolean | undefined;\n\n /**\n * 是否忽略不存在字段\n */\n @property({\n type: Boolean,\n })\n accessor ignoreMissingFieldError: boolean | undefined;\n\n /**\n * 实例通过showKey自定义展示\n */\n @property({\n type: Boolean,\n })\n accessor showKeyField: boolean | undefined;\n\n /**\n * 下拉菜单和选择器同宽\n */\n @property({\n type: Boolean,\n })\n accessor dropdownMatchSelectWidth: boolean | undefined;\n\n /**\n * 设置下拉框容器的样式\n */\n @property({\n attribute: false,\n })\n accessor dropdownStyle: React.CSSProperties | undefined;\n\n /**\n * 是否在选完值后取消聚焦\n */\n @property({\n type: Boolean,\n })\n accessor blurAfterValueChanged: boolean | undefined;\n\n /**\n * 配置接口返回数据的排序规则\n */\n @property({\n attribute: false,\n })\n accessor sort: Array<Record<string, number | string>> | undefined;\n\n /**\n * 使用外部数据源\n */\n @property({\n type: Boolean,\n })\n accessor useExternalCmdbApi: boolean | undefined;\n\n /**\n * 外部数据源id\n */\n @property()\n accessor externalSourceId: string | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string | string[]>;\n\n @event({ type: \"change.v2\" })\n accessor #changeEventV2!: EventEmitter<ComplexOption>;\n\n @event({ type: \"options.change\" })\n accessor #optionsChangeEvent!: EventEmitter<{\n options: ComplexOption[];\n name: string;\n }>;\n\n handleChange = (value: string | string[], option?: ComplexOption) => {\n this.value = value;\n Promise.resolve().then(() => {\n this.#changeEvent.emit(value);\n this.#changeEventV2.emit(option || ({ value } as ComplexOption));\n this.getFormElement()?.resetValidateState();\n });\n };\n\n handleOptionsChange = (options: ComplexOption[]) => {\n Promise.resolve().then(() => {\n this.#optionsChangeEvent.emit({\n options,\n name: this.name!,\n });\n });\n };\n\n render() {\n return (\n <EoCmdbInstanceSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n value={this.value}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n onOptionsChange={this.handleOptionsChange}\n objectId={this.objectId}\n disabled={this.disabled}\n allowClear={this.allowClear}\n mode={this.mode}\n pageSize={this.pageSize}\n instanceQuery={this.instanceQuery}\n fields={this.fields}\n minimumInputLength={this.minimumInputLength}\n extraSearchKey={this.extraSearchKey}\n extraFields={this.extraFields}\n popoverPositionType={this.popoverPositionType}\n isMultiLabel={this.isMultiLabel}\n showSearchTip={this.showSearchTip}\n labelTemplate={this.labelTemplate}\n inputBoxStyle={this.inputBoxStyle}\n permission={this.permission}\n showTooltip={this.showTooltip}\n ignoreMissingFieldError={this.ignoreMissingFieldError}\n showKeyField={this.showKeyField}\n dropdownMatchSelectWidth={this.dropdownMatchSelectWidth}\n dropdownStyle={this.dropdownStyle}\n blurAfterValueChanged={this.blurAfterValueChanged}\n sort={this.sort}\n useExternalCmdbApi={this.useExternalCmdbApi}\n externalSourceId={this.externalSourceId}\n placeholder={this.placeholder}\n shadowRoot={this.shadowRoot}\n />\n );\n }\n}\n\nexport function EoCmdbInstanceSelectComponent(\n props: EoCmdbInstanceSelectProps\n) {\n const selectRef = useRef<any>();\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n\n useEffect(() => {\n if (!isNil(props.value)) {\n selectRef.current?.setInitValue?.(props.value);\n }\n }, [props.value]);\n\n const handleChange = (value: string, option?: ComplexOption) => {\n props.onChange?.(value, option);\n };\n\n const handleOptionsChange = (options: ComplexOption[]) => {\n props.onOptionsChange?.(options);\n };\n\n const cache = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem exportparts=\"message\" {...pickFormItemProps(props)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cache}>\n <CmdbInstanceSelect\n ref={selectRef}\n objectId={props.objectId}\n mode={props.mode}\n pageSize={props.pageSize}\n instanceQuery={props.instanceQuery}\n placeholder={props.placeholder}\n fields={props.fields}\n firstRender={true}\n minimumInputLength={props.minimumInputLength}\n value={props.value}\n onChange={handleChange}\n optionsChange={handleOptionsChange}\n allowClear={props.allowClear}\n inputBoxStyle={props.inputBoxStyle}\n extraSearchKey={props.extraSearchKey}\n extraFields={props.extraFields}\n popoverPositionType={props.popoverPositionType}\n isMultiLabel={props.isMultiLabel}\n showSearchTip={props.showSearchTip}\n labelTemplate={props.labelTemplate}\n disabled={props.disabled}\n permission={props.permission}\n showTooltip={props.showTooltip}\n ignoreMissingFieldError={props.ignoreMissingFieldError}\n showKeyField={props.showKeyField}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n dropdownStyle={props.dropdownStyle}\n blurAfterValueChanged={props.blurAfterValueChanged}\n sort={props.sort}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n getPopupContainer={(trigger: HTMLElement) => trigger}\n />\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","InstanceApi_postSearch","_ref","objectId","data","options","http","post","concat","_x","_x2","_x3","apply","this","arguments","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedButton","WrappedSelect","_EoUserOrUserGroupSel","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_EoUserOrUserGroupSelect_brand","WeakSet","EoUserOrUserGroupSelect","FormItemElementBase","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_placeholder","_init_extra_placeholder","_init_value","_init_extra_value","_init_objectList","_init_extra_objectList","_init_query","_init_extra_query","_init_userQuery","_init_extra_userQuery","_init_userGroupQuery","_init_extra_userGroupQuery","_init_userKey","_init_extra_userKey","_init_optionsMode","_init_extra_optionsMode","_init_disabled","_init_extra_disabled","_init_isMultiple","_init_extra_isMultiple","_init_staticList","_init_extra_staticList","_init_hideAddMeQuickly","_init_extra_hideAddMeQuickly","_init_themeVariant","_init_extra_themeVariant","_init_changeEvent","_defineProperty","_init_extra_changeEvent","values","Promise","resolve","then","_this$getFormElement","_classPrivateGetter","_get_changeEvent","emit","getFormElement","resetValidateState","name","_classPrivateFieldGet","v","_classPrivateFieldSet","label","required","placeholder","value","objectList","query","userQuery","userGroupQuery","userKey","optionsMode","disabled","isMultiple","staticList","hideAddMeQuickly","themeVariant","render","React","EoUserOrUserGroupSelectComponent","formElement","curElement","validateState","notRender","helpBrick","trigger","onChange","handleUserOrUserGroupChange","props","searchValue","setSearchValue","useState","userList","setUserList","userGroupList","setUserGroupList","selectedValue","setSelectedValue","staticValue","useRef","computedValue","useMemo","_props$value","isNil","getShowKey","useCallback","_objectMap$objectId","_objectMap$objectId$v","objectMap","keyBy","view","show_key","fetchInstanceList","async","keyword","showKey","showKeyQuery","$or","map","uniq","$like","state","list","searchList","valueList","all","page","page_size","fields","zipObject","$and","fetchByCurrentValue","_props$value2","_props$value3","staticIn","filter","startsWith","slice","length","$in","instanceId","item","find","searchUser","searchUserGroup","result","searchUserOrUserGroupInstances","prevValueRef","useEffect","_props$value4","isEqual","current","triggerChange","changedValue","_props$onChange","call","handleSelectChange","e","_e$detail","originValue","detail","Array","isArray","unshift","getLabel","instanceData","showName","key","index","join","isDifferent","_props$value5","_props$value6","userOfValues","userGroupOfValues","userOfSelectedValue","_item$key","userGroupOfSelectedValue","_item$key2","sort","selectedUser","selectedUserGroup","usersValue","userGroupsValue","staticKeys","groupBy","user","compact","userGroup","some","includes","staticValueToSet","labelValue","_props$staticList","labelText","_props$staticList2","_props$staticList3","initializeSelectedValue","selectOptions","userListOptions","userGroupListOptions","_props$staticList4","closeable","tag","group","_props$staticList5","_extends","exportparts","pickFormItemProps","className","clearable","mode","undefined","onchange","onfocus","handleFocus","onsearch","debounce","onClick","myUserValue","auth","getAuth","myUser","$eq","type","size","style","fontSize","icon","lib","_EoUserOrUserGroupSelect","_set_changeEvent","c","_initClass","_applyDecs","styleTexts","styleText","Boolean","attribute","o","_","has","_checkInRHS","initializeI18n","NS","locales","_EoCmdbInstanceSelect","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_d","_e","_EoCmdbInstanceSelect_brand","_f","_g","EoCmdbInstanceSelect","_init_objectId","_init_extra_objectId","_init_allowClear","_init_extra_allowClear","_init_mode","_init_extra_mode","_init_pageSize","_init_extra_pageSize","_init_instanceQuery","_init_extra_instanceQuery","_init_fields","_init_extra_fields","_init_minimumInputLength","_init_extra_minimumInputLength","_init_extraSearchKey","_init_extra_extraSearchKey","_init_extraFields","_init_extra_extraFields","_init_popoverPositionType","_init_extra_popoverPositionType","_init_isMultiLabel","_init_extra_isMultiLabel","_init_showSearchTip","_init_extra_showSearchTip","_init_labelTemplate","_init_extra_labelTemplate","_init_inputBoxStyle","_init_extra_inputBoxStyle","_init_permission","_init_extra_permission","_init_showTooltip","_init_extra_showTooltip","_init_ignoreMissingFieldError","_init_extra_ignoreMissingFieldError","_init_showKeyField","_init_extra_showKeyField","_init_dropdownMatchSelectWidth","_init_extra_dropdownMatchSelectWidth","_init_dropdownStyle","_init_extra_dropdownStyle","_init_blurAfterValueChanged","_init_extra_blurAfterValueChanged","_init_sort","_init_extra_sort","_init_useExternalCmdbApi","_init_extra_useExternalCmdbApi","_init_externalSourceId","_init_extra_externalSourceId","_init_changeEventV","_init_extra_changeEventV","_init_optionsChangeEvent","_init_extra_optionsChangeEvent","option","_get_changeEventV","_get_optionsChangeEvent","allowClear","pageSize","instanceQuery","minimumInputLength","extraSearchKey","extraFields","popoverPositionType","isMultiLabel","showSearchTip","labelTemplate","inputBoxStyle","permission","showTooltip","ignoreMissingFieldError","showKeyField","dropdownMatchSelectWidth","dropdownStyle","blurAfterValueChanged","useExternalCmdbApi","externalSourceId","EoCmdbInstanceSelectComponent","handleChange","onOptionsChange","handleOptionsChange","shadowRoot","selectRef","currentTheme","useCurrentTheme","locale","i18n","language","split","enUS","zhCN","_selectRef$current","_selectRef$current$se","setInitValue","cache","createCache","ConfigProvider","theme","algorithm","darkAlgorithm","defaultAlgorithm","StyleProvider","container","CmdbInstanceSelect","ref","firstRender","optionsChange","_props$onOptionsChang","getPopupContainer","_EoCmdbInstanceSelect2","_set_changeEventV","_set_optionsChangeEvent","Number"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[6376],{6376:(e,t,r)=>{r.r(t),r.d(t,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>a,asyncWrapBrick:()=>w,useAuth:()=>O,useCheckPermissions:()=>P,useControlledState:()=>F,useCurrentApp:()=>d,useCurrentTheme:()=>i,useFeatureFlags:()=>L,useHistory:()=>A,useLazyWrapBrick:()=>_,useLocation:()=>j,useMessage:()=>N,useNavConfig:()=>k,useParams:()=>B,usePathParams:()=>E,useProvider:()=>h,useRecentApps:()=>l,useRouteRender:()=>f,useSearchParams:()=>R,useSystemInfo:()=>M});var n=r(8769),s=r(6305);let u=function(e){let{useBrick:t,data:r,errorBoundary:u,refCallback:c,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),g=(0,n.useRef)(0),m=(0,n.useMemo)((()=>{var e;return null===(e=s.__secret_internals.getRenderId)||void 0===e?void 0:e.call(s.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await s.__secret_internals.renderUseBrick(t,r,u);if(e)return;i(n),f(++g.current)}catch(n){!e&&function(e){var t;const r=null===(t=s.__secret_internals.getRenderId)||void 0===t?void 0:t.call(s.__secret_internals);return!e||!r||e===r}(m)&&(console.error("Render useBrick failed:",t,"with data:",r),(0,s.handleHttpError)(n))}}(),()=>{e=!0}}),[r,t,m,u]);const y=(0,n.useCallback)((e=>{e?l.current=s.__secret_internals.mountUseBrick(o,e):(s.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==c||c(e)}),[c,o]);if(!o)return null;const{tagName:p}=o;if(null===p)return null==a||a(),null;const h=p;return n.createElement(h,{key:d,ref:y})},c=function(e){let{useBrick:t,data:r,errorBoundary:s,refCallback:c,ignoredCallback:a}=e;if("function"==typeof t){const e=t;return n.createElement(n.Fragment,null,e(r))}return n.createElement(u,{useBrick:t,data:r,errorBoundary:s,refCallback:c,ignoredCallback:a})},a=function(e){let{useBrick:t,data:r,errorBoundary:s}=e;return"function"==typeof t?n.createElement(n.Fragment,null,t(r)):Array.isArray(t)?n.createElement(n.Fragment,null,t.map(((e,t)=>n.createElement(c,{key:t,useBrick:e,data:r,errorBoundary:s})))):n.createElement(c,{useBrick:t,data:r,errorBoundary:s})};const o=(0,s.getV2RuntimeFromDll)();if(o){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:t}=o;e&&t&&(c=e(n),a=t(n))}function i(){const[e,t]=(0,n.useState)(s.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{t(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function l(){const[e,t]=n.useState((()=>(0,s.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{t(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function d(){return l().currentApp}function f(){const[e,t]=n.useState(null);return n.useEffect((()=>{const e=e=>{t(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const g={provider:"",customOptions:{onError:()=>{},transform:(e,t)=>t,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},m=Object.entries(g).reduce(((e,t)=>{let[r,n]=t;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[r]:n}}),{});var y=r(563);const p=new Map;function h(){const{provider:e,customOptions:t,dependencies:r,requestInit:u}=function(e,t,r){const s=(0,n.useMemo)((()=>"string"==typeof e?e:g.provider),[e,t]),u=(0,n.useMemo)((()=>{let r={};return(0,y.isObject)(e)?r=e:(0,y.isObject)(t)&&(r=t),{...m,...r}}),[e,t]),c=(0,n.useMemo)((()=>{const e=[...Object.keys(g),...Object.keys(g.customOptions)],{args:t=null,...r}=Object.keys(u).reduce(((t,r)=>(e.includes(r)||(t[r]=u[r]),t)),{});return{options:{...r},args:t}}),[u]),a=(0,n.useMemo)((()=>Array.isArray(t)?t:Array.isArray(r)?r:m.dependencies),[t,r]),o=u.loading||Array.isArray(a);return{provider:s,customOptions:(0,n.useMemo)((()=>({...Object.keys(g.customOptions).reduce(((e,t)=>(e[t]=u[t],e)),{}),loading:o})),[u]),requestInit:c,dependencies:a}}(...arguments),{onError:c,transform:a,suspense:o,cache:i,...l}=t,[d,f]=(0,n.useState)(l.loading),h=(0,n.useRef)("pending"),v=(0,n.useRef)(),w=(0,n.useRef)(!1),k=(0,n.useRef)(),_=(0,n.useRef)(),E=(0,n.useRef)(l.data),b=(0,n.useReducer)((()=>({})),[])[1],R=(0,n.useCallback)((async(e,t)=>{try{k.current=void 0,o||f(!0);const r=await async function(e,t,r){let n;const u=function(e){const t=e=>Object.keys(e).sort().map((t=>({[t]:e[t]})));for(var r=arguments.length,n=new Array(r>1?r-1:0),s=1;s<r;s++)n[s-1]=arguments[s];try{const r="object"!=typeof(u=n)||null===u||Array.isArray(u)?n.map((e=>function(e){return"string"==typeof e}(e)?e:t(e))):t(n);return JSON.stringify({provider:e,args:r})}catch(t){return JSON.stringify({provider:e,args:n})}var u}(e,...r);return!t&&p.has(u)&&p.delete(u),p.has(u)?n=p.get(u):(n=(0,s.fetchByProvider)(e,r,{cache:t?"default":"reload"}),t&&p.set(u,n)),n}(e,i,t);_.current=r,E.current=a(E.current,r)}catch(e){k.current=e,E.current=void 0}return o||f(!1),k.current&&c(k.current),E.current}),[e,t,r,u,o,a,l.data,c,i]),B=(0,n.useCallback)((async(t,r)=>{let n=e,s=[];return(0,y.isString)(t)&&(n=t),(0,y.isObject)(t)?s=t:(0,y.isObject)(r)&&(s=r),o?(async()=>(v.current=R(n,s).then((e=>(h.current="success",e)),(e=>(h.current="error",e.current=e,e))),b(),await v.current))():R(n,s)}),[R]),S=(0,n.useMemo)((()=>Object.defineProperties({query:B},{loading:{get:()=>d},data:{get:()=>E.current},error:{get:()=>k.current}})),[B]);if((0,n.useEffect)((()=>(w.current=!0,Array.isArray(r)&&e&&S.query(e,u.args),()=>w.current=!1)),r),o&&v.current)switch(h.current){case"pending":throw v.current;case"error":throw k.current}return Object.assign([S,_.current,d,k.current],{request:S,...S,response:_.current,data:E.current,loading:d,error:k.current})}var v=r(981);async function w(e,t){return await s.__secret_internals.loadBricks([e]),(0,v.wrapBrick)(e,t)}function k(){const[e,t]=(0,n.useState)((()=>(0,s.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{t(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function _(e,t){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await w(e,t)}))):null),[e,t])}function E(){const[e,t]=n.useState((()=>b()));return n.useEffect((()=>{const e=()=>{t(b())};return window.addEventListener("page.load",e),()=>window.removeEventListener("page.load",e)}),[]),e}function b(){try{var e,t;const r=s.__secret_internals.getLegalRuntimeValue();return null!==(e=null==r||null===(t=r.match)||void 0===t?void 0:t.params)&&void 0!==e?e:{}}catch(e){return{}}}function R(){const[e,t]=n.useState((()=>new URLSearchParams((0,s.getHistory)().location.search)));return n.useEffect((()=>(0,s.getHistory)().listen((e=>{t(new URLSearchParams(e.search))}))),[]),e}function B(){const[e,t]=n.useState((()=>S((0,s.getHistory)().location.search)));return n.useEffect((()=>(0,s.getHistory)().listen((e=>{t(S(e.search))}))),[]),e}function S(e){const t={};return new URLSearchParams(e).forEach(((e,r)=>{t[r]=e})),t}function A(){return(0,s.getHistory)()}var C=r(9113);function O(){return n.useMemo((()=>C.auth.getAuth()),[])}function j(){const[e,t]=n.useState((()=>(0,s.getHistory)().location));return n.useEffect((()=>(0,s.getHistory)().listen((e=>{t(e)}))),[]),e}function L(){return n.useMemo((()=>(0,s.getRuntime)().getFeatureFlags()),[])}function M(){return n.useMemo((()=>({...C.auth.getAuth(),...(0,s.getPageInfo)(),settings:{brand:(0,s.getRuntime)().getBrandSettings()}})),[])}function P(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.useMemo((()=>C.checkPermissions.checkPermissions(...t)),[JSON.stringify(t)])}function F(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[s,u]=n.useState(void 0!==e?e:t),c=void 0!==e;let a;return n.useEffect((()=>{c&&u(r?t=>(0,y.isEqual)(t,e)?t:e:e)}),[c,e,r]),a=c?r&&(0,y.isEqual)(s,e)?s:e:s,[a,u]}function N(){return n.useMemo((()=>({success:e=>{s.Notification.show({type:"success",message:e})},error:e=>{s.Notification.show({type:"error",message:e})},info:e=>{s.Notification.show({type:"info",message:e})},warn:e=>{s.Notification.show({type:"warn",message:e})}})),[])}}}]);
2
+ //# sourceMappingURL=6376.5cbfdb2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/6376.5cbfdb2a.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/usePathParams.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useSearchParams.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useParams.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useHistory.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useAuth.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLocation.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useFeatureFlags.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useSystemInfo.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCheckPermissions.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useControlledState.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useMessage.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n\n/**\n * useBrick 的 render 函数类型。\n *\n * @example\n *\n * ```tsx\n * const columns = [\n * {\n * key: \"status\",\n * useBrick: (data) => <WrappedEoTag textContent={data.cellData} />\n * }\n * ];\n * ```\n */\n\n/**\n * 单个 useBrick 配置,支持配置对象或 render 函数。\n */\n\n/**\n * useBrick 配置,支持配置对象、配置对象数组或 render 函数。\n */\n\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrickInternal = function ReactUseBrickInternal(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(renderResult, element);\n } else {\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nlet ReactUseBrick = function ReactUseBrick(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref2;\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n const renderFn = useBrick;\n return /*#__PURE__*/React.createElement(React.Fragment, null, renderFn(data));\n }\n\n // 否则使用原有的配置对象渲染逻辑\n return /*#__PURE__*/React.createElement(ReactUseBrickInternal, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary,\n refCallback: refCallback,\n ignoredCallback: ignoredCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref3) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref3;\n // 如果 useBrick 是 render 函数,直接调用返回\n if (typeof useBrick === \"function\") {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick(data));\n }\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map","import React from \"react\";\nimport { __secret_internals } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由路径参数的 React hooks。\n *\n * **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。\n * 如果在非路由上下文中使用,将返回空对象。\n *\n * 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。\n * 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const pathParams = usePathParams();\n * return <div>User ID: {pathParams.userId}</div>;\n * }\n * ```\n *\n * @returns 当前路由的路径参数对象。\n */\nexport function usePathParams() {\n const [pathParams, setPathParams] = React.useState(() => extractPathParams());\n React.useEffect(() => {\n const listener = () => {\n setPathParams(extractPathParams());\n };\n\n // 监听 page.load 事件,此时路由匹配已完成,match 信息已更新\n window.addEventListener(\"page.load\", listener);\n return () => window.removeEventListener(\"page.load\", listener);\n }, []);\n return pathParams;\n}\n\n/**\n * 从运行时上下文中提取路径参数。\n *\n * @internal\n */\nfunction extractPathParams() {\n try {\n var _runtimeValue$match$p, _runtimeValue$match;\n // 使用 __secret_internals 获取当前运行时值\n const runtimeValue = __secret_internals.getLegalRuntimeValue();\n return (_runtimeValue$match$p = runtimeValue === null || runtimeValue === void 0 || (_runtimeValue$match = runtimeValue.match) === null || _runtimeValue$match === void 0 ? void 0 : _runtimeValue$match.params) !== null && _runtimeValue$match$p !== void 0 ? _runtimeValue$match$p : {};\n } catch (_error) {\n // 如果运行时上下文不可用,返回空对象\n return {};\n }\n}\n//# sourceMappingURL=usePathParams.js.map","import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取当前 URL 查询参数的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const searchParams = useSearchParams();\n * return <div>Search query: {searchParams.get('q')}</div>;\n * }\n * ```\n *\n * @returns 当前 URL 的查询参数 URLSearchParams 对象。\n */\nexport function useSearchParams() {\n const [searchParams, setSearchParams] = React.useState(() => new URLSearchParams(getHistory().location.search));\n React.useEffect(() => {\n const unlisten = getHistory().listen(location => {\n setSearchParams(new URLSearchParams(location.search));\n });\n return unlisten;\n }, []);\n return searchParams;\n}\n//# sourceMappingURL=useSearchParams.js.map","import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 URL query 参数的 React hooks,返回普通对象。\n *\n * 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,\n * 而不是 URLSearchParams 实例,使用更方便。\n *\n * **注意**:\n * - 重复的参数只会保留最后一个值\n * - 所有值都是字符串类型\n * - 参数值会自动进行 URL 解码\n *\n * @example\n *\n * ```tsx\n * // URL: /page?id=123&name=test\n * function MyReactComponent() {\n * const params = useParams();\n * return <div>ID: {params.id}, Name: {params.name}</div>;\n * }\n * ```\n *\n * @returns URL query 参数对象。\n */\nexport function useParams() {\n const [params, setParams] = React.useState(() => extractParams(getHistory().location.search));\n React.useEffect(() => {\n const unlisten = getHistory().listen(location => {\n setParams(extractParams(location.search));\n });\n return unlisten;\n }, []);\n return params;\n}\n\n/**\n * 从 query string 中提取参数对象。\n *\n * @internal\n */\nfunction extractParams(search) {\n const params = {};\n const urlSearchParams = new URLSearchParams(search);\n urlSearchParams.forEach((value, key) => {\n params[key] = value;\n });\n return params;\n}\n//# sourceMappingURL=useParams.js.map","import { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 history 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const history = useHistory();\n * const handleClick = () => {\n * history.push('/new-page');\n * };\n * return <button onClick={handleClick}>Navigate</button>;\n * }\n * ```\n *\n * @returns history 对象,用于路由导航。\n */\nexport function useHistory() {\n return getHistory();\n}\n//# sourceMappingURL=useHistory.js.map","import React from \"react\";\nimport { auth } from \"@next-core/easyops-runtime\";\n/**\n * 获取用户认证信息的 React hooks。\n *\n * **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,\n * 避免不必要的组件重渲染。认证信息在会话期间保持不变。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const authInfo = useAuth();\n * return <div>Username: {authInfo.username}</div>;\n * }\n * ```\n *\n * @returns 当前用户的认证信息对象。\n */\nexport function useAuth() {\n return React.useMemo(() => auth.getAuth(), []);\n}\n//# sourceMappingURL=useAuth.js.map","import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由 location 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const location = useLocation();\n * return <div>Current path: {location.pathname}</div>;\n * }\n * ```\n *\n * @returns 当前路由的 location 对象。\n */\nexport function useLocation() {\n const [location, setLocation] = React.useState(() => getHistory().location);\n React.useEffect(() => {\n const unlisten = getHistory().listen(newLocation => {\n setLocation(newLocation);\n });\n return unlisten;\n }, []);\n return location;\n}\n//# sourceMappingURL=useLocation.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\n/**\n * 获取特性开关配置的 React hooks。\n *\n * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。\n * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const flags = useFeatureFlags();\n *\n * if (flags[\"my-new-feature\"]) {\n * return <NewFeature />;\n * }\n *\n * return <OldFeature />;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查特定功能是否启用\n * function FeatureToggle() {\n * const flags = useFeatureFlags();\n * const isEnabled = flags[\"experimental-mode\"] ?? false;\n *\n * return (\n * <div>\n * Experimental Mode: {isEnabled ? \"ON\" : \"OFF\"}\n * </div>\n * );\n * }\n * ```\n *\n * @returns 特性开关配置对象,键为特性名称,值为布尔值。\n */\nexport function useFeatureFlags() {\n return React.useMemo(() => getRuntime().getFeatureFlags(), []);\n}\n//# sourceMappingURL=useFeatureFlags.js.map","import React from \"react\";\nimport { getRuntime, getPageInfo } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\n\n/**\n * 系统信息接口,包含认证信息、页面信息和品牌设置。\n */\n\n/**\n * 获取系统信息的 React hooks。\n *\n * 系统信息包括:\n * - 用户认证信息(username, userInstanceId, org 等)\n * - 页面信息(isInIframe, isInIframeOfNext 等)\n * - 品牌设置(base_title 等)\n *\n * **注意**: 使用 useMemo 确保返回的对象引用稳定,\n * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const sys = useSystemInfo();\n *\n * return (\n * <div>\n * <p>User: {sys.username}</p>\n * <p>Org: {sys.org}</p>\n * <p>In iframe: {sys.isInIframe ? \"Yes\" : \"No\"}</p>\n * <p>Brand: {sys.settings.brand.base_title}</p>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查是否在 iframe 中\n * function IframeDetector() {\n * const sys = useSystemInfo();\n *\n * if (sys.isInIframe) {\n * return <div>Running in iframe mode</div>;\n * }\n *\n * return <div>Running in standalone mode</div>;\n * }\n * ```\n *\n * @returns 系统信息对象。\n */\nexport function useSystemInfo() {\n return React.useMemo(() => {\n const authInfo = auth.getAuth();\n const pageInfo = getPageInfo();\n const brandSettings = getRuntime().getBrandSettings();\n return {\n ...authInfo,\n ...pageInfo,\n settings: {\n brand: brandSettings\n }\n };\n }, []);\n}\n//# sourceMappingURL=useSystemInfo.js.map","import React from \"react\";\nimport { checkPermissions } from \"@next-core/easyops-runtime\";\n\n/**\n * 检查用户权限的 React hooks。\n *\n * 此 hook 用于检查当前登录用户是否拥有指定的权限操作。\n * 权限必须在 storyboard 配置的 `permissionsPreCheck` 中预先声明,\n * 否则会返回 false 并在控制台输出错误。\n *\n * **工作原理:**\n * - 权限会在路由渲染时自动预检查(通过 `preCheckPermissions`)\n * - 此 hook 查询已缓存的权限结果(同步操作)\n * - 管理员用户始终返回 true\n * - 未登录用户始终返回 false\n *\n * **注意事项:**\n * 1. 权限必须在 `permissionsPreCheck` 中声明\n * 2. 所有传入的 actions 都必须有权限才返回 true\n * 3. 权限检查结果会被缓存,避免重复计算\n *\n * @param actions - 需要检查的权限操作列表\n * @returns 是否拥有所有指定的权限\n *\n * @example\n *\n * ```tsx\n * // 检查单个权限\n * function DeleteButton() {\n * const canDelete = useCheckPermissions(\"my-app:user.delete\");\n *\n * if (!canDelete) {\n * return null;\n * }\n *\n * return <button onClick={handleDelete}>Delete</button>;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查多个权限(需要全部拥有)\n * function AdminPanel() {\n * const hasAccess = useCheckPermissions(\n * \"my-app:admin.read\",\n * \"my-app:admin.write\"\n * );\n *\n * if (!hasAccess) {\n * return <div>Access Denied</div>;\n * }\n *\n * return <div>Admin Panel Content</div>;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 在 storyboard 中配置权限预检查\n * // routes.yaml\n * routes:\n * - path: /users\n * permissionsPreCheck:\n * - \"my-app:user.read\"\n * - \"my-app:user.delete\"\n * bricks:\n * - brick: \"my-brick\"\n * ```\n */\nexport function useCheckPermissions() {\n for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {\n actions[_key] = arguments[_key];\n }\n // 使用 useMemo 缓存权限检查结果\n // 因为权限在会话期间是稳定的,只依赖于 actions 列表\n return React.useMemo(() => checkPermissions.checkPermissions(...actions),\n // 序列化 actions 作为依赖,避免数组引用变化导致重新计算\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(actions)]);\n}\n//# sourceMappingURL=useCheckPermissions.js.map","import React from \"react\";\nimport { isEqual } from \"lodash\";\n\n/**\n * 受控/非受控混合模式的通用 Hook。\n *\n * 此 hook 允许组件既支持受控模式(由父组件通过 props 控制状态),\n * 也支持非受控模式(组件自己管理内部状态)。\n *\n * **工作原理:**\n * - 当 `propValue !== undefined` 时,组件处于**受控模式**,状态跟随 prop 更新\n * - 当 `propValue === undefined` 时,组件处于**非受控模式**,使用内部状态\n * - 支持深度比较选项,避免复杂对象引用变化导致的不必要更新\n *\n * **使用场景:**\n * 1. 表单组件需要支持受控和非受控两种模式\n * 2. 组件状态可能由父组件控制,也可能自己管理\n * 3. 复杂对象状态需要避免不必要的重新渲染\n *\n * @template T - 状态值的类型\n * @param propValue - 来自 props 的值(undefined 表示非受控模式)\n * @param defaultValue - 默认值(props 为 undefined 时使用)\n * @param deepCompare - 是否使用深度比较(用于复杂对象,默认 false)\n * @returns 返回 [当前值, 设置值的函数],类似 useState\n *\n * @example\n *\n * ```tsx\n * // 简单值(字符串、数字)\n * function MyComponent({ deployed }: { deployed?: string }) {\n * const [value, setValue] = useControlledState(deployed, 'host');\n *\n * return (\n * <select value={value} onChange={(e) => setValue(e.target.value)}>\n * <option value=\"host\">Host</option>\n * <option value=\"container\">Container</option>\n * </select>\n * );\n * }\n *\n * // 使用方式 1:受控模式\n * <MyComponent deployed=\"container\" />\n *\n * // 使用方式 2:非受控模式\n * <MyComponent />\n * ```\n *\n * @example\n *\n * ```tsx\n * // 复杂对象(启用深度比较)\n * interface Config {\n * host: string;\n * port: number;\n * }\n *\n * function ConfigEditor({ config }: { config?: Config }) {\n * const [value, setValue] = useControlledState<Config | null>(\n * config,\n * null,\n * true // 启用深度比较\n * );\n *\n * return <div>{JSON.stringify(value)}</div>;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 与 onChange 回调结合\n * function Input({\n * value,\n * defaultValue = '',\n * onChange\n * }: {\n * value?: string;\n * defaultValue?: string;\n * onChange?: (val: string) => void;\n * }) {\n * const [internalValue, setInternalValue] = useControlledState(\n * value,\n * defaultValue\n * );\n *\n * const handleChange = (newValue: string) => {\n * setInternalValue(newValue);\n * onChange?.(newValue);\n * };\n *\n * return (\n * <input\n * value={internalValue}\n * onChange={(e) => handleChange(e.target.value)}\n * />\n * );\n * }\n * ```\n */\nexport function useControlledState(propValue, defaultValue) {\n let deepCompare = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // 初始化内部状态\n // 如果 propValue 不是 undefined,使用 propValue;否则使用 defaultValue\n const [internalValue, setInternalValue] = React.useState(propValue !== undefined ? propValue : defaultValue);\n const isControlled = propValue !== undefined;\n\n // 在受控模式下同步 propValue 到 internalValue\n React.useEffect(() => {\n if (isControlled) {\n if (deepCompare) {\n // 深度比较模式:只有值真正变化时才更新\n setInternalValue(prev => isEqual(prev, propValue) ? prev : propValue);\n } else {\n // 浅比较模式:直接更新(React 会自动优化相同值)\n setInternalValue(propValue);\n }\n }\n // 注意:当 propValue 变为 undefined 时,不更新 internalValue\n // 这样可以保持最后一次的值,实现从受控切换到非受控的平滑过渡\n }, [isControlled, propValue, deepCompare]);\n\n // 计算最终返回的值\n let value;\n if (isControlled) {\n if (deepCompare) {\n // 深度比较模式:如果内容相同,返回 internalValue 保持引用稳定\n // 否则返回 propValue\n value = isEqual(internalValue, propValue) ? internalValue : propValue;\n } else {\n // 浅比较模式:直接返回 propValue,确保受控模式下值始终同步\n value = propValue;\n }\n } else {\n // 非受控模式:返回 internalValue\n value = internalValue;\n }\n return [value, setInternalValue];\n}\n//# sourceMappingURL=useControlledState.js.map","import React from \"react\";\nimport { Notification } from \"@next-core/runtime\";\n/**\n * 获取 message 对象的 React hooks,用于显示通知消息。\n *\n * **注意**: 使用 useMemo 确保返回的 message 对象引用稳定,\n * 避免不必要的组件重渲染。这在对象被用于依赖数组或传递给记忆化组件时尤为重要。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const message = useMessage();\n * const handleSuccess = () => {\n * message.success(\"操作成功!\");\n * };\n * const handleError = () => {\n * message.error(\"操作失败!\");\n * };\n * return (\n * <div>\n * <button onClick={handleSuccess}>成功</button>\n * <button onClick={handleError}>失败</button>\n * </div>\n * );\n * }\n * ```\n *\n * @returns message 对象,包含 success、error、info、warn 四个方法。\n */\nexport function useMessage() {\n return React.useMemo(() => ({\n success: message => {\n Notification.show({\n type: \"success\",\n message\n });\n },\n error: message => {\n Notification.show({\n type: \"error\",\n message\n });\n },\n info: message => {\n Notification.show({\n type: \"info\",\n message\n });\n },\n warn: message => {\n Notification.show({\n type: \"warn\",\n message\n });\n }\n }), []);\n}\n//# sourceMappingURL=useMessage.js.map"],"names":["ReactUseBrickInternal","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseBrick","_ref2","renderFn","ReactUseMultipleBricks","_ref3","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default","usePathParams","pathParams","setPathParams","extractPathParams","_runtimeValue$match$p","_runtimeValue$match","runtimeValue","getLegalRuntimeValue","match","params","_error","useSearchParams","searchParams","setSearchParams","URLSearchParams","getHistory","location","search","listen","useParams","setParams","extractParams","forEach","useHistory","useAuth","auth","getAuth","useLocation","setLocation","newLocation","useFeatureFlags","getFeatureFlags","useSystemInfo","getPageInfo","settings","brand","getBrandSettings","useCheckPermissions","actions","checkPermissions","useControlledState","propValue","defaultValue","deepCompare","internalValue","setInternalValue","isControlled","prev","isEqual","useMessage","success","message","Notification","show","type","info","warn"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[6941],{281:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),r=a.n(n),l=a(935),i=a.n(l)()(r());i.push([e.id,":host{display:block}",""]);const o=i.toString()},1757:(e,t,a)=>{a.d(t,{N:()=>k});var n,r=a(918),l=a(6121),i=a(829),o=a(2740),s=a(870),c=a(981);let d,u,h,p,m,b,v,f,A;const{method:g,property:C}=(0,s.createDecorators)();var S=new WeakMap,E=new WeakMap,y=new WeakMap,I=new WeakMap,_=new WeakMap,w=new WeakMap,N=new WeakMap;class k extends c.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,S,(d(this),!1)),(0,r.A)(this,E,"normal"),(0,r.A)(this,y,!1),(0,r.A)(this,I,u(this)),(0,r.A)(this,_,(h(this),p(this))),(0,r.A)(this,w,(m(this),b(this))),(0,r.A)(this,N,(v(this),f(this))),A(this)}get _notRender(){return(0,i.A)(S,this)}set _notRender(e){(0,l.A)(S,this,e)}get validate(){return(0,i.A)(E,this)}set validate(e){(0,l.A)(E,this,e)}get bindFormItem(){return(0,i.A)(y,this)}set bindFormItem(e){(0,l.A)(y,this,e)}get isFormItemElement(){return!0}set validateState(e){this.validate=e,this._render()}get validateState(){return this.validate}set notRender(e){this.hidden=e,this._notRender=e,this._render()}get notRender(){return this._notRender}get $bindFormItem(){return this.bindFormItem}set $bindFormItem(e){this.bindFormItem=e,this._render()}get helpBrick(){return(0,i.A)(I,this)}set helpBrick(e){(0,l.A)(I,this,e)}get labelBrick(){return(0,i.A)(_,this)}set labelBrick(e){(0,l.A)(_,this,e)}get labelCol(){return(0,i.A)(w,this)}set labelCol(e){(0,l.A)(w,this,e)}get wrapperCol(){return(0,i.A)(N,this)}set wrapperCol(e){(0,l.A)(N,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}n=k,[u,h,p,m,b,v,f,A,d]=(0,o.A)(n,[],[[C({attribute:!1}),1,"helpBrick"],[C({attribute:!1}),1,"labelBrick"],[C({attribute:!1}),1,"labelCol"],[C({attribute:!1}),1,"wrapperCol"],[g(),2,"setNotRender"],[g(),2,"getFormElement"]],0,void 0,c.ReactNextElement).e},2736:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(563);const r=["formElement","curElement","name","label","current","required","pattern","type","min","max","labelCol","wrapperCol","message","layout","size","trigger","valuePropsName","notRender","helpBrick","labelBrick","needValidate","validator"];function l(e){return(0,n.pick)(e,r)}},5814:(e,t,a)=>{a.d(t,{GW:()=>$});var n=a(9575),r=a(8769),l=a.n(r),i=a(801),o=a(656),s=a(7008),c=a(563),d=a(6305),u=a(4986),h=a(8406),p=a(3373),m=a.n(p),b=a(7177),v=a(6123),f=a(2591),A=a.n(f),g=a(1740),C=a.n(g),S=a(8128),E=a.n(S),y=a(855),I=a.n(y),_=a(3051),w=a.n(_),N=a(3656),k=a.n(N),R=a(9156),x={};x.styleTagTransform=k(),x.setAttributes=I(),x.insert=E().bind(null,"head"),x.domAPI=C(),x.insertStyleElement=w(),A()(R.A,x);const B=R.A&&R.A.locals?R.A.locals:void 0;(0,b.initializeI18n)(v.NS,v.I);const T=e=>"HOST"===e?"hostname":"name",$=l().forwardRef((function(e,t){const{showKeyField:a,fields:p={label:[a?"#showKey":T(e.objectId)],value:"instanceId"},firstRender:f=!0,minimumInputLength:A=0,extraSearchKey:g=[],extraFields:C=[],mode:S,placeholder:E,allowClear:y,pageSize:I=30,isMultiLabel:_=!0,showSearchTip:w,permission:N,ignoreMissingFieldError:k,dropdownMatchSelectWidth:R=!0,blurAfterValueChanged:x,suffix:$,useExternalCmdbApi:M,externalSourceId:j}=e,D=function(e){const t=Array.isArray(e)?e:[e];return(0,c.compact)(t)}(e.instanceQuery);p.value||(p.value="instanceId");const[F,K]=l().useState(),[W,z]=l().useState(),[U,H]=l().useState([]),[P,L]=l().useState([]),[O,G]=l().useState(0),[q,V]=l().useState(!1),J=(0,u.useProvider)("easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1",{cache:!1}),Z=(0,r.useMemo)((()=>({objectId:e.objectId,sourceId:e.externalSourceId})),[e.objectId,j]),Q=()=>{const t=[p.value,...Array.isArray(p.label)?p.label:[p.label],...g,...C];return"USER"===e.objectId&&t.push("user_icon"),t},X=async function(t,a){let n=arguments.length>3?arguments[3]:void 0;if(arguments.length>2&&void 0!==arguments[2]&&arguments[2]||t.length>=A)try{var r;let l=[];if(!e.objectId)return[];V(!0);const i={query:{$and:[{$or:[...Array.isArray(p.label)?p.label.filter((e=>!!e)).map((e=>({[e]:{$like:`%${t}%`}}))):p.label?[{[p.label]:{$like:`%${t}%`}}]:[],...g.map((e=>({[e]:{$like:`%${t}%`}})))]},...a]},...N?{permission:N}:{},fields:Q().filter((e=>!!e)),page:1,page_size:n||I,ignore_missing_field_error:k,sort:e.sort},o=M?await J.query([{...i,...Z}]):await(0,h.y)(e.objectId,i);l=o.list,G(o.total);const s=l.map((t=>({...t,label:Array.isArray(p.label)?p.label.map((e=>e?(0,c.get)(t,e):void 0)):p.label?(0,c.get)(t,p.label):void 0,value:p.value?(0,c.get)(t,p.value):void 0,..."USER"===e.objectId?{user_icon:(0,c.get)(t,"user_icon","defaultIcon")}:{}})));return H(s),null===(r=e.optionsChange)||void 0===r||r.call(e,s),s}catch(e){return(0,d.handleHttpError)(e),[]}finally{V(!1)}return[]};l().useEffect((()=>{!e.objectId||(0,c.isNil)(e.value)||(0,c.isEqual)(e.objectId,W)&&(0,c.isEqual)(e.value,F)||(async t=>{const a=await X("",[{[p.value||"instanceId"]:{$in:(0,c.castArray)(e.value)}},...D],!0,(null===(t=e.value)||void 0===t?void 0:t.length)>=I?e.value.length:I);L(a)})();const t="multiple"!==e.mode||(0,c.trim)(e.value)?e.value:[];K(t),z(e.objectId)}),[e.value,e.objectId]),l().useEffect((()=>{f||K("multiple"===S?[]:"")}),[e.objectId]);const Y=(0,c.debounce)((e=>X(e,D)),500);return l().createElement(i.A,(0,n.A)({ref:t,loading:q,className:"formsCmdbInstSelect",allowClear:y,style:(0,c.defaults)(e.inputBoxStyle,{width:"100%"}),showSearch:!0,filterOption:!1,value:F,mode:S,placeholder:E||b.i18n.t(`${v.NS}:${v.K.BACKGROUND_SEARCH}`),onChange:t=>{let a;if("multiple"===S){const e=new Set(t);a=U.filter((t=>e.has(t.value)));const n=new Set((0,c.difference)(t,a.map((e=>e.value))));a=a.concat(P.filter((e=>n.has(e.value))))}else a=U.find((e=>e.value===t));if(x){const e=document.getElementsByClassName("formsCmdbInstSelect");for(let t=0;t<e.length;t++){var n;null===(n=e[t].getElementsByTagName("input"))||void 0===n||null===(n=n[0])||void 0===n||n.blur()}}K(t),L(a),e.onChange&&e.onChange(t,a)},onSearch:Y,onFocus:async()=>{await X("",D)},disabled:e.disabled,dropdownStyle:{padding:"2px",...e.dropdownStyle},dropdownMatchSelectWidth:R,dropdownRender:e=>l().createElement("div",null,e,w&&O>I&&l().createElement("div",{className:B.moreChoices},"仅显示前",I,"项,更多结果请搜索"))},"parent"===e.popoverPositionType?{getPopupContainer:e=>e.parentElement}:{getPopupContainer:e.getPopupContainer}),U.map(((t,a)=>{var n;const r=(t=>{if(e.labelTemplate)return function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.replace(/#{([#A-Za-z_$][\w$]*(?:(?:\.[A-Za-z_$][\w$]*)|(?:\[[0-9]+\]))*)}/g,((e,n)=>{const r=(0,c.get)(t,n);return void 0===r?!0===a?e:"":r}))}(e.labelTemplate,t);{const a=t.label;if(Array.isArray(a)){const t=a[0],n=a.slice(1,a.length).join(",");if(Array.isArray(t)&&e.showKeyField){const e=t[0],a=t.slice(1,t.length).join(",");return a&&_?`${e}(${a})`:null!=e?e:""}return n&&_?`${null!=t?t:" - "}(${n})`:null!=t?t:""}return a}})(t);return l().createElement(i.A.Option,{key:a,value:t.value,label:r},l().createElement(o.A,{title:e.showTooltip?r:void 0},l().createElement("div",{className:m()(B.optionDiv)},t.user_icon&&l().createElement("span",null,l().createElement(s.A,{src:t.user_icon,size:24,className:m()(B.avatar,{[B.defaultIcon]:"defaultIcon"===t.user_icon})},"defaultIcon"===t.user_icon&&(null===(n=t.label)||void 0===n?void 0:n.slice(0,2)))),l().createElement("span",{className:m()(B.optionSpan),"data-testid":"option-label"},r),(null==$?void 0:$.useBrick)&&l().createElement("div",{className:B.suffixContainer},l().createElement(u.ReactUseMultipleBricks,{useBrick:$.useBrick,data:t})))))})))}))},6123:(e,t,a)=>{a.d(t,{I:()=>l,K:()=>n,NS:()=>r});let n=function(e){return e.CMDB_INSTANCE_SELECT="CMDB_INSTANCE_SELECT",e.BACKGROUND_SEARCH="BACKGROUND_SEARCH",e}({});const r="bricks/form-platform/eo-cmdb-instance-select",l={en:{CMDB_INSTANCE_SELECT:"CMDB Instance Select",BACKGROUND_SEARCH:"Input keyword to search"},zh:{CMDB_INSTANCE_SELECT:"CMDB 实例选择",BACKGROUND_SEARCH:"输入关键字搜索"}}},9156:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),r=a.n(n),l=a(935),i=a.n(l)()(r());i.push([e.id,".avatar--bjgrCS7c{flex-shrink:0}.avatar--bjgrCS7c.defaultIcon--JzAU3AVW{background-color:#167be0;vertical-align:middle}.moreChoices--NRe_HE2Z{padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#999;font-style:italic}.optionSpan--RfuLmCys{max-width:100%;overflow:hidden;text-overflow:ellipsis}.optionDiv--NwbSvnDQ{display:flex;align-items:center;gap:6px;min-height:100%}.suffixContainer--T6K_eJyX{margin-left:auto}",""]),i.locals={avatar:"avatar--bjgrCS7c",defaultIcon:"defaultIcon--JzAU3AVW",moreChoices:"moreChoices--NRe_HE2Z",optionSpan:"optionSpan--RfuLmCys",optionDiv:"optionDiv--NwbSvnDQ",suffixContainer:"suffixContainer--T6K_eJyX"};const o=i}}]);
2
- //# sourceMappingURL=6941.66e34b74.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[6941],{281:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),r=a.n(n),l=a(935),i=a.n(l)()(r());i.push([e.id,":host{display:block}",""]);const o=i.toString()},1757:(e,t,a)=>{a.d(t,{N:()=>k});var n,r=a(918),l=a(6121),i=a(829),o=a(2740),s=a(870),c=a(981);let d,u,h,p,m,b,v,f,A;const{method:g,property:C}=(0,s.createDecorators)();var S=new WeakMap,E=new WeakMap,y=new WeakMap,I=new WeakMap,_=new WeakMap,w=new WeakMap,N=new WeakMap;class k extends c.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,S,(d(this),!1)),(0,r.A)(this,E,"normal"),(0,r.A)(this,y,!1),(0,r.A)(this,I,u(this)),(0,r.A)(this,_,(h(this),p(this))),(0,r.A)(this,w,(m(this),b(this))),(0,r.A)(this,N,(v(this),f(this))),A(this)}get _notRender(){return(0,i.A)(S,this)}set _notRender(e){(0,l.A)(S,this,e)}get validate(){return(0,i.A)(E,this)}set validate(e){(0,l.A)(E,this,e)}get bindFormItem(){return(0,i.A)(y,this)}set bindFormItem(e){(0,l.A)(y,this,e)}get isFormItemElement(){return!0}set validateState(e){this.validate=e,this._render()}get validateState(){return this.validate}set notRender(e){this.hidden=e,this._notRender=e,this._render()}get notRender(){return this._notRender}get $bindFormItem(){return this.bindFormItem}set $bindFormItem(e){this.bindFormItem=e,this._render()}get helpBrick(){return(0,i.A)(I,this)}set helpBrick(e){(0,l.A)(I,this,e)}get labelBrick(){return(0,i.A)(_,this)}set labelBrick(e){(0,l.A)(_,this,e)}get labelCol(){return(0,i.A)(w,this)}set labelCol(e){(0,l.A)(w,this,e)}get wrapperCol(){return(0,i.A)(N,this)}set wrapperCol(e){(0,l.A)(N,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}n=k,[u,h,p,m,b,v,f,A,d]=(0,o.A)(n,[],[[C({attribute:!1}),1,"helpBrick"],[C({attribute:!1}),1,"labelBrick"],[C({attribute:!1}),1,"labelCol"],[C({attribute:!1}),1,"wrapperCol"],[g(),2,"setNotRender"],[g(),2,"getFormElement"]],0,void 0,c.ReactNextElement).e},2736:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(563);const r=["formElement","curElement","name","label","current","required","pattern","type","min","max","labelCol","wrapperCol","message","layout","size","trigger","valuePropsName","notRender","helpBrick","labelBrick","needValidate","validator"];function l(e){return(0,n.pick)(e,r)}},5814:(e,t,a)=>{a.d(t,{GW:()=>$});var n=a(9575),r=a(8769),l=a.n(r),i=a(801),o=a(656),s=a(7008),c=a(563),d=a(6305),u=a(4986),h=a(8406),p=a(3373),m=a.n(p),b=a(7177),v=a(6123),f=a(2591),A=a.n(f),g=a(1740),C=a.n(g),S=a(8128),E=a.n(S),y=a(855),I=a.n(y),_=a(5432),w=a.n(_),N=a(3656),k=a.n(N),R=a(9156),x={};x.styleTagTransform=k(),x.setAttributes=I(),x.insert=E().bind(null,"head"),x.domAPI=C(),x.insertStyleElement=w(),A()(R.A,x);const B=R.A&&R.A.locals?R.A.locals:void 0;(0,b.initializeI18n)(v.NS,v.I);const T=e=>"HOST"===e?"hostname":"name",$=l().forwardRef((function(e,t){const{showKeyField:a,fields:p={label:[a?"#showKey":T(e.objectId)],value:"instanceId"},firstRender:f=!0,minimumInputLength:A=0,extraSearchKey:g=[],extraFields:C=[],mode:S,placeholder:E,allowClear:y,pageSize:I=30,isMultiLabel:_=!0,showSearchTip:w,permission:N,ignoreMissingFieldError:k,dropdownMatchSelectWidth:R=!0,blurAfterValueChanged:x,suffix:$,useExternalCmdbApi:M,externalSourceId:j}=e,D=function(e){const t=Array.isArray(e)?e:[e];return(0,c.compact)(t)}(e.instanceQuery);p.value||(p.value="instanceId");const[F,K]=l().useState(),[W,z]=l().useState(),[U,H]=l().useState([]),[P,L]=l().useState([]),[O,G]=l().useState(0),[q,V]=l().useState(!1),J=(0,u.useProvider)("easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1",{cache:!1}),Z=(0,r.useMemo)((()=>({objectId:e.objectId,sourceId:e.externalSourceId})),[e.objectId,j]),Q=()=>{const t=[p.value,...Array.isArray(p.label)?p.label:[p.label],...g,...C];return"USER"===e.objectId&&t.push("user_icon"),t},X=async function(t,a){let n=arguments.length>3?arguments[3]:void 0;if(arguments.length>2&&void 0!==arguments[2]&&arguments[2]||t.length>=A)try{var r;let l=[];if(!e.objectId)return[];V(!0);const i={query:{$and:[{$or:[...Array.isArray(p.label)?p.label.filter((e=>!!e)).map((e=>({[e]:{$like:`%${t}%`}}))):p.label?[{[p.label]:{$like:`%${t}%`}}]:[],...g.map((e=>({[e]:{$like:`%${t}%`}})))]},...a]},...N?{permission:N}:{},fields:Q().filter((e=>!!e)),page:1,page_size:n||I,ignore_missing_field_error:k,sort:e.sort},o=M?await J.query([{...i,...Z}]):await(0,h.y)(e.objectId,i);l=o.list,G(o.total);const s=l.map((t=>({...t,label:Array.isArray(p.label)?p.label.map((e=>e?(0,c.get)(t,e):void 0)):p.label?(0,c.get)(t,p.label):void 0,value:p.value?(0,c.get)(t,p.value):void 0,..."USER"===e.objectId?{user_icon:(0,c.get)(t,"user_icon","defaultIcon")}:{}})));return H(s),null===(r=e.optionsChange)||void 0===r||r.call(e,s),s}catch(e){return(0,d.handleHttpError)(e),[]}finally{V(!1)}return[]};l().useEffect((()=>{!e.objectId||(0,c.isNil)(e.value)||(0,c.isEqual)(e.objectId,W)&&(0,c.isEqual)(e.value,F)||(async t=>{const a=await X("",[{[p.value||"instanceId"]:{$in:(0,c.castArray)(e.value)}},...D],!0,(null===(t=e.value)||void 0===t?void 0:t.length)>=I?e.value.length:I);L(a)})();const t="multiple"!==e.mode||(0,c.trim)(e.value)?e.value:[];K(t),z(e.objectId)}),[e.value,e.objectId]),l().useEffect((()=>{f||K("multiple"===S?[]:"")}),[e.objectId]);const Y=(0,c.debounce)((e=>X(e,D)),500);return l().createElement(i.A,(0,n.A)({ref:t,loading:q,className:"formsCmdbInstSelect",allowClear:y,style:(0,c.defaults)(e.inputBoxStyle,{width:"100%"}),showSearch:!0,filterOption:!1,value:F,mode:S,placeholder:E||b.i18n.t(`${v.NS}:${v.K.BACKGROUND_SEARCH}`),onChange:t=>{let a;if("multiple"===S){const e=new Set(t);a=U.filter((t=>e.has(t.value)));const n=new Set((0,c.difference)(t,a.map((e=>e.value))));a=a.concat(P.filter((e=>n.has(e.value))))}else a=U.find((e=>e.value===t));if(x){const e=document.getElementsByClassName("formsCmdbInstSelect");for(let t=0;t<e.length;t++){var n;null===(n=e[t].getElementsByTagName("input"))||void 0===n||null===(n=n[0])||void 0===n||n.blur()}}K(t),L(a),e.onChange&&e.onChange(t,a)},onSearch:Y,onFocus:async()=>{await X("",D)},disabled:e.disabled,dropdownStyle:{padding:"2px",...e.dropdownStyle},dropdownMatchSelectWidth:R,dropdownRender:e=>l().createElement("div",null,e,w&&O>I&&l().createElement("div",{className:B.moreChoices},"仅显示前",I,"项,更多结果请搜索"))},"parent"===e.popoverPositionType?{getPopupContainer:e=>e.parentElement}:{getPopupContainer:e.getPopupContainer}),U.map(((t,a)=>{var n;const r=(t=>{if(e.labelTemplate)return function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.replace(/#{([#A-Za-z_$][\w$]*(?:(?:\.[A-Za-z_$][\w$]*)|(?:\[[0-9]+\]))*)}/g,((e,n)=>{const r=(0,c.get)(t,n);return void 0===r?!0===a?e:"":r}))}(e.labelTemplate,t);{const a=t.label;if(Array.isArray(a)){const t=a[0],n=a.slice(1,a.length).join(",");if(Array.isArray(t)&&e.showKeyField){const e=t[0],a=t.slice(1,t.length).join(",");return a&&_?`${e}(${a})`:null!=e?e:""}return n&&_?`${null!=t?t:" - "}(${n})`:null!=t?t:""}return a}})(t);return l().createElement(i.A.Option,{key:a,value:t.value,label:r},l().createElement(o.A,{title:e.showTooltip?r:void 0},l().createElement("div",{className:m()(B.optionDiv)},t.user_icon&&l().createElement("span",null,l().createElement(s.A,{src:t.user_icon,size:24,className:m()(B.avatar,{[B.defaultIcon]:"defaultIcon"===t.user_icon})},"defaultIcon"===t.user_icon&&(null===(n=t.label)||void 0===n?void 0:n.slice(0,2)))),l().createElement("span",{className:m()(B.optionSpan),"data-testid":"option-label"},r),(null==$?void 0:$.useBrick)&&l().createElement("div",{className:B.suffixContainer},l().createElement(u.ReactUseMultipleBricks,{useBrick:$.useBrick,data:t})))))})))}))},6123:(e,t,a)=>{a.d(t,{I:()=>l,K:()=>n,NS:()=>r});let n=function(e){return e.CMDB_INSTANCE_SELECT="CMDB_INSTANCE_SELECT",e.BACKGROUND_SEARCH="BACKGROUND_SEARCH",e}({});const r="bricks/form-platform/eo-cmdb-instance-select",l={en:{CMDB_INSTANCE_SELECT:"CMDB Instance Select",BACKGROUND_SEARCH:"Input keyword to search"},zh:{CMDB_INSTANCE_SELECT:"CMDB 实例选择",BACKGROUND_SEARCH:"输入关键字搜索"}}},9156:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),r=a.n(n),l=a(935),i=a.n(l)()(r());i.push([e.id,".avatar--bjgrCS7c{flex-shrink:0}.avatar--bjgrCS7c.defaultIcon--JzAU3AVW{background-color:#167be0;vertical-align:middle}.moreChoices--NRe_HE2Z{padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#999;font-style:italic}.optionSpan--RfuLmCys{max-width:100%;overflow:hidden;text-overflow:ellipsis}.optionDiv--NwbSvnDQ{display:flex;align-items:center;gap:6px;min-height:100%}.suffixContainer--T6K_eJyX{margin-left:auto}",""]),i.locals={avatar:"avatar--bjgrCS7c",defaultIcon:"defaultIcon--JzAU3AVW",moreChoices:"moreChoices--NRe_HE2Z",optionSpan:"optionSpan--RfuLmCys",optionDiv:"optionDiv--NwbSvnDQ",suffixContainer:"suffixContainer--T6K_eJyX"};const o=i}}]);
2
+ //# sourceMappingURL=6941.f45659ab.js.map