@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.
- package/dist/bricks.json +1 -1
- package/dist/chunks/1889.3b1a8139.js +2 -0
- package/dist/chunks/1889.3b1a8139.js.map +1 -0
- package/dist/chunks/3171.503ba1ad.js +2 -0
- package/dist/chunks/3171.503ba1ad.js.map +1 -0
- package/dist/chunks/5399.45552283.js +2 -0
- package/dist/chunks/5399.45552283.js.map +1 -0
- package/dist/chunks/5552.5e249d7f.js +2 -0
- package/dist/chunks/5552.5e249d7f.js.map +1 -0
- package/dist/chunks/6046.57f17e71.js +3 -0
- package/dist/chunks/{6046.d0b3cfb1.js.LICENSE.txt → 6046.57f17e71.js.LICENSE.txt} +2 -0
- package/dist/chunks/6046.57f17e71.js.map +1 -0
- package/dist/chunks/6223.ef1a783e.js.map +1 -1
- package/dist/chunks/6376.5cbfdb2a.js +2 -0
- package/dist/chunks/6376.5cbfdb2a.js.map +1 -0
- package/dist/chunks/{6941.66e34b74.js → 6941.f45659ab.js} +2 -2
- package/dist/chunks/6941.f45659ab.js.map +1 -0
- package/dist/chunks/{7895.0c6c8882.js → 7895.b1a401b6.js} +3 -3
- package/dist/chunks/7895.b1a401b6.js.map +1 -0
- package/dist/chunks/948.be85ace4.js +3 -0
- package/dist/chunks/948.be85ace4.js.map +1 -0
- package/dist/chunks/eo-user-or-user-group-select.422d8070.js +3 -0
- package/dist/chunks/eo-user-or-user-group-select.422d8070.js.map +1 -0
- package/dist/chunks/main.13e3e06b.js +2 -0
- package/dist/chunks/main.13e3e06b.js.map +1 -0
- package/dist/examples.json +1 -1
- package/dist/index.fd32ac07.js +2 -0
- package/dist/index.fd32ac07.js.map +1 -0
- package/dist/manifest.json +2 -0
- package/dist-types/cmdb-instance-select/CmdbInstanceSelectInternal.d.ts +2 -2
- package/docs/eo-user-or-user-group-select.md +120 -3
- package/docs/eo-user-or-user-group-select.react.md +126 -0
- package/package.json +2 -2
- package/dist/chunks/1889.b59510a4.js +0 -2
- package/dist/chunks/1889.b59510a4.js.map +0 -1
- package/dist/chunks/3171.508feb36.js +0 -2
- package/dist/chunks/3171.508feb36.js.map +0 -1
- package/dist/chunks/4837.c71e7277.js +0 -2
- package/dist/chunks/4837.c71e7277.js.map +0 -1
- package/dist/chunks/5399.8264e057.js +0 -2
- package/dist/chunks/5399.8264e057.js.map +0 -1
- package/dist/chunks/5552.5757fe37.js +0 -2
- package/dist/chunks/5552.5757fe37.js.map +0 -1
- package/dist/chunks/6046.d0b3cfb1.js +0 -3
- package/dist/chunks/6046.d0b3cfb1.js.map +0 -1
- package/dist/chunks/6580.ab4ba4d4.js +0 -3
- package/dist/chunks/6580.ab4ba4d4.js.map +0 -1
- package/dist/chunks/6941.66e34b74.js.map +0 -1
- package/dist/chunks/7218.16427ab5.js +0 -2
- package/dist/chunks/7218.16427ab5.js.map +0 -1
- package/dist/chunks/7895.0c6c8882.js.map +0 -1
- package/dist/chunks/948.dec6ad6a.js +0 -3
- package/dist/chunks/948.dec6ad6a.js.map +0 -1
- package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js +0 -3
- package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js.LICENSE.txt +0 -1
- package/dist/chunks/eo-user-or-user-group-select.b49b99a5.js.map +0 -1
- package/dist/chunks/main.dadcb141.js +0 -2
- package/dist/chunks/main.dadcb141.js.map +0 -1
- package/dist/index.d4f23f12.js +0 -2
- package/dist/index.d4f23f12.js.map +0 -1
- /package/dist/chunks/{7895.0c6c8882.js.LICENSE.txt → 7895.b1a401b6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.dec6ad6a.js.LICENSE.txt → 948.be85ace4.js.LICENSE.txt} +0 -0
- /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":";qMAGIA,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,gIAAiI,KAE1K,QAAeH,EAAwBI,oECD5BC,EAAsC,WAC/C,IAAIC,GAAO,QAAkB,UAAWC,EAAUC,EAAMC,GACtD,aAA2E,EAAAC,KAAKC,KAAK,+CAA+CC,OAAOL,EAAU,qBAAsBC,EAAMC,IACjL,IACF,IACA,OAAO,SAAgCI,EAAIC,EAAKC,GAC9C,OAAOT,EAAKU,MAAMC,KAAMC,UAC1B,CACF,CARiD,+SCmCjD,MAAM,cAAEC,GAAa,SAAEC,GAAUC,MAAKA,KAAKC,EAAAA,EAAAA,oBACrCC,IAAkBC,EAAAA,EAAAA,WAAmC,gBACrDC,IAAgBD,EAAAA,EAAAA,WAA+B,aAE/CE,IAAgBF,EAAAA,EAAAA,WAOpB,aAAa,IAAAG,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAC,QAqCf,MAAAC,WAGsCC,EAAAA,EAAoBC,WAAAA,GAAA,SAAAhC,YAAAiC,EAAAA,EAAAA,GAAA,KAAAL,KACxDM,EAAAA,EAAAA,GAAA,KAAAxB,GAAAyB,EAAA,QAIAD,EAAAA,EAAAA,GAAA,KAAAtB,IAAAwB,EAAA,MAAAC,EAAA,SAIAH,EAAAA,EAAAA,GAAA,KAAArB,IAAAyB,EAAA,MAAAC,EAAA,SAQAL,EAAAA,EAAAA,GAAA,KAAApB,IAAA0B,EAAA,MAAAC,EAAA,SAIAP,EAAAA,EAAAA,GAAA,KAAAnB,IAAA2B,EAAA,MAAAC,EAAA,SAQAT,EAAAA,EAAAA,GAAA,KAAAlB,IAAA4B,EAAA,MAAAC,EAAA,SAUAX,EAAAA,EAAAA,GAAA,KAAAjB,IAAA6B,EAAA,MAAAC,EAAA,SASAb,EAAAA,EAAAA,GAAA,KAAAhB,IAAA8B,EAAA,MAAAC,EAAA,SASAf,EAAAA,EAAAA,GAAA,KAAAf,IAAA+B,EAAA,MAAAC,EAAA,SASAjB,EAAAA,EAAAA,GAAA,KAAAd,IAAAgC,EAAA,MAAAC,EAAA,SAQAnB,EAAAA,EAAAA,GAAA,KAAAb,IAAAiC,EAAA,MAAAC,EAAA,KAgCiD,UAEjDrB,EAAAA,EAAAA,GAAA,KAAAZ,IAAAkC,EAAA,MAAAC,EAAA,SAQAvB,EAAAA,EAAAA,GAAA,KAAAX,IAAAmC,EAAA,MAAAC,EAAA,MAO+B,MAE/BzB,EAAAA,EAAAA,GAAA,KAAAV,IAAAoC,EAAA,MAAAC,EAAA,SASA3B,EAAAA,EAAAA,GAAA,KAAAT,IAAAqC,EAAA,MAAAC,EAAA,MAOqC,MAErC7B,EAAAA,EAAAA,GAAA,KAAAR,IAAAsC,EAAA,MAAAC,GAAA,SAIA/B,EAAAA,EAAAA,GAAA,KAAAP,IAAAuC,GAAA,MAAAC,GAAA,SAAAC,EAAAA,EAAAA,GAAA,oCAAAC,GAAA,MAO+BC,IAC7BC,QAAQC,UAAUC,MAAK,KAAM,IAAAC,GAC3BC,EAAAA,EAAAA,GAAA/C,GAAA7B,KAAK6E,IAAaC,KAAKP,GACF,QAArBI,EAAA3E,KAAK+E,wBAAgB,IAAAJ,GAArBA,EAAuBK,oBAAoB,GAC3C,GACH,SA3JoBC,GAAI,OAAAC,EAAAA,EAAAA,GAAAvE,GAAA,cAAJsE,CAAIE,IAAAC,EAAAA,EAAAA,GAAAzE,GAAA,KAAAwE,EAAA,UAIJE,GAAK,OAAAH,EAAAA,EAAAA,GAAArE,GAAA,eAALwE,CAAKF,IAAAC,EAAAA,EAAAA,GAAAvE,GAAA,KAAAsE,EAAA,aAOjBG,GAAQ,OAAAJ,EAAAA,EAAAA,GAAApE,GAAA,kBAARwE,CAAQH,IAAAC,EAAAA,EAAAA,GAAAtE,GAAA,KAAAqE,EAAA,gBAKII,GAAW,OAAAL,EAAAA,EAAAA,GAAAnE,GAAA,qBAAXwE,CAAWJ,IAAAC,EAAAA,EAAAA,GAAArE,GAAA,KAAAoE,EAAA,UAOvBK,GAAK,OAAAN,EAAAA,EAAAA,GAAAlE,GAAA,eAALwE,CAAKL,IAAAC,EAAAA,EAAAA,GAAApE,GAAA,KAAAmE,EAAA,eAULM,GAAU,OAAAP,EAAAA,EAAAA,GAAAjE,GAAA,oBAAVwE,CAAUN,IAAAC,EAAAA,EAAAA,GAAAnE,GAAA,KAAAkE,EAAA,UASVO,GAAK,OAAAR,EAAAA,EAAAA,GAAAhE,GAAA,eAALwE,CAAKP,IAAAC,EAAAA,EAAAA,GAAAlE,GAAA,KAAAiE,EAAA,cASLQ,GAAS,OAAAT,EAAAA,EAAAA,GAAA/D,GAAA,mBAATwE,CAASR,IAAAC,EAAAA,EAAAA,GAAAjE,GAAA,KAAAgE,EAAA,mBASTS,GAAc,OAAAV,EAAAA,EAAAA,GAAA9D,GAAA,wBAAdwE,CAAcT,IAAAC,EAAAA,EAAAA,GAAAhE,GAAA,KAAA+D,EAAA,YAQdU,GAAO,OAAAX,EAAAA,EAAAA,GAAA7D,GAAA,iBAAPwE,CAAOV,IAAAC,EAAAA,EAAAA,GAAA/D,GAAA,KAAA8D,EAAA,gBAkCPW,GAAW,OAAAZ,EAAAA,EAAAA,GAAA5D,GAAA,qBAAXwE,CAAWX,IAAAC,EAAAA,EAAAA,GAAA9D,GAAA,KAAA6D,EAAA,aAQXY,GAAQ,OAAAb,EAAAA,EAAAA,GAAA3D,GAAA,kBAARwE,CAAQZ,IAAAC,EAAAA,EAAAA,GAAA7D,GAAA,KAAA4D,EAAA,eASRa,GAAU,OAAAd,EAAAA,EAAAA,GAAA1D,GAAA,oBAAVwE,CAAUb,IAAAC,EAAAA,EAAAA,GAAA5D,GAAA,KAAA2D,EAAA,eASVc,GAAU,OAAAf,EAAAA,EAAAA,GAAAzD,GAAA,oBAAVwE,CAAUd,IAAAC,EAAAA,EAAAA,GAAA3D,GAAA,KAAA0D,EAAA,qBASVe,GAAgB,OAAAhB,EAAAA,EAAAA,GAAAxD,GAAA,0BAAhBwE,CAAgBf,IAAAC,EAAAA,EAAAA,GAAA1D,GAAA,KAAAyD,EAAA,iBAIhBgB,GAAY,OAAAjB,EAAAA,EAAAA,GAAAvD,GAAA,sBAAZwE,CAAYhB,IAAAC,EAAAA,EAAAA,GAAAzD,GAAA,KAAAwD,EAAA,CAgBrBiB,MAAAA,GACE,OACEC,IAAAA,cAACC,GAAgC,CAC/BC,YAAavG,KAAK+E,iBAClByB,WAAYxG,KACZiF,KAAMjF,KAAKiF,KACXI,MAAOrF,KAAKqF,MACZE,YAAavF,KAAKuF,YAClBD,SAAUtF,KAAKsF,SACfE,MAAOxF,KAAKwF,MACZiB,cAAezG,KAAKyG,cACpBC,UAAW1G,KAAK0G,UAChBC,UAAW3G,KAAK2G,UAChBC,QAAQ,8BACRC,SAAU7G,KAAK8G,4BACfrB,WAAYzF,KAAKyF,WACjBC,MAAO1F,KAAK0F,MACZC,UAAW3F,KAAK2F,UAChBC,eAAgB5F,KAAK4F,eACrBC,QAAS7F,KAAK6F,QACdC,YAAa9F,KAAK8F,YAClBG,WAAYjG,KAAKiG,WACjBD,WAAYhG,KAAKgG,WACjBD,SAAU/F,KAAK+F,SACfG,iBAAkBlG,KAAKkG,iBACvBC,aAAcnG,KAAKmG,cAGzB,EAGK,SAASG,GACdS,GAIA,MAAMtB,EAAasB,EAAMtB,WACnBI,EAA4B,eAAlBkB,EAAMlB,QAA2BkB,EAAMlB,QAAU,QAC1DmB,EAAaC,IAAkBC,EAAAA,EAAAA,aAC/BC,EAAUC,IAAeF,EAAAA,EAAAA,UAAgB,KACzCG,EAAeC,IAAoBJ,EAAAA,EAAAA,UAAgB,KACnDK,EAAeC,IAAoBN,EAAAA,EAAAA,UAAS,IAC7CO,GAAcC,EAAAA,EAAAA,QAAO,IAErBC,GAAgBC,EAAAA,EAAAA,UAAQ,KAGrB,IAAAC,EAFP,KAAIC,EAAAA,EAAAA,OAAMf,EAAMvB,OAGd,OAAOuB,EAAMf,WAAa,IAAIe,EAAMvB,OAAoB,QAAdqC,EAAGd,EAAMvB,aAAK,IAAAqC,OAAA,EAAXA,EAAc,EAC7D,GACC,CAACd,EAAMvB,MAAOuB,EAAMf,aAEjB+B,GAAaC,EAAAA,EAAAA,cAChB1I,IAA+B,IAAA2I,EAAAC,EAC9B,MAAMC,GAAYC,EAAAA,EAAAA,OAAM3C,EAAY,YACpC,OACsB,QAAnBwC,EAAAE,EAAU7I,UAAS,IAAA2I,OAAA,EAAnBA,EAAqBI,QAAgC,QAA5BH,EAAIC,EAAU7I,GAAU+I,YAAI,IAAAH,OAAA,EAAxBA,EAA0BI,WAAa,CACnE,OACD,GAGL,CAAC7C,IAGG8C,EAAoBC,MACxBlJ,EACAmJ,KAEA,MAAMC,EACkBX,EAAT,SAAbzI,EAAiC,OAAqB,cAElDqJ,EAAe,CACnBC,KAAKC,EAAAA,EAAAA,MAAIC,EAAAA,EAAAA,MAAK,IAAIJ,EAAS,UAAWvD,IAAC,CACrC,CAACA,GAAI,CAAE4D,MAAO,IAAIN,aAEH,SAAbnJ,EACA,CACE0J,MAAO,SAET,CAAC,KAyCEC,KAAMC,IAAgBD,KAAME,UAAqB3E,QAAQ4E,IAAI,EACpEhK,EAAAA,EAAAA,GAAuBE,EAAU,CAC/B+J,KAAM,EACNC,UAAW,GACXC,OAAQ,KACHC,EAAAA,EAAAA,WACDd,GACAG,EAAAA,EAAAA,KAAIH,GAAS,KAAM,KAGrBzD,MAAM,GAERS,MACEqB,EAAMpB,WAA0B,SAAbrG,EACf,CACEmK,KAAM,CAAC1C,EAAMpB,UAAWgD,IAE1B5B,EAAMnB,gBAA+B,eAAbtG,EACtB,CACEmK,KAAM,CAAC1C,EAAMnB,eAAgB+C,IAE/B5B,EAAMrB,MACJ,CACE+D,KAAM,CAAC1C,EAAMrB,MAAOiD,IAEtBA,IA/Dce,MAAM,IAAAC,EAAAC,EAEhC,MAAMC,EACS,SAAbvK,EACe,QADIqK,EACf5C,EAAMvB,aAAK,IAAAmE,OAAA,EAAXA,EAAaG,QAAQ3E,IAAOA,EAAE4E,WAAW,OAC9B,QADmCH,EAC9C7C,EAAMvB,aAAK,IAAAoE,OAAA,EAAXA,EACIE,QAAQ3E,GAAMA,EAAE4E,WAAW,OAC5BlB,KAAK1D,GAAMA,EAAE6E,MAAM,KAE5B,OAAIH,SAAAA,EAAUI,QACL7K,EAAAA,EAAAA,GAAuBE,EAAU,CACtC+J,KAAM,EACNC,UAAWO,EAASI,OACpBV,OAAQ,KACHC,EAAAA,EAAAA,WACDd,GACAG,EAAAA,EAAAA,KAAIH,GAAS,KAAM,KAGrBzD,MAAM,GAERS,MACe,SAAbpG,EACI,CACE,CAACuG,GAAU,CACTqE,IAAKL,IAGT,CACEM,WAAY,CACVD,IAAKL,MAKZrF,QAAQC,QAAQ,CAAEwE,KAAM,IAAK,EA8BpCS,KAGF,IAAK,MAAMU,KAAQjB,EACFD,EAAYmB,MAAMlF,GAAMA,EAAEgF,aAAeC,EAAKD,cAE3DjB,EAAYlK,KAAKoL,GAIrB,OAAOlB,CAAU,EAGboB,EAAa9B,UACjBpB,QAAkBmB,EAAkB,OAAQ/C,GAAO,EAI/C+E,EAAkB/B,UACtB,MAAMgC,QAAejC,EAAkB,aAAc/C,GACrD8B,EACEkD,EAAO3B,KAAK1D,IACVA,EAAEgF,WAAa,IAAMhF,EAAEgF,WAChBhF,KAEV,EAGGsF,EAAiCjC,UACrCvB,EAAezB,SACThB,QAAQ4E,IAAI,IACU,UAAtBrC,EAAMjB,YAA0B,CAACwE,EAAW9E,IAAU,MAChC,SAAtBuB,EAAMjB,YAAyB,CAACyE,EAAgB/E,IAAU,IAC9D,EASEkF,GAAehD,EAAAA,EAAAA,WAErBiD,EAAAA,EAAAA,YAAU,KAAM,IAAAC,EAGC,QAAXA,EAAA7D,EAAMvB,aAAK,IAAAoF,GAAXA,EAAaX,UAAWY,EAAAA,EAAAA,SAAQ9D,EAAMvB,MAAOkF,EAAaI,WAC5DJ,EAAaI,QAAU/D,EAAMvB,MAC7BiF,EAA+B,IACjC,GACC,CAAC1D,EAAMvB,QAEV,MAAMuF,EAAiBC,IAA2B,IAAAC,EAClC,QAAdA,EAAAlE,EAAMF,gBAAQ,IAAAoE,GAAdA,EAAAC,KAAAnE,EAAiBiE,EAAa,EAG1BG,EAAsBC,IAAW,IAAAC,EACrC,MAAMC,EAAsB,QAAXD,EAAGD,EAAEG,cAAM,IAAAF,OAAA,EAARA,EAAU7F,MAExBA,GAAQsE,EAAAA,EAAAA,QACZ0B,MAAMC,QAAQH,GACVA,EACAA,EACE,CAACA,GACD,IACLlB,KACSC,EAAAA,EAAAA,MAAKtD,EAAMd,YAAad,GAAMA,IAAMiF,MAIhD5E,EAAMkG,WAAWjE,EAAYqD,SAC7BtD,EAAiBhC,GACjBuF,EAAcvF,GACM,KAAhBwB,GACFyD,EAA+B,GACjC,EA+BIkB,EAAWA,CACfrM,EACAsM,KAEA,MAAMlD,EACkBX,EAAT,SAAbzI,EAAiC,OAAqB,cACxD,IAAIuM,EAcJ,OAZEA,EADEL,MAAMC,QAAQ/C,GACLA,EACRG,KAAI,CAACiD,EAAKC,IACK,IAAVA,EACKH,EAAaE,GAEbF,EAAaE,GAAO,IAAMF,EAAaE,GAAO,IAAM,KAG9DE,KAAK,IAEGJ,EAAalD,GAEnBmD,GAAYD,EAAa3G,IAAI,GAGtC0F,EAAAA,EAAAA,YAAU,KAnDUsB,MAAM,IAAAC,EAAAC,EACxB,MAAMC,GAA0B,QAAXF,EAAAnF,EAAMvB,aAAK,IAAA0G,OAAA,EAAXA,EAAapC,QAAQ3E,IAAOA,EAAE4E,WAAW,SAAS,GACjEsC,GACO,QAAXF,EAAApF,EAAMvB,aAAK,IAAA2G,OAAA,EAAXA,EAAarC,QAAQ3E,GAAMA,EAAE4E,WAAW,SAAS,GAC7CuC,GAAsBzD,EAAAA,EAAAA,MAC1BiB,EAAAA,EAAAA,QAAOvC,GAAgB6C,IAAS,IAAAmC,EAAA,QAAMnC,SAAS,QAALmC,EAAJnC,EAAM0B,WAAG,IAAAS,GAATA,EAAWxC,WAAW,KAAK,IACjE,OAGIyC,GAA2B3D,EAAAA,EAAAA,MAC/BiB,EAAAA,EAAAA,QAAOvC,GAAgB6C,IAAS,IAAAqC,EAAA,OAAKrC,SAAS,QAALqC,EAAJrC,EAAM0B,WAAG,IAAAW,OAAA,EAATA,EAAW1C,WAAW,IAAI,IAC/D,OAGF,QACGc,EAAAA,EAAAA,SAAQ,IAAIuB,GAAcM,OAAQ,IAAIJ,GAAqBI,WAC3D7B,EAAAA,EAAAA,SACC,IAAIwB,GAAmBK,OACvB,IAAIF,GAA0BE,OAC/B,EA+ICT,IA9G4BzD,WAC9B,GAAIzB,EAAMvB,MAAO,CACf,IAAImH,EAAsB,GACtBC,EAA2B,GAC/B,MAAMC,EAAa9F,EAAMvB,MAAMsE,QAAQ3E,IAAOA,EAAE4E,WAAW,OACrD+C,EAAkB/F,EAAMvB,MAAMsE,QAAQ3E,GAAMA,EAAE4E,WAAW,OACzDgD,GAlCHC,EAAAA,EAAAA,SAAQjG,EAAMd,YAAad,IAChC4E,EAAAA,EAAAA,YAAW5E,EAAG,KAAO,YAAc,SAkC3B8H,GAAiBC,EAAAA,EAAAA,UACrBpE,EAAAA,EAAAA,MAAM,GAAgBnJ,OAAOoN,EAAWE,MAAMtN,OAAOkN,KAGjDM,GAAsBD,EAAAA,EAAAA,UAC1BpE,EAAAA,EAAAA,MACG,GACEnJ,OAAOoN,EAAWI,WAClBxN,OAAOmN,MAKXC,EAAWE,OACVG,EAAAA,EAAAA,MAAKL,EAAWE,MAAO9H,IAAO0H,EAAWQ,SAASlI,MACnD4H,EAAWI,YACVC,EAAAA,EAAAA,MAAKL,EAAWI,WAAYhI,IAAO2H,EAAgBO,SAASlI,OAE9D4F,EAAc,IAAIkC,KAASE,IAE7B,MAAMG,EAAwB,GAC1BL,EAAKhD,QAAgC,UAAtBlD,EAAMjB,cACvB6G,SACQvN,EAAAA,EAAAA,GAAuB,OAAQ,CACnCsG,MAAO,CACL,CAACG,GAAU,CACTqE,IAAK+C,IAIT5D,KAAM,EACNC,UAAW2D,EAAKhD,OAChBV,OAAQ,KACHC,EAAAA,EAAAA,WACDzB,EAAW,SACXc,EAAAA,EAAAA,KAAId,EAAW,SAAS,KAAM,KAGhC9C,MAAM,MAGVgE,MAEAkE,EAAUlD,QAAgC,SAAtBlD,EAAMjB,cAC5B8G,SACQxN,EAAAA,EAAAA,GAAuB,aAAc,CACzCsG,MAAO,CACLyE,WAAY,CAEVD,KAAKrB,EAAAA,EAAAA,KAAIsE,GAAYhI,GAAOA,EAAa6E,MAAM,OAInDX,KAAM,EACNC,UAAW6D,EAAUlD,OACrBV,OAAQ,KACHC,EAAAA,EAAAA,WACDzB,EAAW,eACXc,EAAAA,EAAAA,KAAId,EAAW,eAAe,KAAM,KAGtC9C,MAAM,MAGVgE,MAEJ,IAAIsE,EAAa,KACZ1E,EAAAA,EAAAA,KAAI8D,GAAexH,IAAM,IAAAqI,EAC1B,MAAMC,EAAY9B,EAAS,OAAQxG,GAC7BqF,EAAS,CACbsB,IAAK3G,EAAEU,GACPR,MAAOoI,GAMT,OAHoB,QAApBD,EAAIzG,EAAMd,kBAAU,IAAAuH,GAAhBA,EAAkBH,SAASlI,EAAEU,KAC/ByH,EAAiBtO,KAAKwL,GAEjBA,CAAM,QAEZ3B,EAAAA,EAAAA,KAAI+D,GAAoBzH,IAAM,IAAAuI,EAC/B,MAAMD,EAAY9B,EAAS,aAAcxG,GACnCqF,EAAS,CACbsB,IAAK,IAAM3G,EAAEgF,WACb9E,MAAOoI,GAMT,OAHoB,QAApBC,EAAI3G,EAAMd,kBAAU,IAAAyH,GAAhBA,EAAkBL,SAAS,IAAMlI,EAAEgF,aACrCmD,EAAiBtO,KAAKwL,GAEjBA,CAAM,KAIjB+C,EAAa,IACRD,MACAxD,EAAAA,EAAAA,QAAOyD,GAAapI,IAAC,IAAAwI,EAAA,QAAsB,QAAjBA,EAAC5G,EAAMd,kBAAU,IAAA0H,GAAhBA,EAAkBN,SAASlI,EAAE2G,KAAK,KAElEtE,EAAiB+F,GACjBnG,EAAYuF,GACZrF,EAAiBsF,GACjBnF,EAAYqD,QAAUwC,CACxB,GAGAM,EACF,GACC,IAEH,MAAMC,GAAgBjG,EAAAA,EAAAA,UAAQ,KAC5B,IAAIkG,EAAuB,GACvBC,EAA4B,GAkBhC,OAjBI5G,EAAS8C,SACX6D,EAAkB3G,EAAS0B,KAAKoE,IAAI,IAAAe,EAAA,MAAM,CACxC3I,MAAOsG,EAAS,OAAQsB,GACxBzH,MAAOyH,EAAKpH,GACZoI,YAAYlH,SAAiB,QAAZiH,EAALjH,EAAOd,kBAAU,IAAA+H,GAAjBA,EAAmBX,SAASJ,EAAKpH,KAC7CqI,IAAK,sBACN,KAEC7G,EAAc4C,SAChB8D,EAAuB1G,EAAcwB,KAAKsF,IAAK,IAAAC,EAAA,MAAM,CACnD/I,MAAOsG,EAAS,aAAcwC,GAC9B3I,MAAO2I,EAAMhE,WACb8D,YAAYlH,SAAiB,QAAZqH,EAALrH,EAAOd,kBAAU,IAAAmI,GAAjBA,EAAmBf,SAASc,EAAMhE,aAC9C+D,IAAK,uBACN,KAG0B,SAAtBnH,EAAMjB,YACTgI,EACsB,UAAtB/G,EAAMjB,YACJiI,EACA,IAAID,KAAoBC,EAAqB,GAClD,CAAC5G,EAAUE,EAAeN,EAAMjB,YAAaiB,EAAMd,WAAYJ,IAkClE,OACEQ,IAAAA,cAAC/F,IAAe+N,EAAAA,EAAAA,GAAA,CAACC,YAAY,YAAcC,EAAAA,EAAAA,GAAkBxH,IAC3DV,IAAAA,cAAA,OAAKmI,UAAU,kBACbnI,IAAAA,cAAC5F,GAAa,CACZgO,WAAW,EACXC,KAAM3H,EAAMf,WAAa,gBAAa2I,EACtCpJ,YAAawB,EAAMxB,YACnBC,MAAOmC,EACPiH,SAAUzD,EACV0D,QAtRYC,OACdhH,EAAAA,EAAAA,OAAMd,IAAgC,KAAhBA,IACxByD,EAA+B,GACjC,EAoRMsE,UAAUC,EAAAA,EAAAA,WAAU5D,IAClBX,EAA+BW,EAAEG,OAAO/F,MAAgB,GACvD,KACHhG,QAASqO,EACT9H,SAAUgB,EAAMhB,SAChBiH,QAAQ,MACR7G,aAAcY,EAAMZ,gBAEpBY,EAAMb,kBAA0C,UAAtBa,EAAMjB,aAChCO,IAAAA,cAAC7F,GAAa,CACZyO,QAnDWzG,UACnB,MAAM0G,EACJC,EAAAA,KAAKC,UAAsB,eAAZvJ,EAA2B,iBAAmB,YAC/D,IAAIwE,EAAAA,EAAAA,MAAK9C,GAAgBpC,GAAMA,IAAM+J,IAEnC,OAEF,MAAMG,SACEjQ,EAAAA,EAAAA,GAAuB,OAAQ,CACnCsG,MAAO,CACL,CAACG,GAAU,CACTyJ,IAAKJ,IAIT7F,KAAM,EACNC,UAAW,EACXC,OAAQ,KACHC,EAAAA,EAAAA,WACDzB,EAAW,SACXc,EAAAA,EAAAA,KAAId,EAAW,SAAS,KAAM,KAGhC9C,MAAM,MAGVgE,KACFoG,EAAOpF,QAAU7C,EAAY,IAAID,KAAakI,IAC9ClE,EAAmB,CAAEI,OAAQ,CAAE/F,MAAO,IAAI+B,EAAe2H,KAAiB,EAwBlEK,KAAK,OACLC,KAAK,QACLC,MAAO,CAAEC,SAAU,QACnBC,KAAM,CACJC,IAAK,UACLD,KAAM,mBAOpB,CAxcCE,EAAA9N,KAAAqJ,GAAAhJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAS,GAAAiL,GAAAxL,IAAAyL,GAAArP,GAAAsP,KAAAC,EAAAA,EAAAA,GAAAJ,EAAA,CAjMA3P,GAAc,+BAAgC,CAC7CgQ,WAAY,CAACC,EAAAA,MACb,EAKChQ,KAAU,WAIVA,KAAU,YAIVA,GAAS,CACRoP,KAAMa,UACN,eAMDjQ,KAAU,kBAIVA,GAAS,CACRkQ,WAAW,IACX,YAQDlQ,GAAS,CACRkQ,WAAW,IACX,iBAODlQ,GAAS,CACRkQ,WAAW,IACX,YAODlQ,GAAS,CACRkQ,WAAW,IACX,gBAODlQ,GAAS,CACRkQ,WAAW,IACX,qBAQDlQ,KAAU,cAkCVA,KAAU,kBAMVA,GAAS,CACRoP,KAAMa,UACN,eAODjQ,GAAS,CACRoP,KAAMa,UACN,iBAODjQ,GAAS,CACRkQ,WAAW,IACX,iBAODlQ,GAAS,CACRoP,KAAMa,UACN,uBAIDjQ,KAAU,mBAOVC,GAAM,CAAEmP,KAAM,WAAW,gBAAAe,IAAApL,EAAAA,EAAAA,GAAAtD,GAAA0O,GAAA,CAAAA,EAAAnL,KAAAC,EAAAA,EAAAA,GAAAxD,GAAA0O,EAAAnL,KAAA,GAAAoL,GAAA1O,GAAA2O,KAAAC,EAAAA,EAAAA,GAAAF,KAvJUvO,EAAAA,IAAmBgO,uVCzEzDU,EAAAA,GAAAA,gBAAeC,GAAAA,GAAIC,GAAAA,GAEnB,MAAQ1Q,cAAa,GAAEC,SAAQ,GAAEC,MAAKA,KAAKC,EAAAA,EAAAA,oBACrCC,IAAkBC,EAAAA,EAAAA,WAAmC,gBAAgB,IAAAsQ,GAAA,IAAAlQ,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAkQ,GAAA,IAAAlQ,QAAAmQ,GAAA,IAAAnQ,QAAAoQ,GAAA,IAAApQ,QAAAqQ,GAAA,IAAArQ,QAAAsQ,GAAA,IAAAtQ,QAAAuQ,GAAA,IAAAvQ,QAAAwQ,GAAA,IAAAxQ,QAAAyQ,GAAA,IAAAzQ,QAAA0Q,GAAA,IAAA1Q,QAAA2Q,GAAA,IAAA3Q,QAAA4Q,GAAA,IAAA5Q,QAAA6Q,GAAA,IAAA7Q,QAAA8Q,GAAA,IAAA9Q,QAAA+Q,GAAA,IAAA/Q,QAAAgR,GAAA,IAAA9P,QAAA+P,GAAA,IAAAjR,QAAAkR,GAAA,IAAAlR,QAwD3E,MAAAmR,WAGmC/P,EAAAA,EAAoBC,WAAAA,GAAA,SAAAhC,YAAAiC,EAAAA,EAAAA,GAAA,KAAA0P,KACrDzP,EAAAA,EAAAA,GAAA,KAAAxB,GAAAyB,GAAA,QAKAD,EAAAA,EAAAA,GAAA,KAAAtB,IAAAwB,GAAA,MAAAC,GAAA,SAKAH,EAAAA,EAAAA,GAAA,KAAArB,IAAAyB,GAAA,MAAAC,GAAA,SAQAL,EAAAA,EAAAA,GAAA,KAAApB,IAAA0B,GAAA,MAAAC,GAAA,SAKAP,EAAAA,EAAAA,GAAA,KAAAnB,IAAA2B,GAAA,MAAAC,GAAA,SAQAT,EAAAA,EAAAA,GAAA,KAAAlB,IAAA4B,GAAA,MAAAmP,GAAA,SAMA7P,EAAAA,EAAAA,GAAA,KAAAjB,IAAA+Q,GAAA,MAAAvO,GAAA,SAQAvB,EAAAA,EAAAA,GAAA,KAAAhB,IAAAwC,GAAA,MAAAuO,GAAA,SAQA/P,EAAAA,EAAAA,GAAA,KAAAf,IAAA+Q,GAAA,MAAAC,GAAA,SAMAjQ,EAAAA,EAAAA,GAAA,KAAAd,IAAAgR,GAAA,MAAAC,GAAA,SAQAnQ,EAAAA,EAAAA,GAAA,KAAAb,IAAAiR,GAAA,MAAAC,GAAA,SAQArQ,EAAAA,EAAAA,GAAA,KAAAZ,IAAAkR,GAAA,MAAAC,GAAA,SAQAvQ,EAAAA,EAAAA,GAAA,KAAAX,IAAAmR,GAAA,MAAAC,GAAA,SAQAzQ,EAAAA,EAAAA,GAAA,KAAAV,IAAAoR,GAAA,MAAAC,GAAA,SAQA3Q,EAAAA,EAAAA,GAAA,KAAAT,IAAAqR,GAAA,MAAAC,GAAA,SAQA7Q,EAAAA,EAAAA,GAAA,KAAAR,IAAAsR,GAAA,MAAAC,GAAA,SAMA/Q,EAAAA,EAAAA,GAAA,KAAAP,IAAAuR,GAAA,MAAAC,GAAA,SAQAjR,EAAAA,EAAAA,GAAA,KAAA2O,IAAAuC,GAAA,MAAAC,GAAA,SAQAnR,EAAAA,EAAAA,GAAA,KAAA4O,IAAAwC,GAAA,MAAAC,GAAA,SAMArR,EAAAA,EAAAA,GAAA,KAAA6O,IAAAyC,GAAA,MAAAC,GAAA,SAQAvR,EAAAA,EAAAA,GAAA,KAAA8O,IAAA0C,GAAA,MAAAC,GAAA,SAQAzR,EAAAA,EAAAA,GAAA,KAAA+O,IAAA2C,GAAA,MAAAC,GAAA,SAQA3R,EAAAA,EAAAA,GAAA,KAAAgP,IAAA4C,GAAA,MAAAC,GAAA,SAQA7R,EAAAA,EAAAA,GAAA,KAAAiP,IAAA6C,GAAA,MAAAC,GAAA,SAQA/R,EAAAA,EAAAA,GAAA,KAAAkP,IAAA8C,GAAA,MAAAC,GAAA,SAQAjS,EAAAA,EAAAA,GAAA,KAAAmP,IAAA+C,GAAA,MAAAC,GAAA,SAQAnS,EAAAA,EAAAA,GAAA,KAAAoP,IAAAgD,GAAA,MAAAC,GAAA,SAQArS,EAAAA,EAAAA,GAAA,KAAAqP,IAAAiD,GAAA,MAAAC,GAAA,SAQAvS,EAAAA,EAAAA,GAAA,KAAAsP,IAAAkD,GAAA,MAAAC,GAAA,SAQAzS,EAAAA,EAAAA,GAAA,KAAAuP,IAAAmD,GAAA,MAAAC,GAAA,SAAA3S,EAAAA,EAAAA,GAAA,KAAAwP,IAAAoD,GAAA,MAAA3Q,GAAA,SAAAjC,EAAAA,EAAAA,GAAA,KAAA0P,IAAAvN,GAAA,MAAA0Q,GAAA,SAAA7S,EAAAA,EAAAA,GAAA,KAAA2P,IAAAmD,GAAA,MAAAC,GAAA,SAAA7Q,EAAAA,EAAAA,GAAA,qBAAA8Q,GAAA,MAkBe,CAAC3P,EAA0B4P,KACxCpV,KAAKwF,MAAQA,EACbhB,QAAQC,UAAUC,MAAK,KAAM,IAAAC,GAC3BC,EAAAA,EAAAA,GAAAgN,GAAA5R,KAAK6E,IAAaC,KAAKU,IACvBZ,EAAAA,EAAAA,GAAAgN,GAAA5R,KAAKqV,IAAevQ,KAAKsQ,GAAW,CAAE5P,UACjB,QAArBb,EAAA3E,KAAK+E,wBAAgB,IAAAJ,GAArBA,EAAuBK,oBAAoB,GAC3C,KACHX,EAAAA,EAAAA,GAAA,4BAEsB7E,IACrBgF,QAAQC,UAAUC,MAAK,MACrBE,EAAAA,EAAAA,GAAAgN,GAAA5R,KAAKsV,IAAoBxQ,KAAK,CAC5BtF,UACAyF,KAAMjF,KAAKiF,MACX,GACF,GACH,SAtPoBA,GAAI,OAAAC,EAAAA,EAAAA,GAAAvE,GAAA,cAAJsE,CAAIE,IAAAC,EAAAA,EAAAA,GAAAzE,GAAA,KAAAwE,EAAA,UAKJE,GAAK,OAAAH,EAAAA,EAAAA,GAAArE,GAAA,eAALwE,CAAKF,IAAAC,EAAAA,EAAAA,GAAAvE,GAAA,KAAAsE,EAAA,aAQjBG,GAAQ,OAAAJ,EAAAA,EAAAA,GAAApE,GAAA,kBAARwE,CAAQH,IAAAC,EAAAA,EAAAA,GAAAtE,GAAA,KAAAqE,EAAA,gBAKII,GAAW,OAAAL,EAAAA,EAAAA,GAAAnE,GAAA,qBAAXwE,CAAWJ,IAAAC,EAAAA,EAAAA,GAAArE,GAAA,KAAAoE,EAAA,UAQvBK,GAAK,OAAAN,EAAAA,EAAAA,GAAAlE,GAAA,eAALwE,CAAKL,IAAAC,EAAAA,EAAAA,GAAApE,GAAA,KAAAmE,EAAA,aAML7F,GAAQ,OAAA4F,EAAAA,EAAAA,GAAAjE,GAAA,kBAAR3B,CAAQ6F,IAAAC,EAAAA,EAAAA,GAAAnE,GAAA,KAAAkE,EAAA,aAQRY,GAAQ,OAAAb,EAAAA,EAAAA,GAAAhE,GAAA,kBAAR6E,CAAQZ,IAAAC,EAAAA,EAAAA,GAAAlE,GAAA,KAAAiE,EAAA,eAQRoQ,GAAU,OAAArQ,EAAAA,EAAAA,GAAA/D,GAAA,oBAAVoU,CAAUpQ,IAAAC,EAAAA,EAAAA,GAAAjE,GAAA,KAAAgE,EAAA,SAMVuJ,GAAI,OAAAxJ,EAAAA,EAAAA,GAAA9D,GAAA,cAAJsN,CAAIvJ,IAAAC,EAAAA,EAAAA,GAAAhE,GAAA,KAAA+D,EAAA,aAQJqQ,GAAQ,OAAAtQ,EAAAA,EAAAA,GAAA7D,GAAA,kBAARmU,CAAQrQ,IAAAC,EAAAA,EAAAA,GAAA/D,GAAA,KAAA8D,EAAA,kBAQRsQ,GAAa,OAAAvQ,EAAAA,EAAAA,GAAA5D,GAAA,uBAAbmU,CAAatQ,IAAAC,EAAAA,EAAAA,GAAA9D,GAAA,KAAA6D,EAAA,WAQboE,GAAM,OAAArE,EAAAA,EAAAA,GAAA3D,GAAA,gBAANgI,CAAMpE,IAAAC,EAAAA,EAAAA,GAAA7D,GAAA,KAAA4D,EAAA,uBAQNuQ,GAAkB,OAAAxQ,EAAAA,EAAAA,GAAA1D,GAAA,4BAAlBkU,CAAkBvQ,IAAAC,EAAAA,EAAAA,GAAA5D,GAAA,KAAA2D,EAAA,mBAQlBwQ,GAAc,OAAAzQ,EAAAA,EAAAA,GAAAzD,GAAA,wBAAdkU,CAAcxQ,IAAAC,EAAAA,EAAAA,GAAA3D,GAAA,KAAA0D,EAAA,gBAQdyQ,GAAW,OAAA1Q,EAAAA,EAAAA,GAAAxD,GAAA,qBAAXkU,CAAWzQ,IAAAC,EAAAA,EAAAA,GAAA1D,GAAA,KAAAyD,EAAA,wBAMX0Q,GAAmB,OAAA3Q,EAAAA,EAAAA,GAAAvD,GAAA,6BAAnBkU,CAAmB1Q,IAAAC,EAAAA,EAAAA,GAAAzD,GAAA,KAAAwD,EAAA,iBAQnB2Q,GAAY,OAAA5Q,EAAAA,EAAAA,GAAAtD,GAAA,sBAAZkU,CAAY3Q,IAAAC,EAAAA,EAAAA,GAAAxD,GAAA,KAAAuD,EAAA,kBAQZ4Q,GAAa,OAAA7Q,EAAAA,EAAAA,GAAA4L,GAAA,uBAAbiF,CAAa5Q,IAAAC,EAAAA,EAAAA,GAAA0L,GAAA,KAAA3L,EAAA,kBAMb6Q,GAAa,OAAA9Q,EAAAA,EAAAA,GAAA6L,GAAA,uBAAbiF,CAAa7Q,IAAAC,EAAAA,EAAAA,GAAA2L,GAAA,KAAA5L,EAAA,kBAQb8Q,GAAa,OAAA/Q,EAAAA,EAAAA,GAAA8L,GAAA,uBAAbiF,CAAa9Q,IAAAC,EAAAA,EAAAA,GAAA4L,GAAA,KAAA7L,EAAA,eAQb+Q,GAAU,OAAAhR,EAAAA,EAAAA,GAAA+L,GAAA,oBAAViF,CAAU/Q,IAAAC,EAAAA,EAAAA,GAAA6L,GAAA,KAAA9L,EAAA,gBAQVgR,GAAW,OAAAjR,EAAAA,EAAAA,GAAAgM,GAAA,qBAAXiF,CAAWhR,IAAAC,EAAAA,EAAAA,GAAA8L,GAAA,KAAA/L,EAAA,4BAQXiR,GAAuB,OAAAlR,EAAAA,EAAAA,GAAAiM,GAAA,iCAAvBiF,CAAuBjR,IAAAC,EAAAA,EAAAA,GAAA+L,GAAA,KAAAhM,EAAA,iBAQvBkR,GAAY,OAAAnR,EAAAA,EAAAA,GAAAkM,GAAA,sBAAZiF,CAAYlR,IAAAC,EAAAA,EAAAA,GAAAgM,GAAA,KAAAjM,EAAA,6BAQZmR,GAAwB,OAAApR,EAAAA,EAAAA,GAAAmM,GAAA,kCAAxBiF,CAAwBnR,IAAAC,EAAAA,EAAAA,GAAAiM,GAAA,KAAAlM,EAAA,kBAQxBoR,GAAa,OAAArR,EAAAA,EAAAA,GAAAoM,GAAA,uBAAbiF,CAAapR,IAAAC,EAAAA,EAAAA,GAAAkM,GAAA,KAAAnM,EAAA,0BAQbqR,GAAqB,OAAAtR,EAAAA,EAAAA,GAAAqM,GAAA,+BAArBiF,CAAqBrR,IAAAC,EAAAA,EAAAA,GAAAmM,GAAA,KAAApM,EAAA,SAQrBuH,GAAI,OAAAxH,EAAAA,EAAAA,GAAAsM,GAAA,cAAJ9E,CAAIvH,IAAAC,EAAAA,EAAAA,GAAAoM,GAAA,KAAArM,EAAA,uBAQJsR,GAAkB,OAAAvR,EAAAA,EAAAA,GAAAuM,GAAA,4BAAlBgF,CAAkBtR,IAAAC,EAAAA,EAAAA,GAAAqM,GAAA,KAAAtM,EAAA,qBAMlBuR,GAAgB,OAAAxR,EAAAA,EAAAA,GAAAwM,GAAA,0BAAhBgF,CAAgBvR,IAAAC,EAAAA,EAAAA,GAAAsM,GAAA,KAAAvM,EAAA,CAgCzBiB,MAAAA,GACE,OACEC,IAAAA,cAACsQ,GAA6B,CAC5BpQ,YAAavG,KAAK+E,iBAClByB,WAAYxG,KACZiF,KAAMjF,KAAKiF,KACXI,MAAOrF,KAAKqF,MACZC,SAAUtF,KAAKsF,SACfE,MAAOxF,KAAKwF,MACZiB,cAAezG,KAAKyG,cACpBC,UAAW1G,KAAK0G,UAChBC,UAAW3G,KAAK2G,UAChBC,QAAQ,eACRC,SAAU7G,KAAK4W,aACfC,gBAAiB7W,KAAK8W,oBACtBxX,SAAUU,KAAKV,SACfyG,SAAU/F,KAAK+F,SACfwP,WAAYvV,KAAKuV,WACjB7G,KAAM1O,KAAK0O,KACX8G,SAAUxV,KAAKwV,SACfC,cAAezV,KAAKyV,cACpBlM,OAAQvJ,KAAKuJ,OACbmM,mBAAoB1V,KAAK0V,mBACzBC,eAAgB3V,KAAK2V,eACrBC,YAAa5V,KAAK4V,YAClBC,oBAAqB7V,KAAK6V,oBAC1BC,aAAc9V,KAAK8V,aACnBC,cAAe/V,KAAK+V,cACpBC,cAAehW,KAAKgW,cACpBC,cAAejW,KAAKiW,cACpBC,WAAYlW,KAAKkW,WACjBC,YAAanW,KAAKmW,YAClBC,wBAAyBpW,KAAKoW,wBAC9BC,aAAcrW,KAAKqW,aACnBC,yBAA0BtW,KAAKsW,yBAC/BC,cAAevW,KAAKuW,cACpBC,sBAAuBxW,KAAKwW,sBAC5B9J,KAAM1M,KAAK0M,KACX+J,mBAAoBzW,KAAKyW,mBACzBC,iBAAkB1W,KAAK0W,iBACvBnR,YAAavF,KAAKuF,YAClBwR,WAAY/W,KAAK+W,YAGvB,EAGK,SAASJ,GACd5P,GAEA,MAAMiQ,GAAYtP,EAAAA,EAAAA,UACZuP,GAAeC,EAAAA,GAAAA,mBACfC,EACJC,GAAAA,KAAKC,UAA4C,OAAhCD,GAAAA,KAAKC,SAASC,MAAM,KAAK,GAAcC,GAAAA,EAAOC,GAAAA,GAEjE7M,EAAAA,EAAAA,YAAU,KACiB,IAAA8M,EAAAC,GAApB5P,EAAAA,EAAAA,OAAMf,EAAMvB,QACE,QAAjBiS,EAAAT,EAAUlM,eAAO,IAAA2M,GAAc,QAAdC,EAAjBD,EAAmBE,oBAAY,IAAAD,GAA/BA,EAAAxM,KAAAuM,EAAkC1Q,EAAMvB,MAC1C,GACC,CAACuB,EAAMvB,QAEV,MAQMoS,GAAQhQ,EAAAA,EAAAA,UAAQ,KACbiQ,EAAAA,GAAAA,OACN,IAEH,OACExR,IAAAA,cAAC/F,IAAe+N,EAAAA,EAAAA,GAAA,CAACC,YAAY,YAAcC,EAAAA,EAAAA,GAAkBxH,IAC3DV,IAAAA,cAACyR,GAAAA,GAAc,CACbX,OAAQA,EACRY,MAAO,CACLC,UACmB,YAAjBf,EACIc,GAAAA,EAAME,cACNF,GAAAA,EAAMG,mBAGd7R,IAAAA,cAAC8R,GAAAA,GAAa,CAACC,UAAWrR,EAAMgQ,WAA0Ba,MAAOA,GAC/DvR,IAAAA,cAACgS,GAAAA,GAAkB,CACjBC,IAAKtB,EACL1X,SAAUyH,EAAMzH,SAChBoP,KAAM3H,EAAM2H,KACZ8G,SAAUzO,EAAMyO,SAChBC,cAAe1O,EAAM0O,cACrBlQ,YAAawB,EAAMxB,YACnBgE,OAAQxC,EAAMwC,OACdgP,aAAa,EACb7C,mBAAoB3O,EAAM2O,mBAC1BlQ,MAAOuB,EAAMvB,MACbqB,SAnCW+P,CAACpR,EAAe4P,KAA2B,IAAAnK,EAChD,QAAdA,EAAAlE,EAAMF,gBAAQ,IAAAoE,GAAdA,EAAAC,KAAAnE,EAAiBvB,EAAO4P,EAAO,EAmCvBoD,cAhCmBhZ,IAA6B,IAAAiZ,EACnC,QAArBA,EAAA1R,EAAM8P,uBAAe,IAAA4B,GAArBA,EAAAvN,KAAAnE,EAAwBvH,EAAQ,EAgCxB+V,WAAYxO,EAAMwO,WAClBU,cAAelP,EAAMkP,cACrBN,eAAgB5O,EAAM4O,eACtBC,YAAa7O,EAAM6O,YACnBC,oBAAqB9O,EAAM8O,oBAC3BC,aAAc/O,EAAM+O,aACpBC,cAAehP,EAAMgP,cACrBC,cAAejP,EAAMiP,cACrBjQ,SAAUgB,EAAMhB,SAChBmQ,WAAYnP,EAAMmP,WAClBC,YAAapP,EAAMoP,YACnBC,wBAAyBrP,EAAMqP,wBAC/BC,aAActP,EAAMsP,aACpBC,yBAA0BvP,EAAMuP,yBAChCC,cAAexP,EAAMwP,cACrBC,sBAAuBzP,EAAMyP,sBAC7B9J,KAAM3F,EAAM2F,KACZ+J,mBAAoB1P,EAAM0P,mBAC1BC,iBAAkB3P,EAAM2P,iBACxBgC,kBAAoB9R,GAAyBA,MAMzD,CA9EC+R,GAAA5G,KAAA3G,GAAAhJ,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAmP,GAAAC,GAAAvO,GAAAC,GAAAuO,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA3Q,GAAAS,GAAAiL,GAAAxL,GAAA0Q,GAAAK,GAAAuD,GAAA3D,GAAAC,GAAAI,GAAAuD,GAAA1D,IAAApF,GAAAc,GAAAb,MAAAC,EAAAA,EAAAA,GAAA0I,GAAA,CA5SAzY,GAAc,0BAA2B,CACxCgQ,WAAY,CAACC,GAAAA,MACb,EAKChQ,KAAU,WAKVA,KAAU,YAKVA,GAAS,CACRoP,KAAMa,UACN,eAMDjQ,KAAU,kBAKVA,GAAS,CACRkQ,WAAW,IACX,YAMDlQ,KAAU,eAMVA,GAAS,CACRoP,KAAMa,UACN,eAMDjQ,GAAS,CACRoP,KAAMa,UACN,iBAMDjQ,KAAU,WAMVA,GAAS,CACRoP,KAAMuJ,SACN,eAMD3Y,GAAS,CACRkQ,WAAW,IACX,oBAMDlQ,GAAS,CACRkQ,WAAW,IACX,aAMDlQ,GAAS,CACRoP,KAAMuJ,SACN,yBAMD3Y,GAAS,CACRkQ,WAAW,IACX,qBAMDlQ,GAAS,CACRkQ,WAAW,IACX,kBAMDlQ,KAAU,0BAMVA,GAAS,CACRoP,KAAMa,UACN,mBAMDjQ,GAAS,CACRoP,KAAMa,UACN,oBAMDjQ,KAAU,oBAMVA,GAAS,CACRkQ,WAAW,IACX,oBAMDlQ,GAAS,CACRkQ,WAAW,IACX,iBAMDlQ,GAAS,CACRoP,KAAMa,UACN,kBAMDjQ,GAAS,CACRoP,KAAMa,UACN,8BAMDjQ,GAAS,CACRoP,KAAMa,UACN,mBAMDjQ,GAAS,CACRoP,KAAMa,UACN,+BAMDjQ,GAAS,CACRkQ,WAAW,IACX,oBAMDlQ,GAAS,CACRoP,KAAMa,UACN,4BAMDjQ,GAAS,CACRkQ,WAAW,IACX,WAMDlQ,GAAS,CACRoP,KAAMa,UACN,yBAMDjQ,KAAU,uBAGVC,GAAM,CAAEmP,KAAM,WAAW,gBAAAe,IAAApL,EAAAA,EAAAA,GAAAyM,GAAArB,GAAA,CAAAA,EAAAnL,KAAAC,EAAAA,EAAAA,GAAAuM,GAAArB,EAAAnL,IAAA,CAGzB/E,GAAM,CAAEmP,KAAM,cAAc,kBAAAe,IAAApL,EAAAA,EAAAA,GAAA2M,GAAAvB,GAAA,CAAAA,EAAAnL,KAAAC,EAAAA,EAAAA,GAAAyM,GAAAvB,EAAAnL,IAAA,CAG5B/E,GAAM,CAAEmP,KAAM,mBAAmB,uBAAAe,IAAApL,EAAAA,EAAAA,GAAA4M,GAAAxB,GAAA,CAAAA,EAAAnL,KAAAC,EAAAA,EAAAA,GAAA0M,GAAAxB,EAAAnL,KAAA,GAAAoL,GAAAqB,GAAApB,KAAAC,EAAAA,EAAAA,GAAAF,KApODvO,EAAAA,IAAmBgO","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(
|
|
2
|
-
//# sourceMappingURL=6941.
|
|
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
|