@next-libs/cmdb-instances 7.29.3 → 7.29.4
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/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +22 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +34 -9
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/types/cmdb-instances-select-panel/CmdbInstancesSelectPanel.d.ts +1 -0
- package/package.json +2 -2
|
@@ -49,6 +49,9 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
const displayedSelectedInstancesMaxNumber = (_props$previewMaxNumb = props.previewMaxNumber) !== null && _props$previewMaxNumb !== void 0 ? _props$previewMaxNumb : 5;
|
|
52
|
+
const {
|
|
53
|
+
limitMaxQueryNumber = true
|
|
54
|
+
} = props;
|
|
52
55
|
const [selectedInstanceList, setSelectedInstanceList] = (0, _react.useState)([]);
|
|
53
56
|
const [partialSelectedInstances, setPartialSelectedInstances] = (0, _react.useState)([]);
|
|
54
57
|
// const [instanceTableData, setInstanceTableData] = useState({list: []})
|
|
@@ -93,7 +96,25 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
93
96
|
if (props.useExternalCmdbApi) {
|
|
94
97
|
instances = (await externalPostSearchV3.query([instancesParams])).list;
|
|
95
98
|
} else {
|
|
96
|
-
|
|
99
|
+
const maxQueryNumber = 3000;
|
|
100
|
+
const instanceIdListLen = limitMaxQueryNumber ? maxQueryNumber : instanceIdList.length;
|
|
101
|
+
const queryInstances = (await Promise.all(Array(Math.ceil(instanceIdListLen / maxQueryNumber)).fill(0).map(async (_, index) => {
|
|
102
|
+
const pageSize = instanceIdList.length < maxQueryNumber ? instanceIdList.length : instanceIdList.length - index * maxQueryNumber < maxQueryNumber ? instanceIdList.length - index * maxQueryNumber : maxQueryNumber;
|
|
103
|
+
const instanceIds = instanceIdList.slice(index * maxQueryNumber, index * maxQueryNumber + pageSize);
|
|
104
|
+
return (await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, {
|
|
105
|
+
...instancesParams,
|
|
106
|
+
query: {
|
|
107
|
+
instanceId: {
|
|
108
|
+
$in: instanceIds
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
page_size: pageSize,
|
|
112
|
+
page: 1
|
|
113
|
+
})).list;
|
|
114
|
+
}))).flat();
|
|
115
|
+
instances = limitMaxQueryNumber && instanceIdList.length > maxQueryNumber ? (0, _lodash.uniqBy)([...queryInstances, ...instanceIdList.map(i => ({
|
|
116
|
+
instanceId: i
|
|
117
|
+
}))], "instanceId") : queryInstances;
|
|
97
118
|
}
|
|
98
119
|
}
|
|
99
120
|
return instances;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_cmdbSdk","_instanceListTable","_InstanceListModal","_cmdbUtils","_styleModule","_i18next","_constants","_lodash","_antd","_brickKit","isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","_props$previewMaxNumb","_props$value","_props$instanceQuery","_props$modalTitle","_props$addTitle","externalPostSearchV3","useProvider","cache","externalGetObjectRef","modelData","objectId","isFilterView","_modelData","_modelData$view","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","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","externalRequestParams","useMemo","_props$fields","sourceId","externalSourceId","ignore_missing_field_error","fields","length","fetchInstances","instanceIdList","_props$fields2","instances","instancesParams","query","instanceId","$in","page","page_size","reduce","prev","next","useExternalCmdbApi","list","InstanceApi_postSearch","toLoadInstanceIds","value","map","i","isObject","useEffect","getModelMap","objectRef","ref_object","_await$CmdbObjectApi_","CmdbObjectApi_getObjectRef","data","keyBy","initInstances","_props$onFetchedInsta","isOperate","slice","onFetchedInstances","call","isEmpty","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","_props$onChange","onChange","fieldIds","modifyModelData","attr","showPreview","cs","classnames","style","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","default","createElement","className","wrapper","InstanceListModal","title","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FILTER_FROM_CMDB","name","selectedRowKeys","instance","onSelected","onCancel","singleSelect","presetConfigs","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","pageSize","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","saveFieldsBackend","filterInstanceSourceDisabled","VIEW_ALL_SELECTED_INSTANCES","selectDisabled","Spin","textAlign","marginBottom","spinning","isEqual","addButton","onClick","addTitle","useModelName","CHOOSE_INSTANCE_NAME","CHOOSE_INSTANCE","InstanceListTable","_extends2","showDetailUrl","detailUrlTemplates","idObjectMap","instanceListData","sortDisabled","configProps","showPagination","pagination","handleDeleteFunction","v","_props$onChange2","target","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } 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\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useModelName?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n filterInstanceSourceDisabled?: 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 // 当useExternalCmdbApi为true, 外部接口才调用\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\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 externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n fields: props.fields?.length ? props.fields : [\"*\"],\n };\n }, [props.objectId, props.externalSourceId, props.fields]);\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n const instancesParams = {\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((prev, next) => ({ ...prev, [next]: true }), {})\n : { \"*\": true },\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n if (instanceIdList?.length) {\n // istanbul ignore if\n if (props.useExternalCmdbApi) {\n instances = (await externalPostSearchV3.query([instancesParams])).list;\n } else {\n instances = (\n await InstanceApi_postSearch(props.objectId, instancesParams)\n ).list;\n }\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 let objectRef;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n if (props.useExternalCmdbApi) {\n objectRef = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n ...externalRequestParams,\n },\n ]);\n } else {\n objectRef = (\n (await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n })) as any\n )?.data;\n }\n modelMap = keyBy(objectRef, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId, props.useExternalCmdbApi, props.externalSourceId]);\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"10px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ?? props.useModelName\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE_NAME}`, {\n name: modelData.name,\n })\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n handleDeleteFunction={(v: any) => {\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_cmdbSdk","_instanceListTable","_InstanceListModal","_cmdbUtils","_styleModule","_i18next","_constants","_lodash","_antd","_brickKit","isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","_props$previewMaxNumb","_props$value","_props$instanceQuery","_props$modalTitle","_props$addTitle","externalPostSearchV3","useProvider","cache","externalGetObjectRef","modelData","objectId","isFilterView","_modelData","_modelData$view","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","limitMaxQueryNumber","selectedInstanceList","setSelectedInstanceList","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","externalRequestParams","useMemo","_props$fields","sourceId","externalSourceId","ignore_missing_field_error","fields","length","fetchInstances","instanceIdList","_props$fields2","instances","instancesParams","query","instanceId","$in","page","page_size","reduce","prev","next","useExternalCmdbApi","list","maxQueryNumber","instanceIdListLen","queryInstances","Promise","all","Array","Math","ceil","fill","map","_","index","pageSize","instanceIds","slice","InstanceApi_postSearch","flat","uniqBy","i","toLoadInstanceIds","value","isObject","useEffect","getModelMap","objectRef","ref_object","_await$CmdbObjectApi_","CmdbObjectApi_getObjectRef","data","keyBy","initInstances","_props$onFetchedInsta","isOperate","onFetchedInstances","call","isEmpty","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","_props$onChange","onChange","fieldIds","modifyModelData","attr","showPreview","cs","classnames","style","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","default","createElement","className","wrapper","InstanceListModal","title","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FILTER_FROM_CMDB","name","selectedRowKeys","instance","onSelected","onCancel","singleSelect","presetConfigs","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","saveFieldsBackend","filterInstanceSourceDisabled","VIEW_ALL_SELECTED_INSTANCES","selectDisabled","Spin","textAlign","marginBottom","spinning","isEqual","addButton","onClick","addTitle","useModelName","CHOOSE_INSTANCE_NAME","CHOOSE_INSTANCE","InstanceListTable","_extends2","showDetailUrl","detailUrlTemplates","idObjectMap","instanceListData","sortDisabled","configProps","showPagination","pagination","handleDeleteFunction","v","_props$onChange2","target","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } 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, uniqBy } from \"lodash\";\nimport { Spin } from \"antd\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useModelName?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n filterInstanceSourceDisabled?: boolean;\n limitMaxQueryNumber?: boolean; //value超过了3000条数据时,是否限制只查询3000条数据\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 // 当useExternalCmdbApi为true, 外部接口才调用\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\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 const { limitMaxQueryNumber = true } = props;\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 externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n fields: props.fields?.length ? props.fields : [\"*\"],\n };\n }, [props.objectId, props.externalSourceId, props.fields]);\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n const instancesParams = {\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((prev, next) => ({ ...prev, [next]: true }), {})\n : { \"*\": true },\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n if (instanceIdList?.length) {\n // istanbul ignore if\n if (props.useExternalCmdbApi) {\n instances = (await externalPostSearchV3.query([instancesParams])).list;\n } else {\n const maxQueryNumber = 3000;\n const instanceIdListLen = limitMaxQueryNumber\n ? maxQueryNumber\n : instanceIdList.length;\n const queryInstances = (\n await Promise.all(\n Array(Math.ceil(instanceIdListLen / maxQueryNumber))\n .fill(0)\n .map(async (_, index) => {\n const pageSize =\n instanceIdList.length < maxQueryNumber\n ? instanceIdList.length\n : instanceIdList.length - index * maxQueryNumber <\n maxQueryNumber\n ? instanceIdList.length - index * maxQueryNumber\n : maxQueryNumber;\n const instanceIds = instanceIdList.slice(\n index * maxQueryNumber,\n index * maxQueryNumber + pageSize\n );\n return (\n await InstanceApi_postSearch(props.objectId, {\n ...instancesParams,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n page_size: pageSize,\n page: 1,\n })\n ).list;\n })\n )\n ).flat();\n instances =\n limitMaxQueryNumber && instanceIdList.length > maxQueryNumber\n ? uniqBy(\n [\n ...queryInstances,\n ...instanceIdList.map((i) => ({ instanceId: i })),\n ],\n \"instanceId\"\n )\n : queryInstances;\n }\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 let objectRef;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n if (props.useExternalCmdbApi) {\n objectRef = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n ...externalRequestParams,\n },\n ]);\n } else {\n objectRef = (\n (await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n })) as any\n )?.data;\n }\n modelMap = keyBy(objectRef, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId, props.useExternalCmdbApi, props.externalSourceId]);\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"10px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ?? props.useModelName\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE_NAME}`, {\n name: modelData.name,\n })\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n handleDeleteFunction={(v: any) => {\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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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { modifyModelData } from "@next-libs/cmdb-utils";
|
|
|
10
10
|
import style from "./style.module.css";
|
|
11
11
|
import i18n from "i18next";
|
|
12
12
|
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
13
|
-
import { keyBy, isEqual, isNil, isObject, isEmpty } from "lodash";
|
|
13
|
+
import { keyBy, isEqual, isNil, isObject, isEmpty, uniqBy } from "lodash";
|
|
14
14
|
import { Spin } from "antd";
|
|
15
15
|
import { useProvider } from "@next-core/brick-kit";
|
|
16
16
|
export function isCmdbInstancesSelectPanelPropsWithObjectMap(props) {
|
|
@@ -41,6 +41,9 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
var displayedSelectedInstancesMaxNumber = (_props$previewMaxNumb = props.previewMaxNumber) !== null && _props$previewMaxNumb !== void 0 ? _props$previewMaxNumb : 5;
|
|
44
|
+
var {
|
|
45
|
+
limitMaxQueryNumber = true
|
|
46
|
+
} = props;
|
|
44
47
|
var [selectedInstanceList, setSelectedInstanceList] = useState([]);
|
|
45
48
|
var [partialSelectedInstances, setPartialSelectedInstances] = useState([]);
|
|
46
49
|
// const [instanceTableData, setInstanceTableData] = useState({list: []})
|
|
@@ -84,7 +87,29 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
84
87
|
if (props.useExternalCmdbApi) {
|
|
85
88
|
instances = (yield externalPostSearchV3.query([instancesParams])).list;
|
|
86
89
|
} else {
|
|
87
|
-
|
|
90
|
+
var maxQueryNumber = 3000;
|
|
91
|
+
var instanceIdListLen = limitMaxQueryNumber ? maxQueryNumber : instanceIdList.length;
|
|
92
|
+
var queryInstances = (yield Promise.all(Array(Math.ceil(instanceIdListLen / maxQueryNumber)).fill(0).map( /*#__PURE__*/function () {
|
|
93
|
+
var _ref2 = _asyncToGenerator(function* (_, index) {
|
|
94
|
+
var pageSize = instanceIdList.length < maxQueryNumber ? instanceIdList.length : instanceIdList.length - index * maxQueryNumber < maxQueryNumber ? instanceIdList.length - index * maxQueryNumber : maxQueryNumber;
|
|
95
|
+
var instanceIds = instanceIdList.slice(index * maxQueryNumber, index * maxQueryNumber + pageSize);
|
|
96
|
+
return (yield InstanceApi_postSearch(props.objectId, _objectSpread(_objectSpread({}, instancesParams), {}, {
|
|
97
|
+
query: {
|
|
98
|
+
instanceId: {
|
|
99
|
+
$in: instanceIds
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
page_size: pageSize,
|
|
103
|
+
page: 1
|
|
104
|
+
}))).list;
|
|
105
|
+
});
|
|
106
|
+
return function (_x2, _x3) {
|
|
107
|
+
return _ref2.apply(this, arguments);
|
|
108
|
+
};
|
|
109
|
+
}()))).flat();
|
|
110
|
+
instances = limitMaxQueryNumber && instanceIdList.length > maxQueryNumber ? uniqBy([...queryInstances, ...instanceIdList.map(i => ({
|
|
111
|
+
instanceId: i
|
|
112
|
+
}))], "instanceId") : queryInstances;
|
|
88
113
|
}
|
|
89
114
|
}
|
|
90
115
|
return instances;
|
|
@@ -96,7 +121,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
96
121
|
var toLoadInstanceIds = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.map(i => isObject(i) ? i.instanceId : i)) || [];
|
|
97
122
|
useEffect(() => {
|
|
98
123
|
var getModelMap = /*#__PURE__*/function () {
|
|
99
|
-
var
|
|
124
|
+
var _ref3 = _asyncToGenerator(function* () {
|
|
100
125
|
var modelMap;
|
|
101
126
|
var objectRef;
|
|
102
127
|
if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {
|
|
@@ -117,7 +142,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
117
142
|
setModelMap(modelMap);
|
|
118
143
|
});
|
|
119
144
|
return function getModelMap() {
|
|
120
|
-
return
|
|
145
|
+
return _ref3.apply(this, arguments);
|
|
121
146
|
};
|
|
122
147
|
}();
|
|
123
148
|
getModelMap();
|
|
@@ -125,7 +150,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
125
150
|
useEffect(() => {
|
|
126
151
|
var instances = [];
|
|
127
152
|
var initInstances = /*#__PURE__*/function () {
|
|
128
|
-
var
|
|
153
|
+
var _ref4 = _asyncToGenerator(function* () {
|
|
129
154
|
var _props$onFetchedInsta;
|
|
130
155
|
instances = yield fetchInstances(toLoadInstanceIds);
|
|
131
156
|
setSelectedInstanceList(instances);
|
|
@@ -133,7 +158,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
133
158
|
(_props$onFetchedInsta = props.onFetchedInstances) === null || _props$onFetchedInsta === void 0 ? void 0 : _props$onFetchedInsta.call(props, instances);
|
|
134
159
|
});
|
|
135
160
|
return function initInstances() {
|
|
136
|
-
return
|
|
161
|
+
return _ref4.apply(this, arguments);
|
|
137
162
|
};
|
|
138
163
|
}();
|
|
139
164
|
if (!isEmpty(toLoadInstanceIds)) {
|
|
@@ -164,7 +189,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
164
189
|
});
|
|
165
190
|
};
|
|
166
191
|
var handleInstancesSelected = /*#__PURE__*/function () {
|
|
167
|
-
var
|
|
192
|
+
var _ref5 = _asyncToGenerator(function* (selectedKeys) {
|
|
168
193
|
var _props$onChange;
|
|
169
194
|
closeAddInstancesModal();
|
|
170
195
|
var instances = yield fetchInstances(selectedKeys);
|
|
@@ -172,8 +197,8 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
172
197
|
setPartialSelectedInstances(props !== null && props !== void 0 && props.isOperate ? instances : instances.slice(0, displayedSelectedInstancesMaxNumber));
|
|
173
198
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances);
|
|
174
199
|
});
|
|
175
|
-
return function handleInstancesSelected(
|
|
176
|
-
return
|
|
200
|
+
return function handleInstancesSelected(_x4) {
|
|
201
|
+
return _ref5.apply(this, arguments);
|
|
177
202
|
};
|
|
178
203
|
}();
|
|
179
204
|
var fieldIds = modifyModelData(modelData).attrList.map(attr => attr.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","useMemo","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","useProvider","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","_props$previewMaxNumb","_props$value","_props$instanceQuery","_props$modalTitle","_props$addTitle","externalPostSearchV3","cache","externalGetObjectRef","modelData","objectId","isFilterView","_modelData","_modelData$view","hideModelData","view","hide_columns","_objectSpread","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","externalRequestParams","_props$fields","sourceId","externalSourceId","ignore_missing_field_error","fields","length","fetchInstances","_ref","_asyncToGenerator","instanceIdList","_props$fields2","instances","instancesParams","query","instanceId","$in","page","page_size","reduce","prev","next","useExternalCmdbApi","list","_x","apply","arguments","toLoadInstanceIds","value","map","i","getModelMap","_ref2","objectRef","ref_object","_yield$CmdbObjectApi_","data","initInstances","_ref3","_props$onFetchedInsta","isOperate","slice","onFetchedInstances","call","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","_ref4","selectedKeys","_props$onChange","onChange","_x2","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","createElement","className","wrapper","title","modalTitle","t","concat","FILTER_FROM_CMDB","name","selectedRowKeys","instance","onSelected","onCancel","singleSelect","presetConfigs","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","pageSize","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","saveFieldsBackend","filterInstanceSourceDisabled","VIEW_ALL_SELECTED_INSTANCES","selectDisabled","textAlign","marginBottom","spinning","addButton","onClick","addTitle","useModelName","CHOOSE_INSTANCE_NAME","CHOOSE_INSTANCE","_extends","showDetailUrl","detailUrlTemplates","idObjectMap","instanceListData","sortDisabled","configProps","showPagination","pagination","handleDeleteFunction","v","_props$onChange2","target","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } 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\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useModelName?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n filterInstanceSourceDisabled?: 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 // 当useExternalCmdbApi为true, 外部接口才调用\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\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 externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n fields: props.fields?.length ? props.fields : [\"*\"],\n };\n }, [props.objectId, props.externalSourceId, props.fields]);\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n const instancesParams = {\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((prev, next) => ({ ...prev, [next]: true }), {})\n : { \"*\": true },\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n if (instanceIdList?.length) {\n // istanbul ignore if\n if (props.useExternalCmdbApi) {\n instances = (await externalPostSearchV3.query([instancesParams])).list;\n } else {\n instances = (\n await InstanceApi_postSearch(props.objectId, instancesParams)\n ).list;\n }\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 let objectRef;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n if (props.useExternalCmdbApi) {\n objectRef = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n ...externalRequestParams,\n },\n ]);\n } else {\n objectRef = (\n (await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n })) as any\n )?.data;\n }\n modelMap = keyBy(objectRef, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId, props.useExternalCmdbApi, props.externalSourceId]);\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"10px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ?? props.useModelName\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE_NAME}`, {\n name: modelData.name,\n })\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n handleDeleteFunction={(v: any) => {\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","useMemo","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","uniqBy","Spin","useProvider","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","_props$previewMaxNumb","_props$value","_props$instanceQuery","_props$modalTitle","_props$addTitle","externalPostSearchV3","cache","externalGetObjectRef","modelData","objectId","isFilterView","_modelData","_modelData$view","hideModelData","view","hide_columns","_objectSpread","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","limitMaxQueryNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","externalRequestParams","_props$fields","sourceId","externalSourceId","ignore_missing_field_error","fields","length","fetchInstances","_ref","_asyncToGenerator","instanceIdList","_props$fields2","instances","instancesParams","query","instanceId","$in","page","page_size","reduce","prev","next","useExternalCmdbApi","list","maxQueryNumber","instanceIdListLen","queryInstances","Promise","all","Array","Math","ceil","fill","map","_ref2","_","index","pageSize","instanceIds","slice","_x2","_x3","apply","arguments","flat","i","_x","toLoadInstanceIds","value","getModelMap","_ref3","objectRef","ref_object","_yield$CmdbObjectApi_","data","initInstances","_ref4","_props$onFetchedInsta","isOperate","onFetchedInstances","call","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","_ref5","selectedKeys","_props$onChange","onChange","_x4","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","createElement","className","wrapper","title","modalTitle","t","concat","FILTER_FROM_CMDB","name","selectedRowKeys","instance","onSelected","onCancel","singleSelect","presetConfigs","showBindButton","bindButtonDisabled","bindButtonText","bindEvent","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","aq","saveFieldsBackend","filterInstanceSourceDisabled","VIEW_ALL_SELECTED_INSTANCES","selectDisabled","textAlign","marginBottom","spinning","addButton","onClick","addTitle","useModelName","CHOOSE_INSTANCE_NAME","CHOOSE_INSTANCE","_extends","showDetailUrl","detailUrlTemplates","idObjectMap","instanceListData","sortDisabled","configProps","showPagination","pagination","handleDeleteFunction","v","_props$onChange2","target","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } 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, uniqBy } from \"lodash\";\nimport { Spin } from \"antd\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useModelName?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n filterInstanceSourceDisabled?: boolean;\n limitMaxQueryNumber?: boolean; //value超过了3000条数据时,是否限制只查询3000条数据\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 // 当useExternalCmdbApi为true, 外部接口才调用\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\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 const { limitMaxQueryNumber = true } = props;\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 externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n fields: props.fields?.length ? props.fields : [\"*\"],\n };\n }, [props.objectId, props.externalSourceId, props.fields]);\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n const instancesParams = {\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((prev, next) => ({ ...prev, [next]: true }), {})\n : { \"*\": true },\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n if (instanceIdList?.length) {\n // istanbul ignore if\n if (props.useExternalCmdbApi) {\n instances = (await externalPostSearchV3.query([instancesParams])).list;\n } else {\n const maxQueryNumber = 3000;\n const instanceIdListLen = limitMaxQueryNumber\n ? maxQueryNumber\n : instanceIdList.length;\n const queryInstances = (\n await Promise.all(\n Array(Math.ceil(instanceIdListLen / maxQueryNumber))\n .fill(0)\n .map(async (_, index) => {\n const pageSize =\n instanceIdList.length < maxQueryNumber\n ? instanceIdList.length\n : instanceIdList.length - index * maxQueryNumber <\n maxQueryNumber\n ? instanceIdList.length - index * maxQueryNumber\n : maxQueryNumber;\n const instanceIds = instanceIdList.slice(\n index * maxQueryNumber,\n index * maxQueryNumber + pageSize\n );\n return (\n await InstanceApi_postSearch(props.objectId, {\n ...instancesParams,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n page_size: pageSize,\n page: 1,\n })\n ).list;\n })\n )\n ).flat();\n instances =\n limitMaxQueryNumber && instanceIdList.length > maxQueryNumber\n ? uniqBy(\n [\n ...queryInstances,\n ...instanceIdList.map((i) => ({ instanceId: i })),\n ],\n \"instanceId\"\n )\n : queryInstances;\n }\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 let objectRef;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n if (props.useExternalCmdbApi) {\n objectRef = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n ...externalRequestParams,\n },\n ]);\n } else {\n objectRef = (\n (await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n })) as any\n )?.data;\n }\n modelMap = keyBy(objectRef, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId, props.useExternalCmdbApi, props.externalSourceId]);\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"10px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ?? props.useModelName\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE_NAME}`, {\n name: modelData.name,\n })\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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n handleDeleteFunction={(v: any) => {\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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","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ export interface BaseCmdbInstancesSelectPanelProps {
|
|
|
32
32
|
useExternalCmdbApi?: boolean;
|
|
33
33
|
externalSourceId?: string;
|
|
34
34
|
filterInstanceSourceDisabled?: boolean;
|
|
35
|
+
limitMaxQueryNumber?: boolean;
|
|
35
36
|
}
|
|
36
37
|
export interface CmdbInstancesSelectPanelPropsWithObjectMap extends BaseCmdbInstancesSelectPanelProps {
|
|
37
38
|
objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "7.29.
|
|
3
|
+
"version": "7.29.4",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"js-base64": "^3.7.7",
|
|
53
53
|
"marked": "^2.1.3"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "1d3b1b76b18b54c0e45720874cfc137bf8986343"
|
|
56
56
|
}
|