@next-libs/cmdb-instances 7.1.20 → 7.2.0

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.
@@ -231,6 +231,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
231
231
  onCancel: closeInvalidFieldValuesModal
232
232
  }, props.objectId === "HOST" && props.fieldId === "ip" ? `${t(_constants.K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(", ")}` : `${t(_constants.K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(", ")}`), /*#__PURE__*/_react.default.createElement(_InstanceListModal.InstanceListModal, {
233
233
  objectMap: props.objectMap,
234
+ extraFilterBricks: props.extraFilterBricks,
234
235
  objectId: props.objectId,
235
236
  visible: visible,
236
237
  title: text,
@@ -268,6 +269,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
268
269
  disabled: props.addButtonDisabled
269
270
  }, text)), props.previewEnabled && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_InstanceListModal.InstanceListModal, {
270
271
  objectMap: props.objectMap,
272
+ extraFilterBricks: props.extraFilterBricks,
271
273
  objectId: props.objectId,
272
274
  visible: previewVisible,
273
275
  title: t(_constants.K.VIEW_SPECIFIC_INSTANCES),
@@ -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","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\";\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}\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 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 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":";;;;;;;;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAbA;;AAeA,MAAMA,SAAS,GAAG,GAAG;AA8Bd,MAAMC,gCAAgC,GAAG,CAC9CC,KAAsC,EACtCC,GAA8B,KACP;EACvB,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAACC,iCAAsB,CAAC;EAEpD,MAAM;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChD,MAAMF,WAAW,GAAG,CAAC,CAAQ;IAC7B,MAAMC,UAAoB,GAAG,EAAE;IAE/B,IAAIN,KAAK,CAACQ,QAAQ,KAAK,MAAM,EAAE;MAC7B,IAAIR,KAAK,CAACS,gBAAgB,EAAE;QAC1BJ,WAAW,CAACK,YAAY,GAAG,IAAI;MACjC;MACA,IAAIV,KAAK,CAACW,eAAe,EAAE;QACzBL,UAAU,CAACM,IAAI,CAAC,SAAS,CAAC;MAC5B;IACF;IAEA,OAAO;MAAEP,WAAW;MAAEC;IAAW,CAAC;EACpC,CAAC,EAAE,CAACN,KAAK,CAACQ,QAAQ,EAAER,KAAK,CAACS,gBAAgB,EAAET,KAAK,CAACW,eAAe,CAAC,CAAC;EACnE,MAAME,MAAM,GAAG,IAAAN,cAAO,EAAC,MAAM;IAAA;IAC3B,MAAMM,MAA+B,GAAG,CAAC,CAAC;IAE1C,iBAAAb,KAAK,CAACa,MAAM,kDAAZ,cAAcC,OAAO,CAAEC,KAAK,IAAK;MAC/BF,MAAM,CAACE,KAAK,CAAC,GAAG,IAAI;IACtB,CAAC,CAAC;IAEF,OAAOF,MAAM;EACf,CAAC,EAAE,CAACb,KAAK,CAACa,MAAM,CAAC,CAAC;EAElB,MAAMG,UAAU,GAAG,IAAAC,0BAAe,EAACjB,KAAK,CAACkB,SAAS,CAAClB,KAAK,CAACQ,QAAQ,CAAC,CAAC;EACnE,MAAMW,SAAS,GAAGH,UAAU,CAACI,WAAW,CAACC,IAAI,CAC1CN,KAAK,IAAKA,KAAK,CAACO,IAAI,KAAKtB,KAAK,CAACuB,OAAO,CACxC;EAED,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAF,eAAQ,EAAC;IACzDG,KAAK,EAAE,EAAE;IACTC,OAAO,EAAE;EACX,CAAC,CAAC;EACF,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAN,eAAQ,EAAC,EAAE,CAAC;EAChD,MAAM,CAACO,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAR,eAAQ,EAAC,KAAK,CAAC;EACvD,MAAM,CAACS,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAV,eAAQ,EAAC,KAAK,CAAC;EAC3D,MAAMW,sBAAsB,GAAG,IAAA9B,cAAO,EACpC,MACEP,KAAK,CAACsC,cAAc,IAAIX,iBAAiB,CAACE,KAAK,CAACU,MAAM,GAAG,CAAC,GACtD,CACE;IACEC,UAAU,EAAE;MACVC,GAAG,EAAEd,iBAAiB,CAACE,KAAK,CAACa,GAAG,CAC7BC,QAAQ,IAAKA,QAAQ,CAACH,UAAU;IAErC,CAAC;IACD,GAAGnC;EACL,CAAC,EACD,IAAIL,KAAK,CAAC4C,KAAK,GAAG5C,KAAK,CAAC4C,KAAK,GAAG,EAAE,CAAC,CACpC,GACDC,SAAS,EACf,CAAClB,iBAAiB,CAACE,KAAK,EAAExB,WAAW,EAAEL,KAAK,CAAC4C,KAAK,CAAC,CACpD;EAED,MAAME,sBAAsB,GAAG,MAC7BnB,iBAAwB,IACF;IACtB,IAAIA,iBAAiB,EAAE;MACrB,MAAMoB,SAAS,GAAG,CAChB,MAAM,IAAAC,+BAAsB,EAAChD,KAAK,CAACQ,QAAQ,EAAE;QAC3CyC,SAAS,EAAEtB,iBAAiB,CAACY,MAAM;QACnCK,KAAK,EAAE;UACLJ,UAAU,EAAE;YACVC,GAAG,EAAEd,iBAAiB,CAACe,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,UAAU;UAC9D,CAAC;UACD,GAAGnC;QACL,CAAC;QACDC,UAAU;QACVO,MAAM,EAAEA,MAAM,IAAI;UAChB2B,UAAU,EAAE,IAAI;UAChB,CAACxC,KAAK,CAACuB,OAAO,GAAG;QACnB;MACF,CAAC,CAAC,EACF2B,IAAI;MACN,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAC3BL,SAAS,CAACL,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,UAAU,CAAC,CACjD;MAED,MAAMa,oBAAoB,GAAG,IAAAC,eAAO,EAClC3B,iBAAiB,EAChB4B,gBAAgB,IAAKJ,aAAa,CAACK,GAAG,CAACD,gBAAgB,CAACf,UAAU,CAAC,CACrE;MAEDZ,oBAAoB,CAAC;QACnBC,KAAK,EAAEwB,oBAAoB,CAACI,IAAI,IAAI,EAAE;QACtC3B,OAAO,EAAE,CAACuB,oBAAoB,CAACK,KAAK,IAAI,EAAE,EAAEhB,GAAG,CAC5CiB,uBAAuB,IAAKA,uBAAuB,CAAC3D,KAAK,CAACuB,OAAO,CAAC;MAEvE,CAAC,CAAC;MAEF,OAAO8B,oBAAoB,CAACI,IAAI,GAAGJ,oBAAoB,CAACI,IAAI,GAAG,EAAE;IACnE;EACF,CAAC;EAED,MAAMG,cAAc,GAAG,MAAOC,WAAqB,IAAqB;IACtE,IAAIlC,iBAAwB,GAAG,EAAE;IACjC,IAAIkC,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEtB,MAAM,EAAE;MACvBZ,iBAAiB,GAAG,CAClB,MAAM,IAAAqB,+BAAsB,EAAChD,KAAK,CAACQ,QAAQ,EAAE;QAC3CsD,IAAI,EAAE,CAAC;QACPb,SAAS,EAAEY,WAAW,CAACtB,MAAM;QAC7BK,KAAK,EAAE;UACLJ,UAAU,EAAE;YACVC,GAAG,EAAEoB;UACP;QACF,CAAC;QACDhD,MAAM,EAAEA,MAAM,IAAI;UAChB2B,UAAU,EAAE,IAAI;UAChB,CAACxC,KAAK,CAACuB,OAAO,GAAG;QACnB;MACF,CAAC,CAAC,EACF2B,IAAI;IACR;IAEAlB,aAAa,CACXL,iBAAiB,CACde,GAAG,CAAEqB,YAAY,IAAKA,YAAY,CAAC/D,KAAK,CAACuB,OAAO,CAAC,CAAC,CAClDyC,IAAI,CAAClE,SAAS,CAAC,CACnB;IAED,IAAIiD,SAAS,GAAGpB,iBAAiB;IACjC,IAAIA,iBAAiB,CAACY,MAAM,EAAE;MAC5B,IAAI,CAACvC,KAAK,CAACiE,aAAa,EAAE;QACxBlB,SAAS,GAAG,MAAMD,sBAAsB,CAACnB,iBAAiB,CAAC;MAC7D;IACF,CAAC,MAAM;MACLC,oBAAoB,CAAC;QAAEC,KAAK,EAAE,EAAE;QAAEC,OAAO,EAAE;MAAG,CAAC,CAAC;IAClD;IACA,OAAOiB,SAAS;EAClB,CAAC;EAED,IAAAmB,gBAAS,EAAC,MAAM;IACdN,cAAc,CAAC5D,KAAK,CAACmE,KAAK,CAAC;EAC7B,CAAC,EAAE,CAACnE,KAAK,CAACmE,KAAK,CAAC,CAAC;EAEjB,MAAMC,YAAY,GAAIrB,SAAgB,IAAW;IAAA;IAC/C,mBAAA/C,KAAK,CAACqE,QAAQ,oDAAd,qBAAArE,KAAK,EAAY+C,SAAS,CAACL,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,UAAU,CAAC,CAAC;IAClE,oBAAAxC,KAAK,CAACsE,UAAU,qDAAhB,sBAAAtE,KAAK,EAAc+C,SAAS,CAAC;EAC/B,CAAC;EAED,MAAMwB,eAAe,GAAG,MAAOxC,UAAkB,IAAoB;IACnE,MAAMyC,WAAW,GACfxE,KAAK,CAACuB,OAAO,KAAK,IAAI,GAClBQ,UAAU,CAAC0C,KAAK,CACd,oHAAoH,CACrH,GACD1C,UAAU,CAAC2C,KAAK,CAAC5E,SAAS,CAAC;IAEjC,IAAI0E,WAAW,EAAE;MACf,MAAMzB,SAAS,GAAG,CAChB,MAAM,IAAAC,+BAAsB,EAAChD,KAAK,CAACQ,QAAQ,EAAE;QAC3CoC,KAAK,EAAE;UACL+B,IAAI,EAAE,CACJ;YACE,CAAC3E,KAAK,CAACuB,OAAO,GAAG;cACfkB,GAAG,EAAE+B;YACP,CAAC;YACD,GAAGnE;UACL,CAAC,EACD,IAAIL,KAAK,CAAC4C,KAAK,GAAG5C,KAAK,CAAC4C,KAAK,GAAG,EAAE,CAAC;QAEvC,CAAC;QACDtC,UAAU;QACVO,MAAM,EAAEA,MAAM,IAAI;UAChB2B,UAAU,EAAE,IAAI;UAChB,CAACxC,KAAK,CAACuB,OAAO,GAAG;QACnB;MACF,CAAC,CAAC,EACF2B,IAAI;MAEN,MAAM0B,sBAAsB,GAAG7B,SAAS,CAAC8B,MAAM,CAAElC,QAAQ,IACvD6B,WAAW,CAACM,QAAQ,CAACnC,QAAQ,CAAC3C,KAAK,CAACuB,OAAO,CAAC,CAAC,CAC9C;MAED,MAAMwD,gBAAgB,GAAGH,sBAAsB,CAAClC,GAAG,CAChDC,QAAQ,IAAKA,QAAQ,CAAC3C,KAAK,CAACuB,OAAO,CAAC,CACtC;MACD,MAAMyD,kBAAkB,GAAGR,WAAW,CAACK,MAAM,CAC1CI,UAAU,IAAK,CAACF,gBAAgB,CAACD,QAAQ,CAACG,UAAU,CAAC,CACvD;MAEDrD,oBAAoB,CAAC;QACnBC,KAAK,EAAE+C,sBAAsB,IAAI,EAAE;QACnC9C,OAAO,EAAEkD,kBAAkB,IAAI;MACjC,CAAC,CAAC;MAEFZ,YAAY,CAACQ,sBAAsB,CAAC;IACtC;EACF,CAAC;EAED,MAAMM,wBAAwB,GAAG,MAAY;IAC3CzD,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;EAED,MAAM0D,yBAAyB,GAAG,MAAY;IAC5C1D,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,MAAM2D,uBAAuB,GAAG,MAC9BC,YAAsB,IACJ;IAClBF,yBAAyB,EAAE;IAE3B,MAAMpC,SAAS,GAAG,MAAMa,cAAc,CAACyB,YAAY,CAAC;IAEpDjB,YAAY,CAACrB,SAAS,CAAC;EACzB,CAAC;EAED,MAAMuC,kBAAkB,GAAIC,KAAoC,IAAW;IACzEvD,aAAa,CAACuD,KAAK,CAACC,MAAM,CAACrB,KAAK,CAAC;EACnC,CAAC;EAED,MAAMsB,eAAe,GAAG,MAAOF,KAE9B,IAAoB;IACnB,MAAMxD,UAAU,GAAGwD,KAAK,CAACC,MAAM,CAACrB,KAAK;IACrC,IAAIpC,UAAU,EAAE;MACd,IAAI,CAAC/B,KAAK,CAACiE,aAAa,EAAE;QACxB,MAAMM,eAAe,CAACxC,UAAU,CAAC;MACnC,CAAC,MAAM;QACL,MAAMyC,WAAW,GACfxE,KAAK,CAACuB,OAAO,KAAK,IAAI,GAClBQ,UAAU,CAAC0C,KAAK,CACd,oHAAoH,CACrH,GACD1C,UAAU,CAAC2C,KAAK,CAAC5E,SAAS,CAAC;QAEjC,MAAMiD,SAAS,GAAG,CAChB,MAAM,IAAAC,+BAAsB,EAAChD,KAAK,CAACQ,QAAQ,EAAE;UAC3CoC,KAAK,EAAE;YACL+B,IAAI,EAAE,CACJ;cACE,CAAC3E,KAAK,CAACuB,OAAO,GAAG;gBACfkB,GAAG,EAAE+B;cACP;YACF,CAAC,EACD,IAAIxE,KAAK,CAAC4C,KAAK,GAAG5C,KAAK,CAAC4C,KAAK,GAAG,EAAE,CAAC;UAEvC,CAAC;UACD/B,MAAM,EAAEA,MAAM,IAAI;YAChB2B,UAAU,EAAE,IAAI;YAChB,CAACxC,KAAK,CAACuB,OAAO,GAAG;UACnB;QACF,CAAC,CAAC,EACF2B,IAAI;QAENtB,oBAAoB,CAAC;UACnBC,KAAK,EAAEkB,SAAS,IAAI,EAAE;UACtBjB,OAAO,EAAE;QACX,CAAC,CAAC;QAEFsC,YAAY,CAACrB,SAAS,CAAC;MACzB;IACF,CAAC,MAAM;MACLnB,oBAAoB,CAAC;QACnBC,KAAK,EAAE,EAAE;QACTC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFsC,YAAY,CAAC,EAAE,CAAC;IAClB;IAEAlC,eAAe,CAAC,KAAK,CAAC;EACxB,CAAC;EAED,MAAMwD,4BAA4B,GAAG,MAAY;IAAA;IAC/C9D,oBAAoB,CAAC;MACnBC,KAAK,EAAEF,iBAAiB,CAACE,KAAK;MAC9BC,OAAO,EAAE;IACX,CAAC,CAAC;IACFE,aAAa,CACXL,iBAAiB,CAACE,KAAK,CACpBa,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAAC3C,KAAK,CAACuB,OAAO,CAAC,CAAC,CAC1CyC,IAAI,CAAClE,SAAS,CAAC,CACnB;IACD,oBAAAE,KAAK,CAACqE,QAAQ,qDAAd,sBAAArE,KAAK,EACH2B,iBAAiB,CAACE,KAAK,CAACa,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,UAAU,CAAC,CAC/D;EACH,CAAC;EAED,MAAMmD,IAAI,GAAG3F,KAAK,CAAC4F,cAAc,GAC7B5F,KAAK,CAAC4F,cAAc,GACpB1F,CAAC,CAAC2F,YAAC,CAACC,gBAAgB,CAAC;EAEzB,oBACE;IAAK,GAAG,EAAE7F;EAAI,gBACZ,6BAAC,WAAK;IACJ,KAAK,EAAEC,CAAC,CAAC2F,YAAC,CAACE,GAAG,CAAE;IAChB,OAAO,EAAEpE,iBAAiB,CAACG,OAAO,CAACS,MAAM,KAAK,CAAE;IAChD,QAAQ,EAAE,KAAM;IAChB,YAAY,EAAE,KAAM;IACpB,MAAM,EAAE,cACN,6BAAC,YAAM;MACL,IAAI,EAAC,SAAS;MACd,GAAG,EAAC,QAAQ;MACZ,OAAO,EAAEmD;IAA6B,GAErCxF,CAAC,CAAC2F,YAAC,CAACG,MAAM,CAAC,CACL,CACT;IACF,QAAQ,EAAEN;EAA6B,GAEtC1F,KAAK,CAACQ,QAAQ,KAAK,MAAM,IAAIR,KAAK,CAACuB,OAAO,KAAK,IAAI,GAC/C,GAAErB,CAAC,CAAC2F,YAAC,CAACI,wBAAwB,CAAE,GAAEtE,iBAAiB,CAACG,OAAO,CAACkC,IAAI,CAC/D,IAAI,CACJ,EAAC,GACF,GAAE9D,CAAC,CAAC2F,YAAC,CAACK,OAAO,CAAE,GAAE/E,SAAS,CAACgF,IAAK,IAAGxE,iBAAiB,CAACG,OAAO,CAACkC,IAAI,CAChE,IAAI,CACJ,EAAC,CACD,eACR,6BAAC,oCAAiB;IAChB,SAAS,EAAEhE,KAAK,CAACkB,SAAU;IAC3B,QAAQ,EAAElB,KAAK,CAACQ,QAAS;IACzB,OAAO,EAAEgB,OAAQ;IACjB,KAAK,EAAEmE,IAAK;IACZ,EAAE,EAAE3F,KAAK,CAAC4C,KAAM;IAChB,aAAa,EAAE;MAAEA,KAAK,EAAEvC,WAAW;MAAE+F,QAAQ,EAAEpG,KAAK,CAACa;IAAO,CAAE;IAC9D,UAAU,EAAEP,UAAW;IACvB,eAAe,EAAEqB,iBAAiB,CAACE,KAAK,CAACa,GAAG,CACzCC,QAAQ,IAAKA,QAAQ,CAACH,UAAU,CACjC;IACF,UAAU,EAAE4C,uBAAwB;IACpC,YAAY,EAAEpF,KAAK,CAACqG,YAAa;IACjC,QAAQ,EAAElB,yBAA0B;IACpC,YAAY,EAAEnF,KAAK,CAACsG,YAAa;IACjC,QAAQ,EAAEtG,KAAK,CAACuG,QAAS;IACzB,eAAe,EAAEvG,KAAK,CAACwG,eAAgB;IACvC,eAAe,EAAExG,KAAK,CAACyG,eAAgB;IACvC,oBAAoB,EAAEzG,KAAK,CAAC0G,oBAAqB;IACjD,sBAAsB,EAAE1G,KAAK,CAAC2G,sBAAuB;IACrD,eAAY;EAAc,EAC1B,eACF;IAAK,SAAS,EAAEC,qCAAK,CAACC;EAA8B,gBAClD,6BAAC,WAAK;IACJ,eAAY,mBAAmB;IAC/B,SAAS,EAAED,qCAAK,CAACE,UAAW;IAC5B,QAAQ,EAAExB,kBAAmB;IAC7B,KAAK,EAAEvD,UAAW;IAClB,OAAO,EAAE,MAAMG,eAAe,CAAC,IAAI,CAAE;IACrC,MAAM,EAAEuD,eAAgB;IACxB,UAAU,EAAEzF,KAAK,CAAC+G,UAAW;IAC7B,QAAQ,EAAE/G,KAAK,CAACgH;EAAc,EAC9B,eACF,6BAAC,YAAM;IACL,SAAS,EAAEJ,qCAAK,CAACK,WAAY;IAC7B,OAAO,EAAE/B,wBAAyB;IAClC,QAAQ,EAAElF,KAAK,CAACkH;EAAkB,GAEjCvB,IAAI,CACE,CACL,EACL3F,KAAK,CAACsC,cAAc,iBACnB,yEACE,6BAAC,oCAAiB;IAChB,SAAS,EAAEtC,KAAK,CAACkB,SAAU;IAC3B,QAAQ,EAAElB,KAAK,CAACQ,QAAS;IACzB,OAAO,EAAE2B,cAAe;IACxB,KAAK,EAAEjC,CAAC,CAAC2F,YAAC,CAACsB,uBAAuB,CAAE;IACpC,EAAE,EAAE9E,sBAAuB;IAC3B,aAAa,EAAE;MAAEO,KAAK,EAAEvC,WAAW;MAAE+F,QAAQ,EAAEpG,KAAK,CAACa;IAAO,CAAE;IAC9D,UAAU,EAAEP,UAAW;IACvB,QAAQ,EAAE,MAAM8B,iBAAiB,CAAC,KAAK,CAAE;IACzC,YAAY,EAAEpC,KAAK,CAACsG,YAAa;IACjC,cAAc;IACd,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,QAAQ,EAAEtG,KAAK,CAACuG,QAAS;IACzB,eAAe,EAAEvG,KAAK,CAACwG,eAAgB;IACvC,eAAe,EAAExG,KAAK,CAACyG,eAAgB;IACvC,eAAY;EAAe,EAC3B,eACF,6BAAC,YAAM;IACL,IAAI,EAAC,MAAM;IACX,IAAI,EAAC,OAAO;IACZ,QAAQ,EAAE,CAACpE,sBAAsB,IAAIJ,YAAa;IAClD,OAAO,EAAE,MAAMG,iBAAiB,CAAC,IAAI,CAAE;IACvC,eAAY;EAAgB,GAE3BlC,CAAC,CAAC2F,YAAC,CAACsB,uBAAuB,CAAC,CACtB,CAEZ,CACG;AAEV,CAAC;AAAC;AAEK,MAAMC,0BAA0B,gBAAG,IAAAC,iBAAU,EAGlDtH,gCAAgC,CAAC;AAAC"}
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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"}
@@ -112,6 +112,7 @@ function InstanceListModal(props) {
112
112
  objectId: props.objectId,
113
113
  objectList: Object.values(props.objectMap),
114
114
  presetConfigs: presetConfigs,
115
+ extraFilterBricks: props.extraFilterBricks,
115
116
  permission: props.permission,
116
117
  aliveHosts: fixAliveHosts,
117
118
  fixAliveHosts: fixAliveHosts,
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","handleOk","length","every","i","resp","InstanceApi_postSearch","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport { ReadPaginationChangeDetail } from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","handleOk","length","every","i","resp","InstanceApi_postSearch","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
@@ -247,6 +247,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
247
247
  onCancel: closeInvalidFieldValuesModal
248
248
  }, props.objectId === "HOST" && props.fieldId === "ip" ? "".concat(t(K.INVALID_OR_FORBIDDEN_IPS)).concat(selectedInstances.invalid.join(", ")) : "".concat(t(K.INVALID)).concat(fieldData.name, "\uFF1A").concat(selectedInstances.invalid.join(", "))), /*#__PURE__*/React.createElement(InstanceListModal, {
249
249
  objectMap: props.objectMap,
250
+ extraFilterBricks: props.extraFilterBricks,
250
251
  objectId: props.objectId,
251
252
  visible: visible,
252
253
  title: text,
@@ -284,6 +285,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
284
285
  disabled: props.addButtonDisabled
285
286
  }, text)), props.previewEnabled && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InstanceListModal, {
286
287
  objectMap: props.objectMap,
288
+ extraFilterBricks: props.extraFilterBricks,
287
289
  objectId: props.objectId,
288
290
  visible: previewVisible,
289
291
  title: t(K.VIEW_SPECIFIC_INSTANCES),
@@ -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","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\";\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}\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 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 objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CmdbInstancesInputFormItem.js","names":["React","forwardRef","useState","useEffect","useMemo","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","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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"}
@@ -110,6 +110,7 @@ export function InstanceListModal(props) {
110
110
  objectId: props.objectId,
111
111
  objectList: Object.values(props.objectMap),
112
112
  presetConfigs: presetConfigs,
113
+ extraFilterBricks: props.extraFilterBricks,
113
114
  permission: props.permission,
114
115
  aliveHosts: fixAliveHosts,
115
116
  fixAliveHosts: fixAliveHosts,
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","handleOk","length","every","i","resp","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","t","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport { ReadPaginationChangeDetail } from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,KAAK,EAAEC,MAAM,QAAQ,MAAM;AACpC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAAqBC,sBAAsB,QAAQ,oBAAoB;AAEvE,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,SAASC,YAAY,QAAQ,+BAA+B;AAE5D,SAASC,iBAAiB,QAAQ,SAAS;AAE3CA,iBAAiB,EAAE;AAyCnB,OAAO,SAASC,iBAAiB,CAC/BC,KAA6B,EACT;EAAA;EACpB,IAAM,CAACC,wBAAwB,EAAEC,2BAA2B,CAAC,GAAGb,QAAQ,CAAC,EAAE,CAAC;;EAE5E;EACA,IAAMc,QAAQ;IAAA,6BAAG,aAAY;MAAA;MAC3B,IACEF,wBAAwB,CAACG,MAAM,IAC/BH,wBAAwB,CAACI,KAAK,CAAEC,CAAC,IAAK,OAAOA,CAAC,KAAK,QAAQ,CAAC,EAC5D;QAAA;QACA,IAAMC,IAAI,SAASb,sBAAsB,CAACM,KAAK,CAACQ,QAAQ,EAAE;UACxDC,KAAK,EAAE;YACLC,UAAU,EAAE;cACVC,GAAG,EAAEV;YACP;UACF,CAAC;UACDW,SAAS,EAAEX,wBAAwB,CAACG;QACtC,CAAC,CAAC;QACF,qBAAAJ,KAAK,CAACa,UAAU,sDAAhB,uBAAAb,KAAK,EAAcC,wBAAwB,CAAC;QAC5C,sBAAAD,KAAK,CAACc,YAAY,uDAAlB,wBAAAd,KAAK,EAAgBO,IAAI,CAACQ,IAAI,CAAC;QAC/B;MACF;MAEA,sBAAAf,KAAK,CAACa,UAAU,uDAAhB,wBAAAb,KAAK,EACHC,wBAAwB,CAACe,GAAG,CACzBC,gBAAgB,IAAKA,gBAAgB,CAACP,UAAU,CAClD,CACF;MACD,uBAAAV,KAAK,CAACc,YAAY,wDAAlB,yBAAAd,KAAK,EAAgBC,wBAAwB,CAAC;IAChD,CAAC;IAAA,gBAxBKE,QAAQ;MAAA;IAAA;EAAA,GAwBb;EACD;EACA,IAAMe,YAAY,GAAG,MAAM;IAAA;IACzB;IACAhB,2BAA2B,0BAACF,KAAK,CAACmB,eAAe,yEAAI,EAAE,CAAC;IACxDnB,KAAK,CAACoB,QAAQ,EAAE;EAClB,CAAC;EACD;EACA,IAAMC,qBAAqB,GAAIC,KAG9B,IAAK;IACJ,IAAIA,KAAK,CAACC,aAAa,CAACnB,MAAM,GAAGkB,KAAK,CAACE,YAAY,CAACpB,MAAM,EAAE;MAC1DF,2BAA2B,CAACoB,KAAK,CAACE,YAAY,CAAC;IACjD,CAAC,MAAM;MACLtB,2BAA2B,CAACoB,KAAK,CAACC,aAAa,CAAC;IAClD;EACF,CAAC;EACD;EACA,IAAME,sBAAsB,GAAIH,KAG/B,IAAK;IAAA;IACJ,yBAAAtB,KAAK,CAAC0B,iBAAiB,0DAAvB,2BAAA1B,KAAK,EAAqBsB,KAAK,CAAC;EAClC,CAAC;EACD,IAAMK,aAAa,2BAAG3B,KAAK,CAAC2B,aAAa,uEAAI;IAC3ClB,KAAK,EAAET,KAAK,CAACS;EACf,CAAC;EAED,IAAMmB,aAAa,GAAG,yBAAAD,aAAa,CAAClB,KAAK,yDAAnB,qBAAqBoB,YAAY,MAAK,IAAI;EAEhEzC,KAAK,CAAC0C,SAAS,CAAC,MAAM;IACpB,IAAI9B,KAAK,CAACmB,eAAe,EAAE;MACzBjB,2BAA2B,CAACF,KAAK,CAACmB,eAAe,CAACY,MAAM,CAACC,OAAO,CAAC,CAAC;IACpE;EACF,CAAC,EAAE,CAAChC,KAAK,CAACmB,eAAe,CAAC,CAAC;EAE3B,IAAMc,YAAY,GAAG,MAA0B;IAC7C,oBACE,0CACGjC,KAAK,CAACkC,YAAY,IAAIjC,wBAAwB,CAACG,MAAM,GAAG,CAAC,iBACxD;MAAM,KAAK,EAAE;QAAE+B,KAAK,EAAE,SAAS;QAAEC,WAAW,EAAE;MAAO;IAAE,gBACrD,oBAAC,eAAe;MACd,KAAK,EAAE;QAAED,KAAK,EAAE,SAAS;QAAEC,WAAW,EAAE;MAAO;IAAE,EACjD,EACD3C,IAAI,CAAC4C,CAAC,WACFzC,sBAAsB,cAAID,CAAC,CAAC2C,4BAA4B,EAC5D,CAEJ,EACA,CAACtC,KAAK,CAACuC,cAAc,IAAIvC,KAAK,CAACwC,YAAY,kBAC1C,oBAAC,MAAM;MAAC,GAAG,EAAC,MAAM;MAAC,OAAO,EAAExC,KAAK,CAACoB;IAAS,GACxC3B,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAAC8C,KAAK,EAAG,CAElD,EACA,CAACzC,KAAK,CAACuC,cAAc,IAAI,CAACvC,KAAK,CAACwC,YAAY,iBAC3C,uDACE,oBAAC,MAAM;MAAC,GAAG,EAAC,MAAM;MAAC,OAAO,EAAEtB,YAAa;MAAC,IAAI,EAAC;IAAM,GAClDzB,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAAC+C,MAAM,EAAG,CACzC,eACT,oBAAC,MAAM;MACL,GAAG,EAAC,QAAQ;MACZ,IAAI,EAAC,SAAS;MACd,OAAO,EAAEvC,QAAS;MAClB,QAAQ,EACN,CAACF,wBAAwB,CAACG,MAAM,IAC/BJ,KAAK,CAACkC,YAAY,IAAIjC,wBAAwB,CAACG,MAAM,GAAG;IAC1D,GAEAX,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAACgD,OAAO,EAAG,CAC1C,CAEZ,CACA;EAEP,CAAC;EACD,oBACE,oBAAC,KAAK;IACJ,KAAK,EAAE3C,KAAK,CAAC4C,KAAM;IACnB,OAAO,EAAE5C,KAAK,CAAC6C,OAAQ;IACvB,KAAK,EAAE,GAAI;IACX,IAAI,EAAE1C,QAAS;IACf,QAAQ,EAAEe,YAAa;IACvB,cAAc,EAAE,IAAK;IACrB,MAAM,EAAEe,YAAY,EAAG;IACvB,MAAM,wBAAEjC,KAAK,CAAC8C,WAAW,mEAAI;EAAK,gBAElC;IAAK,KAAK,EAAE;MAAEC,SAAS,EAAE,GAAG;MAAEC,QAAQ,EAAE;IAAO;EAAE,gBAC/C,oBAAC,YAAY;IACX,EAAE,EAAEhD,KAAK,CAACiD,EAAG;IACb,QAAQ,EAAEjD,KAAK,CAACQ,QAAS;IACzB,UAAU,EAAE0C,MAAM,CAACC,MAAM,CAACnD,KAAK,CAACoD,SAAS,CAAE;IAC3C,aAAa,EAAEzB,aAAc;IAC7B,UAAU,EAAE3B,KAAK,CAACqD,UAAW;IAC7B,UAAU,EAAEzB,aAAc;IAC1B,aAAa,EAAEA,aAAc;IAC7B,mBAAmB,EAAE5B,KAAK,CAACsD,mBAAoB;IAC/C,cAAc,EAAEtD,KAAK,CAACuD,cAAe;IACrC,4BAA4B,EAAEvD,KAAK,CAACwD,4BAA6B;IACjE,sBAAsB,EAAExD,KAAK,CAACyD,sBAAuB;IACrD,kBAAkB,EAAEzD,KAAK,CAAC0D,kBAAmB;IAC7C,mBAAmB,EAAE1D,KAAK,CAAC2D,mBAAoB;IAC/C,mBAAmB,EAAE3D,KAAK,CAAC4D,mBAAoB;IAC/C,YAAY,EAAE5D,KAAK,CAAC6D,YAAa;IACjC,cAAc,EAAE7D,KAAK,CAACuC,cAAe;IACrC,eAAe,EAAEvC,KAAK,CAACmB,eAAgB;IACvC,iBAAiB,EAAEE,qBAAsB;IACzC,eAAe,EAAErB,KAAK,CAAC8D,eAAgB;IACvC,eAAe,EAAE9D,KAAK,CAAC+D,eAAgB;IACvC,QAAQ,EAAE/D,KAAK,CAACgE,QAAQ,IAAI,EAAG;IAC/B,IAAI,EAAEhE,KAAK,CAACiE,IAAK;IACjB,YAAY,EAAEjE,KAAK,CAACkE,YAAa;IACjC,iBAAiB,EAAElE,KAAK,CAACmE,iBAAkB;IAC3C,oBAAoB,EAAEnE,KAAK,CAACoE,oBAAqB;IACjD,oBAAoB,EAAEpE,KAAK,CAACqE,oBAAqB;IACjD,MAAM,EAAErE,KAAK,CAACsE,MAAO;IACrB,gBAAgB,EAAEtE,KAAK,CAACuE,gBAAiB;IACzC,kBAAkB,EAAE9C,sBAAuB;IAC3C,gBAAgB,EAAEzB,KAAK,CAACwE,gBAAiB;IACzC,kBAAkB,EAAExE,KAAK,CAACyE;EAAmB,EAC7C,CACE,CACA;AAEZ"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","handleOk","length","every","i","resp","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","t","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { CmdbModels } from "@next-sdk/cmdb-sdk";
3
+ import { UseBrickConf } from "@next-core/brick-types";
3
4
  export interface CmdbInstancesInputFormItemProps {
4
5
  selectFromText?: string;
5
6
  objectMap?: {
@@ -32,6 +33,9 @@ export interface CmdbInstancesInputFormItemProps {
32
33
  showSizeChanger?: boolean;
33
34
  hideSearchConditions?: boolean;
34
35
  advancedSearchDisabled?: boolean;
36
+ extraFilterBricks?: {
37
+ useBrick: UseBrickConf;
38
+ };
35
39
  }
36
40
  export declare const LegacyCmdbInstancesInputFormItem: (props: CmdbInstancesInputFormItemProps, ref: React.Ref<HTMLDivElement>) => React.ReactElement;
37
41
  export declare const CmdbInstancesInputFormItem: React.ForwardRefExoticComponent<CmdbInstancesInputFormItemProps & React.RefAttributes<HTMLDivElement>>;
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { CmdbModels } from "@next-sdk/cmdb-sdk";
3
3
  import { Query } from "@next-libs/cmdb-utils";
4
4
  import { InstanceListPresetConfigs } from "../instance-list-table/interfaces";
5
- import { ReadPaginationChangeDetail } from "@next-core/brick-types";
5
+ import { ReadPaginationChangeDetail, UseBrickConf } from "@next-core/brick-types";
6
6
  export interface InstanceListModalProps {
7
7
  objectMap: {
8
8
  [key: string]: Partial<CmdbModels.ModelCmdbObject>;
@@ -45,5 +45,8 @@ export interface InstanceListModalProps {
45
45
  getPaginationData?(pagination: ReadPaginationChangeDetail): void;
46
46
  extraFixedFields?: string[];
47
47
  limitInstanceRange?: boolean;
48
+ extraFilterBricks?: {
49
+ useBrick: UseBrickConf;
50
+ };
48
51
  }
49
52
  export declare function InstanceListModal(props: InstanceListModalProps): React.ReactElement;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.1.20",
3
+ "version": "7.2.0",
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": "fe93d47c759a2baf8532d9f24c2343d7a27d9937"
53
+ "gitHead": "cd3480fdef6804bd38328c2d0cedb69d63b3d728"
54
54
  }