@next-libs/cmdb-instances 7.3.8 → 7.3.9

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.
@@ -43,11 +43,13 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
43
43
  }, [props.objectId, props.checkAgentStatus, props.checkPermission]);
44
44
  const fields = (0, _react.useMemo)(() => {
45
45
  var _props$fields;
46
- const fields = {};
47
- (_props$fields = props.fields) === null || _props$fields === void 0 ? void 0 : _props$fields.forEach(field => {
48
- fields[field] = true;
49
- });
50
- return fields;
46
+ if ((_props$fields = props.fields) !== null && _props$fields !== void 0 && _props$fields.length) {
47
+ const fields = {};
48
+ props.fields.forEach(field => {
49
+ fields[field] = true;
50
+ });
51
+ return fields;
52
+ }
51
53
  }, [props.fields]);
52
54
  const objectData = (0, _cmdbUtils.modifyModelData)(props.objectMap[props.objectId]);
53
55
  const fieldData = objectData.__fieldList.find(field => field.__id === props.fieldId);
@@ -129,8 +131,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
129
131
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
130
132
  (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instances);
131
133
  };
132
- const checkInputValue = async inputValue => {
133
- const fieldValues = props.fieldId === "ip" ? inputValue.match(/\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) : inputValue.split(separator);
134
+ const checkFieldValues = async fieldValues => {
134
135
  if (fieldValues) {
135
136
  const instances = (await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, {
136
137
  query: {
@@ -154,9 +155,13 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
154
155
  valid: validSelectedInstances || [],
155
156
  invalid: invalidFieldValues || []
156
157
  });
157
- handleChange(validSelectedInstances);
158
+ !invalidFieldValues.length && handleChange(validSelectedInstances);
158
159
  }
159
160
  };
161
+ const checkInputValue = async inputValue => {
162
+ const fieldValues = props.fieldId === "ip" ? inputValue.match(/\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) : inputValue.split(separator);
163
+ checkFieldValues(fieldValues);
164
+ };
160
165
  const openSelectInstancesModal = () => {
161
166
  setVisible(true);
162
167
  };
@@ -166,7 +171,11 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
166
171
  const handleInstancesSelected = async selectedKeys => {
167
172
  closeSelectInstancesModal();
168
173
  const instances = await updateSelected(selectedKeys);
169
- handleChange(instances);
174
+ if (!props.checkDisabled) {
175
+ await checkFieldValues((0, _lodash.map)(instances, props.fieldId));
176
+ } else {
177
+ handleChange(instances);
178
+ }
170
179
  };
171
180
  const handleInputChanged = event => {
172
181
  setInputValue(event.target.value);
@@ -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","page_size","list","instanceIdSet","Set","selectedInstancesMap","groupBy","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","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","extraFilterBricks","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","hideSearchConditions","advancedSearchDisabled","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\";\nimport { UseBrickConf } from \"@next-core/brick-types\";\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 hideSearchConditions?: boolean;\n advancedSearchDisabled?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\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 page_size: selectedInstances.length,\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 extraFilterBricks={props.extraFilterBricks}\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 hideSearchConditions={props.hideSearchConditions}\n advancedSearchDisabled={props.advancedSearchDisabled}\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 extraFilterBricks={props.extraFilterBricks}\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","length","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","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","InstanceApi_postSearch","page_size","list","instanceIdSet","Set","selectedInstancesMap","groupBy","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","instanceData","join","checkDisabled","useEffect","value","handleChange","onChange","onChangeV2","checkFieldValues","fieldValues","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","checkInputValue","match","split","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","extraFilterBricks","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","hideSearchConditions","advancedSearchDisabled","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, map } 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\";\nimport { UseBrickConf } from \"@next-core/brick-types\";\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 hideSearchConditions?: boolean;\n advancedSearchDisabled?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\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 if (props.fields?.length) {\n const fields: Record<string, boolean> = {};\n\n props.fields.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }\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 page_size: selectedInstances.length,\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 checkFieldValues = async (fieldValues: string[]): Promise<void> => {\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 !invalidFieldValues.length && handleChange(validSelectedInstances);\n }\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 checkFieldValues(fieldValues);\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 if (!props.checkDisabled) {\n await checkFieldValues(map(instances, props.fieldId));\n } else {\n handleChange(instances);\n }\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 extraFilterBricks={props.extraFilterBricks}\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 hideSearchConditions={props.hideSearchConditions}\n advancedSearchDisabled={props.advancedSearchDisabled}\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 extraFilterBricks={props.extraFilterBricks}\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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"}
@@ -4,7 +4,7 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
4
4
 
5
5
  import React, { forwardRef, useState, useEffect, useMemo } from "react";
6
6
  import { Input, Button, Modal } from "antd";
7
- import { groupBy } from "lodash";
7
+ import { groupBy, map } from "lodash";
8
8
  import { InstanceListModal } from "../instance-list-modal/InstanceListModal";
9
9
  import { modifyModelData } from "@next-libs/cmdb-utils";
10
10
  import { InstanceApi_postSearch } from "@next-sdk/cmdb-sdk";
@@ -37,11 +37,13 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
37
37
  }, [props.objectId, props.checkAgentStatus, props.checkPermission]);
38
38
  var fields = useMemo(() => {
39
39
  var _props$fields;
40
- var fields = {};
41
- (_props$fields = props.fields) === null || _props$fields === void 0 ? void 0 : _props$fields.forEach(field => {
42
- fields[field] = true;
43
- });
44
- return fields;
40
+ if ((_props$fields = props.fields) !== null && _props$fields !== void 0 && _props$fields.length) {
41
+ var _fields = {};
42
+ props.fields.forEach(field => {
43
+ _fields[field] = true;
44
+ });
45
+ return _fields;
46
+ }
45
47
  }, [props.fields]);
46
48
  var objectData = modifyModelData(props.objectMap[props.objectId]);
47
49
  var fieldData = objectData.__fieldList.find(field => field.__id === props.fieldId);
@@ -131,9 +133,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
131
133
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
132
134
  (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instances);
133
135
  };
134
- var checkInputValue = /*#__PURE__*/function () {
135
- var _ref3 = _asyncToGenerator(function* (inputValue) {
136
- var fieldValues = props.fieldId === "ip" ? inputValue.match(/\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) : inputValue.split(separator);
136
+ var checkFieldValues = /*#__PURE__*/function () {
137
+ var _ref3 = _asyncToGenerator(function* (fieldValues) {
137
138
  if (fieldValues) {
138
139
  var instances = (yield InstanceApi_postSearch(props.objectId, {
139
140
  query: {
@@ -156,13 +157,22 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
156
157
  valid: validSelectedInstances || [],
157
158
  invalid: invalidFieldValues || []
158
159
  });
159
- handleChange(validSelectedInstances);
160
+ !invalidFieldValues.length && handleChange(validSelectedInstances);
160
161
  }
161
162
  });
162
- return function checkInputValue(_x3) {
163
+ return function checkFieldValues(_x3) {
163
164
  return _ref3.apply(this, arguments);
164
165
  };
165
166
  }();
167
+ var checkInputValue = /*#__PURE__*/function () {
168
+ var _ref4 = _asyncToGenerator(function* (inputValue) {
169
+ var fieldValues = props.fieldId === "ip" ? inputValue.match(/\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) : inputValue.split(separator);
170
+ checkFieldValues(fieldValues);
171
+ });
172
+ return function checkInputValue(_x4) {
173
+ return _ref4.apply(this, arguments);
174
+ };
175
+ }();
166
176
  var openSelectInstancesModal = () => {
167
177
  setVisible(true);
168
178
  };
@@ -170,20 +180,24 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
170
180
  setVisible(false);
171
181
  };
172
182
  var handleInstancesSelected = /*#__PURE__*/function () {
173
- var _ref4 = _asyncToGenerator(function* (selectedKeys) {
183
+ var _ref5 = _asyncToGenerator(function* (selectedKeys) {
174
184
  closeSelectInstancesModal();
175
185
  var instances = yield updateSelected(selectedKeys);
176
- handleChange(instances);
186
+ if (!props.checkDisabled) {
187
+ yield checkFieldValues(map(instances, props.fieldId));
188
+ } else {
189
+ handleChange(instances);
190
+ }
177
191
  });
178
- return function handleInstancesSelected(_x4) {
179
- return _ref4.apply(this, arguments);
192
+ return function handleInstancesSelected(_x5) {
193
+ return _ref5.apply(this, arguments);
180
194
  };
181
195
  }();
182
196
  var handleInputChanged = event => {
183
197
  setInputValue(event.target.value);
184
198
  };
185
199
  var handleInputBlur = /*#__PURE__*/function () {
186
- var _ref5 = _asyncToGenerator(function* (event) {
200
+ var _ref6 = _asyncToGenerator(function* (event) {
187
201
  var inputValue = event.target.value;
188
202
  if (inputValue) {
189
203
  if (!props.checkDisabled) {
@@ -218,8 +232,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
218
232
  }
219
233
  setInputFocused(false);
220
234
  });
221
- return function handleInputBlur(_x5) {
222
- return _ref5.apply(this, arguments);
235
+ return function handleInputBlur(_x6) {
236
+ return _ref6.apply(this, arguments);
223
237
  };
224
238
  }();
225
239
  var closeInvalidFieldValuesModal = () => {
@@ -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","page_size","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","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","extraFilterBricks","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","hideSearchConditions","advancedSearchDisabled","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\";\nimport { UseBrickConf } from \"@next-core/brick-types\";\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 hideSearchConditions?: boolean;\n advancedSearchDisabled?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\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 page_size: selectedInstances.length,\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 extraFilterBricks={props.extraFilterBricks}\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 hideSearchConditions={props.hideSearchConditions}\n advancedSearchDisabled={props.advancedSearchDisabled}\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 extraFilterBricks={props.extraFilterBricks}\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","map","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","length","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","instanceId","$in","instance","query","undefined","checkSelectedInstances","instances","page_size","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","instanceData","join","checkDisabled","value","handleChange","onChange","onChangeV2","checkFieldValues","fieldValues","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","checkInputValue","match","split","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","extraFilterBricks","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","hideSearchConditions","advancedSearchDisabled","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, map } 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\";\nimport { UseBrickConf } from \"@next-core/brick-types\";\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 hideSearchConditions?: boolean;\n advancedSearchDisabled?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\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 if (props.fields?.length) {\n const fields: Record<string, boolean> = {};\n\n props.fields.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }\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 page_size: selectedInstances.length,\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 checkFieldValues = async (fieldValues: string[]): Promise<void> => {\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 !invalidFieldValues.length && handleChange(validSelectedInstances);\n }\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 checkFieldValues(fieldValues);\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 if (!props.checkDisabled) {\n await checkFieldValues(map(instances, props.fieldId));\n } else {\n handleChange(instances);\n }\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 extraFilterBricks={props.extraFilterBricks}\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 hideSearchConditions={props.hideSearchConditions}\n advancedSearchDisabled={props.advancedSearchDisabled}\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 extraFilterBricks={props.extraFilterBricks}\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.3.8",
3
+ "version": "7.3.9",
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": "8e4241529f421ea16f4c42f68726b9fc4de314b6"
53
+ "gitHead": "04c1656865cb0aa8d6a207417a2c940dbe471b55"
54
54
  }