@next-libs/cmdb-instances 7.13.5 → 7.13.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.
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +7 -4
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js +3 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +4 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +7 -4
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js +3 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +4 -1
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/package.json +2 -2
|
@@ -60,13 +60,16 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
60
60
|
});
|
|
61
61
|
const [modelMap, setModelMap] = (0, _react.useState)({});
|
|
62
62
|
const externalRequestParams = (0, _react.useMemo)(() => {
|
|
63
|
+
var _props$fields;
|
|
63
64
|
return {
|
|
64
65
|
objectId: props.objectId,
|
|
65
|
-
sourceId: props.externalSourceId
|
|
66
|
+
sourceId: props.externalSourceId,
|
|
67
|
+
ignore_missing_field_error: true,
|
|
68
|
+
fields: (_props$fields = props.fields) !== null && _props$fields !== void 0 && _props$fields.length ? props.fields : ["*"]
|
|
66
69
|
};
|
|
67
|
-
}, [props.objectId, props.externalSourceId]);
|
|
70
|
+
}, [props.objectId, props.externalSourceId, props.fields]);
|
|
68
71
|
const fetchInstances = async instanceIdList => {
|
|
69
|
-
var _props$
|
|
72
|
+
var _props$fields2;
|
|
70
73
|
let instances = [];
|
|
71
74
|
const instancesParams = {
|
|
72
75
|
query: {
|
|
@@ -77,7 +80,7 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
77
80
|
page: 1,
|
|
78
81
|
page_size: instanceIdList.length,
|
|
79
82
|
// todo(ice): selected confirm with instances
|
|
80
|
-
fields: (_props$
|
|
83
|
+
fields: (_props$fields2 = props.fields) !== null && _props$fields2 !== void 0 && _props$fields2.length ? props.fields.reduce((prev, next) => ({
|
|
81
84
|
...prev,
|
|
82
85
|
[next]: true
|
|
83
86
|
}), {}) : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","externalPostSearchV3","useProvider","cache","externalGetObjectRef","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","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","externalRequestParams","useMemo","sourceId","externalSourceId","fetchInstances","instanceIdList","instances","instancesParams","query","instanceId","$in","page","page_size","length","fields","reduce","prev","next","useExternalCmdbApi","list","InstanceApi_postSearch","toLoadInstanceIds","value","map","i","isObject","useEffect","getModelMap","objectRef","ref_object","CmdbObjectApi_getObjectRef","data","keyBy","initInstances","isOperate","slice","onFetchedInstances","isEmpty","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","modifyModelData","attr","showPreview","cs","classnames","style","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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","isEqual","addButton","addTitle","useModelName","CHOOSE_INSTANCE_NAME","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, 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}\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 };\n }, [props.objectId, props.externalSourceId]);\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 />\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 />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"20px\",\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 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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"}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","externalPostSearchV3","useProvider","cache","externalGetObjectRef","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","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","externalRequestParams","useMemo","sourceId","externalSourceId","ignore_missing_field_error","fields","length","fetchInstances","instanceIdList","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","CmdbObjectApi_getObjectRef","data","keyBy","initInstances","isOperate","slice","onFetchedInstances","isEmpty","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","modifyModelData","attr","showPreview","cs","classnames","style","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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","isEqual","addButton","addTitle","useModelName","CHOOSE_INSTANCE_NAME","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, 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}\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 />\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 />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"20px\",\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 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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"}
|
|
@@ -34,13 +34,15 @@ function InstanceListModal(props) {
|
|
|
34
34
|
$in: selectedInstanceListTemp
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
+
page: 1,
|
|
37
38
|
page_size: selectedInstanceListTemp.length
|
|
38
39
|
};
|
|
39
40
|
if (props.useExternalCmdbApi) {
|
|
40
41
|
resp = await externalPostSearchV3.query([{
|
|
41
42
|
...requestParams,
|
|
42
43
|
objectId: props.objectId,
|
|
43
|
-
sourceId: props.externalSourceId
|
|
44
|
+
sourceId: props.externalSourceId,
|
|
45
|
+
ignore_missing_field_error: true
|
|
44
46
|
}]);
|
|
45
47
|
} else {
|
|
46
48
|
resp = await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, requestParams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","length","every","i","resp","requestParams","query","instanceId","$in","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","InstanceApi_postSearch","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","q","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\n }\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n saveFieldsBackend={props.saveFieldsBackend}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","length","every","i","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","ignore_missing_field_error","InstanceApi_postSearch","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","q","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page: 1,\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\n }\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n saveFieldsBackend={props.saveFieldsBackend}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
|
|
@@ -130,7 +130,8 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
130
130
|
page: 1,
|
|
131
131
|
...(this.props.useExternalCmdbApi ? {
|
|
132
132
|
objectId,
|
|
133
|
-
sourceId: this.props.externalSourceId
|
|
133
|
+
sourceId: this.props.externalSourceId,
|
|
134
|
+
ignore_missing_field_error: true
|
|
134
135
|
} : {})
|
|
135
136
|
};
|
|
136
137
|
// useExternalCmdbApi为true 调用外部接口
|
|
@@ -354,6 +355,7 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
354
355
|
}
|
|
355
356
|
}
|
|
356
357
|
getCustomPropertyRender(config, isPrimary) {
|
|
358
|
+
// eslint-disable-next-line react/display-name
|
|
357
359
|
return (value, record, index) => {
|
|
358
360
|
return /*#__PURE__*/_react.default.createElement(config.brick, {
|
|
359
361
|
ref: el => {
|
|
@@ -385,6 +387,7 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
385
387
|
};
|
|
386
388
|
}
|
|
387
389
|
getUseBrickConfigRender(config) {
|
|
390
|
+
// eslint-disable-next-line react/display-name
|
|
388
391
|
return (value, record, index) => {
|
|
389
392
|
const data = {
|
|
390
393
|
cellData: value,
|