@next-libs/cmdb-instances 7.10.4 → 7.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +2 -1
  2. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  3. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -2
  4. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  5. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js +3 -1
  6. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  7. package/dist/cjs/instance-detail/InstanceDetail.js +29 -4
  8. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  9. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +5 -0
  10. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  11. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +2 -1
  12. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  13. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -2
  14. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  15. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js +3 -1
  16. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  17. package/dist/esm/instance-detail/InstanceDetail.js +29 -5
  18. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  19. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +5 -0
  20. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  21. package/dist/types/cmdb-instances-input-form/CmdbInstancesInputFormItem.d.ts +1 -0
  22. package/dist/types/cmdb-instances-select-panel/CmdbInstancesSelectPanel.d.ts +3 -0
  23. package/dist/types/components/user-or-user-group-select/UserOrUserGroupSelect.d.ts +1 -0
  24. package/dist/types/instance-detail/InstanceDetail.d.ts +1 -0
  25. package/dist/types/instance-detail/components/instance-relation-table-show/instance-relation-table-show.d.ts +3 -1
  26. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","reduce","prev","next","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n Query,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n showBindButton?: boolean;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n bindEvent?: () => void;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n showPagination?: boolean;\n aq?: Query[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: props.fields?.length\n ? props.fields.reduce(\n (prev, next) => ({ ...prev, [next]: true }),\n {}\n )\n : { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n showBindButton={props.showBindButton}\n bindButtonDisabled={props.bindButtonDisabled}\n bindButtonText={props.bindButtonText}\n bindEvent={props.bindEvent}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n aq={props.aq}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n showBindButton={props.showBindButton}\n bindButtonDisabled={props.bindButtonDisabled}\n bindButtonText={props.bindButtonText}\n bindEvent={props.bindEvent}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n fieldIds: props.fields,\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.ipCopy ? true : props.showCloseBtn}\n pageSize={props.addInstancesModalPageSize}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","reduce","prev","next","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","saveFieldsBackend","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n Query,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n showBindButton?: boolean;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n bindEvent?: () => void;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n showPagination?: boolean;\n aq?: Query[];\n saveFieldsBackend?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n saveFieldsBackend?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n saveFieldsBackend?: boolean;\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: props.fields?.length\n ? props.fields.reduce(\n (prev, next) => ({ ...prev, [next]: true }),\n {}\n )\n : { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n showBindButton={props.showBindButton}\n bindButtonDisabled={props.bindButtonDisabled}\n bindButtonText={props.bindButtonText}\n bindEvent={props.bindEvent}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n aq={props.aq}\n saveFieldsBackend={props.saveFieldsBackend}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n showBindButton={props.showBindButton}\n bindButtonDisabled={props.bindButtonDisabled}\n bindButtonText={props.bindButtonText}\n bindEvent={props.bindEvent}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n fieldIds: props.fields,\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.ipCopy ? true : props.showCloseBtn}\n pageSize={props.addInstancesModalPageSize}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n saveFieldsBackend={props.saveFieldsBackend}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -432,7 +432,9 @@ export function LegacyUserSelectFormItem(props, ref) {
432
432
  state: "valid"
433
433
  }
434
434
  }
435
- } : {})));
435
+ } : {}, {
436
+ saveFieldsBackend: props.saveFieldsBackend
437
+ })));
436
438
  }
437
439
  export var UserSelectFormItem = /*#__PURE__*/forwardRef(LegacyUserSelectFormItem);
438
440
  export function UserOrUserGroupSelect(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"UserOrUserGroupSelect.js","names":["React","useState","forwardRef","useEffect","useRef","SearchOutlined","Select","Button","Divider","styles","InstanceApi_postSearch","zipObject","map","debounce","startsWith","filter","reject","isNil","uniqBy","uniq","find","isEmpty","isEqual","groupBy","compact","some","FormItemWrapper","getInstanceNameKeys","InstanceListModal","getAuth","GeneralIcon","useTranslation","NS_LIBS_CMDB_INSTANCES","K","LegacyUserSelectFormItem","props","ref","selectRef","selectedValue","setSelectedValue","staticValue","userShowKey","objectMap","userGroupShowKey","t","getLabel","objectId","instanceData","showKey","Array","isArray","showName","key","index","join","getStaticLabel","label","color","isDifferent","userOfValues","value","selectedUser","userGroupOfValues","selectedUserGroup","userOfSelectedValue","item","userGroupOfSelectedValue","sort","initializeStaticList","staticList","v","fetching","setFetching","searchValue","setSearchValue","userList","setUserList","userGroupList","setUserGroupList","modalVisible","setModalVisible","modalObjectId","setModalObjectId","optionsMode","triggerChange","changedValue","onChange","initializeSelectedValue","staticKeys","user","concat","userGroup","includes","staticValueToSet","length","query","name","$in","page","page_size","fields","list","instanceId","slice","labelValue","labelText","result","push","current","fetchInstanceList","keyword","showKeyQuery","$or","$like","hideInvalidUser","state","userQuery","userGroupQuery","searchUser","searchUserGroup","searchUserOrUserGroupInstances","Promise","all","handleSelectChange","originValue","unshift","resultValue","handleFocus","openModal","closeModal","handleInstancesSelected","resultSelectedValue","handleModalSelected","selectedKeys","instances","toggleObjectId","title","FILTER_FROM_CMDB_TYPE","type","USERS","USER_GROUPS","SWITCH","addMeQuickly","myUserName","username","myUser","$eq","getRight","btnWidth","hideAddMeQuickly","lineWidth","hideSelectByCMDB","iconWidth","UserOrUserGroupSelectContainer","customSelect","placeholder","width","USERS_RESULT_LABEL","d","NO_DATA","USER_GROUPS_RESULT_LABEL","extra","right","fontSize","lib","icon","presetConfigs","UserSelectFormItem","UserOrUserGroupSelect","mergeUseAndUserGroup"],"sources":["../../../../src/components/user-or-user-group-select/UserOrUserGroupSelect.tsx"],"sourcesContent":["import React, {\n useState,\n forwardRef,\n ReactNode,\n useEffect,\n useRef,\n} from \"react\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport { Select, Button, Divider } from \"antd\";\nimport styles from \"./UserOrUserGroupSelect.module.css\";\nimport { InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n reject,\n isNil,\n uniqBy,\n uniq,\n find,\n isEmpty,\n isEqual,\n groupBy,\n compact,\n some,\n} from \"lodash\";\nimport { FormItemWrapperProps, FormItemWrapper } from \"@next-libs/forms\";\nimport { getInstanceNameKeys } from \"@next-libs/cmdb-utils\";\nimport { InstanceListModal } from \"../../instance-list-modal/InstanceListModal\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\n\nexport type UserOrUserGroupSelectValue = {\n selectedUser?: string[];\n selectedUserGroup?: string[];\n};\n\nexport interface UserSelectFormItemProps {\n children?: ReactNode;\n objectMap?: Record<string, any>;\n onChange?: (value: any) => void;\n placeholder?: string;\n value?: UserOrUserGroupSelectValue;\n hideAddMeQuickly?: boolean;\n hideSelectByCMDB?: boolean;\n optionsMode?: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n mergeUseAndUserGroup?: boolean;\n query?: Record<string, any>;\n hideInvalidUser?: boolean;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n}\n\ninterface UserOrUserGroupSelectProps extends FormItemWrapperProps {\n objectMap: Record<string, any>;\n placeholder?: string;\n value?: UserOrUserGroupSelectValue;\n hideAddMeQuickly?: boolean;\n hideSelectByCMDB?: boolean;\n onChange?: (value: any) => void;\n optionsMode?: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n mergeUseAndUserGroup?: boolean;\n query?: Record<string, any>;\n hideInvalidUser?: boolean;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n}\n\nexport function LegacyUserSelectFormItem(\n props: UserSelectFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement {\n const selectRef = useRef();\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n const userShowKey: string[] = getInstanceNameKeys(props.objectMap[\"USER\"]);\n const userGroupShowKey: string[] = getInstanceNameKeys(\n props.objectMap[\"USER_GROUP\"]\n );\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey = objectId === \"USER\" ? userShowKey : userGroupShowKey;\n if (Array.isArray(showKey)) {\n const 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 return showName;\n } else {\n return instanceData[showKey];\n }\n };\n\n const getStaticLabel = (label: string) => (\n <div style={{ color: \"var(--bg-color-button-link)\" }}>{label}</div>\n );\n\n const isDifferent = () => {\n const userOfValues = props.value?.selectedUser || [];\n const userGroupOfValues = props.value?.selectedUserGroup || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item) => !item.key.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item) => 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\n // 后台搜索中\n const [fetching, setFetching] = useState(false);\n\n const [searchValue, setSearchValue] = useState();\n const [userList, setUserList] = useState([]);\n const [userGroupList, setUserGroupList] = useState([]);\n\n const [modalVisible, setModalVisible] = useState(false);\n const [modalObjectId, setModalObjectId] = useState(\n props.optionsMode === \"group\" ? \"USER_GROUP\" : \"USER\"\n );\n\n const triggerChange = (changedValue: any) => {\n props.onChange?.(\n isEmpty(changedValue.selectedUser) &&\n isEmpty(changedValue.selectedUserGroup)\n ? null\n : changedValue\n );\n };\n // istanbul ignore next (Migrated from next-basic)\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const staticKeys = initializeStaticList();\n const user = compact(\n uniq([].concat(staticKeys.user).concat(props.value.selectedUser))\n );\n\n const userGroup = compact(\n uniq(\n []\n .concat(staticKeys.userGroup)\n .concat(props.value.selectedUserGroup)\n )\n );\n\n if (\n (staticKeys.user &&\n some(\n staticKeys.user,\n (v) => !props.value?.selectedUser?.includes(v)\n )) ||\n (staticKeys.userGroup &&\n some(\n staticKeys.userGroup,\n (v) => !props.value?.selectedUserGroup?.includes(v)\n ))\n ) {\n triggerChange({\n selectedUser: user,\n selectedUserGroup: userGroup,\n });\n }\n const staticValueToSet: any[] = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n userShowKey,\n map(userShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\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.slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n userGroupShowKey,\n map(userGroupShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v.name,\n label: props.staticList?.includes(v.name)\n ? getStaticLabel(labelText)\n : labelText,\n };\n\n if (props.staticList?.includes(v.name)) {\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: props.staticList?.includes(\":\" + v.instanceId)\n ? getStaticLabel(labelText)\n : 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\n setSelectedValue(labelValue);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, [props.value]);\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey = objectId === \"USER\" ? userShowKey : userGroupShowKey;\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(props.hideInvalidUser\n ? {\n state: \"valid\",\n }\n : {}),\n };\n return (\n await InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, (v) => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n ...props.userQuery,\n ...showKeyQuery,\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n ...props.userGroupQuery,\n ...showKeyQuery,\n }\n : props.query || showKeyQuery\n ? {\n ...props.query,\n ...showKeyQuery,\n }\n : showKeyQuery,\n })\n ).list;\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: any) => {\n setSearchValue(value);\n setFetching(true);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n\n setFetching(false);\n };\n\n const handleSelectChange = (originValue: any) => {\n const value = filter(originValue, (item) => {\n return !find(props.staticList, (v) => v === item.key);\n });\n value.unshift(...staticValue.current);\n setSelectedValue(value);\n const resultValue = {\n selectedUser: map(\n reject(value, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n\n selectedUserGroup: map(\n filter(value, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n };\n\n triggerChange(resultValue);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n // istanbul ignore next (Migrated from next-basic)\n const openModal = () => {\n setModalVisible(true);\n };\n // istanbul ignore next (Migrated from next-basic)\n const closeModal = () => {\n setModalVisible(false);\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleInstancesSelected = (\n value: Record<string, any>[],\n objectId: string\n ): void => {\n let labelValue: any[] = [];\n if (objectId === \"USER\") {\n labelValue = [\n ...map(value, (v) => {\n const labelText = getLabel(\"USER\", v);\n return {\n key: v.name,\n label: props.staticList?.includes(v.name)\n ? getStaticLabel(labelText)\n : labelText,\n };\n }),\n ];\n } else {\n labelValue = [\n ...map(value, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n return {\n key: \":\" + v.instanceId,\n label: props.staticList?.includes(\":\" + v.instanceId)\n ? getStaticLabel(labelText)\n : labelText,\n };\n }),\n ];\n }\n const resultSelectedValue = uniqBy(\n [...selectedValue, ...labelValue],\n \"key\"\n );\n\n setSelectedValue(resultSelectedValue);\n const resultValue = {\n selectedUser: map(\n reject(resultSelectedValue, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n\n selectedUserGroup: map(\n filter(resultSelectedValue, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n };\n\n triggerChange(resultValue);\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleModalSelected = async (selectedKeys: string[]) => {\n if (selectedKeys?.length) {\n const instances = (\n await InstanceApi_postSearch(modalObjectId, {\n query: { instanceId: { $in: selectedKeys } },\n fields: { \"*\": true },\n page_size: selectedKeys.length,\n })\n ).list;\n handleInstancesSelected(instances, modalObjectId);\n }\n setModalVisible(false);\n };\n\n const toggleObjectId = () => {\n setModalObjectId(modalObjectId === \"USER\" ? \"USER_GROUP\" : \"USER\");\n };\n\n const title = (\n <div>\n {t(K.FILTER_FROM_CMDB_TYPE, {\n type: modalObjectId === \"USER\" ? t(K.USERS) : t(K.USER_GROUPS),\n })}{\" \"}\n {props.optionsMode === \"all\" && (\n <Button type=\"link\" onClick={toggleObjectId}>\n {t(K.SWITCH, {\n type: modalObjectId === \"USER\" ? t(K.USER_GROUPS) : t(K.USERS),\n })}{\" \"}\n </Button>\n )}\n </div>\n );\n\n // 快速选择我\n // istanbul ignore next (Migrated from next-basic)\n const addMeQuickly = async () => {\n const myUserName = getAuth().username;\n if (find(selectedValue, (v) => v.key === myUserName)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $eq: myUserName,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n userShowKey,\n map(userShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\n handleInstancesSelected(myUser, \"USER\");\n };\n\n const getRight = () => {\n const btnWidth =\n !props.hideAddMeQuickly && props.optionsMode !== \"group\" ? -34 : 0;\n const lineWidth =\n !props.hideAddMeQuickly &&\n props.optionsMode !== \"group\" &&\n !props.hideSelectByCMDB\n ? -1\n : 0;\n const iconWidth = props.hideSelectByCMDB ? 0 : -32;\n return btnWidth + lineWidth + iconWidth;\n };\n\n return (\n <div\n ref={ref}\n data-testid=\"wrapper\"\n className={styles.UserOrUserGroupSelectContainer}\n >\n <Select\n className={styles.customSelect}\n ref={selectRef}\n allowClear={true}\n mode=\"multiple\"\n labelInValue\n placeholder={props.placeholder}\n filterOption={false}\n value={selectedValue}\n onChange={handleSelectChange}\n onSearch={debounce((value) => {\n searchUserOrUserGroupInstances(value as string);\n }, 500)}\n onFocus={handleFocus}\n style={{ width: \"100%\" }}\n loading={fetching}\n >\n {props.optionsMode !== \"group\" && (\n <Select.OptGroup label={t(K.USERS_RESULT_LABEL)}>\n {userList.length > 0 ? (\n userList.map((d) => (\n <Select.Option value={d.name} key={d.name}>\n {props.staticList?.includes(d.name)\n ? getStaticLabel(getLabel(\"USER\", d))\n : getLabel(\"USER\", d)}\n </Select.Option>\n ))\n ) : (\n <Select.Option value=\"empty-user\" key=\"empty-user\" disabled>\n {t(K.NO_DATA)}\n </Select.Option>\n )}\n </Select.OptGroup>\n )}\n\n {props.optionsMode !== \"user\" && (\n <Select.OptGroup label={t(K.USER_GROUPS_RESULT_LABEL)}>\n {userGroupList.length > 0 ? (\n userGroupList.map((d) => (\n <Select.Option value={d.instanceId} key={d.instanceId}>\n {props.staticList?.includes(d.instanceId)\n ? getStaticLabel(getLabel(\"USER_GROUP\", d))\n : getLabel(\"USER_GROUP\", d)}\n </Select.Option>\n ))\n ) : (\n <Select.Option\n value=\"empty-user-group\"\n key=\"empty-user-group\"\n disabled\n >\n {t(K.NO_DATA)}\n </Select.Option>\n )}\n </Select.OptGroup>\n )}\n </Select>\n <div className={styles.extra} style={{ right: getRight() }}>\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <Button\n type=\"link\"\n onClick={addMeQuickly}\n style={{ fontSize: \"16px\" }}\n >\n <GeneralIcon icon={{ lib: \"easyops\", icon: \"quick-add-me\" }} />\n </Button>\n )}\n\n {!props.hideAddMeQuickly &&\n props.optionsMode !== \"group\" &&\n !props.hideSelectByCMDB && <Divider type=\"vertical\" />}\n {!props.hideSelectByCMDB && (\n <Button\n type=\"link\"\n icon={<SearchOutlined />}\n onClick={openModal}\n ></Button>\n )}\n </div>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={modalObjectId}\n visible={modalVisible}\n title={title}\n onSelected={handleModalSelected}\n onCancel={closeModal}\n showSizeChanger={true}\n {...(modalObjectId === \"USER\" && props.hideInvalidUser\n ? {\n presetConfigs: {\n query: {\n state: \"valid\",\n },\n },\n }\n : {})}\n />\n </div>\n );\n}\n\nexport const UserSelectFormItem = forwardRef<HTMLDivElement>(\n LegacyUserSelectFormItem\n) as any;\n\nexport function UserOrUserGroupSelect(\n props: UserOrUserGroupSelectProps\n): React.ReactElement {\n return (\n <FormItemWrapper {...props}>\n <UserSelectFormItem\n objectMap={props.objectMap}\n placeholder={props.placeholder}\n value={props.value}\n hideAddMeQuickly={props.hideAddMeQuickly}\n hideSelectByCMDB={props.hideSelectByCMDB}\n onChange={props.onChange}\n optionsMode={props.optionsMode}\n staticList={props.staticList}\n mergeUseAndUserGroup={props.mergeUseAndUserGroup}\n query={props.query}\n hideInvalidUser={props.hideInvalidUser}\n userQuery={props.userQuery}\n userGroupQuery={props.userGroupQuery}\n />\n </FormItemWrapper>\n );\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,IACVC,QAAQ,EACRC,UAAU,EAEVC,SAAS,EACTC,MAAM,QACD,OAAO;AACd,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,MAAM;AAC9C,OAAOC,MAAM,MAAM,oCAAoC;AACvD,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SACEC,SAAS,EACTC,GAAG,EACHC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,IAAI,EACJC,IAAI,EACJC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,IAAI,QACC,QAAQ;AACf,SAA+BC,eAAe,QAAQ,kBAAkB;AACxE,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,WAAW,QAAQ,6BAA6B;AACzD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,sBAAsB,EAAEC,CAAC,QAAQ,sBAAsB;AAwChE,OAAO,SAASC,wBAAwB,CACtCC,KAA8B,EAC9BC,GAA8B,EACV;EACpB,IAAMC,SAAS,GAAGjC,MAAM,EAAE;EAC1B,IAAM,CAACkC,aAAa,EAAEC,gBAAgB,CAAC,GAAGtC,QAAQ,CAAC,EAAE,CAAC;EACtD,IAAMuC,WAAW,GAAGpC,MAAM,CAAC,EAAE,CAAC;EAC9B,IAAMqC,WAAqB,GAAGd,mBAAmB,CAACQ,KAAK,CAACO,SAAS,CAAC,MAAM,CAAC,CAAC;EAC1E,IAAMC,gBAA0B,GAAGhB,mBAAmB,CACpDQ,KAAK,CAACO,SAAS,CAAC,YAAY,CAAC,CAC9B;EAED,IAAM;IAAEE;EAAE,CAAC,GAAGb,cAAc,CAACC,sBAAsB,CAAC;EAEpD,IAAMa,QAAQ,GAAG,CACfC,QAA+B,EAC/BC,YAAiB,KACN;IACX,IAAMC,OAAO,GAAGF,QAAQ,KAAK,MAAM,GAAGL,WAAW,GAAGE,gBAAgB;IACpE,IAAIM,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;MAC1B,IAAMG,QAAQ,GAAGH,OAAO,CACrBpC,GAAG,CAAC,CAACwC,GAAG,EAAEC,KAAK,KAAK;QACnB,IAAIA,KAAK,KAAK,CAAC,EAAE;UACf,OAAON,YAAY,CAACK,GAAG,CAAC;QAC1B,CAAC,MAAM;UACL,OAAOL,YAAY,CAACK,GAAG,CAAC,GAAG,GAAG,GAAGL,YAAY,CAACK,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;QAC/D;MACF,CAAC,CAAC,CACDE,IAAI,CAAC,EAAE,CAAC;MACX,OAAOH,QAAQ;IACjB,CAAC,MAAM;MACL,OAAOJ,YAAY,CAACC,OAAO,CAAC;IAC9B;EACF,CAAC;EAED,IAAMO,cAAc,GAAIC,KAAa,iBACnC;IAAK,KAAK,EAAE;MAAEC,KAAK,EAAE;IAA8B;EAAE,GAAED,KAAK,CAC7D;EAED,IAAME,WAAW,GAAG,MAAM;IAAA;IACxB,IAAMC,YAAY,GAAG,iBAAAxB,KAAK,CAACyB,KAAK,iDAAX,aAAaC,YAAY,KAAI,EAAE;IACpD,IAAMC,iBAAiB,GAAG,kBAAA3B,KAAK,CAACyB,KAAK,kDAAX,cAAaG,iBAAiB,KAAI,EAAE;IAC9D,IAAMC,mBAAmB,GAAGpD,GAAG,CAC7BG,MAAM,CAACuB,aAAa,EAAG2B,IAAI,IAAK,CAACA,IAAI,CAACb,GAAG,CAACtC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC1D,KAAK,CACN;IAED,IAAMoD,wBAAwB,GAAGtD,GAAG,CAClCG,MAAM,CAACuB,aAAa,EAAG2B,IAAI,IAAKA,IAAI,CAACb,GAAG,CAACtC,UAAU,CAAC,GAAG,CAAC,CAAC,EACzD,KAAK,CACN;IAED,OACE,CAACQ,OAAO,CAAC,CAAC,GAAGqC,YAAY,CAAC,CAACQ,IAAI,EAAE,EAAE,CAAC,GAAGH,mBAAmB,CAAC,CAACG,IAAI,EAAE,CAAC,IACnE,CAAC7C,OAAO,CACN,CAAC,GAAGwC,iBAAiB,CAAC,CAACK,IAAI,EAAE,EAC7B,CAAC,GAAGD,wBAAwB,CAAC,CAACC,IAAI,EAAE,CACrC;EAEL,CAAC;EAED,IAAMC,oBAAoB,GAAG,MAAM;IACjC,OAAO7C,OAAO,CAACY,KAAK,CAACkC,UAAU,EAAGC,CAAC,IACjCxD,UAAU,CAACwD,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,CAC1C;EACH,CAAC;;EAED;EACA,IAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGvE,QAAQ,CAAC,KAAK,CAAC;EAE/C,IAAM,CAACwE,WAAW,EAAEC,cAAc,CAAC,GAAGzE,QAAQ,EAAE;EAChD,IAAM,CAAC0E,QAAQ,EAAEC,WAAW,CAAC,GAAG3E,QAAQ,CAAC,EAAE,CAAC;EAC5C,IAAM,CAAC4E,aAAa,EAAEC,gBAAgB,CAAC,GAAG7E,QAAQ,CAAC,EAAE,CAAC;EAEtD,IAAM,CAAC8E,YAAY,EAAEC,eAAe,CAAC,GAAG/E,QAAQ,CAAC,KAAK,CAAC;EACvD,IAAM,CAACgF,aAAa,EAAEC,gBAAgB,CAAC,GAAGjF,QAAQ,CAChDkC,KAAK,CAACgD,WAAW,KAAK,OAAO,GAAG,YAAY,GAAG,MAAM,CACtD;EAED,IAAMC,aAAa,GAAIC,YAAiB,IAAK;IAAA;IAC3C,mBAAAlD,KAAK,CAACmD,QAAQ,oDAAd,qBAAAnD,KAAK,EACHd,OAAO,CAACgE,YAAY,CAACxB,YAAY,CAAC,IAChCxC,OAAO,CAACgE,YAAY,CAACtB,iBAAiB,CAAC,GACrC,IAAI,GACJsB,YAAY,CACjB;EACH,CAAC;EACD;EACAlF,SAAS,CAAC,MAAM;IACd,IAAMoF,uBAAuB;MAAA,6BAAG,aAAY;QAC1C,IAAIpD,KAAK,CAACyB,KAAK,EAAE;UACf,IAAIC,YAAmB,GAAG,EAAE;UAC5B,IAAIE,iBAAwB,GAAG,EAAE;UACjC,IAAMyB,UAAU,GAAGpB,oBAAoB,EAAE;UACzC,IAAMqB,IAAI,GAAGjE,OAAO,CAClBL,IAAI,CAAC,EAAE,CAACuE,MAAM,CAACF,UAAU,CAACC,IAAI,CAAC,CAACC,MAAM,CAACvD,KAAK,CAACyB,KAAK,CAACC,YAAY,CAAC,CAAC,CAClE;UAED,IAAM8B,SAAS,GAAGnE,OAAO,CACvBL,IAAI,CACF,EAAE,CACCuE,MAAM,CAACF,UAAU,CAACG,SAAS,CAAC,CAC5BD,MAAM,CAACvD,KAAK,CAACyB,KAAK,CAACG,iBAAiB,CAAC,CACzC,CACF;UAED,IACGyB,UAAU,CAACC,IAAI,IACdhE,IAAI,CACF+D,UAAU,CAACC,IAAI,EACdnB,CAAC;YAAA;YAAA,OAAK,mBAACnC,KAAK,CAACyB,KAAK,mEAAX,cAAaC,YAAY,kDAAzB,sBAA2B+B,QAAQ,CAACtB,CAAC,CAAC;UAAA,EAC/C,IACFkB,UAAU,CAACG,SAAS,IACnBlE,IAAI,CACF+D,UAAU,CAACG,SAAS,EACnBrB,CAAC;YAAA;YAAA,OAAK,mBAACnC,KAAK,CAACyB,KAAK,mEAAX,cAAaG,iBAAiB,kDAA9B,sBAAgC6B,QAAQ,CAACtB,CAAC,CAAC;UAAA,EACnD,EACJ;YACAc,aAAa,CAAC;cACZvB,YAAY,EAAE4B,IAAI;cAClB1B,iBAAiB,EAAE4B;YACrB,CAAC,CAAC;UACJ;UACA,IAAME,gBAAuB,GAAG,EAAE;UAClC,IAAIJ,IAAI,CAACK,MAAM,IAAI3D,KAAK,CAACgD,WAAW,KAAK,OAAO,EAAE;YAChDtB,YAAY,GAAG,OACPnD,sBAAsB,CAAC,MAAM,EAAE;cACnCqF,KAAK,EAAE;gBACLC,IAAI,EAAE;kBACJC,GAAG,EAAER;gBACP;cACF,CAAC;cAEDS,IAAI,EAAE,CAAC;cACPC,SAAS,EAAEV,IAAI,CAACK,MAAM;cACtBM,MAAM,kCACDzF,SAAS,CACV8B,WAAW,EACX7B,GAAG,CAAC6B,WAAW,EAAG6B,CAAC,IAAK,IAAI,CAAC,CAC9B;gBAED0B,IAAI,EAAE;cAAI;YAEd,CAAC,CAAC,EACFK,IAAI;UACR;UACA,IAAIV,SAAS,CAACG,MAAM,IAAI3D,KAAK,CAACgD,WAAW,KAAK,MAAM,EAAE;YACpDpB,iBAAiB,GAAG,OACZrD,sBAAsB,CAAC,YAAY,EAAE;cACzCqF,KAAK,EAAE;gBACLO,UAAU,EAAE;kBACV;kBACAL,GAAG,EAAErF,GAAG,CAAC+E,SAAS,EAAGrB,CAAC,IAAKA,CAAC,CAACiC,KAAK,CAAC,CAAC,CAAC;gBACvC;cACF,CAAC;cAEDL,IAAI,EAAE,CAAC;cACPC,SAAS,EAAER,SAAS,CAACG,MAAM;cAC3BM,MAAM,kCACDzF,SAAS,CACVgC,gBAAgB,EAChB/B,GAAG,CAAC+B,gBAAgB,EAAG2B,CAAC,IAAK,IAAI,CAAC,CACnC;gBAED0B,IAAI,EAAE;cAAI;YAEd,CAAC,CAAC,EACFK,IAAI;UACR;UACA,IAAIG,UAAU,GAAG,CACf,GAAG5F,GAAG,CAACiD,YAAY,EAAGS,CAAC,IAAK;YAAA;YAC1B,IAAMmC,SAAS,GAAG5D,QAAQ,CAAC,MAAM,EAAEyB,CAAC,CAAC;YACrC,IAAMoC,MAAM,GAAG;cACbtD,GAAG,EAAEkB,CAAC,CAAC0B,IAAI;cACXxC,KAAK,EAAE,qBAAArB,KAAK,CAACkC,UAAU,8CAAhB,kBAAkBuB,QAAQ,CAACtB,CAAC,CAAC0B,IAAI,CAAC,GACrCzC,cAAc,CAACkD,SAAS,CAAC,GACzBA;YACN,CAAC;YAED,0BAAItE,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAACtB,CAAC,CAAC0B,IAAI,CAAC,EAAE;cACtCH,gBAAgB,CAACc,IAAI,CAACD,MAAM,CAAC;YAC/B;YACA,OAAOA,MAAM;UACf,CAAC,CAAC,EACF,GAAG9F,GAAG,CAACmD,iBAAiB,EAAGO,CAAC,IAAK;YAAA;YAC/B,IAAMmC,SAAS,GAAG5D,QAAQ,CAAC,YAAY,EAAEyB,CAAC,CAAC;YAC3C,IAAMoC,MAAM,GAAG;cACbtD,GAAG,EAAE,GAAG,GAAGkB,CAAC,CAACgC,UAAU;cACvB9C,KAAK,EAAE,sBAAArB,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAAC,GAAG,GAAGtB,CAAC,CAACgC,UAAU,CAAC,GACjD/C,cAAc,CAACkD,SAAS,CAAC,GACzBA;YACN,CAAC;YAED,0BAAItE,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAAC,GAAG,GAAGtB,CAAC,CAACgC,UAAU,CAAC,EAAE;cAClDT,gBAAgB,CAACc,IAAI,CAACD,MAAM,CAAC;YAC/B;YACA,OAAOA,MAAM;UACf,CAAC,CAAC,CACH;UAEDF,UAAU,GAAG,CACX,GAAGX,gBAAgB,EACnB,GAAG9E,MAAM,CAACyF,UAAU,EAAGlC,CAAC;YAAA;YAAA,OAAK,wBAACnC,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAACtB,CAAC,CAAClB,GAAG,CAAC;UAAA,EAAC,CACjE;UAEDb,gBAAgB,CAACiE,UAAU,CAAC;UAC5BhE,WAAW,CAACoE,OAAO,GAAGf,gBAAgB;QACxC;MACF,CAAC;MAAA,gBAvHKN,uBAAuB;QAAA;MAAA;IAAA,GAuH5B;IACD,IAAI7B,WAAW,EAAE,EAAE;MACjB6B,uBAAuB,EAAE;IAC3B;EACF,CAAC,EAAE,CAACpD,KAAK,CAACyB,KAAK,CAAC,CAAC;EAEjB,IAAMiD,iBAAiB;IAAA,8BAAG,WACxB/D,QAA+B,EAC/BgE,OAAe,EACZ;MACH,IAAM9D,OAAO,GAAGF,QAAQ,KAAK,MAAM,GAAGL,WAAW,GAAGE,gBAAgB;MACpE,IAAMoE,YAAY;QAChBC,GAAG,EAAEpG,GAAG,CAACO,IAAI,CAAC,CAAC,GAAG6B,OAAO,EAAE,MAAM,CAAC,CAAC,EAAGsB,CAAC,KAAM;UAC3C,CAACA,CAAC,GAAG;YAAE2C,KAAK,aAAMH,OAAO;UAAI;QAC/B,CAAC,CAAC;MAAC,GACC3E,KAAK,CAAC+E,eAAe,GACrB;QACEC,KAAK,EAAE;MACT,CAAC,GACD,CAAC,CAAC,CACP;MACD,OAAO,OACCzG,sBAAsB,CAACoC,QAAQ,EAAE;QACrCoD,IAAI,EAAE,CAAC;QACPC,SAAS,EAAE,EAAE;QACbC,MAAM,kCACDzF,SAAS,CACVqC,OAAO,EACPpC,GAAG,CAACoC,OAAO,EAAGsB,CAAC,IAAK,IAAI,CAAC,CAC1B;UAED0B,IAAI,EAAE;QAAI,EACX;QACDD,KAAK,EACH5D,KAAK,CAACiF,SAAS,IAAItE,QAAQ,KAAK,MAAM,mCAE7BX,KAAK,CAACiF,SAAS,GACfL,YAAY,IAEjB5E,KAAK,CAACkF,cAAc,IAAIvE,QAAQ,KAAK,YAAY,mCAE5CX,KAAK,CAACkF,cAAc,GACpBN,YAAY,IAEjB5E,KAAK,CAAC4D,KAAK,IAAIgB,YAAY,mCAEtB5E,KAAK,CAAC4D,KAAK,GACXgB,YAAY,IAEjBA;MACR,CAAC,CAAC,EACFV,IAAI;IACR,CAAC;IAAA,gBA9CKQ,iBAAiB;MAAA;IAAA;EAAA,GA8CtB;EAED,IAAMS,UAAU;IAAA,8BAAG,WAAO1D,KAAa,EAAK;MAC1CgB,WAAW,OAAOiC,iBAAiB,CAAC,MAAM,EAAEjD,KAAK,CAAC,CAAC;IACrD,CAAC;IAAA,gBAFK0D,UAAU;MAAA;IAAA;EAAA,GAEf;;EAED;EACA,IAAMC,eAAe;IAAA,8BAAG,WAAO3D,KAAa,EAAK;MAC/C,IAAM8C,MAAM,SAASG,iBAAiB,CAAC,YAAY,EAAEjD,KAAK,CAAC;MAC3DkB,gBAAgB,CACd4B,MAAM,CAAC9F,GAAG,CAAE0D,CAAC,IAAK;QAChBA,CAAC,CAACgC,UAAU,GAAG,GAAG,GAAGhC,CAAC,CAACgC,UAAU;QACjC,OAAOhC,CAAC;MACV,CAAC,CAAC,CACH;IACH,CAAC;IAAA,gBARKiD,eAAe;MAAA;IAAA;EAAA,GAQpB;EAED,IAAMC,8BAA8B;IAAA,8BAAG,WAAO5D,KAAU,EAAK;MAC3Dc,cAAc,CAACd,KAAK,CAAC;MACrBY,WAAW,CAAC,IAAI,CAAC;MACjB,MAAMiD,OAAO,CAACC,GAAG,CAAC,CAChB,IAAIvF,KAAK,CAACgD,WAAW,KAAK,OAAO,GAAG,CAACmC,UAAU,CAAC1D,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAC7D,IAAIzB,KAAK,CAACgD,WAAW,KAAK,MAAM,GAAG,CAACoC,eAAe,CAAC3D,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAClE,CAAC;MAEFY,WAAW,CAAC,KAAK,CAAC;IACpB,CAAC;IAAA,gBATKgD,8BAA8B;MAAA;IAAA;EAAA,GASnC;EAED,IAAMG,kBAAkB,GAAIC,WAAgB,IAAK;IAC/C,IAAMhE,KAAK,GAAG7C,MAAM,CAAC6G,WAAW,EAAG3D,IAAI,IAAK;MAC1C,OAAO,CAAC7C,IAAI,CAACe,KAAK,CAACkC,UAAU,EAAGC,CAAC,IAAKA,CAAC,KAAKL,IAAI,CAACb,GAAG,CAAC;IACvD,CAAC,CAAC;IACFQ,KAAK,CAACiE,OAAO,CAAC,GAAGrF,WAAW,CAACoE,OAAO,CAAC;IACrCrE,gBAAgB,CAACqB,KAAK,CAAC;IACvB,IAAMkE,WAAW,GAAG;MAClBjE,YAAY,EAAEjD,GAAG,CACfI,MAAM,CAAC4C,KAAK,EAAGU,CAAC,IAAK;QACnB,OAAOxD,UAAU,CAACwD,CAAC,CAAClB,GAAG,EAAE,GAAG,CAAC;MAC/B,CAAC,CAAC,EACF,KAAK,CACN;MAEDW,iBAAiB,EAAEnD,GAAG,CACpBG,MAAM,CAAC6C,KAAK,EAAGU,CAAC,IAAK;QACnB,OAAOxD,UAAU,CAACwD,CAAC,CAAClB,GAAG,EAAE,GAAG,CAAC;MAC/B,CAAC,CAAC,EACF,KAAK;IAET,CAAC;IAEDgC,aAAa,CAAC0C,WAAW,CAAC;IAC1B,IAAIrD,WAAW,KAAK,EAAE,EAAE;MACtB+C,8BAA8B,CAAC,EAAE,CAAC;IACpC;EACF,CAAC;EACD;EACA,IAAMO,WAAW,GAAG,MAAM;IACxB,IAAI9G,KAAK,CAACwD,WAAW,CAAC,IAAIA,WAAW,KAAK,EAAE,EAAE;MAC5C+C,8BAA8B,CAAC,EAAE,CAAC;IACpC;EACF,CAAC;EACD;EACA,IAAMQ,SAAS,GAAG,MAAM;IACtBhD,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC;EACD;EACA,IAAMiD,UAAU,GAAG,MAAM;IACvBjD,eAAe,CAAC,KAAK,CAAC;EACxB,CAAC;EACD;EACA,IAAMkD,uBAAuB,GAAG,CAC9BtE,KAA4B,EAC5Bd,QAAgB,KACP;IACT,IAAI0D,UAAiB,GAAG,EAAE;IAC1B,IAAI1D,QAAQ,KAAK,MAAM,EAAE;MACvB0D,UAAU,GAAG,CACX,GAAG5F,GAAG,CAACgD,KAAK,EAAGU,CAAC,IAAK;QAAA;QACnB,IAAMmC,SAAS,GAAG5D,QAAQ,CAAC,MAAM,EAAEyB,CAAC,CAAC;QACrC,OAAO;UACLlB,GAAG,EAAEkB,CAAC,CAAC0B,IAAI;UACXxC,KAAK,EAAE,sBAAArB,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAACtB,CAAC,CAAC0B,IAAI,CAAC,GACrCzC,cAAc,CAACkD,SAAS,CAAC,GACzBA;QACN,CAAC;MACH,CAAC,CAAC,CACH;IACH,CAAC,MAAM;MACLD,UAAU,GAAG,CACX,GAAG5F,GAAG,CAACgD,KAAK,EAAGU,CAAC,IAAK;QAAA;QACnB,IAAMmC,SAAS,GAAG5D,QAAQ,CAAC,YAAY,EAAEyB,CAAC,CAAC;QAC3C,OAAO;UACLlB,GAAG,EAAE,GAAG,GAAGkB,CAAC,CAACgC,UAAU;UACvB9C,KAAK,EAAE,sBAAArB,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAAC,GAAG,GAAGtB,CAAC,CAACgC,UAAU,CAAC,GACjD/C,cAAc,CAACkD,SAAS,CAAC,GACzBA;QACN,CAAC;MACH,CAAC,CAAC,CACH;IACH;IACA,IAAM0B,mBAAmB,GAAGjH,MAAM,CAChC,CAAC,GAAGoB,aAAa,EAAE,GAAGkE,UAAU,CAAC,EACjC,KAAK,CACN;IAEDjE,gBAAgB,CAAC4F,mBAAmB,CAAC;IACrC,IAAML,WAAW,GAAG;MAClBjE,YAAY,EAAEjD,GAAG,CACfI,MAAM,CAACmH,mBAAmB,EAAG7D,CAAC,IAAK;QACjC,OAAOxD,UAAU,CAACwD,CAAC,CAAClB,GAAG,EAAE,GAAG,CAAC;MAC/B,CAAC,CAAC,EACF,KAAK,CACN;MAEDW,iBAAiB,EAAEnD,GAAG,CACpBG,MAAM,CAACoH,mBAAmB,EAAG7D,CAAC,IAAK;QACjC,OAAOxD,UAAU,CAACwD,CAAC,CAAClB,GAAG,EAAE,GAAG,CAAC;MAC/B,CAAC,CAAC,EACF,KAAK;IAET,CAAC;IAEDgC,aAAa,CAAC0C,WAAW,CAAC;EAC5B,CAAC;EACD;EACA,IAAMM,mBAAmB;IAAA,8BAAG,WAAOC,YAAsB,EAAK;MAC5D,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEvC,MAAM,EAAE;QACxB,IAAMwC,SAAS,GAAG,OACV5H,sBAAsB,CAACuE,aAAa,EAAE;UAC1Cc,KAAK,EAAE;YAAEO,UAAU,EAAE;cAAEL,GAAG,EAAEoC;YAAa;UAAE,CAAC;UAC5CjC,MAAM,EAAE;YAAE,GAAG,EAAE;UAAK,CAAC;UACrBD,SAAS,EAAEkC,YAAY,CAACvC;QAC1B,CAAC,CAAC,EACFO,IAAI;QACN6B,uBAAuB,CAACI,SAAS,EAAErD,aAAa,CAAC;MACnD;MACAD,eAAe,CAAC,KAAK,CAAC;IACxB,CAAC;IAAA,gBAZKoD,mBAAmB;MAAA;IAAA;EAAA,GAYxB;EAED,IAAMG,cAAc,GAAG,MAAM;IAC3BrD,gBAAgB,CAACD,aAAa,KAAK,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;EACpE,CAAC;EAED,IAAMuD,KAAK,gBACT,iCACG5F,CAAC,CAACX,CAAC,CAACwG,qBAAqB,EAAE;IAC1BC,IAAI,EAAEzD,aAAa,KAAK,MAAM,GAAGrC,CAAC,CAACX,CAAC,CAAC0G,KAAK,CAAC,GAAG/F,CAAC,CAACX,CAAC,CAAC2G,WAAW;EAC/D,CAAC,CAAC,EAAE,GAAG,EACNzG,KAAK,CAACgD,WAAW,KAAK,KAAK,iBAC1B,oBAAC,MAAM;IAAC,IAAI,EAAC,MAAM;IAAC,OAAO,EAAEoD;EAAe,GACzC3F,CAAC,CAACX,CAAC,CAAC4G,MAAM,EAAE;IACXH,IAAI,EAAEzD,aAAa,KAAK,MAAM,GAAGrC,CAAC,CAACX,CAAC,CAAC2G,WAAW,CAAC,GAAGhG,CAAC,CAACX,CAAC,CAAC0G,KAAK;EAC/D,CAAC,CAAC,EAAE,GAAG,CAEV,CAEJ;;EAED;EACA;EACA,IAAMG,YAAY;IAAA,8BAAG,aAAY;MAC/B,IAAMC,UAAU,GAAGlH,OAAO,EAAE,CAACmH,QAAQ;MACrC,IAAI5H,IAAI,CAACkB,aAAa,EAAGgC,CAAC,IAAKA,CAAC,CAAClB,GAAG,KAAK2F,UAAU,CAAC,EAAE;QACpD;QACA;MACF;MACA,IAAME,MAAM,GAAG,OACPvI,sBAAsB,CAAC,MAAM,EAAE;QACnCqF,KAAK,EAAE;UACLC,IAAI,EAAE;YACJkD,GAAG,EAAEH;UACP;QACF,CAAC;QAED7C,IAAI,EAAE,CAAC;QACPC,SAAS,EAAE,CAAC;QACZC,MAAM,kCACDzF,SAAS,CACV8B,WAAW,EACX7B,GAAG,CAAC6B,WAAW,EAAG6B,CAAC,IAAK,IAAI,CAAC,CAC9B;UAED0B,IAAI,EAAE;QAAI;MAEd,CAAC,CAAC,EACFK,IAAI;MACN6B,uBAAuB,CAACe,MAAM,EAAE,MAAM,CAAC;IACzC,CAAC;IAAA,gBA3BKH,YAAY;MAAA;IAAA;EAAA,GA2BjB;EAED,IAAMK,QAAQ,GAAG,MAAM;IACrB,IAAMC,QAAQ,GACZ,CAACjH,KAAK,CAACkH,gBAAgB,IAAIlH,KAAK,CAACgD,WAAW,KAAK,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC;IACpE,IAAMmE,SAAS,GACb,CAACnH,KAAK,CAACkH,gBAAgB,IACvBlH,KAAK,CAACgD,WAAW,KAAK,OAAO,IAC7B,CAAChD,KAAK,CAACoH,gBAAgB,GACnB,CAAC,CAAC,GACF,CAAC;IACP,IAAMC,SAAS,GAAGrH,KAAK,CAACoH,gBAAgB,GAAG,CAAC,GAAG,CAAC,EAAE;IAClD,OAAOH,QAAQ,GAAGE,SAAS,GAAGE,SAAS;EACzC,CAAC;EAED,oBACE;IACE,GAAG,EAAEpH,GAAI;IACT,eAAY,SAAS;IACrB,SAAS,EAAE3B,MAAM,CAACgJ;EAA+B,gBAEjD,oBAAC,MAAM;IACL,SAAS,EAAEhJ,MAAM,CAACiJ,YAAa;IAC/B,GAAG,EAAErH,SAAU;IACf,UAAU,EAAE,IAAK;IACjB,IAAI,EAAC,UAAU;IACf,YAAY;IACZ,WAAW,EAAEF,KAAK,CAACwH,WAAY;IAC/B,YAAY,EAAE,KAAM;IACpB,KAAK,EAAErH,aAAc;IACrB,QAAQ,EAAEqF,kBAAmB;IAC7B,QAAQ,EAAE9G,QAAQ,CAAE+C,KAAK,IAAK;MAC5B4D,8BAA8B,CAAC5D,KAAK,CAAW;IACjD,CAAC,EAAE,GAAG,CAAE;IACR,OAAO,EAAEmE,WAAY;IACrB,KAAK,EAAE;MAAE6B,KAAK,EAAE;IAAO,CAAE;IACzB,OAAO,EAAErF;EAAS,GAEjBpC,KAAK,CAACgD,WAAW,KAAK,OAAO,iBAC5B,oBAAC,MAAM,CAAC,QAAQ;IAAC,KAAK,EAAEvC,CAAC,CAACX,CAAC,CAAC4H,kBAAkB;EAAE,GAC7ClF,QAAQ,CAACmB,MAAM,GAAG,CAAC,GAClBnB,QAAQ,CAAC/D,GAAG,CAAEkJ,CAAC;IAAA;IAAA,oBACb,oBAAC,MAAM,CAAC,MAAM;MAAC,KAAK,EAAEA,CAAC,CAAC9D,IAAK;MAAC,GAAG,EAAE8D,CAAC,CAAC9D;IAAK,GACvC,sBAAA7D,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAACkE,CAAC,CAAC9D,IAAI,CAAC,GAC/BzC,cAAc,CAACV,QAAQ,CAAC,MAAM,EAAEiH,CAAC,CAAC,CAAC,GACnCjH,QAAQ,CAAC,MAAM,EAAEiH,CAAC,CAAC,CACT;EAAA,CACjB,CAAC,gBAEF,oBAAC,MAAM,CAAC,MAAM;IAAC,KAAK,EAAC,YAAY;IAAC,GAAG,EAAC,YAAY;IAAC,QAAQ;EAAA,GACxDlH,CAAC,CAACX,CAAC,CAAC8H,OAAO,CAAC,CAEhB,CAEJ,EAEA5H,KAAK,CAACgD,WAAW,KAAK,MAAM,iBAC3B,oBAAC,MAAM,CAAC,QAAQ;IAAC,KAAK,EAAEvC,CAAC,CAACX,CAAC,CAAC+H,wBAAwB;EAAE,GACnDnF,aAAa,CAACiB,MAAM,GAAG,CAAC,GACvBjB,aAAa,CAACjE,GAAG,CAAEkJ,CAAC;IAAA;IAAA,oBAClB,oBAAC,MAAM,CAAC,MAAM;MAAC,KAAK,EAAEA,CAAC,CAACxD,UAAW;MAAC,GAAG,EAAEwD,CAAC,CAACxD;IAAW,GACnD,sBAAAnE,KAAK,CAACkC,UAAU,+CAAhB,mBAAkBuB,QAAQ,CAACkE,CAAC,CAACxD,UAAU,CAAC,GACrC/C,cAAc,CAACV,QAAQ,CAAC,YAAY,EAAEiH,CAAC,CAAC,CAAC,GACzCjH,QAAQ,CAAC,YAAY,EAAEiH,CAAC,CAAC,CACf;EAAA,CACjB,CAAC,gBAEF,oBAAC,MAAM,CAAC,MAAM;IACZ,KAAK,EAAC,kBAAkB;IACxB,GAAG,EAAC,kBAAkB;IACtB,QAAQ;EAAA,GAEPlH,CAAC,CAACX,CAAC,CAAC8H,OAAO,CAAC,CAEhB,CAEJ,CACM,eACT;IAAK,SAAS,EAAEtJ,MAAM,CAACwJ,KAAM;IAAC,KAAK,EAAE;MAAEC,KAAK,EAAEf,QAAQ;IAAG;EAAE,GACxD,CAAChH,KAAK,CAACkH,gBAAgB,IAAIlH,KAAK,CAACgD,WAAW,KAAK,OAAO,iBACvD,oBAAC,MAAM;IACL,IAAI,EAAC,MAAM;IACX,OAAO,EAAE2D,YAAa;IACtB,KAAK,EAAE;MAAEqB,QAAQ,EAAE;IAAO;EAAE,gBAE5B,oBAAC,WAAW;IAAC,IAAI,EAAE;MAAEC,GAAG,EAAE,SAAS;MAAEC,IAAI,EAAE;IAAe;EAAE,EAAG,CAElE,EAEA,CAAClI,KAAK,CAACkH,gBAAgB,IACtBlH,KAAK,CAACgD,WAAW,KAAK,OAAO,IAC7B,CAAChD,KAAK,CAACoH,gBAAgB,iBAAI,oBAAC,OAAO;IAAC,IAAI,EAAC;EAAU,EAAG,EACvD,CAACpH,KAAK,CAACoH,gBAAgB,iBACtB,oBAAC,MAAM;IACL,IAAI,EAAC,MAAM;IACX,IAAI,eAAE,oBAAC,cAAc,OAAI;IACzB,OAAO,EAAEvB;EAAU,EAEtB,CACG,eACN,oBAAC,iBAAiB;IAChB,SAAS,EAAE7F,KAAK,CAACO,SAAU;IAC3B,QAAQ,EAAEuC,aAAc;IACxB,OAAO,EAAEF,YAAa;IACtB,KAAK,EAAEyD,KAAM;IACb,UAAU,EAAEJ,mBAAoB;IAChC,QAAQ,EAAEH,UAAW;IACrB,eAAe,EAAE;EAAK,GACjBhD,aAAa,KAAK,MAAM,IAAI9C,KAAK,CAAC+E,eAAe,GAClD;IACEoD,aAAa,EAAE;MACbvE,KAAK,EAAE;QACLoB,KAAK,EAAE;MACT;IACF;EACF,CAAC,GACD,CAAC,CAAC,EACN,CACE;AAEV;AAEA,OAAO,IAAMoD,kBAAkB,gBAAGrK,UAAU,CAC1CgC,wBAAwB,CAClB;AAER,OAAO,SAASsI,qBAAqB,CACnCrI,KAAiC,EACb;EACpB,oBACE,oBAAC,eAAe,EAAKA,KAAK,eACxB,oBAAC,kBAAkB;IACjB,SAAS,EAAEA,KAAK,CAACO,SAAU;IAC3B,WAAW,EAAEP,KAAK,CAACwH,WAAY;IAC/B,KAAK,EAAExH,KAAK,CAACyB,KAAM;IACnB,gBAAgB,EAAEzB,KAAK,CAACkH,gBAAiB;IACzC,gBAAgB,EAAElH,KAAK,CAACoH,gBAAiB;IACzC,QAAQ,EAAEpH,KAAK,CAACmD,QAAS;IACzB,WAAW,EAAEnD,KAAK,CAACgD,WAAY;IAC/B,UAAU,EAAEhD,KAAK,CAACkC,UAAW;IAC7B,oBAAoB,EAAElC,KAAK,CAACsI,oBAAqB;IACjD,KAAK,EAAEtI,KAAK,CAAC4D,KAAM;IACnB,eAAe,EAAE5D,KAAK,CAAC+E,eAAgB;IACvC,SAAS,EAAE/E,KAAK,CAACiF,SAAU;IAC3B,cAAc,EAAEjF,KAAK,CAACkF;EAAe,EACrC,CACc;AAEtB"}
1
+ {"version":3,"file":"UserOrUserGroupSelect.js","names":["React","useState","forwardRef","useEffect","useRef","SearchOutlined","Select","Button","Divider","styles","InstanceApi_postSearch","zipObject","map","debounce","startsWith","filter","reject","isNil","uniqBy","uniq","find","isEmpty","isEqual","groupBy","compact","some","FormItemWrapper","getInstanceNameKeys","InstanceListModal","getAuth","GeneralIcon","useTranslation","NS_LIBS_CMDB_INSTANCES","K","LegacyUserSelectFormItem","props","ref","selectRef","selectedValue","setSelectedValue","staticValue","userShowKey","objectMap","userGroupShowKey","t","getLabel","objectId","instanceData","showKey","Array","isArray","showName","key","index","join","getStaticLabel","label","color","isDifferent","userOfValues","value","selectedUser","userGroupOfValues","selectedUserGroup","userOfSelectedValue","item","userGroupOfSelectedValue","sort","initializeStaticList","staticList","v","fetching","setFetching","searchValue","setSearchValue","userList","setUserList","userGroupList","setUserGroupList","modalVisible","setModalVisible","modalObjectId","setModalObjectId","optionsMode","triggerChange","changedValue","onChange","initializeSelectedValue","staticKeys","user","concat","userGroup","includes","staticValueToSet","length","query","name","$in","page","page_size","fields","list","instanceId","slice","labelValue","labelText","result","push","current","fetchInstanceList","keyword","showKeyQuery","$or","$like","hideInvalidUser","state","userQuery","userGroupQuery","searchUser","searchUserGroup","searchUserOrUserGroupInstances","Promise","all","handleSelectChange","originValue","unshift","resultValue","handleFocus","openModal","closeModal","handleInstancesSelected","resultSelectedValue","handleModalSelected","selectedKeys","instances","toggleObjectId","title","FILTER_FROM_CMDB_TYPE","type","USERS","USER_GROUPS","SWITCH","addMeQuickly","myUserName","username","myUser","$eq","getRight","btnWidth","hideAddMeQuickly","lineWidth","hideSelectByCMDB","iconWidth","UserOrUserGroupSelectContainer","customSelect","placeholder","width","USERS_RESULT_LABEL","d","NO_DATA","USER_GROUPS_RESULT_LABEL","extra","right","fontSize","lib","icon","presetConfigs","saveFieldsBackend","UserSelectFormItem","UserOrUserGroupSelect","mergeUseAndUserGroup"],"sources":["../../../../src/components/user-or-user-group-select/UserOrUserGroupSelect.tsx"],"sourcesContent":["import React, {\n useState,\n forwardRef,\n ReactNode,\n useEffect,\n useRef,\n} from \"react\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport { Select, Button, Divider } from \"antd\";\nimport styles from \"./UserOrUserGroupSelect.module.css\";\nimport { InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n reject,\n isNil,\n uniqBy,\n uniq,\n find,\n isEmpty,\n isEqual,\n groupBy,\n compact,\n some,\n} from \"lodash\";\nimport { FormItemWrapperProps, FormItemWrapper } from \"@next-libs/forms\";\nimport { getInstanceNameKeys } from \"@next-libs/cmdb-utils\";\nimport { InstanceListModal } from \"../../instance-list-modal/InstanceListModal\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\n\nexport type UserOrUserGroupSelectValue = {\n selectedUser?: string[];\n selectedUserGroup?: string[];\n};\n\nexport interface UserSelectFormItemProps {\n children?: ReactNode;\n objectMap?: Record<string, any>;\n onChange?: (value: any) => void;\n placeholder?: string;\n value?: UserOrUserGroupSelectValue;\n hideAddMeQuickly?: boolean;\n hideSelectByCMDB?: boolean;\n optionsMode?: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n mergeUseAndUserGroup?: boolean;\n query?: Record<string, any>;\n hideInvalidUser?: boolean;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n saveFieldsBackend?: boolean;\n}\n\ninterface UserOrUserGroupSelectProps extends FormItemWrapperProps {\n objectMap: Record<string, any>;\n placeholder?: string;\n value?: UserOrUserGroupSelectValue;\n hideAddMeQuickly?: boolean;\n hideSelectByCMDB?: boolean;\n onChange?: (value: any) => void;\n optionsMode?: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n mergeUseAndUserGroup?: boolean;\n query?: Record<string, any>;\n hideInvalidUser?: boolean;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n}\n\nexport function LegacyUserSelectFormItem(\n props: UserSelectFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement {\n const selectRef = useRef();\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n const userShowKey: string[] = getInstanceNameKeys(props.objectMap[\"USER\"]);\n const userGroupShowKey: string[] = getInstanceNameKeys(\n props.objectMap[\"USER_GROUP\"]\n );\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey = objectId === \"USER\" ? userShowKey : userGroupShowKey;\n if (Array.isArray(showKey)) {\n const 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 return showName;\n } else {\n return instanceData[showKey];\n }\n };\n\n const getStaticLabel = (label: string) => (\n <div style={{ color: \"var(--bg-color-button-link)\" }}>{label}</div>\n );\n\n const isDifferent = () => {\n const userOfValues = props.value?.selectedUser || [];\n const userGroupOfValues = props.value?.selectedUserGroup || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item) => !item.key.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item) => 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\n // 后台搜索中\n const [fetching, setFetching] = useState(false);\n\n const [searchValue, setSearchValue] = useState();\n const [userList, setUserList] = useState([]);\n const [userGroupList, setUserGroupList] = useState([]);\n\n const [modalVisible, setModalVisible] = useState(false);\n const [modalObjectId, setModalObjectId] = useState(\n props.optionsMode === \"group\" ? \"USER_GROUP\" : \"USER\"\n );\n\n const triggerChange = (changedValue: any) => {\n props.onChange?.(\n isEmpty(changedValue.selectedUser) &&\n isEmpty(changedValue.selectedUserGroup)\n ? null\n : changedValue\n );\n };\n // istanbul ignore next (Migrated from next-basic)\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const staticKeys = initializeStaticList();\n const user = compact(\n uniq([].concat(staticKeys.user).concat(props.value.selectedUser))\n );\n\n const userGroup = compact(\n uniq(\n []\n .concat(staticKeys.userGroup)\n .concat(props.value.selectedUserGroup)\n )\n );\n\n if (\n (staticKeys.user &&\n some(\n staticKeys.user,\n (v) => !props.value?.selectedUser?.includes(v)\n )) ||\n (staticKeys.userGroup &&\n some(\n staticKeys.userGroup,\n (v) => !props.value?.selectedUserGroup?.includes(v)\n ))\n ) {\n triggerChange({\n selectedUser: user,\n selectedUserGroup: userGroup,\n });\n }\n const staticValueToSet: any[] = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n userShowKey,\n map(userShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\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.slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n userGroupShowKey,\n map(userGroupShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v.name,\n label: props.staticList?.includes(v.name)\n ? getStaticLabel(labelText)\n : labelText,\n };\n\n if (props.staticList?.includes(v.name)) {\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: props.staticList?.includes(\":\" + v.instanceId)\n ? getStaticLabel(labelText)\n : 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\n setSelectedValue(labelValue);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, [props.value]);\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey = objectId === \"USER\" ? userShowKey : userGroupShowKey;\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(props.hideInvalidUser\n ? {\n state: \"valid\",\n }\n : {}),\n };\n return (\n await InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, (v) => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n ...props.userQuery,\n ...showKeyQuery,\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n ...props.userGroupQuery,\n ...showKeyQuery,\n }\n : props.query || showKeyQuery\n ? {\n ...props.query,\n ...showKeyQuery,\n }\n : showKeyQuery,\n })\n ).list;\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: any) => {\n setSearchValue(value);\n setFetching(true);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n\n setFetching(false);\n };\n\n const handleSelectChange = (originValue: any) => {\n const value = filter(originValue, (item) => {\n return !find(props.staticList, (v) => v === item.key);\n });\n value.unshift(...staticValue.current);\n setSelectedValue(value);\n const resultValue = {\n selectedUser: map(\n reject(value, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n\n selectedUserGroup: map(\n filter(value, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n };\n\n triggerChange(resultValue);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n // istanbul ignore next (Migrated from next-basic)\n const openModal = () => {\n setModalVisible(true);\n };\n // istanbul ignore next (Migrated from next-basic)\n const closeModal = () => {\n setModalVisible(false);\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleInstancesSelected = (\n value: Record<string, any>[],\n objectId: string\n ): void => {\n let labelValue: any[] = [];\n if (objectId === \"USER\") {\n labelValue = [\n ...map(value, (v) => {\n const labelText = getLabel(\"USER\", v);\n return {\n key: v.name,\n label: props.staticList?.includes(v.name)\n ? getStaticLabel(labelText)\n : labelText,\n };\n }),\n ];\n } else {\n labelValue = [\n ...map(value, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n return {\n key: \":\" + v.instanceId,\n label: props.staticList?.includes(\":\" + v.instanceId)\n ? getStaticLabel(labelText)\n : labelText,\n };\n }),\n ];\n }\n const resultSelectedValue = uniqBy(\n [...selectedValue, ...labelValue],\n \"key\"\n );\n\n setSelectedValue(resultSelectedValue);\n const resultValue = {\n selectedUser: map(\n reject(resultSelectedValue, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n\n selectedUserGroup: map(\n filter(resultSelectedValue, (v) => {\n return startsWith(v.key, \":\");\n }),\n \"key\"\n ),\n };\n\n triggerChange(resultValue);\n };\n // istanbul ignore next (Migrated from next-basic)\n const handleModalSelected = async (selectedKeys: string[]) => {\n if (selectedKeys?.length) {\n const instances = (\n await InstanceApi_postSearch(modalObjectId, {\n query: { instanceId: { $in: selectedKeys } },\n fields: { \"*\": true },\n page_size: selectedKeys.length,\n })\n ).list;\n handleInstancesSelected(instances, modalObjectId);\n }\n setModalVisible(false);\n };\n\n const toggleObjectId = () => {\n setModalObjectId(modalObjectId === \"USER\" ? \"USER_GROUP\" : \"USER\");\n };\n\n const title = (\n <div>\n {t(K.FILTER_FROM_CMDB_TYPE, {\n type: modalObjectId === \"USER\" ? t(K.USERS) : t(K.USER_GROUPS),\n })}{\" \"}\n {props.optionsMode === \"all\" && (\n <Button type=\"link\" onClick={toggleObjectId}>\n {t(K.SWITCH, {\n type: modalObjectId === \"USER\" ? t(K.USER_GROUPS) : t(K.USERS),\n })}{\" \"}\n </Button>\n )}\n </div>\n );\n\n // 快速选择我\n // istanbul ignore next (Migrated from next-basic)\n const addMeQuickly = async () => {\n const myUserName = getAuth().username;\n if (find(selectedValue, (v) => v.key === myUserName)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $eq: myUserName,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n userShowKey,\n map(userShowKey, (v) => true)\n ),\n\n name: true,\n },\n })\n ).list;\n handleInstancesSelected(myUser, \"USER\");\n };\n\n const getRight = () => {\n const btnWidth =\n !props.hideAddMeQuickly && props.optionsMode !== \"group\" ? -34 : 0;\n const lineWidth =\n !props.hideAddMeQuickly &&\n props.optionsMode !== \"group\" &&\n !props.hideSelectByCMDB\n ? -1\n : 0;\n const iconWidth = props.hideSelectByCMDB ? 0 : -32;\n return btnWidth + lineWidth + iconWidth;\n };\n\n return (\n <div\n ref={ref}\n data-testid=\"wrapper\"\n className={styles.UserOrUserGroupSelectContainer}\n >\n <Select\n className={styles.customSelect}\n ref={selectRef}\n allowClear={true}\n mode=\"multiple\"\n labelInValue\n placeholder={props.placeholder}\n filterOption={false}\n value={selectedValue}\n onChange={handleSelectChange}\n onSearch={debounce((value) => {\n searchUserOrUserGroupInstances(value as string);\n }, 500)}\n onFocus={handleFocus}\n style={{ width: \"100%\" }}\n loading={fetching}\n >\n {props.optionsMode !== \"group\" && (\n <Select.OptGroup label={t(K.USERS_RESULT_LABEL)}>\n {userList.length > 0 ? (\n userList.map((d) => (\n <Select.Option value={d.name} key={d.name}>\n {props.staticList?.includes(d.name)\n ? getStaticLabel(getLabel(\"USER\", d))\n : getLabel(\"USER\", d)}\n </Select.Option>\n ))\n ) : (\n <Select.Option value=\"empty-user\" key=\"empty-user\" disabled>\n {t(K.NO_DATA)}\n </Select.Option>\n )}\n </Select.OptGroup>\n )}\n\n {props.optionsMode !== \"user\" && (\n <Select.OptGroup label={t(K.USER_GROUPS_RESULT_LABEL)}>\n {userGroupList.length > 0 ? (\n userGroupList.map((d) => (\n <Select.Option value={d.instanceId} key={d.instanceId}>\n {props.staticList?.includes(d.instanceId)\n ? getStaticLabel(getLabel(\"USER_GROUP\", d))\n : getLabel(\"USER_GROUP\", d)}\n </Select.Option>\n ))\n ) : (\n <Select.Option\n value=\"empty-user-group\"\n key=\"empty-user-group\"\n disabled\n >\n {t(K.NO_DATA)}\n </Select.Option>\n )}\n </Select.OptGroup>\n )}\n </Select>\n <div className={styles.extra} style={{ right: getRight() }}>\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <Button\n type=\"link\"\n onClick={addMeQuickly}\n style={{ fontSize: \"16px\" }}\n >\n <GeneralIcon icon={{ lib: \"easyops\", icon: \"quick-add-me\" }} />\n </Button>\n )}\n\n {!props.hideAddMeQuickly &&\n props.optionsMode !== \"group\" &&\n !props.hideSelectByCMDB && <Divider type=\"vertical\" />}\n {!props.hideSelectByCMDB && (\n <Button\n type=\"link\"\n icon={<SearchOutlined />}\n onClick={openModal}\n ></Button>\n )}\n </div>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={modalObjectId}\n visible={modalVisible}\n title={title}\n onSelected={handleModalSelected}\n onCancel={closeModal}\n showSizeChanger={true}\n {...(modalObjectId === \"USER\" && props.hideInvalidUser\n ? {\n presetConfigs: {\n query: {\n state: \"valid\",\n },\n },\n }\n : {})}\n saveFieldsBackend={props.saveFieldsBackend}\n />\n </div>\n );\n}\n\nexport const UserSelectFormItem = forwardRef<HTMLDivElement>(\n LegacyUserSelectFormItem\n) as any;\n\nexport function UserOrUserGroupSelect(\n props: UserOrUserGroupSelectProps\n): React.ReactElement {\n return (\n <FormItemWrapper {...props}>\n <UserSelectFormItem\n objectMap={props.objectMap}\n placeholder={props.placeholder}\n value={props.value}\n hideAddMeQuickly={props.hideAddMeQuickly}\n hideSelectByCMDB={props.hideSelectByCMDB}\n onChange={props.onChange}\n optionsMode={props.optionsMode}\n staticList={props.staticList}\n mergeUseAndUserGroup={props.mergeUseAndUserGroup}\n query={props.query}\n hideInvalidUser={props.hideInvalidUser}\n userQuery={props.userQuery}\n userGroupQuery={props.userGroupQuery}\n />\n </FormItemWrapper>\n );\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { withTranslation } from "react-i18next";
7
7
  import { http } from "@next-core/brick-http";
8
8
  import marked from "marked";
9
9
  import DOMPurify from "dompurify";
10
- import { get, keyBy, mapValues, isObject, isString, cloneDeep, map, compact, flatten, uniq } from "lodash";
10
+ import { get, keyBy, mapValues, isObject, isString, cloneDeep, map, compact, flatten, uniq, isNil } from "lodash";
11
11
  import { handleHttpError, BrickAsComponent, getHistory } from "@next-core/brick-kit";
12
12
  import { InstanceRelationTableShow } from "./components/instance-relation-table-show/instance-relation-table-show";
13
13
  import { getInstanceNameKeys, modifyModelData, IGNORED_FIELDS } from "@next-libs/cmdb-utils";
@@ -133,7 +133,8 @@ export class LegacyInstanceDetail extends React.Component {
133
133
  current: 1,
134
134
  pageSize: 10
135
135
  },
136
- searchValue: ""
136
+ searchValue: "",
137
+ filterObjectId: null
137
138
  });
138
139
  },
139
140
  onOk: () => {
@@ -143,7 +144,8 @@ export class LegacyInstanceDetail extends React.Component {
143
144
  current: 1,
144
145
  pageSize: 10
145
146
  },
146
- searchValue: ""
147
+ searchValue: "",
148
+ filterObjectId: null
147
149
  });
148
150
  },
149
151
  destroyOnClose: true
@@ -168,11 +170,24 @@ export class LegacyInstanceDetail extends React.Component {
168
170
  relationData: currentAttr,
169
171
  hideRelationLink: this.props.ignorePermission,
170
172
  value: instanceRelationModalData ? (instanceRelationModalData === null || instanceRelationModalData === void 0 ? void 0 : instanceRelationModalData.list) || [] : [],
173
+ onInstanceSourceChange: _object_id => {
174
+ if (_object_id !== this.state.filterObjectId) {
175
+ this.setState({
176
+ filterObjectId: _object_id
177
+ }, () => {
178
+ this.searchInstanceRelationData(1, this.state.relationTablePagination.pageSize, this.state.currentAttr, undefined);
179
+ });
180
+ }
181
+ },
171
182
  relationTablePagination: this.state.relationTablePagination,
172
183
  relationFieldUrlTemplate: this.props.relationFieldUrlTemplate,
173
184
  isPagination: true,
174
185
  total: (instanceRelationModalData === null || instanceRelationModalData === void 0 ? void 0 : instanceRelationModalData.total) || 0,
175
- paginationChange: (page, pageSize, relationData) => this.searchInstanceRelationData(page, pageSize, relationData)
186
+ paginationChange: (page, pageSize, relationData) => {
187
+ if (page !== this.state.relationTablePagination.current || pageSize !== this.state.relationTablePagination.pageSize) {
188
+ this.searchInstanceRelationData(page, pageSize, relationData);
189
+ }
190
+ }
176
191
  }))), (_this$props$brickConf = this.props.brickConfigList) === null || _this$props$brickConf === void 0 ? void 0 : _this$props$brickConf.map(config => /*#__PURE__*/React.createElement(Card, {
177
192
  bordered: false,
178
193
  title: config.label,
@@ -434,7 +449,8 @@ export class LegacyInstanceDetail extends React.Component {
434
449
  modelDataMap: modelDataMap,
435
450
  relationData: attr,
436
451
  value: (_instanceData$attr$__ = instanceData[attr.__id]) === null || _instanceData$attr$__ === void 0 ? void 0 : _instanceData$attr$__.slice(0, 10),
437
- relationFieldUrlTemplate: this.props.relationFieldUrlTemplate
452
+ relationFieldUrlTemplate: this.props.relationFieldUrlTemplate,
453
+ filterInstanceSourceDisabled: true
438
454
  }), ((_instanceData$attr$__2 = instanceData[attr.__id]) === null || _instanceData$attr$__2 === void 0 ? void 0 : _instanceData$attr$__2.length) >= 10 && /*#__PURE__*/React.createElement(Button, {
439
455
  "data-testid": "view-more-" + attr.__id,
440
456
  type: "link",
@@ -508,6 +524,9 @@ export class LegacyInstanceDetail extends React.Component {
508
524
  }
509
525
  var defaultRelationFields = get(modelData, ["view", "relation_default_attr", oppositeId]);
510
526
  var fields = defaultRelationFields !== null && defaultRelationFields !== void 0 && defaultRelationFields.length ? defaultRelationFields.map(item => item.startsWith("#") ? item.slice(1) : item) : uniq(map((_modelDataMap$objectI = modelDataMap[objectId]) === null || _modelDataMap$objectI === void 0 ? void 0 : _modelDataMap$objectI.attrList, "id"));
527
+ if (modelDataMap[objectId].isAbstract) {
528
+ fields.unshift("_object_id");
529
+ }
511
530
  var query = {};
512
531
  if (value !== undefined ? value : _this2.state.searchValue) {
513
532
  var oppositeModelDataMap = _this2.state.oppositeModelDataMap;
@@ -521,6 +540,11 @@ export class LegacyInstanceDetail extends React.Component {
521
540
  }
522
541
  query = getQuery(modelDataMap[objectId], oppositeModelDataMap, value !== undefined ? value : _this2.state.searchValue, fields, false);
523
542
  }
543
+ if (!isNil(_this2.state.filterObjectId)) {
544
+ query = _objectSpread(_objectSpread({}, query), {}, {
545
+ _object_id: _this2.state.filterObjectId
546
+ });
547
+ }
524
548
  var params = {
525
549
  fields,
526
550
  page,