@next-libs/cmdb-instances 6.21.5 → 6.21.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.21.6](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.21.5...@next-libs/cmdb-instances@6.21.6) (2022-03-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **cmdb:** cmdb-instances.cmdb-instances-input-form添加按钮可禁用 ([3b95731](https://github.com/easyops-cn/next-libs/commit/3b95731d895f8d34437b3aafa481bdfae6fcb40a))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [6.21.5](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.21.4...@next-libs/cmdb-instances@6.21.5) (2022-03-01)
7
18
 
8
19
 
@@ -269,7 +269,8 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
269
269
  disabled: props.inputDisabled
270
270
  }), /*#__PURE__*/_react.default.createElement(_antd.Button, {
271
271
  className: _cmdbInstancesInputFormModule.default.modalButton,
272
- onClick: openSelectInstancesModal
272
+ onClick: openSelectInstancesModal,
273
+ disabled: props.addButtonDisabled
273
274
  }, text)));
274
275
  };
275
276
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["LegacyCmdbInstancesInputFormItem","props","ref","t","NS_LIBS_CMDB_INSTANCES","seperator","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","checkSelectedInstances","instances","query","instanceId","$in","map","instance","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","length","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","style","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData } 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\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: 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 defaultQuery?: { [fieldId: string]: any }[];\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 seperator = \" \";\n const presetQuery = {} as any;\n const permission: string[] = [];\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 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\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(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\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\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: {\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(seperator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\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 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(seperator);\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: {\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 props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\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 keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\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(seperator);\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\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(seperator)\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 }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\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 onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n >\n {text}\n </Button>\n </div>\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<HTMLDivElement>(\n LegacyCmdbInstancesInputFormItem\n);\n"],"file":"CmdbInstancesInputFormItem.js"}
1
+ {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["LegacyCmdbInstancesInputFormItem","props","ref","t","NS_LIBS_CMDB_INSTANCES","seperator","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","checkSelectedInstances","instances","query","instanceId","$in","map","instance","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","length","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","style","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData } 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\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: 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 defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: 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 seperator = \" \";\n const presetQuery = {} as any;\n const permission: string[] = [];\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 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\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(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\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\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: {\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(seperator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\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 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(seperator);\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: {\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 props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\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 keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\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(seperator);\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\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(seperator)\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 }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\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 onBlur={handleInputBlur}\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 </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<HTMLDivElement>(\n LegacyCmdbInstancesInputFormItem\n);\n"],"file":"CmdbInstancesInputFormItem.js"}
@@ -280,7 +280,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
280
280
  disabled: props.inputDisabled
281
281
  }), /*#__PURE__*/React.createElement(Button, {
282
282
  className: style.modalButton,
283
- onClick: openSelectInstancesModal
283
+ onClick: openSelectInstancesModal,
284
+ disabled: props.addButtonDisabled
284
285
  }, text)));
285
286
  };
286
287
  export var CmdbInstancesInputFormItem = /*#__PURE__*/forwardRef(LegacyCmdbInstancesInputFormItem);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["React","forwardRef","useState","useEffect","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","LegacyCmdbInstancesInputFormItem","props","ref","t","seperator","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","checkSelectedInstances","instances","query","instanceId","$in","map","instance","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","length","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData } 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\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: 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 defaultQuery?: { [fieldId: string]: any }[];\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 seperator = \" \";\n const presetQuery = {} as any;\n const permission: string[] = [];\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 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\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(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\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\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: {\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(seperator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\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 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(seperator);\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: {\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 props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\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 keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\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(seperator);\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\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(seperator)\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 }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\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 onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n >\n {text}\n </Button>\n </div>\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<HTMLDivElement>(\n LegacyCmdbInstancesInputFormItem\n);\n"],"file":"CmdbInstancesInputFormItem.js"}
1
+ {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["React","forwardRef","useState","useEffect","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","LegacyCmdbInstancesInputFormItem","props","ref","t","seperator","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","checkSelectedInstances","instances","query","instanceId","$in","map","instance","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","length","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData } 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\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: 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 defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: 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 seperator = \" \";\n const presetQuery = {} as any;\n const permission: string[] = [];\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 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\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(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\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\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: {\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(seperator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\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 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(seperator);\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: {\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 props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\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 keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\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(seperator);\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: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\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(seperator)\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 }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\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 onBlur={handleInputBlur}\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 </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<HTMLDivElement>(\n LegacyCmdbInstancesInputFormItem\n);\n"],"file":"CmdbInstancesInputFormItem.js"}
@@ -23,6 +23,7 @@ export interface CmdbInstancesInputFormItemProps {
23
23
  defaultQuery?: {
24
24
  [fieldId: string]: any;
25
25
  }[];
26
+ addButtonDisabled?: boolean;
26
27
  }
27
28
  export declare const LegacyCmdbInstancesInputFormItem: (props: CmdbInstancesInputFormItemProps, ref: React.Ref<HTMLDivElement>) => React.ReactElement;
28
29
  export declare const CmdbInstancesInputFormItem: React.ForwardRefExoticComponent<React.RefAttributes<HTMLDivElement>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "6.21.5",
3
+ "version": "6.21.6",
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": "8d2b6ebcb77f0e8e64c8c3754bdb8646d194cef2"
53
+ "gitHead": "662f134caeb3aca955b09034e01b60dea5ec4024"
54
54
  }