@next-libs/cmdb-instances 7.5.0 → 7.6.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.
Files changed (35) hide show
  1. package/dist/cjs/i18n/constants.js +2 -0
  2. package/dist/cjs/i18n/constants.js.map +1 -1
  3. package/dist/cjs/i18n/locales/en.js +3 -1
  4. package/dist/cjs/i18n/locales/en.js.map +1 -1
  5. package/dist/cjs/i18n/locales/zh.js +3 -1
  6. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  7. package/dist/cjs/instance-list/FilterInstanceSource.js +144 -0
  8. package/dist/cjs/instance-list/FilterInstanceSource.js.map +1 -0
  9. package/dist/cjs/instance-list/IconButton.js +10 -0
  10. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  11. package/dist/cjs/instance-list/InstanceList.js +48 -0
  12. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  13. package/dist/cjs/instance-list-modal/InstanceListModal.js +6 -1
  14. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  15. package/dist/esm/i18n/constants.js +2 -0
  16. package/dist/esm/i18n/constants.js.map +1 -1
  17. package/dist/esm/i18n/locales/en.js +3 -1
  18. package/dist/esm/i18n/locales/en.js.map +1 -1
  19. package/dist/esm/i18n/locales/zh.js +3 -1
  20. package/dist/esm/i18n/locales/zh.js.map +1 -1
  21. package/dist/esm/instance-list/FilterInstanceSource.js +138 -0
  22. package/dist/esm/instance-list/FilterInstanceSource.js.map +1 -0
  23. package/dist/esm/instance-list/FilterInstanceSource.module.css +13 -0
  24. package/dist/esm/instance-list/IconButton.js +10 -0
  25. package/dist/esm/instance-list/IconButton.js.map +1 -1
  26. package/dist/esm/instance-list/InstanceList.js +52 -4
  27. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  28. package/dist/esm/instance-list-modal/InstanceListModal.js +6 -1
  29. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  30. package/dist/types/i18n/constants.d.ts +3 -1
  31. package/dist/types/instance-list/FilterInstanceSource.d.ts +15 -0
  32. package/dist/types/instance-list/FilterInstanceSource.spec.d.ts +1 -0
  33. package/dist/types/instance-list/InstanceList.d.ts +11 -0
  34. package/dist/types/instance-list-modal/InstanceListModal.d.ts +6 -0
  35. package/package.json +2 -2
@@ -156,7 +156,12 @@ export function InstanceListModal(props) {
156
156
  rowSelectionType: props.rowSelectionType,
157
157
  onPaginationChange: handlePaginationChange,
158
158
  extraFixedFields: props.extraFixedFields,
159
- limitInstanceRange: props.limitInstanceRange
159
+ limitInstanceRange: props.limitInstanceRange,
160
+ showFilterInstanceSource: props.showFilterInstanceSource,
161
+ filterInstanceSource: props.filterInstanceSource,
162
+ onFilterInstanceSourceChange: props.onFilterInstanceSourceChange,
163
+ objectIdQuery: props.objectIdQuery,
164
+ onFilterObjectIdChange: props.onFilterObjectIdChange
160
165
  })));
161
166
  }
162
167
  //# sourceMappingURL=InstanceListModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","Tooltip","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","showBindButton","bindButtonDisabled","disabledTooltip","t","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","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, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { 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 showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n disabledTooltip?: string;\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 const { showBindButton, bindButtonDisabled, disabledTooltip } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n 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":";AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,KAAK,EAAEC,MAAM,EAAEC,OAAO,QAAQ,MAAM;AAC7C,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;AAK3CA,iBAAiB,EAAE;AAgDnB,OAAO,SAASC,iBAAiB,CAC/BC,KAA6B,EACT;EAAA;EACpB,IAAM,CAACC,wBAAwB,EAAEC,2BAA2B,CAAC,GAAGd,QAAQ,CAAC,EAAE,CAAC;;EAE5E;EACA,IAAMe,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;EAEhE1C,KAAK,CAAC2C,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,IAAM;MAAEC,cAAc;MAAEC,kBAAkB;MAAEC;IAAgB,CAAC,GAAGpC,KAAK;IACrE,oBACE,0CACG,CAAC,CAACkC,cAAc,KACdC,kBAAkB,gBACjB,oBAAC,OAAO;MACN,KAAK,EACHC,eAAe,IACf3C,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAAC2C,iBAAiB;IACxD,gBAED,oBAAC,MAAM;MAAC,KAAK,EAAE;QAAEC,QAAQ,EAAE,UAAU;QAAEC,IAAI,EAAE;MAAO,CAAE;MAAC,QAAQ;IAAA,GAC5D/C,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAAC8C,eAAe,EAAG,CAClD,CACD,gBAEV,oBAAC,MAAM;MACL,KAAK,EAAE;QAAEF,QAAQ,EAAE,UAAU;QAAEC,IAAI,EAAE;MAAO,CAAE;MAC9C,OAAO,EAAExC,KAAK,CAAC0C;IAAU,GAExBjD,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAAC8C,eAAe,EAAG,CAE5D,CAAC,EACHzC,KAAK,CAAC2C,YAAY,IAAI1C,wBAAwB,CAACG,MAAM,GAAG,CAAC,iBACxD;MAAM,KAAK,EAAE;QAAEwC,KAAK,EAAE,SAAS;QAAEC,WAAW,EAAE;MAAO;IAAE,gBACrD,oBAAC,eAAe;MACd,KAAK,EAAE;QAAED,KAAK,EAAE,SAAS;QAAEC,WAAW,EAAE;MAAO;IAAE,EACjD,EACDpD,IAAI,CAAC4C,CAAC,WACFzC,sBAAsB,cAAID,CAAC,CAACmD,4BAA4B,EAC5D,CAEJ,EACA,CAAC9C,KAAK,CAAC+C,cAAc,IAAI/C,KAAK,CAACgD,YAAY,kBAC1C,oBAAC,MAAM;MAAC,GAAG,EAAC,MAAM;MAAC,OAAO,EAAEhD,KAAK,CAACoB;IAAS,GACxC3B,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAACsD,KAAK,EAAG,CAElD,EACA,CAACjD,KAAK,CAAC+C,cAAc,IAAI,CAAC/C,KAAK,CAACgD,YAAY,iBAC3C,uDACE,oBAAC,MAAM;MAAC,GAAG,EAAC,MAAM;MAAC,OAAO,EAAE9B,YAAa;MAAC,IAAI,EAAC;IAAM,GAClDzB,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAACuD,MAAM,EAAG,CACzC,eACT,oBAAC,MAAM;MACL,GAAG,EAAC,QAAQ;MACZ,IAAI,EAAC,SAAS;MACd,OAAO,EAAE/C,QAAS;MAClB,QAAQ,EACN,CAACF,wBAAwB,CAACG,MAAM,IAC/BJ,KAAK,CAAC2C,YAAY,IAAI1C,wBAAwB,CAACG,MAAM,GAAG;IAC1D,GAEAX,IAAI,CAAC4C,CAAC,WAAIzC,sBAAsB,cAAID,CAAC,CAACwD,OAAO,EAAG,CAC1C,CAEZ,CACA;EAEP,CAAC;EACD,oBACE,oBAAC,KAAK;IACJ,KAAK,EAAEnD,KAAK,CAACoD,KAAM;IACnB,OAAO,EAAEpD,KAAK,CAACqD,OAAQ;IACvB,KAAK,EAAE,GAAI;IACX,IAAI,EAAElD,QAAS;IACf,QAAQ,EAAEe,YAAa;IACvB,cAAc,EAAE,IAAK;IACrB,MAAM,EAAEe,YAAY,EAAG;IACvB,MAAM,wBAAEjC,KAAK,CAACsD,WAAW,mEAAI;EAAK,gBAElC;IAAK,KAAK,EAAE;MAAEC,SAAS,EAAE,GAAG;MAAEC,QAAQ,EAAE;IAAO;EAAE,gBAC/C,oBAAC,YAAY;IACX,EAAE,EAAExD,KAAK,CAACyD,EAAG;IACb,QAAQ,EAAEzD,KAAK,CAACQ,QAAS;IACzB,UAAU,EAAEkD,MAAM,CAACC,MAAM,CAAC3D,KAAK,CAAC4D,SAAS,CAAE;IAC3C,aAAa,EAAEjC,aAAc;IAC7B,iBAAiB,EAAE3B,KAAK,CAAC6D,iBAAkB;IAC3C,UAAU,EAAE7D,KAAK,CAAC8D,UAAW;IAC7B,UAAU,EAAElC,aAAc;IAC1B,aAAa,EAAEA,aAAc;IAC7B,mBAAmB,EAAE5B,KAAK,CAAC+D,mBAAoB;IAC/C,cAAc,EAAE/D,KAAK,CAACgE,cAAe;IACrC,4BAA4B,EAAEhE,KAAK,CAACiE,4BAA6B;IACjE,sBAAsB,EAAEjE,KAAK,CAACkE,sBAAuB;IACrD,kBAAkB,EAAElE,KAAK,CAACmE,kBAAmB;IAC7C,mBAAmB,EAAEnE,KAAK,CAACoE,mBAAoB;IAC/C,mBAAmB,EAAEpE,KAAK,CAACqE,mBAAoB;IAC/C,YAAY,EAAErE,KAAK,CAACsE,YAAa;IACjC,cAAc,EAAEtE,KAAK,CAAC+C,cAAe;IACrC,eAAe,EAAE/C,KAAK,CAACmB,eAAgB;IACvC,iBAAiB,EAAEE,qBAAsB;IACzC,eAAe,EAAErB,KAAK,CAACuE,eAAgB;IACvC,eAAe,EAAEvE,KAAK,CAACwE,eAAgB;IACvC,QAAQ,EAAExE,KAAK,CAACyE,QAAQ,IAAI,EAAG;IAC/B,IAAI,EAAEzE,KAAK,CAAC0E,IAAK;IACjB,YAAY,EAAE1E,KAAK,CAAC2E,YAAa;IACjC,iBAAiB,EAAE3E,KAAK,CAAC4E,iBAAkB;IAC3C,oBAAoB,EAAE5E,KAAK,CAAC6E,oBAAqB;IACjD,oBAAoB,EAAE7E,KAAK,CAAC8E,oBAAqB;IACjD,MAAM,EAAE9E,KAAK,CAAC+E,MAAO;IACrB,gBAAgB,EAAE/E,KAAK,CAACgF,gBAAiB;IACzC,kBAAkB,EAAEvD,sBAAuB;IAC3C,gBAAgB,EAAEzB,KAAK,CAACiF,gBAAiB;IACzC,kBAAkB,EAAEjF,KAAK,CAACkF;EAAmB,EAC7C,CACE,CACA;AAEZ"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","Tooltip","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","showBindButton","bindButtonDisabled","disabledTooltip","t","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\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 showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\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 const { showBindButton, bindButtonDisabled, disabledTooltip } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
@@ -107,7 +107,9 @@ export declare enum K {
107
107
  VIEW_SPECIFIC_INSTANCES = "VIEW_SPECIFIC_INSTANCES",
108
108
  VIEW_MORE = "VIEW_MORE",
109
109
  CREATE_AND_BIND = "CREATE_AND_BIND",
110
- PERMISSION_DENIED = "PERMISSION_DENIED"
110
+ PERMISSION_DENIED = "PERMISSION_DENIED",
111
+ CLICK_TO_FILTER_INSTANCE_SOURCE = "CLICK_TO_FILTER_INSTANCE_SOURCE",
112
+ SEARCH_MODEL = "SEARCH_MODEL"
111
113
  }
112
114
  export declare type Locale = {
113
115
  [key in K]: string;
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { filterObjectIdQuery } from "./InstanceList";
3
+ interface FilterInstanceSourceProps {
4
+ visible?: boolean;
5
+ checked?: boolean;
6
+ onIconClicKChange?(checked: boolean): void;
7
+ inheritanceModelIdNameMap?: Record<string, string>;
8
+ value?: string;
9
+ onChange: (value: filterObjectIdQuery) => void;
10
+ onPopoverVisibleChange?(visible: boolean): void;
11
+ jsonLocalStorage?: any;
12
+ isAbstract?: boolean;
13
+ }
14
+ declare const _default: React.NamedExoticComponent<FilterInstanceSourceProps>;
15
+ export default _default;
@@ -26,6 +26,12 @@ export declare function translateConditions(aq: Query[], idObjectMap: Record<str
26
26
  valuesStr: string;
27
27
  }[];
28
28
  export declare const initAqToShow: (aq: Query[], modelData: Partial<CmdbModels.ModelCmdbObject>, isToShow?: boolean) => any[];
29
+ export interface filterObjectIdQuery {
30
+ objectId?: string;
31
+ objectName?: string;
32
+ query?: Record<string, string>;
33
+ checked?: boolean;
34
+ }
29
35
  interface InstanceListProps {
30
36
  objectId: string;
31
37
  objectList?: Partial<CmdbModels.ModelCmdbObject>[];
@@ -107,6 +113,11 @@ interface InstanceListProps {
107
113
  useBrick: UseBrickConf;
108
114
  };
109
115
  updateDataTime?: number;
116
+ showFilterInstanceSource?: boolean;
117
+ filterInstanceSource?: boolean;
118
+ onFilterInstanceSourceChange?(value: boolean): void;
119
+ onFilterObjectIdChange?(query: filterObjectIdQuery): void;
120
+ objectIdQuery?: string;
110
121
  }
111
122
  export declare function LegacyInstanceList(props: InstanceListProps): React.ReactElement;
112
123
  /**
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { CmdbModels } from "@next-sdk/cmdb-sdk";
3
3
  import { Query } from "@next-libs/cmdb-utils";
4
+ import { filterObjectIdQuery } from "../instance-list/InstanceList";
4
5
  import { InstanceListPresetConfigs } from "../instance-list-table/interfaces";
5
6
  import { ReadPaginationChangeDetail, UseBrickConf } from "@next-core/brick-types";
6
7
  export interface InstanceListModalProps {
@@ -52,5 +53,10 @@ export interface InstanceListModalProps {
52
53
  bindEvent?: () => void;
53
54
  bindButtonDisabled?: boolean;
54
55
  disabledTooltip?: string;
56
+ showFilterInstanceSource?: boolean;
57
+ filterInstanceSource?: boolean;
58
+ onFilterInstanceSourceChange?(value: boolean): void;
59
+ onFilterObjectIdChange?(value: filterObjectIdQuery): void;
60
+ objectIdQuery?: string;
55
61
  }
56
62
  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.5.0",
3
+ "version": "7.6.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": "da71173b81cae6907a7125d7578e9807f954b84f"
53
+ "gitHead": "7748cf46b6d7006435573b9d73e5096de5034b14"
54
54
  }