@next-libs/cmdb-instances 7.1.1 → 7.1.3
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-input-form/CmdbInstancesInputFormItem.js +3 -6
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +1 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +3 -6
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/package.json +2 -2
|
@@ -91,7 +91,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
|
|
|
91
91
|
};
|
|
92
92
|
const updateSelected = async instanceIds => {
|
|
93
93
|
let selectedInstances = [];
|
|
94
|
-
if (instanceIds.length) {
|
|
94
|
+
if (instanceIds !== null && instanceIds !== void 0 && instanceIds.length) {
|
|
95
95
|
selectedInstances = (await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, {
|
|
96
96
|
page: 1,
|
|
97
97
|
page_size: instanceIds.length,
|
|
@@ -121,11 +121,8 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
|
|
|
121
121
|
return instances;
|
|
122
122
|
};
|
|
123
123
|
(0, _react.useEffect)(() => {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
// todo(ice): how formItem to change its value??????
|
|
128
|
-
}, []);
|
|
124
|
+
updateSelected(props.value);
|
|
125
|
+
}, [props.value]);
|
|
129
126
|
const handleChange = instances => {
|
|
130
127
|
var _props$onChange, _props$onChangeV;
|
|
131
128
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesInputFormItem.js","names":["separator","LegacyCmdbInstancesInputFormItem","props","ref","t","useTranslation","NS_LIBS_CMDB_INSTANCES","presetQuery","permission","useMemo","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","modifyModelData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","useState","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","InstanceApi_postSearch","list","instanceIdSet","Set","selectedInstancesMap","groupBy","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","useEffect","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","style","cmdbInstancesInputFormWrapper","fieldInput","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem","forwardRef"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n allowClear?: boolean;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n allowClear={props.allowClear}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesInputFormItem.js","names":["separator","LegacyCmdbInstancesInputFormItem","props","ref","t","useTranslation","NS_LIBS_CMDB_INSTANCES","presetQuery","permission","useMemo","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","modifyModelData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","useState","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","InstanceApi_postSearch","list","instanceIdSet","Set","selectedInstancesMap","groupBy","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","useEffect","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","style","cmdbInstancesInputFormWrapper","fieldInput","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem","forwardRef"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n allowClear?: boolean;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds?.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n updateSelected(props.value);\n }, [props.value]);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n allowClear={props.allowClear}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"mappings":"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"}
|
|
@@ -191,7 +191,7 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
191
191
|
},
|
|
192
192
|
selectDisabled: !props.ipCopy,
|
|
193
193
|
ipCopy: props.ipCopy,
|
|
194
|
-
showCloseBtn: props.showCloseBtn,
|
|
194
|
+
showCloseBtn: props.ipCopy ? true : props.showCloseBtn,
|
|
195
195
|
showSizeChanger: props.showSizeChanger,
|
|
196
196
|
pageSizeOptions: props.pageSizeOptions,
|
|
197
197
|
onCancel: closeAllSelectedInstancesModal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","InstanceApi_postSearch","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","isObject","useEffect","getModelMap","data","CmdbObjectApi_getObjectRef","ref_object","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","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","isEqual","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n 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}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n 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 />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\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 }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["isCmdbInstancesSelectPanelPropsWithObjectMap","props","isNil","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","useState","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","InstanceApi_postSearch","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","isObject","useEffect","getModelMap","data","CmdbObjectApi_getObjectRef","ref_object","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","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","isEqual","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n 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}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n 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 />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\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 }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.ipCopy ? true : props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -89,7 +89,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
|
|
|
89
89
|
var updateSelected = /*#__PURE__*/function () {
|
|
90
90
|
var _ref2 = _asyncToGenerator(function* (instanceIds) {
|
|
91
91
|
var selectedInstances = [];
|
|
92
|
-
if (instanceIds.length) {
|
|
92
|
+
if (instanceIds !== null && instanceIds !== void 0 && instanceIds.length) {
|
|
93
93
|
selectedInstances = (yield InstanceApi_postSearch(props.objectId, {
|
|
94
94
|
page: 1,
|
|
95
95
|
page_size: instanceIds.length,
|
|
@@ -123,11 +123,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
|
|
|
123
123
|
};
|
|
124
124
|
}();
|
|
125
125
|
useEffect(() => {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
// todo(ice): how formItem to change its value??????
|
|
130
|
-
}, []);
|
|
126
|
+
updateSelected(props.value);
|
|
127
|
+
}, [props.value]);
|
|
131
128
|
var handleChange = instances => {
|
|
132
129
|
var _props$onChange, _props$onChangeV;
|
|
133
130
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesInputFormItem.js","names":["React","forwardRef","useState","useEffect","useMemo","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","cmdbInstancesInputFormWrapper","fieldInput","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n allowClear?: boolean;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n allowClear={props.allowClear}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesInputFormItem.js","names":["React","forwardRef","useState","useEffect","useMemo","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","cmdbInstancesInputFormWrapper","fieldInput","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n allowClear?: boolean;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds?.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n updateSelected(props.value);\n }, [props.value]);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n allowClear={props.allowClear}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"mappings":"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"}
|
|
@@ -203,7 +203,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
|
|
|
203
203
|
},
|
|
204
204
|
selectDisabled: !props.ipCopy,
|
|
205
205
|
ipCopy: props.ipCopy,
|
|
206
|
-
showCloseBtn: props.showCloseBtn,
|
|
206
|
+
showCloseBtn: props.ipCopy ? true : props.showCloseBtn,
|
|
207
207
|
showSizeChanger: props.showSizeChanger,
|
|
208
208
|
pageSizeOptions: props.pageSizeOptions,
|
|
209
209
|
onCancel: closeAllSelectedInstancesModal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n 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}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n 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 />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\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 }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n 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}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n 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 />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\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 }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.ipCopy ? true : props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.3",
|
|
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",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"immutability-helper": "^3.1.1",
|
|
51
51
|
"marked": "^2.1.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "2207602b76ee89c71372a561414a29607827bf8a"
|
|
54
54
|
}
|