@next-libs/cmdb-instances 7.28.10 → 7.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/instance-list/InstanceList.js +34 -11
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +6 -2
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +35 -12
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +6 -2
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/types/instance-list/InstanceList.d.ts +6 -1
- package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -0
- package/package.json +2 -2
|
@@ -41,7 +41,7 @@ function DisplaySettingsModal(props) {
|
|
|
41
41
|
t
|
|
42
42
|
} = (0, _reactI18next.useTranslation)(_constants.NS_LIBS_CMDB_INSTANCES);
|
|
43
43
|
const sortAttrList = sortFields ? sortFields.map(v => v.field) : [];
|
|
44
|
-
const sortCurrentFields = sortField(currentFields, sortAttrList);
|
|
44
|
+
const sortCurrentFields = sortField([...(currentFields !== null && currentFields !== void 0 ? currentFields : [])], sortAttrList);
|
|
45
45
|
const [nextFields, setNextFields] = (0, _react.useState)(sortCurrentFields);
|
|
46
46
|
const [sortSettingsVisible, setSortSettingsVisible] = (0, _react.useState)(false);
|
|
47
47
|
const [originalNextFields, setOriginalNextFields] = (0, _react.useState)(sortCurrentFields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettingsModal.js","names":["_antd","require","_react","_interopRequireWildcard","_reactI18next","_constants","_DisplaySettings","_SortSettings","_brickKit","_icons","sortField","dataSource","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","useState","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","useMemo","filter","length","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","default","createElement","Menu","Item","disabled","onClick","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","Modal","title","DISPLAY_SETTINGS","footer","style","display","Dropdown","overlay","placement","trigger","Button","type","icon","EllipsisOutlined","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","DisplaySettings","onChange","SortSettings","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { SortSettings } from \"./SortSettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n sortFields?: { field: string; order: number }[];\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nconst sortField = (dataSource: string[] = [], order: string[]) => {\n return dataSource?.sort((a: string, b: string) => {\n const indexA = order.indexOf(a);\n const indexB = order.indexOf(b);\n return indexA - indexB;\n });\n};\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n sortFields,\n onOk,\n onCancel,\n } = props;\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const sortAttrList = sortFields ? sortFields.map((v) => v.field) : [];\n const sortCurrentFields = sortField(currentFields, sortAttrList);\n\n const [nextFields, setNextFields] = useState<string[]>(sortCurrentFields);\n const [sortSettingsVisible, setSortSettingsVisible] =\n useState<boolean>(false);\n const [originalNextFields, setOriginalNextFields] =\n useState<string[]>(sortCurrentFields);\n\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n onCancel?.();\n };\n\n const handleSortFields = (): void => {\n setSortSettingsVisible(true);\n setOriginalNextFields(nextFields ? [...nextFields] : []);\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n\n const handleSortEnd = (data: any): void => {\n setNextFields(data);\n };\n\n const handleSortSettingCancel = (): void => {\n setSortSettingsVisible(false);\n setNextFields(originalNextFields ? [...originalNextFields] : []);\n };\n\n const handleSortSettingOk = (): void => {\n setSortSettingsVisible(false);\n setNextFields(nextFields ? [...nextFields] : []);\n props?.onOk({ fields: nextFields });\n };\n\n return (\n <>\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault &&\n saveFieldsBackend &&\n !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n onClick={handleSortFields}\n data-testid=\"sort-settings-button\"\n >\n {t(K.SORT_SETTINGS)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n <Modal\n title={t(K.SORT_SETTINGS)}\n visible={sortSettingsVisible}\n destroyOnClose={true}\n centered={true}\n onCancel={handleSortSettingCancel}\n onOk={handleSortSettingOk}\n >\n <SortSettings\n rowKey=\"id\"\n modelData={modelData}\n currentFields={nextFields}\n onSortEnd={handleSortEnd}\n />\n </Modal>\n </>\n );\n}\n"],"mappings":";;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AARA;;AA0BA,MAAMS,SAAS,GAAGA,CAACC,UAAoB,GAAG,EAAE,EAAEC,KAAe,KAAK;EAChE,OAAOD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,IAAI,CAAC,CAACC,CAAS,EAAEC,CAAS,KAAK;IAChD,MAAMC,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAACH,CAAC,CAAC;IAC/B,MAAMI,MAAM,GAAGN,KAAK,CAACK,OAAO,CAACF,CAAC,CAAC;IAC/B,OAAOC,MAAM,GAAGE,MAAM;EACxB,CAAC,CAAC;AACJ,CAAC;AACM,SAASC,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,MAAM;IACJC,OAAO;IACPC,QAAQ;IACRC,SAAS;IACTC,iBAAiB;IACjBC,kBAAkB;IAClBC,aAAa;IACbC,aAAa;IACbC,kBAAkB;IAClBC,mBAAmB;IACnBC,UAAU;IACVC,IAAI;IACJC;EACF,CAAC,GAAGZ,KAAK;EAET,MAAM;IAAEa;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAACC,iCAAsB,CAAC;EACpD,MAAMC,YAAY,GAAGN,UAAU,GAAGA,UAAU,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,GAAG,EAAE;EACrE,MAAMC,iBAAiB,GAAG9B,SAAS,CAACgB,aAAa,EAAEU,YAAY,CAAC;EAEhE,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAWH,iBAAiB,CAAC;EACzE,MAAM,CAACI,mBAAmB,EAAEC,sBAAsB,CAAC,GACjD,IAAAF,eAAQ,EAAU,KAAK,CAAC;EAC1B,MAAM,CAACG,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C,IAAAJ,eAAQ,EAAWH,iBAAiB,CAAC;EAEvC,MAAMQ,KAAK,GAAG,IAAAC,cAAO,EACnB,MAAMR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,MAAM,CAAEZ,CAAC,IAAKA,CAAC,KAAK,YAAY,CAAC,CAACa,MAAM,EAC1D,CAACV,UAAU,CACb,CAAC;EAED,MAAMW,WAAW,GAAGA,CAAA,KAAY;IAC9B,MAAMC,MAAM,GAAG1B,aAAa,GAAGA,aAAa,CAAC2B,KAAK,CAAC,CAAC,GAAG,EAAE;IACzDZ,aAAa,CAACW,MAAM,CAAC;IACrBtB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG;MAAEsB,MAAM;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAY;IAC/Bd,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAC9DR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;EACd,CAAC;EAED,MAAMyB,gBAAgB,GAAGA,CAAA,KAAY;IACnCZ,sBAAsB,CAAC,IAAI,CAAC;IAC5BE,qBAAqB,CAACN,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;EAC1D,CAAC;EAED,MAAMiB,uBAAuB,GAAIC,CAAM,IAAW;IAChD,IAAIA,CAAC,CAACC,GAAG,KAAK,iBAAiB,EAAE;MAC/BR,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MACL;MACAhC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QACVsB,MAAM,EAAEZ,UAAU;QAClBc,OAAO,EAAE,KAAK;QACdM,iBAAiB,EAAE;MACrB,CAAC,CAAC;MACFnB,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAChE;EACF,CAAC;EAED,MAAMsB,qBAAqB,GAAG,IAAAC,iBAAO,EAAC,CAAC,CAACC,OAAO;EAE/C,MAAMC,iBAAiB,gBACrB/D,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,qBACHlE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,CAACC,IAAI;IACRT,GAAG,EAAC,qBAAqB;IACzBU,QAAQ,EAAEtB,KAAK,KAAK,CAAE;IACtBuB,OAAO,EAAEb;EAAwB,GAEhCzB,CAAC,CAACuC,YAAC,CAACC,eAAe,CACX,CAAC,eACZvE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,CAACC,IAAI;IAACT,GAAG,EAAC,iBAAiB;IAACW,OAAO,EAAEb;EAAwB,GAC/DzB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACX,CACP,CACP;EAED,MAAMC,aAAa,GAAIC,IAAS,IAAW;IACzClC,aAAa,CAACkC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAY;IAC1ChC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACI,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,CAAC,GAAG,EAAE,CAAC;EAClE,CAAC;EAED,MAAMgC,mBAAmB,GAAGA,CAAA,KAAY;IACtCjC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACD,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;IAChDrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;MAAEsB,MAAM,EAAEZ;IAAW,CAAC,CAAC;EACrC,CAAC;EAED,oBACEvC,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAAjE,MAAA,CAAAgE,OAAA,CAAAa,QAAA,qBACE7E,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAgF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACU,gBAAgB,CAAE;IAC7B7D,OAAO,EAAEA,OAAQ;IACjB8D,MAAM,eACJjF,MAAA,CAAAgE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,GAC7BvB,qBAAqB,IACtBtC,iBAAiB,IACjB,CAACC,kBAAkB,gBACjBvB,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAsF,QAAQ;MACPC,OAAO,EAAEtB,iBAAkB;MAC3BuB,SAAS,EAAC,SAAS;MACnBC,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,eAAY;IAA4B,gBAExCvF,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MAACC,IAAI,EAAC,SAAS;MAACC,IAAI,eAAE1F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC1D,MAAA,CAAAoF,gBAAgB,MAAE;IAAE,CAAS,CACnD,CAAC,gBAEX3F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,2BACEjE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEnB,WAAY;MACrB,eAAY;IAAc,GAEzBnB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACd,CACL,CACN,eACDxE,MAAA,CAAAgE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEU,UAAU,EAAE;MAAO;IAAE,gBACjC5F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,MAAM;MACXpB,OAAO,EAAEf,YAAa;MACtB,eAAY;IAAe,GAE1BvB,CAAC,CAACuC,YAAC,CAACuB,MAAM,CACL,CAAC,eACT7F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLnB,OAAO,EAAEd,gBAAiB;MAC1B,eAAY;IAAsB,GAEjCxB,CAAC,CAACuC,YAAC,CAACwB,aAAa,CACZ,CAAC,eACT9F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEA,CAAA,KAAMnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QAAEsB,MAAM,EAAEZ;MAAW,CAAC,CAAE;MACnD6B,QAAQ,EAAEtB,KAAK,KAAK,CAAE;MACtB,eAAY;IAAW,GAEtBf,CAAC,CAACuC,YAAC,CAACyB,OAAO,CACN,CACL,CACF,CACN;IACDjE,QAAQ,EAAEwB,YAAa;IACvB0C,cAAc,EAAE,IAAK;IACrBC,KAAK,EAAE,GAAI;IACXC,QAAQ,EAAE;EAAK,gBAEflG,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC7D,gBAAA,CAAA+F,eAAe;IACd/E,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1Bb,kBAAkB,EAAEA,kBAAmB;IACvCC,mBAAmB,EAAEA,mBAAoB;IACzCyE,QAAQ,EAAGjD,MAAM,IAAKX,aAAa,CAACW,MAAM;EAAE,CAC7C,CACI,CAAC,eACRnD,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAgF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACwB,aAAa,CAAE;IAC1B3E,OAAO,EAAEuB,mBAAoB;IAC7BsD,cAAc,EAAE,IAAK;IACrBE,QAAQ,EAAE,IAAK;IACfpE,QAAQ,EAAE6C,uBAAwB;IAClC9C,IAAI,EAAE+C;EAAoB,gBAE1B5E,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC5D,aAAA,CAAAgG,YAAY;IACXC,MAAM,EAAC,IAAI;IACXjF,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1BgE,SAAS,EAAE9B;EAAc,CAC1B,CACI,CACP,CAAC;AAEP","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettingsModal.js","names":["_antd","require","_react","_interopRequireWildcard","_reactI18next","_constants","_DisplaySettings","_SortSettings","_brickKit","_icons","sortField","dataSource","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","useState","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","useMemo","filter","length","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","default","createElement","Menu","Item","disabled","onClick","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","Modal","title","DISPLAY_SETTINGS","footer","style","display","Dropdown","overlay","placement","trigger","Button","type","icon","EllipsisOutlined","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","DisplaySettings","onChange","SortSettings","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { SortSettings } from \"./SortSettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n sortFields?: { field: string; order: number }[];\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nconst sortField = (dataSource: string[] = [], order: string[]) => {\n return dataSource?.sort((a: string, b: string) => {\n const indexA = order.indexOf(a);\n const indexB = order.indexOf(b);\n return indexA - indexB;\n });\n};\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n sortFields,\n onOk,\n onCancel,\n } = props;\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const sortAttrList = sortFields ? sortFields.map((v) => v.field) : [];\n const sortCurrentFields = sortField([...(currentFields ?? [])], sortAttrList);\n\n const [nextFields, setNextFields] = useState<string[]>(sortCurrentFields);\n const [sortSettingsVisible, setSortSettingsVisible] =\n useState<boolean>(false);\n const [originalNextFields, setOriginalNextFields] =\n useState<string[]>(sortCurrentFields);\n\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n onCancel?.();\n };\n\n const handleSortFields = (): void => {\n setSortSettingsVisible(true);\n setOriginalNextFields(nextFields ? [...nextFields] : []);\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n\n const handleSortEnd = (data: any): void => {\n setNextFields(data);\n };\n\n const handleSortSettingCancel = (): void => {\n setSortSettingsVisible(false);\n setNextFields(originalNextFields ? [...originalNextFields] : []);\n };\n\n const handleSortSettingOk = (): void => {\n setSortSettingsVisible(false);\n setNextFields(nextFields ? [...nextFields] : []);\n props?.onOk({ fields: nextFields });\n };\n\n return (\n <>\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault &&\n saveFieldsBackend &&\n !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n onClick={handleSortFields}\n data-testid=\"sort-settings-button\"\n >\n {t(K.SORT_SETTINGS)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n <Modal\n title={t(K.SORT_SETTINGS)}\n visible={sortSettingsVisible}\n destroyOnClose={true}\n centered={true}\n onCancel={handleSortSettingCancel}\n onOk={handleSortSettingOk}\n >\n <SortSettings\n rowKey=\"id\"\n modelData={modelData}\n currentFields={nextFields}\n onSortEnd={handleSortEnd}\n />\n </Modal>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -474,10 +474,12 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
474
474
|
}, node)));
|
|
475
475
|
}
|
|
476
476
|
getAttributeColumnData(attribute, object, firstColumns) {
|
|
477
|
+
var _this$props$fixedFiel;
|
|
477
478
|
const column = {
|
|
478
479
|
title: attribute.name,
|
|
479
480
|
dataIndex: attribute.id,
|
|
480
|
-
className: _InstanceListTableModule.default.instanceListTableCell
|
|
481
|
+
className: _InstanceListTableModule.default.instanceListTableCell,
|
|
482
|
+
fixed: (_this$props$fixedFiel = this.props.fixedFieldIds) !== null && _this$props$fixedFiel !== void 0 && _this$props$fixedFiel.includes(attribute.id) ? "right" : false
|
|
481
483
|
};
|
|
482
484
|
const displayConfig = this.keyDisplayConfigMap[attribute.id];
|
|
483
485
|
const isPrimary = attribute.id === (0, _cmdbUtils.getInstanceNameKeys)(object)[0];
|
|
@@ -681,12 +683,14 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
681
683
|
(_this$props7 = this.props) === null || _this$props7 === void 0 ? void 0 : (_this$props7$onRelati = _this$props7.onRelationMoreIconClick) === null || _this$props7$onRelati === void 0 ? void 0 : _this$props7$onRelati.call(_this$props7, record);
|
|
682
684
|
}
|
|
683
685
|
getRelationColumnData(relation, object, sides, firstColumns) {
|
|
686
|
+
var _this$props$fixedFiel2;
|
|
684
687
|
const key = relation[`${sides.this}_id`];
|
|
685
688
|
const column = {
|
|
686
689
|
title: relation[`${sides.this}_name`],
|
|
687
690
|
dataIndex: key,
|
|
688
691
|
sorter: !this.props.sortDisabled,
|
|
689
|
-
className: _InstanceListTableModule.default.instanceListTableCell
|
|
692
|
+
className: _InstanceListTableModule.default.instanceListTableCell,
|
|
693
|
+
fixed: (_this$props$fixedFiel2 = this.props.fixedFieldIds) !== null && _this$props$fixedFiel2 !== void 0 && _this$props$fixedFiel2.includes(key) ? "right" : false
|
|
690
694
|
};
|
|
691
695
|
const displayConfig = this.keyDisplayConfigMap[key];
|
|
692
696
|
let tempColumns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceListTable.js","names":["_react","_interopRequireDefault","require","_reactI18next","_classnames","_antd","_lodash","_icons","_brickTypes","_cmdbSdk","_brickHttp","_basicComponents","_cmdbUtils","_ModelAttributeFormControl","_structComponents","_InstanceListTableModule","_utils","_brickKit","_constants","_i18next","_CmdbUrlLink","_FloatDisplayBrick","_JsonDisplayBrick","_XmlDisplayBrick","SortOrder","SELF_RENDER_COLUMNS","HOST","key","brick","CLUSTER","properties","fields","value","showBg","LegacyInstanceListTable","React","Component","constructor","props","_SELF_RENDER_COLUMNS$","_this$props$propertyD","_this$props$onColumns","_this$props4","_defineProperty2","default","createElement","Fragment","i18n","t","NS_LIBS_CMDB_INSTANCES","K","INSTANCE_SOURCE","Tooltip","title","INSTANCE_SOURCE_TOOLTIP","className","styles","titleTooltipIcon","GeneralIcon","icon","lib","theme","pagination","filters","sorter","extra","_filters$_object_id","newInstanceSourceQuery","_object_id","state","instanceSourceQuery","onInstanceSourceChange","current","pageSize","_this$props$onPaginat","_this$props","onPaginationChange","call","page","Array","isArray","asc","Ascend","Descend","order","column","field","undefined","sort","_this$props$onSorting","_this$props2","onSortingChange","selectedRowKeys","selectedRows","_this$props$onSelecti","_this$props3","onSelectionChange","selectedKeys","selectedItems","ev","dataIndex","_selectedRowKeys","stopPropagation","filter","v","objectId","modelData","length","message","warning","SELECT_COPY_DATA","k","every","row","ROM_KEY","_resp","resp","params","query","instanceId","$in","page_size","useExternalCmdbApi","sourceId","externalSourceId","ignore_missing_field_error","http","post","InstanceApi_postSearch","list","inputDom","document","Set","map","join","body","appendChild","select","execCommand","remove","success","COPY_SUCCESS","forEach","config","keyDisplayConfigMap","propertyDisplayConfigs","fieldIds","sortedColumns","getChangeColumns","inheritanceModelIdNameMap","defaultPagination","disabled","paginationDisabled","pageSizeOptions","showSizeChanger","showTotal","totals","totalText","PAGINATION_TOTAL_TEXT","total","PAGINATION_TOTAL_UNIT","currentColumns","getMergedColumns","extraColumns","columns","_this$props$hiddenCol","hiddenColumns","includes","onColumnsChange","instanceListData","openConfirmModal","index","confirm","Modal","DELETE_INSTANCE_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","processList","splice","handleDeleteFunction","ids","forEachAvailableFields","modifyModelData","attr","firstColumns","push","setColumnSortOrder","getAttributeColumnData","relation","sides","getRelationColumnData","isAbstract","i","idColumnMap","Map","set","view","attr_order","id","get","delete","isOperate","OPERATION","structTableTd","fixed","render","_text","record","Button","type","DeleteOutlined","style","color","onClick","mergedColumns","processExtraColumns","instanceSourceTitle","filterInstanceSourceDisabled","text","filterMultiple","filteredValue","_this$inheritanceMode","Tag","c","recordUseBrickDataMap","useBrick","processedColumn","data","cellData","rowData","BrickAsComponent","componentDidMount","_this$props$onColumns2","_this$props5","isNil","parentObjectId","CmdbObjectApi_getIdMapName","showFields","changeColumns","_this$props$hiddenCol2","setState","UNSAFE_componentWillReceiveProps","nextProps","_this$props$onColumns3","_this$props6","_this$props$hiddenCol3","handleClickItem","e","onClickItem","onClickItemV2","getCustomPropertyRender","isPrimary","ref","el","Object","assign","dataSource","getDisplayConfigColumn","getUseBrickConfigRender","getLinkContent","node","display","iconWrap","category","linkKey","getSpecialUrlTemplates","object","url","isRenderStructList","role","showTooltip","placement","JUMP_TO","name","INSTANCE_DETAIL","iconWrapOfStruct","Link","to","relationMoreIcon","attribute","instanceListTableCell","displayConfig","getInstanceNameKeys","tempColumns","attrValueType","ModelAttributeValueType","STRUCT","ATTACHMENT","STRUCT_LIST","sortDisabled","PropertyDisplayType","values","valueColorMap","isLegacy","Popover","overlayStyle","maxWidth","width","height","content","StructTable","structData","padding","VIEW","ARR","ENUMS","BOOLEAN","JSON","JsonDisplayBrick","isNumControlEllipsis","STRING","mode","XmlDisplayBrick","repeat","FLOAT","FloatDisplayBrick","floatValue","customRules","isBoolean","compact","toString","split","valStr","item","detailUrlTemplates","detailUrlTemplate","getTemplateFromMap","_this$inheritanceMode2","parseTemplate","_extends2","target","handleRelationMoreIconClick","_this$props7","_this$props7$onRelati","onRelationMoreIconClick","this","instances","that","leftName","rightId","nameKeys","idObjectMap","filterInstances","slice","relationLimit","instanceNodes","instance","subName","instanceName","_this$props$separator","separatorUsedInRelationData","relationLinkDisabled","relationLink","_this$props$separator2","instanceNodesWrapper","classnames","instanceListTableRelationWrapper","instanceListTableRelationText","RELATION_INSTANCE_TOOLTIP","trigger","left_name","right_id","sortOrder","componentDidUpdate","prevProps","_this$props$onColumns4","_this$props8","_this$props$configPro","_this$props$configPro2","_this$state$columns$l","_this$state$columns","_this$props$configPro3","_this$props$configPro4","_this$props$configPro5","rowSelectionType","rowSelection","selectDisabled","preserveSelectedRowKeys","onChange","onSelectChange","classes","shouldEllipsis","autoBreakLine","tableWrapper","_this$props$modelData","_this$props$modelData2","_this$props$modelData3","_this$props$modelData4","attrList","find","CmdbUrlLink","linkStr","ipCopy","filterDropdown","filterIcon","copyWrap","COPY_SELECTED_IP","CopyOutlined","fontSize","handelIpCopyText","overflowX","overflowY","Table","showCustomizedSerialNumber","align","customizedSerialNumber","rowKey","scroll","x","fixedHeader","configProps","y","expandable","childrenColumnName","omit","exports","withProviderDeclare","externalPostSearchV3","useProvider","cache","externalGetIdMapName","InstanceListTable","memo","withTranslation"],"sources":["../../../src/instance-list-table/InstanceListTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport classnames from \"classnames\";\nimport {\n Button,\n Popover,\n Table,\n Tag,\n Tooltip,\n Modal,\n message,\n Typography,\n} from \"antd\";\nimport { isNil, isBoolean, compact, map, divide, omit } from \"lodash\";\nimport { CopyOutlined, DeleteOutlined } from \"@ant-design/icons\";\nimport { ColumnType, TablePaginationConfig, TableProps } from \"antd/lib/table\";\nimport {\n SorterResult,\n TableCurrentDataSource,\n TableRowSelection,\n} from \"antd/lib/table/interface\";\nimport {\n PropertyDisplay,\n PropertyDisplayConfig,\n PropertyDisplayType,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchV3ResponseBody,\n CmdbObjectApi_getIdMapName,\n InstanceApi_postSearch,\n} from \"@next-sdk/cmdb-sdk\";\nimport { http } from \"@next-core/brick-http\";\nimport { Link, GeneralIcon } from \"@next-libs/basic-components\";\nimport {\n forEachAvailableFields,\n getInstanceNameKeys,\n getTemplateFromMap,\n parseTemplate,\n modifyModelData,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n} from \"@next-libs/cmdb-utils\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { Attribute, StructTable } from \"../struct-components\";\nimport styles from \"./InstanceListTable.module.css\";\nimport { customRules } from \"./utils\";\nimport { BrickAsComponent, useProvider } from \"@next-core/brick-kit\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport i18n from \"i18next\";\nimport { CmdbUrlLink } from \"../cmdb-url-link/CmdbUrlLink\";\nimport { FloatDisplayBrick } from \"../float-display-brick/FloatDisplayBrick\";\nimport { JsonDisplayBrick } from \"../json-display-brick/JsonDisplayBrick\";\nimport { XmlDisplayBrick } from \"../xml-display-brick/XmlDisplayBrick\";\n// const { Paragraph } = Typography;\nexport interface CustomColumn extends ColumnType<Record<string, unknown>> {\n useBrick: UseBrickConf;\n}\n\nexport type UseBrickAndPropertyDisplayConfig = PropertyDisplayConfig & {\n useBrick?: UseBrickConf;\n};\n\nexport interface InstanceListUseBrickData {\n cellData: unknown;\n rowData: Record<string, unknown>;\n index: number;\n}\n\nenum SortOrder {\n Ascend = \"ascend\",\n Descend = \"descend\",\n}\n\nconst SELF_RENDER_COLUMNS: {\n [objectId: string]: UseBrickAndPropertyDisplayConfig[];\n} = {\n HOST: [\n {\n key: \"_agentStatus\",\n brick: \"presentational-bricks.agent-status\",\n },\n ],\n CLUSTER: [\n {\n key: \"type\",\n brick: \"presentational-bricks.brick-cluster-type\",\n properties: {\n fields: {\n value: \"type\",\n },\n showBg: true,\n },\n },\n ],\n};\n\nexport interface InstanceListTableProps extends WithTranslation {\n detailUrlTemplates?: Record<string, string>;\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n instanceListData: InstanceApi_PostSearchV3ResponseBody;\n sort?: string;\n asc?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n selectDisabled?: boolean;\n autoBreakLine?: boolean;\n sortDisabled?: boolean;\n instanceSourceQuery?: string;\n inheritanceModelIdNameMap?: Record<string, string>;\n filterInstanceSourceDisabled?: boolean;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onInstanceSourceChange?(instanceSourceQuery: string): void;\n relationLinkDisabled?: boolean;\n paginationDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n selectedRowKeys?: string[];\n configProps?: TableProps<Record<string, any>>;\n extraColumns?: CustomColumn[];\n isOperate?: boolean;\n handleDeleteFunction?: (v: any[]) => void;\n target?: string;\n ipCopy?: boolean;\n separatorUsedInRelationData?: string;\n showTooltip?: boolean;\n fixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n onColumnsChange?(columns: ColumnType<{ dataIndex: string }>[]): void;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n hiddenColumns?: Array<string>;\n showCustomizedSerialNumber?: boolean;\n // 关系查询限制数量\n relationLimit?: number;\n onRelationMoreIconClick?(record: Record<string, any>): void;\n}\n\ninterface InstanceListTableState {\n list: Record<string, any>[];\n instanceSourceQuery?: string;\n columns?: ColumnType<Record<string, any>>[];\n pagination: TablePaginationConfig;\n defaultPagination: TablePaginationConfig;\n}\n\nexport class LegacyInstanceListTable extends React.Component<\n InstanceListTableProps,\n InstanceListTableState\n> {\n keyDisplayConfigMap: Record<string, UseBrickAndPropertyDisplayConfig> = {};\n recordUseBrickDataMap: Map<unknown, InstanceListUseBrickData>;\n inheritanceModelIdNameMap: Record<string, string>;\n selectedRows: Record<string, any>[] = [];\n ROM_KEY = \"instanceId\";\n\n instanceSourceTitle: React.ReactElement = (\n <>\n <span>{i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE}`)}</span>\n <Tooltip\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TOOLTIP}`)}\n >\n <span className={styles.titleTooltipIcon}>\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"question-circle\",\n theme: \"filled\",\n }}\n />\n </span>\n </Tooltip>\n </>\n );\n\n constructor(props: InstanceListTableProps) {\n super(props);\n const objectId = this.props.modelData.objectId;\n SELF_RENDER_COLUMNS[objectId]?.forEach(\n (config) => (this.keyDisplayConfigMap[config.key] = config)\n );\n this.props.propertyDisplayConfigs?.forEach(\n (config) => (this.keyDisplayConfigMap[config.key] = config)\n );\n const fieldIds = this.props.fieldIds;\n\n const sortedColumns = this.getChangeColumns(fieldIds);\n this.inheritanceModelIdNameMap = this.props.inheritanceModelIdNameMap;\n\n const defaultPagination = {\n disabled: this.props.paginationDisabled,\n pageSizeOptions: this.props.pageSizeOptions,\n showSizeChanger: this.props.showSizeChanger,\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`)}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`)}\n </span>\n ),\n };\n const currentColumns = this.getMergedColumns(\n sortedColumns,\n this.props.extraColumns\n );\n // 用于支持父模型情况下,可以自定义隐藏实例来源这一列\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n this.state = {\n list: this.props.instanceListData.list,\n instanceSourceQuery: this.props.instanceSourceQuery,\n columns: columns,\n pagination: {\n ...defaultPagination,\n total: this.props.instanceListData.total,\n current: this.props.instanceListData.page,\n pageSize: this.props.instanceListData.page_size,\n },\n defaultPagination: defaultPagination,\n };\n }\n // istanbul ignore next\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_INSTANCE_CONFIRM_MSG}`\n ),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n // istanbul ignore next\n remove(index: number) {\n const processList = [...this.props.instanceListData.list];\n processList.splice(index, 1);\n this.props.handleDeleteFunction(processList);\n }\n getChangeColumns(ids: string[]) {\n const columns: InstanceListTableState[\"columns\"] = [];\n forEachAvailableFields(\n modifyModelData(this.props.modelData),\n (attr, firstColumns?: boolean) =>\n columns.push(\n this.setColumnSortOrder(\n this.getAttributeColumnData(\n attr,\n this.props.modelData,\n firstColumns\n )\n )\n ),\n (relation, sides, firstColumns?: boolean) =>\n columns.push(\n this.setColumnSortOrder(\n this.getRelationColumnData(\n relation,\n this.props.modelData,\n sides,\n firstColumns\n )\n )\n ),\n this.props.modelData.isAbstract\n ? ids?.filter((i) => i !== \"_object_id\")\n : ids\n );\n const idColumnMap = new Map<string, ColumnType<Record<string, any>>>();\n columns.forEach((column) =>\n idColumnMap.set(column.dataIndex as string, column)\n );\n let fieldIds: string[];\n if (ids?.length) {\n fieldIds = ids;\n } else if (\n this.props.modelData.view &&\n this.props.modelData.view.attr_order\n ) {\n fieldIds = this.props.modelData.view.attr_order;\n }\n let sortedColumns: InstanceListTableState[\"columns\"];\n if (fieldIds) {\n sortedColumns = [];\n fieldIds.forEach((id) => {\n const column = idColumnMap.get(id);\n if (column) {\n sortedColumns.push(column);\n idColumnMap.delete(id);\n }\n });\n idColumnMap.forEach((column) => sortedColumns.push(column));\n } else {\n sortedColumns = columns;\n }\n if (this.props.isOperate) {\n sortedColumns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return (\n <Button\n data-testid={\"button-up-\" + index}\n type=\"link\"\n icon={\n <DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />\n }\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n );\n },\n });\n }\n return sortedColumns;\n }\n\n getMergedColumns(\n columns: ColumnType<Record<string, any>>[],\n extraColumns: CustomColumn[]\n ): ColumnType<Record<string, any>>[] {\n let mergedColumns = extraColumns\n ? [...columns, ...this.processExtraColumns(extraColumns)]\n : columns;\n if (this.props.modelData.isAbstract) {\n mergedColumns = [\n {\n title: this.instanceSourceTitle,\n dataIndex: \"_object_id\",\n ...(!this.props.filterInstanceSourceDisabled\n ? {\n filters: map(this.inheritanceModelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n })),\n filterMultiple: false,\n filteredValue: this.props.instanceSourceQuery && [\n this.props.instanceSourceQuery,\n ],\n }\n : {}),\n render: (value, record, index) => (\n <Tag>{this.inheritanceModelIdNameMap?.[value] || value}</Tag>\n ),\n },\n ...mergedColumns.filter((c) => c.dataIndex !== \"_object_id\"),\n ];\n }\n return mergedColumns;\n }\n\n processExtraColumns(\n extraColumns: CustomColumn[]\n ): ColumnType<Record<string, any>>[] {\n this.recordUseBrickDataMap = new Map();\n\n return extraColumns.map((column) => {\n const { useBrick, ...processedColumn } = column;\n\n if (useBrick) {\n processedColumn.render = (value, record, index) => {\n let data = this.recordUseBrickDataMap.get(record);\n\n if (!data) {\n data = { cellData: value, rowData: record, index };\n this.recordUseBrickDataMap.set(record, data);\n }\n\n return <BrickAsComponent useBrick={useBrick} data={data} />;\n };\n }\n\n return processedColumn;\n });\n }\n\n async componentDidMount(): Promise<void> {\n if (\n this.props.modelData.isAbstract &&\n isNil(this.inheritanceModelIdNameMap)\n ) {\n // useExternalCmdbApi为true 调用外部接口\n // istanbul ignore if\n if (this.props.useExternalCmdbApi) {\n this.inheritanceModelIdNameMap = (\n (await http.post(\n `api/gateway/easyops.api.cmdb.topo_center.ProxyGetIdMapName@1.0.1/api/v1/proxy-get-id-map-name`,\n {\n parentObjectId: this.props.modelData.objectId,\n sourceId: this.props.externalSourceId,\n }\n )) as any\n ).data;\n } else {\n this.inheritanceModelIdNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: this.props.modelData.objectId,\n } as any);\n }\n }\n const showFields = this.props.fieldIds;\n const changeColumns = this.getChangeColumns(showFields);\n const currentColumns = this.getMergedColumns(\n changeColumns,\n this.props.extraColumns\n );\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n this.setState({\n columns,\n });\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps: InstanceListTableProps): void {\n this.inheritanceModelIdNameMap = {\n ...this.inheritanceModelIdNameMap,\n ...nextProps.inheritanceModelIdNameMap,\n };\n const showFields = nextProps.fieldIds;\n const changeColumns = this.getChangeColumns(showFields);\n const currentColumns = this.getMergedColumns(\n changeColumns,\n nextProps.extraColumns\n );\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n\n this.setState({\n columns,\n });\n\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n handleClickItem(\n e: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void {\n if (this.props.onClickItem) {\n this.props.onClickItem(e, record.instanceId);\n }\n if (this.props.onClickItemV2) {\n this.props.onClickItemV2(e, record);\n }\n }\n getCustomPropertyRender(\n config: UseBrickAndPropertyDisplayConfig,\n isPrimary?: boolean\n ) {\n // eslint-disable-next-line react/display-name\n return (value: any, record: Record<string, any>, index: number) => {\n return (\n <config.brick\n ref={(el: HTMLElement & PropertyDisplay) => {\n if (el) {\n if (config.properties) {\n Object.assign(\n el,\n {\n dataSource: record,\n objectId: this.props.modelData.objectId,\n },\n config.properties\n );\n } else {\n Object.assign(el, {\n key: config.key,\n value,\n isPrimary,\n });\n }\n }\n }}\n />\n );\n };\n }\n getDisplayConfigColumn(\n config: UseBrickAndPropertyDisplayConfig,\n isPrimary?: boolean\n ) {\n return (value: string[], record: Record<string, any>, index: number) => {\n if (config.brick) {\n return this.getCustomPropertyRender(config, isPrimary)(\n value,\n record,\n index\n );\n } else if (config.useBrick) {\n return this.getUseBrickConfigRender(config)(value, record, index);\n }\n };\n }\n getUseBrickConfigRender(config: UseBrickAndPropertyDisplayConfig) {\n // eslint-disable-next-line react/display-name\n return (value: any, record: Record<string, any>, index: number) => {\n const data = { cellData: value, rowData: record, index };\n return <BrickAsComponent useBrick={config.useBrick} data={data} />;\n };\n }\n\n getLinkContent(node: any) {\n return (\n <span style={{ display: \"flex\" }}>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>{node}</span>\n </span>\n );\n }\n // istanbul ignore next\n getSpecialUrlTemplates(\n object: Partial<CmdbModels.ModelCmdbObject>,\n record: any,\n node: any,\n url?: string,\n isRenderStructList?: boolean\n ) {\n if (!url) {\n return (\n <a\n role=\"button\"\n onClick={(e) => this.handleClickItem(e, record)}\n data-testid=\"instance-detail-link\"\n >\n {this.props.showTooltip ? (\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`)}${\n object.name\n }${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`)}`}\n >\n {this.getLinkContent(node)}\n </Tooltip>\n ) : (\n this.getLinkContent(node)\n )}\n </a>\n );\n }\n return (\n <>\n <span style={{ display: \"flex\" }}>\n <span\n className={\n isRenderStructList ? styles.iconWrapOfStruct : styles.iconWrap\n }\n >\n <Link\n to={url}\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n data-testid=\"instance-detail-link\"\n >\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`)}${\n object.name\n }${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`)}`}\n >\n <span className={styles.relationMoreIcon}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n </Tooltip>\n </Link>\n </span>\n <span className={styles.linkKey}>{node}</span>\n </span>\n </>\n );\n }\n getAttributeColumnData(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n object: Partial<CmdbModels.ModelCmdbObject>,\n firstColumns?: boolean\n ): ColumnType<Record<string, any>> {\n const column: ColumnType<Record<string, any>> = {\n title: attribute.name,\n dataIndex: attribute.id,\n className: styles.instanceListTableCell,\n };\n const displayConfig = this.keyDisplayConfigMap[attribute.id];\n const isPrimary = attribute.id === getInstanceNameKeys(object)[0];\n let tempColumns: any;\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.ATTACHMENT:\n case ModelAttributeValueType.STRUCT_LIST:\n column.sorter = false;\n break;\n default:\n column.sorter = !this.props.sortDisabled;\n }\n if (displayConfig) {\n if (displayConfig.brick || displayConfig.useBrick) {\n tempColumns = this.getDisplayConfigColumn(displayConfig, isPrimary);\n } else if (displayConfig.type) {\n switch (displayConfig.type) {\n case PropertyDisplayType.Tag:\n column.render = (\n values: string | string[],\n record: Record<string, any>,\n index: number\n ) => {\n if (values) {\n if (!(values instanceof Array)) {\n values = [values];\n }\n return values.map((value) => {\n let color: string;\n if (displayConfig.valueColorMap) {\n color = displayConfig.valueColorMap[value];\n }\n return (\n <Tag key={value} color={color}>\n {value}\n </Tag>\n );\n });\n } else {\n return null;\n }\n };\n break;\n }\n }\n } else {\n let isLegacy: boolean;\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n isLegacy = true;\n // falls through\n case ModelAttributeValueType.ATTACHMENT:\n case ModelAttributeValueType.STRUCT_LIST:\n tempColumns = (\n value: Record<string, any> | Record<string, any>[],\n record: Record<string, any>,\n index: number\n ) => {\n return value ? (\n <Popover\n overlayStyle={{ maxWidth: 800, width: \"100%\", height: \"auto\" }}\n content={\n <StructTable\n attribute={attribute as Attribute}\n structData={value}\n isLegacy={isLegacy}\n />\n }\n placement=\"bottom\"\n >\n <Button type=\"link\" style={{ padding: \"4px 0\" }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW}`)}\n </Button>\n </Popover>\n ) : null;\n };\n break;\n case ModelAttributeValueType.ARR:\n case ModelAttributeValueType.ENUMS:\n tempColumns = (\n value: string[],\n record: Record<string, any>,\n index: number\n ) => {\n return value && value.length > 0 ? value.join(\"; \") : null;\n };\n break;\n case ModelAttributeValueType.BOOLEAN:\n tempColumns = (v: boolean) => (isNil(v) ? \"\" : \"\" + v);\n break;\n case ModelAttributeValueType.JSON:\n tempColumns = (value: any) => {\n return (\n <JsonDisplayBrick\n value={value}\n name={attribute.name}\n isNumControlEllipsis={false}\n />\n );\n };\n break;\n case ModelAttributeValueType.STRING:\n switch (attribute.value.mode as any) {\n case \"xml\": {\n tempColumns = (v: string) => {\n return (\n <XmlDisplayBrick value={v} isNumControlEllipsis={false} />\n );\n };\n break;\n }\n case \"password\": {\n tempColumns = (v: string) => {\n return \"*\".repeat(v?.length);\n };\n break;\n }\n default: {\n tempColumns = (v: string) => v;\n }\n }\n break;\n case ModelAttributeValueType.FLOAT:\n tempColumns = (value: number) => {\n return <FloatDisplayBrick floatValue={value} />;\n };\n break;\n default:\n if (object.objectId === \"HOST\" && attribute.id in customRules) {\n tempColumns = (\n text: any,\n record: Record<string, any>,\n index: number\n ) => {\n if (!isBoolean(text) && (text || text === 0)) {\n text = compact(text.toString().split(\" \"));\n const valStr = text\n .map((item: any) => {\n return (customRules as any)[attribute.id](item, attribute);\n })\n .join(\" \");\n return valStr === \"\" ? undefined : valStr;\n }\n return (customRules as any)[attribute.id](text, attribute);\n };\n } else {\n tempColumns = (v: string) => v;\n }\n }\n }\n // istanbul ignore next\n if (tempColumns) {\n column.render =\n firstColumns && this.props.detailUrlTemplates\n ? (value: string, record: Record<string, any>, index: number) => {\n //要跳到的路由\n const detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n object.objectId\n );\n if (detailUrlTemplate) {\n const data = {\n ...record,\n objectId: object.isAbstract\n ? record._object_id\n : object.objectId,\n };\n const url = parseTemplate(detailUrlTemplate, data);\n if (\n attribute.value.type === ModelAttributeValueType.STRUCT ||\n attribute.value.type === ModelAttributeValueType.STRUCT_LIST\n ) {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url,\n true\n );\n }\n if (displayConfig && displayConfig.brick) {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url\n );\n }\n return (\n <Link\n to={url}\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n data-testid=\"instance-detail-link\"\n {...(!firstColumns || object.isAbstract\n ? { target: \"_blank\" }\n : this.props.target\n ? { target: this.props.target }\n : {})}\n >\n {this.props.showTooltip ? (\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`\n )}${\n object.isAbstract\n ? this.inheritanceModelIdNameMap?.[\n record._object_id\n ] || record._object_id\n : object.name\n }${i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`\n )}`}\n >\n <span>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>\n {tempColumns(value, record, index)}\n </span>\n </span>\n </Tooltip>\n ) : (\n <span>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>\n {tempColumns(value, record, index)}\n </span>\n </span>\n )}\n </Link>\n );\n } else {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index)\n );\n }\n }\n : tempColumns;\n }\n return column;\n }\n\n handleRelationMoreIconClick(record: Record<string, any>): void {\n this.props?.onRelationMoreIconClick?.(record);\n }\n\n getRelationColumnData(\n relation: Partial<CmdbModels.ModelObjectRelation>,\n object: Partial<CmdbModels.ModelCmdbObject>,\n sides: RelationObjectSides,\n firstColumns?: boolean\n ): ColumnType<Record<string, any>> {\n const key = relation[`${sides.this}_id` as RelationIdKeys];\n\n const column: ColumnType<Record<string, any>> = {\n title: relation[`${sides.this}_name` as RelationNameKeys],\n dataIndex: key,\n sorter: !this.props.sortDisabled,\n className: styles.instanceListTableCell,\n };\n const displayConfig = this.keyDisplayConfigMap[key];\n let tempColumns: any;\n\n if (displayConfig) {\n tempColumns = this.getDisplayConfigColumn(displayConfig);\n } else {\n tempColumns = (\n instances: Record<string, any>[],\n record: Record<string, any>,\n index: number\n ) => {\n if (instances && instances.length > 0) {\n const objectId =\n relation[`${sides.that}_object_id` as RelationObjectIdKeys];\n const leftName = relation[`${sides.this}_name`];\n const rightId = relation[`${sides.that}_id`];\n const nameKeys = getInstanceNameKeys(\n this.props.idObjectMap[objectId]\n );\n let detailUrlTemplate: string;\n\n if (this.props.detailUrlTemplates) {\n detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n objectId\n );\n }\n // 过滤后的实例\n const filterInstances = instances?.slice(0, this.props.relationLimit);\n const instanceNodes = filterInstances.map((instance, index) => {\n let subName: string;\n if (nameKeys.length > 1) {\n subName = instance[nameKeys[1]];\n }\n\n let instanceName = subName\n ? `${instance[nameKeys[0]]} (${subName})`\n : instance[nameKeys[0]];\n\n if (detailUrlTemplate) {\n const url = parseTemplate(detailUrlTemplate, {\n ...instance,\n objectId,\n });\n return (\n <React.Fragment key={instance.instanceId}>\n {index > 0 &&\n (this.props.separatorUsedInRelationData ?? \"; \")}\n {this.props.relationLinkDisabled ? (\n instanceName\n ) : (\n <Link\n target={\"_blank\"}\n // 使用 <Link> 以保持链接的原生能力\n to={url}\n className={styles.relationLink}\n // 自定义 onClick 以支持事件配置和拦截\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n >\n {instanceName}\n </Link>\n )}\n </React.Fragment>\n );\n } else {\n if (index > 0) {\n instanceName =\n (this.props.separatorUsedInRelationData ?? \"; \") +\n instanceName;\n }\n return instanceName;\n }\n });\n const instanceNodesWrapper = (\n <span\n className={classnames(styles.instanceListTableRelationWrapper)}\n >\n <span className={styles.instanceListTableRelationText}>\n {instanceNodes}\n </span>\n <Tooltip\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATION_INSTANCE_TOOLTIP}`\n )}\n placement=\"top\"\n trigger={[\"hover\", \"focus\"]}\n >\n <span className={styles.relationMoreIcon}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"patch-manager\",\n icon: \"patch-list\",\n }}\n onClick={() =>\n this.handleRelationMoreIconClick({\n ...record,\n objectId,\n left_name: leftName,\n right_id: rightId,\n })\n }\n />\n </span>\n </Tooltip>\n </span>\n );\n return instanceNodesWrapper;\n } else {\n return null;\n }\n };\n }\n // istanbul ignore next\n if (tempColumns) {\n column.render =\n firstColumns && this.props.detailUrlTemplates\n ? (value: string, record: Record<string, any>, index: number) => {\n //要跳到的路由\n const detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n object.objectId\n );\n if (detailUrlTemplate) {\n const data = {\n ...record,\n objectId: object.objectId,\n };\n const url = parseTemplate(detailUrlTemplate, data);\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url\n );\n } else {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index)\n );\n }\n }\n : tempColumns;\n }\n return column;\n }\n\n setColumnSortOrder<T = any>(column: ColumnType<T>) {\n if (\n (column.dataIndex !== undefined &&\n column.dataIndex === this.props.sort) ||\n (column.key !== undefined && column.key === this.props.sort)\n ) {\n column.sortOrder = this.props.asc ? SortOrder.Ascend : SortOrder.Descend;\n } else {\n column.sortOrder = null;\n }\n return column;\n }\n\n onChange = (\n pagination: TablePaginationConfig,\n filters: Record<string, (React.Key | boolean)[]>,\n sorter:\n | SorterResult<Record<string, any>>\n | SorterResult<Record<string, any>>[],\n extra: TableCurrentDataSource<Record<string, any>>\n ) => {\n const newInstanceSourceQuery = filters?._object_id?.[0] as string;\n if (newInstanceSourceQuery !== this.state.instanceSourceQuery) {\n this.props.onInstanceSourceChange(newInstanceSourceQuery);\n }\n if (\n // pagination.current will pass in 0 when total is 0 and sorter has changed\n (pagination.current > 0 &&\n pagination.current !== this.state.pagination.current) ||\n pagination.pageSize !== this.state.pagination.pageSize\n ) {\n this.props.onPaginationChange?.({\n page: pagination.current,\n pageSize: pagination.pageSize,\n });\n }\n if (!Array.isArray(sorter)) {\n const asc = { [SortOrder.Ascend]: true, [SortOrder.Descend]: false }[\n sorter.order\n ];\n if (\n (sorter.column ? sorter.field : undefined) !== this.props.sort ||\n asc !== this.props.asc\n ) {\n this.props.onSortingChange?.({ sort: sorter.field as string, asc });\n }\n }\n };\n\n onSelectChange = (\n selectedRowKeys: (string | number)[],\n selectedRows: Record<string, any>[]\n ) => {\n this.selectedRows = selectedRows;\n this.props.onSelectionChange?.({\n selectedKeys: selectedRowKeys as string[],\n selectedItems: selectedRows,\n });\n };\n handelIpCopyText = async (\n ev: React.MouseEvent<HTMLElement, MouseEvent>,\n dataIndex: string\n ) => {\n ev.stopPropagation();\n let selectedRowKeys = this.props.selectedRowKeys;\n let selectedRows = this.selectedRows.filter((v) => v);\n const objectId = this.props.modelData.objectId;\n if (selectedRowKeys?.length < 1) {\n message.warning(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_COPY_DATA}`)\n );\n return false;\n }\n selectedRowKeys = selectedRowKeys.filter((k) =>\n selectedRows.every((row) => row[this.ROM_KEY] !== k)\n );\n if (selectedRowKeys.length > 0) {\n let resp: any;\n const params = {\n query: {\n instanceId: {\n $in: selectedRowKeys,\n },\n },\n page_size: selectedRowKeys.length,\n page: 1,\n ...(this.props.useExternalCmdbApi\n ? {\n objectId,\n sourceId: this.props.externalSourceId,\n ignore_missing_field_error: true,\n }\n : {}),\n };\n // useExternalCmdbApi为true 调用外部接口\n if (this.props.useExternalCmdbApi) {\n resp = await http.post(\n \"api/gateway/easyops.api.cmdb.topo_center.ProxyPostSearchV3@1.0.1/api/v1/proxy-post-search-v3\",\n params\n );\n } else {\n resp = await InstanceApi_postSearch(objectId, params);\n }\n selectedRows = [...selectedRows, ...(resp?.list || [])];\n }\n const inputDom = document.createElement(\"textarea\");\n inputDom.value = [\n ...new Set(\n map(\n selectedRows.filter((v) => v[dataIndex]),\n dataIndex\n )\n ),\n ].join(\"\\n\");\n document.body.appendChild(inputDom);\n inputDom.select(); //选择对象\n document.execCommand(\"copy\");\n inputDom.remove();\n message.success(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`));\n };\n componentDidUpdate(prevProps: InstanceListTableProps) {\n if (this.props.instanceListData !== prevProps.instanceListData) {\n this.setState({\n list: this.props.instanceListData.list,\n pagination: {\n ...this.state.defaultPagination,\n total: this.props.instanceListData.total,\n current: this.props.instanceListData.page,\n pageSize: this.props.instanceListData.page_size,\n },\n });\n }\n if (\n this.props.sort !== prevProps.sort ||\n this.props.asc !== prevProps.asc\n ) {\n const columns: ColumnType<Record<string, any>>[] = [];\n this.state.columns.forEach((column) =>\n columns.push(this.setColumnSortOrder(column))\n );\n this.setState({ columns });\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n if (this.props.instanceSourceQuery !== prevProps.instanceSourceQuery) {\n this.setState({\n instanceSourceQuery: this.props.instanceSourceQuery,\n });\n }\n }\n\n render(): React.ReactNode {\n const { selectedRowKeys, rowSelectionType } = this.props;\n const rowSelection: TableRowSelection<Record<string, any>> = this.props\n .selectDisabled\n ? null\n : {\n type: rowSelectionType,\n preserveSelectedRowKeys: true,\n selectedRowKeys,\n onChange: this.onSelectChange,\n };\n\n const classes = classnames({\n [styles.shouldEllipsis]: this.props.autoBreakLine,\n [styles.tableWrapper]: true,\n });\n this.state.columns.map((column) => {\n const dataIndex = column.dataIndex as string;\n // istanbul ignore next\n if (\n this.props.modelData.attrList.find((attr) => attr.id === dataIndex)\n ?.value?.mode === \"url\"\n ) {\n column.render = (text, row, index) => CmdbUrlLink({ linkStr: text });\n }\n if (\n this.props.ipCopy &&\n this.props.modelData.attrList.find((attr) => attr.id === dataIndex)\n ?.value?.type === \"ip\"\n ) {\n column.filterDropdown = () => <div></div>;\n column.filterIcon = () => (\n <Tooltip\n className={styles.copyWrap}\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SELECTED_IP}`)}\n >\n <CopyOutlined\n style={{ fontSize: 16 }}\n onClick={(ev) => this.handelIpCopyText(ev, dataIndex)}\n />\n </Tooltip>\n );\n }\n });\n return (\n <div\n className={classes}\n style={{ overflowX: \"auto\", overflowY: \"hidden\" }}\n >\n <Table\n columns={\n this.props.showCustomizedSerialNumber\n ? [\n {\n dataIndex: \"customizedSerialNumber\",\n title: \"序号\",\n align: \"center\",\n },\n ...this.state.columns,\n ]\n : this.state.columns\n }\n dataSource={\n this.props.showCustomizedSerialNumber\n ? this.props.instanceListData.list.map((item, index) => ({\n ...item,\n customizedSerialNumber: index + 1,\n }))\n : this.props.instanceListData.list\n }\n rowKey={this.ROM_KEY}\n scroll={{\n x:\n this.props.fixedHeader || this.props.configProps?.scroll?.y\n ? (this.state.columns?.length ?? 0) * 150\n : \"max-content\",\n y: this.props.fixedHeader\n ? 560\n : this.props.configProps?.scroll?.y ?? null,\n }}\n pagination={this.state.pagination}\n rowSelection={rowSelection}\n onChange={this.onChange}\n expandable={{\n // ant的table数据中有children字段时会自动展示为树形表格,导致模型设置了id为children的字段或者关系字段时会出现报错或者不必要的展开样式\n // rowExpandable在dataSource含children属性时不生效,见https://github.com/ant-design/ant-design/issues/30444\n // 故这里将默认展开的字段设置为不符合模型属性id校验的值\n childrenColumnName: \"0\",\n }}\n {...omit(this.props.configProps, [\"scroll\"])}\n />\n </div>\n );\n }\n}\n// 临时做法 用HOC来间接声明契约,支持契约被扫描到\nexport const withProviderDeclare = (Component: any) => {\n // eslint-disable-next-line react/display-name\n return (props: any) => {\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetIdMapName = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetIdMapName:1.0.1\",\n { cache: false }\n );\n return <Component {...props} />;\n };\n};\n\nexport const InstanceListTable = React.memo(\n withTranslation(NS_LIBS_CMDB_INSTANCES)(\n withProviderDeclare(LegacyInstanceListTable)\n )\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"InstanceListTable.js","names":["_react","_interopRequireDefault","require","_reactI18next","_classnames","_antd","_lodash","_icons","_brickTypes","_cmdbSdk","_brickHttp","_basicComponents","_cmdbUtils","_ModelAttributeFormControl","_structComponents","_InstanceListTableModule","_utils","_brickKit","_constants","_i18next","_CmdbUrlLink","_FloatDisplayBrick","_JsonDisplayBrick","_XmlDisplayBrick","SortOrder","SELF_RENDER_COLUMNS","HOST","key","brick","CLUSTER","properties","fields","value","showBg","LegacyInstanceListTable","React","Component","constructor","props","_SELF_RENDER_COLUMNS$","_this$props$propertyD","_this$props$onColumns","_this$props4","_defineProperty2","default","createElement","Fragment","i18n","t","NS_LIBS_CMDB_INSTANCES","K","INSTANCE_SOURCE","Tooltip","title","INSTANCE_SOURCE_TOOLTIP","className","styles","titleTooltipIcon","GeneralIcon","icon","lib","theme","pagination","filters","sorter","extra","_filters$_object_id","newInstanceSourceQuery","_object_id","state","instanceSourceQuery","onInstanceSourceChange","current","pageSize","_this$props$onPaginat","_this$props","onPaginationChange","call","page","Array","isArray","asc","Ascend","Descend","order","column","field","undefined","sort","_this$props$onSorting","_this$props2","onSortingChange","selectedRowKeys","selectedRows","_this$props$onSelecti","_this$props3","onSelectionChange","selectedKeys","selectedItems","ev","dataIndex","_selectedRowKeys","stopPropagation","filter","v","objectId","modelData","length","message","warning","SELECT_COPY_DATA","k","every","row","ROM_KEY","_resp","resp","params","query","instanceId","$in","page_size","useExternalCmdbApi","sourceId","externalSourceId","ignore_missing_field_error","http","post","InstanceApi_postSearch","list","inputDom","document","Set","map","join","body","appendChild","select","execCommand","remove","success","COPY_SUCCESS","forEach","config","keyDisplayConfigMap","propertyDisplayConfigs","fieldIds","sortedColumns","getChangeColumns","inheritanceModelIdNameMap","defaultPagination","disabled","paginationDisabled","pageSizeOptions","showSizeChanger","showTotal","totals","totalText","PAGINATION_TOTAL_TEXT","total","PAGINATION_TOTAL_UNIT","currentColumns","getMergedColumns","extraColumns","columns","_this$props$hiddenCol","hiddenColumns","includes","onColumnsChange","instanceListData","openConfirmModal","index","confirm","Modal","DELETE_INSTANCE_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","processList","splice","handleDeleteFunction","ids","forEachAvailableFields","modifyModelData","attr","firstColumns","push","setColumnSortOrder","getAttributeColumnData","relation","sides","getRelationColumnData","isAbstract","i","idColumnMap","Map","set","view","attr_order","id","get","delete","isOperate","OPERATION","structTableTd","fixed","render","_text","record","Button","type","DeleteOutlined","style","color","onClick","mergedColumns","processExtraColumns","instanceSourceTitle","filterInstanceSourceDisabled","text","filterMultiple","filteredValue","_this$inheritanceMode","Tag","c","recordUseBrickDataMap","useBrick","processedColumn","data","cellData","rowData","BrickAsComponent","componentDidMount","_this$props$onColumns2","_this$props5","isNil","parentObjectId","CmdbObjectApi_getIdMapName","showFields","changeColumns","_this$props$hiddenCol2","setState","UNSAFE_componentWillReceiveProps","nextProps","_this$props$onColumns3","_this$props6","_this$props$hiddenCol3","handleClickItem","e","onClickItem","onClickItemV2","getCustomPropertyRender","isPrimary","ref","el","Object","assign","dataSource","getDisplayConfigColumn","getUseBrickConfigRender","getLinkContent","node","display","iconWrap","category","linkKey","getSpecialUrlTemplates","object","url","isRenderStructList","role","showTooltip","placement","JUMP_TO","name","INSTANCE_DETAIL","iconWrapOfStruct","Link","to","relationMoreIcon","attribute","_this$props$fixedFiel","instanceListTableCell","fixedFieldIds","displayConfig","getInstanceNameKeys","tempColumns","attrValueType","ModelAttributeValueType","STRUCT","ATTACHMENT","STRUCT_LIST","sortDisabled","PropertyDisplayType","values","valueColorMap","isLegacy","Popover","overlayStyle","maxWidth","width","height","content","StructTable","structData","padding","VIEW","ARR","ENUMS","BOOLEAN","JSON","JsonDisplayBrick","isNumControlEllipsis","STRING","mode","XmlDisplayBrick","repeat","FLOAT","FloatDisplayBrick","floatValue","customRules","isBoolean","compact","toString","split","valStr","item","detailUrlTemplates","detailUrlTemplate","getTemplateFromMap","_this$inheritanceMode2","parseTemplate","_extends2","target","handleRelationMoreIconClick","_this$props7","_this$props7$onRelati","onRelationMoreIconClick","_this$props$fixedFiel2","this","instances","that","leftName","rightId","nameKeys","idObjectMap","filterInstances","slice","relationLimit","instanceNodes","instance","subName","instanceName","_this$props$separator","separatorUsedInRelationData","relationLinkDisabled","relationLink","_this$props$separator2","instanceNodesWrapper","classnames","instanceListTableRelationWrapper","instanceListTableRelationText","RELATION_INSTANCE_TOOLTIP","trigger","left_name","right_id","sortOrder","componentDidUpdate","prevProps","_this$props$onColumns4","_this$props8","_this$props$configPro","_this$props$configPro2","_this$state$columns$l","_this$state$columns","_this$props$configPro3","_this$props$configPro4","_this$props$configPro5","rowSelectionType","rowSelection","selectDisabled","preserveSelectedRowKeys","onChange","onSelectChange","classes","shouldEllipsis","autoBreakLine","tableWrapper","_this$props$modelData","_this$props$modelData2","_this$props$modelData3","_this$props$modelData4","attrList","find","CmdbUrlLink","linkStr","ipCopy","filterDropdown","filterIcon","copyWrap","COPY_SELECTED_IP","CopyOutlined","fontSize","handelIpCopyText","overflowX","overflowY","Table","showCustomizedSerialNumber","align","customizedSerialNumber","rowKey","scroll","x","fixedHeader","configProps","y","expandable","childrenColumnName","omit","exports","withProviderDeclare","externalPostSearchV3","useProvider","cache","externalGetIdMapName","InstanceListTable","memo","withTranslation"],"sources":["../../../src/instance-list-table/InstanceListTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport classnames from \"classnames\";\nimport {\n Button,\n Popover,\n Table,\n Tag,\n Tooltip,\n Modal,\n message,\n Typography,\n} from \"antd\";\nimport { isNil, isBoolean, compact, map, divide, omit } from \"lodash\";\nimport { CopyOutlined, DeleteOutlined } from \"@ant-design/icons\";\nimport { ColumnType, TablePaginationConfig, TableProps } from \"antd/lib/table\";\nimport {\n SorterResult,\n TableCurrentDataSource,\n TableRowSelection,\n} from \"antd/lib/table/interface\";\nimport {\n PropertyDisplay,\n PropertyDisplayConfig,\n PropertyDisplayType,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchV3ResponseBody,\n CmdbObjectApi_getIdMapName,\n InstanceApi_postSearch,\n} from \"@next-sdk/cmdb-sdk\";\nimport { http } from \"@next-core/brick-http\";\nimport { Link, GeneralIcon } from \"@next-libs/basic-components\";\nimport {\n forEachAvailableFields,\n getInstanceNameKeys,\n getTemplateFromMap,\n parseTemplate,\n modifyModelData,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n} from \"@next-libs/cmdb-utils\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { Attribute, StructTable } from \"../struct-components\";\nimport styles from \"./InstanceListTable.module.css\";\nimport { customRules } from \"./utils\";\nimport { BrickAsComponent, useProvider } from \"@next-core/brick-kit\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport i18n from \"i18next\";\nimport { CmdbUrlLink } from \"../cmdb-url-link/CmdbUrlLink\";\nimport { FloatDisplayBrick } from \"../float-display-brick/FloatDisplayBrick\";\nimport { JsonDisplayBrick } from \"../json-display-brick/JsonDisplayBrick\";\nimport { XmlDisplayBrick } from \"../xml-display-brick/XmlDisplayBrick\";\n// const { Paragraph } = Typography;\nexport interface CustomColumn extends ColumnType<Record<string, unknown>> {\n useBrick: UseBrickConf;\n}\n\nexport type UseBrickAndPropertyDisplayConfig = PropertyDisplayConfig & {\n useBrick?: UseBrickConf;\n};\n\nexport interface InstanceListUseBrickData {\n cellData: unknown;\n rowData: Record<string, unknown>;\n index: number;\n}\n\nenum SortOrder {\n Ascend = \"ascend\",\n Descend = \"descend\",\n}\n\nconst SELF_RENDER_COLUMNS: {\n [objectId: string]: UseBrickAndPropertyDisplayConfig[];\n} = {\n HOST: [\n {\n key: \"_agentStatus\",\n brick: \"presentational-bricks.agent-status\",\n },\n ],\n CLUSTER: [\n {\n key: \"type\",\n brick: \"presentational-bricks.brick-cluster-type\",\n properties: {\n fields: {\n value: \"type\",\n },\n showBg: true,\n },\n },\n ],\n};\n\nexport interface InstanceListTableProps extends WithTranslation {\n detailUrlTemplates?: Record<string, string>;\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n instanceListData: InstanceApi_PostSearchV3ResponseBody;\n sort?: string;\n asc?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n selectDisabled?: boolean;\n autoBreakLine?: boolean;\n sortDisabled?: boolean;\n instanceSourceQuery?: string;\n inheritanceModelIdNameMap?: Record<string, string>;\n filterInstanceSourceDisabled?: boolean;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onInstanceSourceChange?(instanceSourceQuery: string): void;\n relationLinkDisabled?: boolean;\n paginationDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n selectedRowKeys?: string[];\n configProps?: TableProps<Record<string, any>>;\n extraColumns?: CustomColumn[];\n isOperate?: boolean;\n handleDeleteFunction?: (v: any[]) => void;\n target?: string;\n ipCopy?: boolean;\n separatorUsedInRelationData?: string;\n showTooltip?: boolean;\n fixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n onColumnsChange?(columns: ColumnType<{ dataIndex: string }>[]): void;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n hiddenColumns?: Array<string>;\n showCustomizedSerialNumber?: boolean;\n // 关系查询限制数量\n relationLimit?: number;\n // 支持表格项固定列展示的字段数组\n fixedFieldIds?: string[];\n onRelationMoreIconClick?(record: Record<string, any>): void;\n}\n\ninterface InstanceListTableState {\n list: Record<string, any>[];\n instanceSourceQuery?: string;\n columns?: ColumnType<Record<string, any>>[];\n pagination: TablePaginationConfig;\n defaultPagination: TablePaginationConfig;\n}\n\nexport class LegacyInstanceListTable extends React.Component<\n InstanceListTableProps,\n InstanceListTableState\n> {\n keyDisplayConfigMap: Record<string, UseBrickAndPropertyDisplayConfig> = {};\n recordUseBrickDataMap: Map<unknown, InstanceListUseBrickData>;\n inheritanceModelIdNameMap: Record<string, string>;\n selectedRows: Record<string, any>[] = [];\n ROM_KEY = \"instanceId\";\n\n instanceSourceTitle: React.ReactElement = (\n <>\n <span>{i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE}`)}</span>\n <Tooltip\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TOOLTIP}`)}\n >\n <span className={styles.titleTooltipIcon}>\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"question-circle\",\n theme: \"filled\",\n }}\n />\n </span>\n </Tooltip>\n </>\n );\n\n constructor(props: InstanceListTableProps) {\n super(props);\n const objectId = this.props.modelData.objectId;\n SELF_RENDER_COLUMNS[objectId]?.forEach(\n (config) => (this.keyDisplayConfigMap[config.key] = config)\n );\n this.props.propertyDisplayConfigs?.forEach(\n (config) => (this.keyDisplayConfigMap[config.key] = config)\n );\n const fieldIds = this.props.fieldIds;\n\n const sortedColumns = this.getChangeColumns(fieldIds);\n this.inheritanceModelIdNameMap = this.props.inheritanceModelIdNameMap;\n\n const defaultPagination = {\n disabled: this.props.paginationDisabled,\n pageSizeOptions: this.props.pageSizeOptions,\n showSizeChanger: this.props.showSizeChanger,\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`)}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`)}\n </span>\n ),\n };\n const currentColumns = this.getMergedColumns(\n sortedColumns,\n this.props.extraColumns\n );\n // 用于支持父模型情况下,可以自定义隐藏实例来源这一列\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n this.state = {\n list: this.props.instanceListData.list,\n instanceSourceQuery: this.props.instanceSourceQuery,\n columns: columns,\n pagination: {\n ...defaultPagination,\n total: this.props.instanceListData.total,\n current: this.props.instanceListData.page,\n pageSize: this.props.instanceListData.page_size,\n },\n defaultPagination: defaultPagination,\n };\n }\n // istanbul ignore next\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_INSTANCE_CONFIRM_MSG}`\n ),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n // istanbul ignore next\n remove(index: number) {\n const processList = [...this.props.instanceListData.list];\n processList.splice(index, 1);\n this.props.handleDeleteFunction(processList);\n }\n getChangeColumns(ids: string[]) {\n const columns: InstanceListTableState[\"columns\"] = [];\n forEachAvailableFields(\n modifyModelData(this.props.modelData),\n (attr, firstColumns?: boolean) =>\n columns.push(\n this.setColumnSortOrder(\n this.getAttributeColumnData(\n attr,\n this.props.modelData,\n firstColumns\n )\n )\n ),\n (relation, sides, firstColumns?: boolean) =>\n columns.push(\n this.setColumnSortOrder(\n this.getRelationColumnData(\n relation,\n this.props.modelData,\n sides,\n firstColumns\n )\n )\n ),\n this.props.modelData.isAbstract\n ? ids?.filter((i) => i !== \"_object_id\")\n : ids\n );\n const idColumnMap = new Map<string, ColumnType<Record<string, any>>>();\n columns.forEach((column) =>\n idColumnMap.set(column.dataIndex as string, column)\n );\n let fieldIds: string[];\n if (ids?.length) {\n fieldIds = ids;\n } else if (\n this.props.modelData.view &&\n this.props.modelData.view.attr_order\n ) {\n fieldIds = this.props.modelData.view.attr_order;\n }\n let sortedColumns: InstanceListTableState[\"columns\"];\n if (fieldIds) {\n sortedColumns = [];\n fieldIds.forEach((id) => {\n const column = idColumnMap.get(id);\n if (column) {\n sortedColumns.push(column);\n idColumnMap.delete(id);\n }\n });\n idColumnMap.forEach((column) => sortedColumns.push(column));\n } else {\n sortedColumns = columns;\n }\n if (this.props.isOperate) {\n sortedColumns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return (\n <Button\n data-testid={\"button-up-\" + index}\n type=\"link\"\n icon={\n <DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />\n }\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n );\n },\n });\n }\n return sortedColumns;\n }\n\n getMergedColumns(\n columns: ColumnType<Record<string, any>>[],\n extraColumns: CustomColumn[]\n ): ColumnType<Record<string, any>>[] {\n let mergedColumns = extraColumns\n ? [...columns, ...this.processExtraColumns(extraColumns)]\n : columns;\n if (this.props.modelData.isAbstract) {\n mergedColumns = [\n {\n title: this.instanceSourceTitle,\n dataIndex: \"_object_id\",\n ...(!this.props.filterInstanceSourceDisabled\n ? {\n filters: map(this.inheritanceModelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n })),\n filterMultiple: false,\n filteredValue: this.props.instanceSourceQuery && [\n this.props.instanceSourceQuery,\n ],\n }\n : {}),\n render: (value, record, index) => (\n <Tag>{this.inheritanceModelIdNameMap?.[value] || value}</Tag>\n ),\n },\n ...mergedColumns.filter((c) => c.dataIndex !== \"_object_id\"),\n ];\n }\n return mergedColumns;\n }\n\n processExtraColumns(\n extraColumns: CustomColumn[]\n ): ColumnType<Record<string, any>>[] {\n this.recordUseBrickDataMap = new Map();\n\n return extraColumns.map((column) => {\n const { useBrick, ...processedColumn } = column;\n\n if (useBrick) {\n processedColumn.render = (value, record, index) => {\n let data = this.recordUseBrickDataMap.get(record);\n\n if (!data) {\n data = { cellData: value, rowData: record, index };\n this.recordUseBrickDataMap.set(record, data);\n }\n\n return <BrickAsComponent useBrick={useBrick} data={data} />;\n };\n }\n\n return processedColumn;\n });\n }\n\n async componentDidMount(): Promise<void> {\n if (\n this.props.modelData.isAbstract &&\n isNil(this.inheritanceModelIdNameMap)\n ) {\n // useExternalCmdbApi为true 调用外部接口\n // istanbul ignore if\n if (this.props.useExternalCmdbApi) {\n this.inheritanceModelIdNameMap = (\n (await http.post(\n `api/gateway/easyops.api.cmdb.topo_center.ProxyGetIdMapName@1.0.1/api/v1/proxy-get-id-map-name`,\n {\n parentObjectId: this.props.modelData.objectId,\n sourceId: this.props.externalSourceId,\n }\n )) as any\n ).data;\n } else {\n this.inheritanceModelIdNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: this.props.modelData.objectId,\n } as any);\n }\n }\n const showFields = this.props.fieldIds;\n const changeColumns = this.getChangeColumns(showFields);\n const currentColumns = this.getMergedColumns(\n changeColumns,\n this.props.extraColumns\n );\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n this.setState({\n columns,\n });\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps: InstanceListTableProps): void {\n this.inheritanceModelIdNameMap = {\n ...this.inheritanceModelIdNameMap,\n ...nextProps.inheritanceModelIdNameMap,\n };\n const showFields = nextProps.fieldIds;\n const changeColumns = this.getChangeColumns(showFields);\n const currentColumns = this.getMergedColumns(\n changeColumns,\n nextProps.extraColumns\n );\n const columns = currentColumns?.filter(\n (v) => !this.props.hiddenColumns?.includes(v.dataIndex as string)\n );\n\n this.setState({\n columns,\n });\n\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n handleClickItem(\n e: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void {\n if (this.props.onClickItem) {\n this.props.onClickItem(e, record.instanceId);\n }\n if (this.props.onClickItemV2) {\n this.props.onClickItemV2(e, record);\n }\n }\n getCustomPropertyRender(\n config: UseBrickAndPropertyDisplayConfig,\n isPrimary?: boolean\n ) {\n // eslint-disable-next-line react/display-name\n return (value: any, record: Record<string, any>, index: number) => {\n return (\n <config.brick\n ref={(el: HTMLElement & PropertyDisplay) => {\n if (el) {\n if (config.properties) {\n Object.assign(\n el,\n {\n dataSource: record,\n objectId: this.props.modelData.objectId,\n },\n config.properties\n );\n } else {\n Object.assign(el, {\n key: config.key,\n value,\n isPrimary,\n });\n }\n }\n }}\n />\n );\n };\n }\n getDisplayConfigColumn(\n config: UseBrickAndPropertyDisplayConfig,\n isPrimary?: boolean\n ) {\n return (value: string[], record: Record<string, any>, index: number) => {\n if (config.brick) {\n return this.getCustomPropertyRender(config, isPrimary)(\n value,\n record,\n index\n );\n } else if (config.useBrick) {\n return this.getUseBrickConfigRender(config)(value, record, index);\n }\n };\n }\n getUseBrickConfigRender(config: UseBrickAndPropertyDisplayConfig) {\n // eslint-disable-next-line react/display-name\n return (value: any, record: Record<string, any>, index: number) => {\n const data = { cellData: value, rowData: record, index };\n return <BrickAsComponent useBrick={config.useBrick} data={data} />;\n };\n }\n\n getLinkContent(node: any) {\n return (\n <span style={{ display: \"flex\" }}>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>{node}</span>\n </span>\n );\n }\n // istanbul ignore next\n getSpecialUrlTemplates(\n object: Partial<CmdbModels.ModelCmdbObject>,\n record: any,\n node: any,\n url?: string,\n isRenderStructList?: boolean\n ) {\n if (!url) {\n return (\n <a\n role=\"button\"\n onClick={(e) => this.handleClickItem(e, record)}\n data-testid=\"instance-detail-link\"\n >\n {this.props.showTooltip ? (\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`)}${\n object.name\n }${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`)}`}\n >\n {this.getLinkContent(node)}\n </Tooltip>\n ) : (\n this.getLinkContent(node)\n )}\n </a>\n );\n }\n return (\n <>\n <span style={{ display: \"flex\" }}>\n <span\n className={\n isRenderStructList ? styles.iconWrapOfStruct : styles.iconWrap\n }\n >\n <Link\n to={url}\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n data-testid=\"instance-detail-link\"\n >\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`)}${\n object.name\n }${i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`)}`}\n >\n <span className={styles.relationMoreIcon}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n </Tooltip>\n </Link>\n </span>\n <span className={styles.linkKey}>{node}</span>\n </span>\n </>\n );\n }\n getAttributeColumnData(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n object: Partial<CmdbModels.ModelCmdbObject>,\n firstColumns?: boolean\n ): ColumnType<Record<string, any>> {\n const column: ColumnType<Record<string, any>> = {\n title: attribute.name,\n dataIndex: attribute.id,\n className: styles.instanceListTableCell,\n fixed: this.props.fixedFieldIds?.includes(attribute.id) ? \"right\" : false,\n };\n const displayConfig = this.keyDisplayConfigMap[attribute.id];\n const isPrimary = attribute.id === getInstanceNameKeys(object)[0];\n let tempColumns: any;\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.ATTACHMENT:\n case ModelAttributeValueType.STRUCT_LIST:\n column.sorter = false;\n break;\n default:\n column.sorter = !this.props.sortDisabled;\n }\n if (displayConfig) {\n if (displayConfig.brick || displayConfig.useBrick) {\n tempColumns = this.getDisplayConfigColumn(displayConfig, isPrimary);\n } else if (displayConfig.type) {\n switch (displayConfig.type) {\n case PropertyDisplayType.Tag:\n column.render = (\n values: string | string[],\n record: Record<string, any>,\n index: number\n ) => {\n if (values) {\n if (!(values instanceof Array)) {\n values = [values];\n }\n return values.map((value) => {\n let color: string;\n if (displayConfig.valueColorMap) {\n color = displayConfig.valueColorMap[value];\n }\n return (\n <Tag key={value} color={color}>\n {value}\n </Tag>\n );\n });\n } else {\n return null;\n }\n };\n break;\n }\n }\n } else {\n let isLegacy: boolean;\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n isLegacy = true;\n // falls through\n case ModelAttributeValueType.ATTACHMENT:\n case ModelAttributeValueType.STRUCT_LIST:\n tempColumns = (\n value: Record<string, any> | Record<string, any>[],\n record: Record<string, any>,\n index: number\n ) => {\n return value ? (\n <Popover\n overlayStyle={{ maxWidth: 800, width: \"100%\", height: \"auto\" }}\n content={\n <StructTable\n attribute={attribute as Attribute}\n structData={value}\n isLegacy={isLegacy}\n />\n }\n placement=\"bottom\"\n >\n <Button type=\"link\" style={{ padding: \"4px 0\" }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW}`)}\n </Button>\n </Popover>\n ) : null;\n };\n break;\n case ModelAttributeValueType.ARR:\n case ModelAttributeValueType.ENUMS:\n tempColumns = (\n value: string[],\n record: Record<string, any>,\n index: number\n ) => {\n return value && value.length > 0 ? value.join(\"; \") : null;\n };\n break;\n case ModelAttributeValueType.BOOLEAN:\n tempColumns = (v: boolean) => (isNil(v) ? \"\" : \"\" + v);\n break;\n case ModelAttributeValueType.JSON:\n tempColumns = (value: any) => {\n return (\n <JsonDisplayBrick\n value={value}\n name={attribute.name}\n isNumControlEllipsis={false}\n />\n );\n };\n break;\n case ModelAttributeValueType.STRING:\n switch (attribute.value.mode as any) {\n case \"xml\": {\n tempColumns = (v: string) => {\n return (\n <XmlDisplayBrick value={v} isNumControlEllipsis={false} />\n );\n };\n break;\n }\n case \"password\": {\n tempColumns = (v: string) => {\n return \"*\".repeat(v?.length);\n };\n break;\n }\n default: {\n tempColumns = (v: string) => v;\n }\n }\n break;\n case ModelAttributeValueType.FLOAT:\n tempColumns = (value: number) => {\n return <FloatDisplayBrick floatValue={value} />;\n };\n break;\n default:\n if (object.objectId === \"HOST\" && attribute.id in customRules) {\n tempColumns = (\n text: any,\n record: Record<string, any>,\n index: number\n ) => {\n if (!isBoolean(text) && (text || text === 0)) {\n text = compact(text.toString().split(\" \"));\n const valStr = text\n .map((item: any) => {\n return (customRules as any)[attribute.id](item, attribute);\n })\n .join(\" \");\n return valStr === \"\" ? undefined : valStr;\n }\n return (customRules as any)[attribute.id](text, attribute);\n };\n } else {\n tempColumns = (v: string) => v;\n }\n }\n }\n // istanbul ignore next\n if (tempColumns) {\n column.render =\n firstColumns && this.props.detailUrlTemplates\n ? (value: string, record: Record<string, any>, index: number) => {\n //要跳到的路由\n const detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n object.objectId\n );\n if (detailUrlTemplate) {\n const data = {\n ...record,\n objectId: object.isAbstract\n ? record._object_id\n : object.objectId,\n };\n const url = parseTemplate(detailUrlTemplate, data);\n if (\n attribute.value.type === ModelAttributeValueType.STRUCT ||\n attribute.value.type === ModelAttributeValueType.STRUCT_LIST\n ) {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url,\n true\n );\n }\n if (displayConfig && displayConfig.brick) {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url\n );\n }\n return (\n <Link\n to={url}\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n data-testid=\"instance-detail-link\"\n {...(!firstColumns || object.isAbstract\n ? { target: \"_blank\" }\n : this.props.target\n ? { target: this.props.target }\n : {})}\n >\n {this.props.showTooltip ? (\n <Tooltip\n placement=\"top\"\n title={`${i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.JUMP_TO}`\n )}${\n object.isAbstract\n ? this.inheritanceModelIdNameMap?.[\n record._object_id\n ] || record._object_id\n : object.name\n }${i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_DETAIL}`\n )}`}\n >\n <span>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>\n {tempColumns(value, record, index)}\n </span>\n </span>\n </Tooltip>\n ) : (\n <span>\n <span className={styles.iconWrap}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n icon: \"search\",\n category: \"app\",\n color: \"#167be0\",\n }}\n />\n </span>\n <span className={styles.linkKey}>\n {tempColumns(value, record, index)}\n </span>\n </span>\n )}\n </Link>\n );\n } else {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index)\n );\n }\n }\n : tempColumns;\n }\n return column;\n }\n\n handleRelationMoreIconClick(record: Record<string, any>): void {\n this.props?.onRelationMoreIconClick?.(record);\n }\n\n getRelationColumnData(\n relation: Partial<CmdbModels.ModelObjectRelation>,\n object: Partial<CmdbModels.ModelCmdbObject>,\n sides: RelationObjectSides,\n firstColumns?: boolean\n ): ColumnType<Record<string, any>> {\n const key = relation[`${sides.this}_id` as RelationIdKeys];\n const column: ColumnType<Record<string, any>> = {\n title: relation[`${sides.this}_name` as RelationNameKeys],\n dataIndex: key,\n sorter: !this.props.sortDisabled,\n className: styles.instanceListTableCell,\n fixed: this.props.fixedFieldIds?.includes(key) ? \"right\" : false,\n };\n const displayConfig = this.keyDisplayConfigMap[key];\n let tempColumns: any;\n\n if (displayConfig) {\n tempColumns = this.getDisplayConfigColumn(displayConfig);\n } else {\n tempColumns = (\n instances: Record<string, any>[],\n record: Record<string, any>,\n index: number\n ) => {\n if (instances && instances.length > 0) {\n const objectId =\n relation[`${sides.that}_object_id` as RelationObjectIdKeys];\n const leftName = relation[`${sides.this}_name`];\n const rightId = relation[`${sides.that}_id`];\n const nameKeys = getInstanceNameKeys(\n this.props.idObjectMap[objectId]\n );\n let detailUrlTemplate: string;\n\n if (this.props.detailUrlTemplates) {\n detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n objectId\n );\n }\n // 过滤后的实例\n const filterInstances = instances?.slice(0, this.props.relationLimit);\n const instanceNodes = filterInstances.map((instance, index) => {\n let subName: string;\n if (nameKeys.length > 1) {\n subName = instance[nameKeys[1]];\n }\n\n let instanceName = subName\n ? `${instance[nameKeys[0]]} (${subName})`\n : instance[nameKeys[0]];\n\n if (detailUrlTemplate) {\n const url = parseTemplate(detailUrlTemplate, {\n ...instance,\n objectId,\n });\n return (\n <React.Fragment key={instance.instanceId}>\n {index > 0 &&\n (this.props.separatorUsedInRelationData ?? \"; \")}\n {this.props.relationLinkDisabled ? (\n instanceName\n ) : (\n <Link\n target={\"_blank\"}\n // 使用 <Link> 以保持链接的原生能力\n to={url}\n className={styles.relationLink}\n // 自定义 onClick 以支持事件配置和拦截\n onClick={(e: MouseEvent | React.MouseEvent) =>\n this.handleClickItem(\n e as React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record\n )\n }\n >\n {instanceName}\n </Link>\n )}\n </React.Fragment>\n );\n } else {\n if (index > 0) {\n instanceName =\n (this.props.separatorUsedInRelationData ?? \"; \") +\n instanceName;\n }\n return instanceName;\n }\n });\n const instanceNodesWrapper = (\n <span\n className={classnames(styles.instanceListTableRelationWrapper)}\n >\n <span className={styles.instanceListTableRelationText}>\n {instanceNodes}\n </span>\n <Tooltip\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATION_INSTANCE_TOOLTIP}`\n )}\n placement=\"top\"\n trigger={[\"hover\", \"focus\"]}\n >\n <span className={styles.relationMoreIcon}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"patch-manager\",\n icon: \"patch-list\",\n }}\n onClick={() =>\n this.handleRelationMoreIconClick({\n ...record,\n objectId,\n left_name: leftName,\n right_id: rightId,\n })\n }\n />\n </span>\n </Tooltip>\n </span>\n );\n return instanceNodesWrapper;\n } else {\n return null;\n }\n };\n }\n // istanbul ignore next\n if (tempColumns) {\n column.render =\n firstColumns && this.props.detailUrlTemplates\n ? (value: string, record: Record<string, any>, index: number) => {\n //要跳到的路由\n const detailUrlTemplate = getTemplateFromMap(\n this.props.detailUrlTemplates,\n object.objectId\n );\n if (detailUrlTemplate) {\n const data = {\n ...record,\n objectId: object.objectId,\n };\n const url = parseTemplate(detailUrlTemplate, data);\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index),\n url\n );\n } else {\n return this.getSpecialUrlTemplates(\n object,\n record,\n tempColumns(value, record, index)\n );\n }\n }\n : tempColumns;\n }\n return column;\n }\n\n setColumnSortOrder<T = any>(column: ColumnType<T>) {\n if (\n (column.dataIndex !== undefined &&\n column.dataIndex === this.props.sort) ||\n (column.key !== undefined && column.key === this.props.sort)\n ) {\n column.sortOrder = this.props.asc ? SortOrder.Ascend : SortOrder.Descend;\n } else {\n column.sortOrder = null;\n }\n return column;\n }\n\n onChange = (\n pagination: TablePaginationConfig,\n filters: Record<string, (React.Key | boolean)[]>,\n sorter:\n | SorterResult<Record<string, any>>\n | SorterResult<Record<string, any>>[],\n extra: TableCurrentDataSource<Record<string, any>>\n ) => {\n const newInstanceSourceQuery = filters?._object_id?.[0] as string;\n if (newInstanceSourceQuery !== this.state.instanceSourceQuery) {\n this.props.onInstanceSourceChange(newInstanceSourceQuery);\n }\n if (\n // pagination.current will pass in 0 when total is 0 and sorter has changed\n (pagination.current > 0 &&\n pagination.current !== this.state.pagination.current) ||\n pagination.pageSize !== this.state.pagination.pageSize\n ) {\n this.props.onPaginationChange?.({\n page: pagination.current,\n pageSize: pagination.pageSize,\n });\n }\n if (!Array.isArray(sorter)) {\n const asc = { [SortOrder.Ascend]: true, [SortOrder.Descend]: false }[\n sorter.order\n ];\n if (\n (sorter.column ? sorter.field : undefined) !== this.props.sort ||\n asc !== this.props.asc\n ) {\n this.props.onSortingChange?.({ sort: sorter.field as string, asc });\n }\n }\n };\n\n onSelectChange = (\n selectedRowKeys: (string | number)[],\n selectedRows: Record<string, any>[]\n ) => {\n this.selectedRows = selectedRows;\n this.props.onSelectionChange?.({\n selectedKeys: selectedRowKeys as string[],\n selectedItems: selectedRows,\n });\n };\n handelIpCopyText = async (\n ev: React.MouseEvent<HTMLElement, MouseEvent>,\n dataIndex: string\n ) => {\n ev.stopPropagation();\n let selectedRowKeys = this.props.selectedRowKeys;\n let selectedRows = this.selectedRows.filter((v) => v);\n const objectId = this.props.modelData.objectId;\n if (selectedRowKeys?.length < 1) {\n message.warning(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_COPY_DATA}`)\n );\n return false;\n }\n selectedRowKeys = selectedRowKeys.filter((k) =>\n selectedRows.every((row) => row[this.ROM_KEY] !== k)\n );\n if (selectedRowKeys.length > 0) {\n let resp: any;\n const params = {\n query: {\n instanceId: {\n $in: selectedRowKeys,\n },\n },\n page_size: selectedRowKeys.length,\n page: 1,\n ...(this.props.useExternalCmdbApi\n ? {\n objectId,\n sourceId: this.props.externalSourceId,\n ignore_missing_field_error: true,\n }\n : {}),\n };\n // useExternalCmdbApi为true 调用外部接口\n if (this.props.useExternalCmdbApi) {\n resp = await http.post(\n \"api/gateway/easyops.api.cmdb.topo_center.ProxyPostSearchV3@1.0.1/api/v1/proxy-post-search-v3\",\n params\n );\n } else {\n resp = await InstanceApi_postSearch(objectId, params);\n }\n selectedRows = [...selectedRows, ...(resp?.list || [])];\n }\n const inputDom = document.createElement(\"textarea\");\n inputDom.value = [\n ...new Set(\n map(\n selectedRows.filter((v) => v[dataIndex]),\n dataIndex\n )\n ),\n ].join(\"\\n\");\n document.body.appendChild(inputDom);\n inputDom.select(); //选择对象\n document.execCommand(\"copy\");\n inputDom.remove();\n message.success(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`));\n };\n componentDidUpdate(prevProps: InstanceListTableProps) {\n if (this.props.instanceListData !== prevProps.instanceListData) {\n this.setState({\n list: this.props.instanceListData.list,\n pagination: {\n ...this.state.defaultPagination,\n total: this.props.instanceListData.total,\n current: this.props.instanceListData.page,\n pageSize: this.props.instanceListData.page_size,\n },\n });\n }\n if (\n this.props.sort !== prevProps.sort ||\n this.props.asc !== prevProps.asc\n ) {\n const columns: ColumnType<Record<string, any>>[] = [];\n this.state.columns.forEach((column) =>\n columns.push(this.setColumnSortOrder(column))\n );\n this.setState({ columns });\n this.props.onColumnsChange?.(\n columns.map(({ dataIndex }) => ({ dataIndex }))\n );\n }\n if (this.props.instanceSourceQuery !== prevProps.instanceSourceQuery) {\n this.setState({\n instanceSourceQuery: this.props.instanceSourceQuery,\n });\n }\n }\n\n render(): React.ReactNode {\n const { selectedRowKeys, rowSelectionType } = this.props;\n const rowSelection: TableRowSelection<Record<string, any>> = this.props\n .selectDisabled\n ? null\n : {\n type: rowSelectionType,\n preserveSelectedRowKeys: true,\n selectedRowKeys,\n onChange: this.onSelectChange,\n };\n\n const classes = classnames({\n [styles.shouldEllipsis]: this.props.autoBreakLine,\n [styles.tableWrapper]: true,\n });\n this.state.columns.map((column) => {\n const dataIndex = column.dataIndex as string;\n // istanbul ignore next\n if (\n this.props.modelData.attrList.find((attr) => attr.id === dataIndex)\n ?.value?.mode === \"url\"\n ) {\n column.render = (text, row, index) => CmdbUrlLink({ linkStr: text });\n }\n if (\n this.props.ipCopy &&\n this.props.modelData.attrList.find((attr) => attr.id === dataIndex)\n ?.value?.type === \"ip\"\n ) {\n column.filterDropdown = () => <div></div>;\n column.filterIcon = () => (\n <Tooltip\n className={styles.copyWrap}\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SELECTED_IP}`)}\n >\n <CopyOutlined\n style={{ fontSize: 16 }}\n onClick={(ev) => this.handelIpCopyText(ev, dataIndex)}\n />\n </Tooltip>\n );\n }\n });\n return (\n <div\n className={classes}\n style={{ overflowX: \"auto\", overflowY: \"hidden\" }}\n >\n <Table\n columns={\n this.props.showCustomizedSerialNumber\n ? [\n {\n dataIndex: \"customizedSerialNumber\",\n title: \"序号\",\n align: \"center\",\n },\n ...this.state.columns,\n ]\n : this.state.columns\n }\n dataSource={\n this.props.showCustomizedSerialNumber\n ? this.props.instanceListData.list.map((item, index) => ({\n ...item,\n customizedSerialNumber: index + 1,\n }))\n : this.props.instanceListData.list\n }\n rowKey={this.ROM_KEY}\n scroll={{\n x:\n this.props.fixedHeader || this.props.configProps?.scroll?.y\n ? (this.state.columns?.length ?? 0) * 150\n : \"max-content\",\n y: this.props.fixedHeader\n ? 560\n : this.props.configProps?.scroll?.y ?? null,\n }}\n pagination={this.state.pagination}\n rowSelection={rowSelection}\n onChange={this.onChange}\n expandable={{\n // ant的table数据中有children字段时会自动展示为树形表格,导致模型设置了id为children的字段或者关系字段时会出现报错或者不必要的展开样式\n // rowExpandable在dataSource含children属性时不生效,见https://github.com/ant-design/ant-design/issues/30444\n // 故这里将默认展开的字段设置为不符合模型属性id校验的值\n childrenColumnName: \"0\",\n }}\n {...omit(this.props.configProps, [\"scroll\"])}\n />\n </div>\n );\n }\n}\n// 临时做法 用HOC来间接声明契约,支持契约被扫描到\nexport const withProviderDeclare = (Component: any) => {\n // eslint-disable-next-line react/display-name\n return (props: any) => {\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetIdMapName = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetIdMapName:1.0.1\",\n { cache: false }\n );\n return <Component {...props} />;\n };\n};\n\nexport const InstanceListTable = React.memo(\n withTranslation(NS_LIBS_CMDB_INSTANCES)(\n withProviderDeclare(LegacyInstanceListTable)\n )\n);\n"],"mappings":"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","ignoreList":[]}
|