@next-libs/cmdb-instances 7.30.4 → 7.30.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/instance-detail/InstanceDetail.js +6 -18
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +4 -11
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +4 -2
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +7 -19
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +4 -11
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +5 -3
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/types/instance-detail/components/instance-relation-table-show/instance-relation-table-show.d.ts +1 -0
- package/package.json +2 -2
|
@@ -73,18 +73,11 @@ function InstanceRelationTableShow(props) {
|
|
|
73
73
|
});
|
|
74
74
|
}, [relationData, externalSourceId]);
|
|
75
75
|
const [instanceSourceQuery, setInstanceSourceQuery] = (0, _react.useState)(null);
|
|
76
|
-
|
|
77
|
-
let lastPath;
|
|
76
|
+
const modelData = modelDataMap[relationData.__isTransHierRelation ? props.objectId : relationData.left_object_id];
|
|
78
77
|
let oppositeModelData = (0, _cmdbUtils.modifyModelData)(modelDataMap[relationData.__isTransHierRelation ? relationData.relation_object : relationData.right_object_id]);
|
|
79
|
-
|
|
80
|
-
var _oppositeModelData, _oppositeModelData$re, _oppositeModelData$re2, _oppositeModelData2, _oppositeModelData2$r, _oppositeModelData2$r2;
|
|
81
|
-
const paths = relationData.query_path.split(".");
|
|
82
|
-
lastPath = paths[paths.length - 1];
|
|
83
|
-
const lastPathSourceObjectId = ((_oppositeModelData = oppositeModelData) === null || _oppositeModelData === void 0 ? void 0 : (_oppositeModelData$re = _oppositeModelData.relation_list) === null || _oppositeModelData$re === void 0 ? void 0 : (_oppositeModelData$re2 = _oppositeModelData$re.find(item => item.left_id === lastPath && item.right_object_id === relationData.relation_object)) === null || _oppositeModelData$re2 === void 0 ? void 0 : _oppositeModelData$re2.left_object_id) || ((_oppositeModelData2 = oppositeModelData) === null || _oppositeModelData2 === void 0 ? void 0 : (_oppositeModelData2$r = _oppositeModelData2.relation_list) === null || _oppositeModelData2$r === void 0 ? void 0 : (_oppositeModelData2$r2 = _oppositeModelData2$r.find(item => item.right_id === lastPath && item.left_object_id === relationData.relation_object)) === null || _oppositeModelData2$r2 === void 0 ? void 0 : _oppositeModelData2$r2.right_object_id);
|
|
84
|
-
modelData = modelDataMap[lastPathSourceObjectId] || oppositeModelDataMap[lastPathSourceObjectId];
|
|
85
|
-
}
|
|
78
|
+
|
|
86
79
|
// 如果指定了relation_default_attr,则取里面的字段
|
|
87
|
-
const defaultRelationFields = (0, _lodash.get)(modelData, ["view", "relation_default_attr", relationData.
|
|
80
|
+
const defaultRelationFields = (0, _lodash.get)(modelData, ["view", "relation_default_attr", relationData.__id]);
|
|
88
81
|
const fieldIds = getRelationShowFields(defaultRelationFields, oppositeModelData.attrList.map(attr => attr.id), (0, _lodash.get)(oppositeModelData, ["view", "attr_order"]));
|
|
89
82
|
//过滤掉视图不可见字段
|
|
90
83
|
const hideModelData = (_oppositeModelData$vi = (_oppositeModelData$vi2 = oppositeModelData.view) === null || _oppositeModelData$vi2 === void 0 ? void 0 : _oppositeModelData$vi2.hide_columns) !== null && _oppositeModelData$vi !== void 0 ? _oppositeModelData$vi : [];
|
|
@@ -100,7 +93,7 @@ function InstanceRelationTableShow(props) {
|
|
|
100
93
|
}
|
|
101
94
|
}, /*#__PURE__*/_react.default.createElement(_instanceListTable.InstanceListTable, {
|
|
102
95
|
detailUrlTemplates: props.hideRelationLink ? null : {
|
|
103
|
-
[relationData.right_object_id]: "/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}"
|
|
96
|
+
[relationData.__isTransHierRelation ? relationData.relation_object : relationData.right_object_id]: "/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}"
|
|
104
97
|
},
|
|
105
98
|
idObjectMap: oppositeModelDataMap,
|
|
106
99
|
modelData: oppositeModelData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-relation-table-show.js","names":["_react","_interopRequireWildcard","require","_cmdbUtils","_instanceListTable","_constants","_i18next","_interopRequireDefault","_lodash","_InstanceListTableModule","_dataProviders","_brickKit","reOrderAttrs","fields","fieldOrder","sortBy","field","index","indexOf","length","getRelationShowFields","defaultRelationFields","oppositeAttrList","attr_order","showFields","map","item","startsWith","slice","getHiddenColumns","data","oppositeModelData","relationData","relationGangedConfig","attrList","attr","id","left_max","rightObjectId","right_object_id","objectId","left_object_id","_head","attrData","head","rightControlAttrId","attrType","get","filter","__fieldList","o","isArray","nonIncludedControlFields","control","includes","InstanceRelationTableShow","props","_oppositeModelData$vi","_oppositeModelData$vi2","modelDataMap","value","relationFieldUrlTemplate","paginationChange","total","relationTablePagination","externalSourceId","oppositeModelDataMap","setOppositeModelDataMap","useState","useEffect","fetchOppositeModelData","modelListData","fetchCmdbObjectRef","__isTransHierRelation","relation_object","keyBy","catch","error","handleHttpError","instanceSourceQuery","setInstanceSourceQuery","modelData","lastPath","modifyModelData","_oppositeModelData","_oppositeModelData$re","_oppositeModelData$re2","_oppositeModelData2","_oppositeModelData2$r","_oppositeModelData2$r2","paths","query_path","split","lastPathSourceObjectId","relation_list","find","left_id","right_id","__id","fieldIds","hideModelData","view","hide_columns","hiddenColumns","default","createElement","style","display","InstanceListTable","detailUrlTemplates","hideRelationLink","idObjectMap","instanceListData","list","onInstanceSourceChange","instanceQuery","filterInstanceSourceDisabled","autoBreakLine","selectDisabled","sortDisabled","configProps","pagination","isPagination","showSizeChanger","pageSizeOptions","onChange","page","pageSize","showTotal","totals","className","styles","totalText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PAGINATION_TOTAL_TEXT","PAGINATION_TOTAL_UNIT","target","useExternalCmdbApi"],"sources":["../../../../../src/instance-detail/components/instance-relation-table-show/instance-relation-table-show.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Table } from \"antd\";\nimport {\n ModifiedModelObjectRelation,\n modifyModelData,\n TransHierRelationType,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../../../instance-list-table\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../../i18n/constants\";\nimport i18n from \"i18next\";\nimport { get, sortBy, keyBy, head, isArray, filter } from \"lodash\";\nimport styles from \"../../../instance-list-table/InstanceListTable.module.css\";\nimport { fetchCmdbObjectRef } from \"../../../data-providers\";\nimport { handleHttpError } from \"@next-core/brick-kit\";\nexport interface InstanceRelationTableShowProps {\n modelDataMap: { [objectId: string]: CmdbModels.ModelCmdbObject };\n relationData: ModifiedModelObjectRelation &\n TransHierRelationType & { __isTransHierRelation?: boolean };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any[];\n relationFieldUrlTemplate?: string;\n isPagination?: boolean;\n total?: number;\n relationTablePagination?: {\n current?: number;\n pageSize?: number;\n };\n paginationChange?: (\n page: number,\n pageSize: number,\n relationData: ModifiedModelObjectRelation\n ) => Promise<void> | void;\n hideRelationLink?: boolean;\n onInstanceSourceChange?: (instanceSource: string) => void;\n filterInstanceSourceDisabled?: boolean;\n externalSourceId?: string;\n relationGangedConfig?: Record<string, any>;\n}\nexport function reOrderAttrs(fields: string[], fieldOrder: string[] = []) {\n return sortBy(fields, (field) => {\n const index = fieldOrder.indexOf(field);\n return index === -1 ? fields.length : index;\n });\n}\nexport function getRelationShowFields(\n defaultRelationFields: string[],\n oppositeAttrList: string[],\n attr_order: string[] = []\n) {\n let showFields = oppositeAttrList;\n if (defaultRelationFields?.length) {\n showFields = reOrderAttrs(\n defaultRelationFields.map((item: string) =>\n item.startsWith(\"#\") ? item.slice(1) : item\n ),\n attr_order\n );\n }\n return showFields;\n}\n\nfunction getHiddenColumns(\n data: any[],\n oppositeModelData: any,\n relationData: ModifiedModelObjectRelation,\n relationGangedConfig?: Record<string, any>\n): string[] {\n const oppositeAttrList = oppositeModelData.attrList.map(\n (attr: any) => attr.id\n );\n if (\n relationGangedConfig &&\n relationData?.left_max === 1 &&\n relationGangedConfig?.rightObjectId === relationData?.right_object_id &&\n relationGangedConfig?.objectId === relationData?.left_object_id\n ) {\n const attrData = head(data)?.[relationGangedConfig?.rightControlAttrId];\n const attrType = get(\n filter(\n oppositeModelData.__fieldList,\n (o: any) => o.id === relationGangedConfig?.rightControlAttrId\n ),\n \"[0].value.type\"\n );\n if (attrData && attrType === \"arr\" && isArray(attrData)) {\n const nonIncludedControlFields = filter(\n relationGangedConfig?.control || [],\n (attr: any) => !attrData.includes(attr)\n );\n return oppositeAttrList.filter((item: any) =>\n nonIncludedControlFields.includes(item)\n );\n }\n }\n\n return [];\n}\n//istanbul ignore next\nexport function InstanceRelationTableShow(\n props: InstanceRelationTableShowProps\n): React.ReactElement {\n const {\n modelDataMap,\n relationData,\n value,\n relationFieldUrlTemplate,\n paginationChange,\n total,\n relationTablePagination,\n externalSourceId,\n relationGangedConfig,\n } = props;\n const [oppositeModelDataMap, setOppositeModelDataMap] = useState({});\n /**\n * 实例详情中展示对端实例的关系时,需要重新拉取对端关系所关联的模型。\n * 如在主机详情中展示负责人所在的角色,需要拿到与USER相关的模型ROLE@ONEMODEL\n * 而原来的modelDataMap是与HOST相关的,可能不包括ROLE@ONEMODEL,就造成取不到角色的showKey\n */\n useEffect(() => {\n const fetchOppositeModelData = async () => {\n const modelListData = await fetchCmdbObjectRef(\n relationData.__isTransHierRelation\n ? relationData.relation_object\n : relationData.right_object_id,\n externalSourceId\n );\n setOppositeModelDataMap(keyBy(modelListData.data, \"objectId\"));\n };\n fetchOppositeModelData().catch((error) => {\n handleHttpError(error);\n });\n }, [relationData, externalSourceId]);\n const [instanceSourceQuery, setInstanceSourceQuery] = useState(null);\n\n let modelData = modelDataMap[relationData.left_object_id];\n let lastPath: string;\n\n let oppositeModelData = modifyModelData(\n modelDataMap[\n relationData.__isTransHierRelation\n ? relationData.relation_object\n : relationData.right_object_id\n ]\n );\n if (relationData.__isTransHierRelation) {\n const paths = relationData.query_path.split(\".\");\n lastPath = paths[paths.length - 1];\n const lastPathSourceObjectId =\n oppositeModelData?.relation_list?.find(\n (item: any) =>\n item.left_id === lastPath &&\n item.right_object_id === relationData.relation_object\n )?.left_object_id ||\n oppositeModelData?.relation_list?.find(\n (item: any) =>\n item.right_id === lastPath &&\n item.left_object_id === relationData.relation_object\n )?.right_object_id;\n modelData =\n modelDataMap[lastPathSourceObjectId] ||\n (oppositeModelDataMap as any)[lastPathSourceObjectId];\n }\n // 如果指定了relation_default_attr,则取里面的字段\n const defaultRelationFields = get(modelData, [\n \"view\",\n \"relation_default_attr\",\n relationData.__isTransHierRelation ? lastPath : relationData.__id,\n ]);\n\n const fieldIds = getRelationShowFields(\n defaultRelationFields,\n oppositeModelData.attrList.map((attr) => attr.id),\n get(oppositeModelData, [\"view\", \"attr_order\"])\n );\n //过滤掉视图不可见字段\n const hideModelData = oppositeModelData.view?.hide_columns ?? [];\n oppositeModelData = {\n ...oppositeModelData,\n attrList: oppositeModelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: oppositeModelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.relationData.right_object_id) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.relationData.right_object_id)\n )\n ),\n };\n const hiddenColumns = getHiddenColumns(\n value,\n oppositeModelData,\n relationData,\n relationGangedConfig\n );\n\n return (\n <div style={{ display: \"grid\" }}>\n <InstanceListTable\n detailUrlTemplates={\n props.hideRelationLink\n ? null\n : {\n [relationData.right_object_id]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n }\n }\n idObjectMap={oppositeModelDataMap}\n modelData={oppositeModelData}\n instanceListData={{\n list: value,\n }}\n onInstanceSourceChange={(instanceQuery: any) => {\n props.onInstanceSourceChange(instanceQuery);\n }}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={true}\n fieldIds={fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: props.isPagination\n ? {\n showSizeChanger: true,\n total: total,\n pageSizeOptions: [\"10\", \"20\", \"50\"],\n ...relationTablePagination,\n onChange: (page: number, pageSize: number) => {\n paginationChange(page, pageSize, relationData);\n },\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`\n )}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`\n )}\n </span>\n ),\n }\n : false,\n }}\n target={\"_blank\"}\n externalSourceId={externalSourceId}\n useExternalCmdbApi={externalSourceId ? true : false}\n hiddenColumns={hiddenColumns}\n ></InstanceListTable>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"instance-relation-table-show.js","names":["_react","_interopRequireWildcard","require","_cmdbUtils","_instanceListTable","_constants","_i18next","_interopRequireDefault","_lodash","_InstanceListTableModule","_dataProviders","_brickKit","reOrderAttrs","fields","fieldOrder","sortBy","field","index","indexOf","length","getRelationShowFields","defaultRelationFields","oppositeAttrList","attr_order","showFields","map","item","startsWith","slice","getHiddenColumns","data","oppositeModelData","relationData","relationGangedConfig","attrList","attr","id","left_max","rightObjectId","right_object_id","objectId","left_object_id","_head","attrData","head","rightControlAttrId","attrType","get","filter","__fieldList","o","isArray","nonIncludedControlFields","control","includes","InstanceRelationTableShow","props","_oppositeModelData$vi","_oppositeModelData$vi2","modelDataMap","value","relationFieldUrlTemplate","paginationChange","total","relationTablePagination","externalSourceId","oppositeModelDataMap","setOppositeModelDataMap","useState","useEffect","fetchOppositeModelData","modelListData","fetchCmdbObjectRef","__isTransHierRelation","relation_object","keyBy","catch","error","handleHttpError","instanceSourceQuery","setInstanceSourceQuery","modelData","modifyModelData","__id","fieldIds","hideModelData","view","hide_columns","relation_list","left_id","right_id","hiddenColumns","default","createElement","style","display","InstanceListTable","detailUrlTemplates","hideRelationLink","idObjectMap","instanceListData","list","onInstanceSourceChange","instanceQuery","filterInstanceSourceDisabled","autoBreakLine","selectDisabled","sortDisabled","configProps","pagination","isPagination","showSizeChanger","pageSizeOptions","onChange","page","pageSize","showTotal","totals","className","styles","totalText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PAGINATION_TOTAL_TEXT","PAGINATION_TOTAL_UNIT","target","useExternalCmdbApi"],"sources":["../../../../../src/instance-detail/components/instance-relation-table-show/instance-relation-table-show.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Table } from \"antd\";\nimport {\n ModifiedModelObjectRelation,\n modifyModelData,\n TransHierRelationType,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../../../instance-list-table\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../../i18n/constants\";\nimport i18n from \"i18next\";\nimport { get, sortBy, keyBy, head, isArray, filter } from \"lodash\";\nimport styles from \"../../../instance-list-table/InstanceListTable.module.css\";\nimport { fetchCmdbObjectRef } from \"../../../data-providers\";\nimport { handleHttpError } from \"@next-core/brick-kit\";\nexport interface InstanceRelationTableShowProps {\n objectId: string;\n modelDataMap: { [objectId: string]: CmdbModels.ModelCmdbObject };\n relationData: ModifiedModelObjectRelation &\n TransHierRelationType & { __isTransHierRelation?: boolean };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any[];\n relationFieldUrlTemplate?: string;\n isPagination?: boolean;\n total?: number;\n relationTablePagination?: {\n current?: number;\n pageSize?: number;\n };\n paginationChange?: (\n page: number,\n pageSize: number,\n relationData: ModifiedModelObjectRelation\n ) => Promise<void> | void;\n hideRelationLink?: boolean;\n onInstanceSourceChange?: (instanceSource: string) => void;\n filterInstanceSourceDisabled?: boolean;\n externalSourceId?: string;\n relationGangedConfig?: Record<string, any>;\n}\nexport function reOrderAttrs(fields: string[], fieldOrder: string[] = []) {\n return sortBy(fields, (field) => {\n const index = fieldOrder.indexOf(field);\n return index === -1 ? fields.length : index;\n });\n}\nexport function getRelationShowFields(\n defaultRelationFields: string[],\n oppositeAttrList: string[],\n attr_order: string[] = []\n) {\n let showFields = oppositeAttrList;\n if (defaultRelationFields?.length) {\n showFields = reOrderAttrs(\n defaultRelationFields.map((item: string) =>\n item.startsWith(\"#\") ? item.slice(1) : item\n ),\n attr_order\n );\n }\n return showFields;\n}\n\nfunction getHiddenColumns(\n data: any[],\n oppositeModelData: any,\n relationData: ModifiedModelObjectRelation,\n relationGangedConfig?: Record<string, any>\n): string[] {\n const oppositeAttrList = oppositeModelData.attrList.map(\n (attr: any) => attr.id\n );\n if (\n relationGangedConfig &&\n relationData?.left_max === 1 &&\n relationGangedConfig?.rightObjectId === relationData?.right_object_id &&\n relationGangedConfig?.objectId === relationData?.left_object_id\n ) {\n const attrData = head(data)?.[relationGangedConfig?.rightControlAttrId];\n const attrType = get(\n filter(\n oppositeModelData.__fieldList,\n (o: any) => o.id === relationGangedConfig?.rightControlAttrId\n ),\n \"[0].value.type\"\n );\n if (attrData && attrType === \"arr\" && isArray(attrData)) {\n const nonIncludedControlFields = filter(\n relationGangedConfig?.control || [],\n (attr: any) => !attrData.includes(attr)\n );\n return oppositeAttrList.filter((item: any) =>\n nonIncludedControlFields.includes(item)\n );\n }\n }\n\n return [];\n}\n//istanbul ignore next\nexport function InstanceRelationTableShow(\n props: InstanceRelationTableShowProps\n): React.ReactElement {\n const {\n modelDataMap,\n relationData,\n value,\n relationFieldUrlTemplate,\n paginationChange,\n total,\n relationTablePagination,\n externalSourceId,\n relationGangedConfig,\n } = props;\n const [oppositeModelDataMap, setOppositeModelDataMap] = useState({});\n /**\n * 实例详情中展示对端实例的关系时,需要重新拉取对端关系所关联的模型。\n * 如在主机详情中展示负责人所在的角色,需要拿到与USER相关的模型ROLE@ONEMODEL\n * 而原来的modelDataMap是与HOST相关的,可能不包括ROLE@ONEMODEL,就造成取不到角色的showKey\n */\n useEffect(() => {\n const fetchOppositeModelData = async () => {\n const modelListData = await fetchCmdbObjectRef(\n relationData.__isTransHierRelation\n ? relationData.relation_object\n : relationData.right_object_id,\n externalSourceId\n );\n setOppositeModelDataMap(keyBy(modelListData.data, \"objectId\"));\n };\n fetchOppositeModelData().catch((error) => {\n handleHttpError(error);\n });\n }, [relationData, externalSourceId]);\n const [instanceSourceQuery, setInstanceSourceQuery] = useState(null);\n\n const modelData =\n modelDataMap[\n relationData.__isTransHierRelation\n ? props.objectId\n : relationData.left_object_id\n ];\n\n let oppositeModelData = modifyModelData(\n modelDataMap[\n relationData.__isTransHierRelation\n ? relationData.relation_object\n : relationData.right_object_id\n ]\n );\n\n // 如果指定了relation_default_attr,则取里面的字段\n const defaultRelationFields = get(modelData, [\n \"view\",\n \"relation_default_attr\",\n relationData.__id,\n ]);\n\n const fieldIds = getRelationShowFields(\n defaultRelationFields,\n oppositeModelData.attrList.map((attr) => attr.id),\n get(oppositeModelData, [\"view\", \"attr_order\"])\n );\n //过滤掉视图不可见字段\n const hideModelData = oppositeModelData.view?.hide_columns ?? [];\n oppositeModelData = {\n ...oppositeModelData,\n attrList: oppositeModelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: oppositeModelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.relationData.right_object_id) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.relationData.right_object_id)\n )\n ),\n };\n const hiddenColumns = getHiddenColumns(\n value,\n oppositeModelData,\n relationData,\n relationGangedConfig\n );\n\n return (\n <div style={{ display: \"grid\" }}>\n <InstanceListTable\n detailUrlTemplates={\n props.hideRelationLink\n ? null\n : {\n [relationData.__isTransHierRelation\n ? relationData.relation_object\n : relationData.right_object_id]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n }\n }\n idObjectMap={oppositeModelDataMap}\n modelData={oppositeModelData}\n instanceListData={{\n list: value,\n }}\n onInstanceSourceChange={(instanceQuery: any) => {\n props.onInstanceSourceChange(instanceQuery);\n }}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={true}\n fieldIds={fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: props.isPagination\n ? {\n showSizeChanger: true,\n total: total,\n pageSizeOptions: [\"10\", \"20\", \"50\"],\n ...relationTablePagination,\n onChange: (page: number, pageSize: number) => {\n paginationChange(page, pageSize, relationData);\n },\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`\n )}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`\n )}\n </span>\n ),\n }\n : false,\n }}\n target={\"_blank\"}\n externalSourceId={externalSourceId}\n useExternalCmdbApi={externalSourceId ? true : false}\n hiddenColumns={hiddenColumns}\n ></InstanceListTable>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -179,12 +179,14 @@ class LegacyDisplaySettings extends _react.default.Component {
|
|
|
179
179
|
const fieldsKey = "nextFields";
|
|
180
180
|
const checked = event.target.checked;
|
|
181
181
|
const fields = checked ? allFields.map(attr => attr.id) : [];
|
|
182
|
+
const realAllFieldsIds = allFields.map(attr => attr.id);
|
|
183
|
+
const finalFields = checked ? (0, _lodash.uniq)(this.state[fieldsKey].concat(fields)) : this.state[fieldsKey].filter(id => !realAllFieldsIds.includes(id));
|
|
182
184
|
this.setState({
|
|
183
|
-
[fieldsKey]:
|
|
185
|
+
[fieldsKey]: finalFields,
|
|
184
186
|
selectAllFields: event.target.checked,
|
|
185
187
|
selectCategoryAllFieldsMap: (0, _lodash.mapValues)(this.state.selectCategoryAllFieldsMap, () => checked)
|
|
186
188
|
});
|
|
187
|
-
(_this$props$onChange3 = (_this$props3 = this.props).onChange) === null || _this$props$onChange3 === void 0 ? void 0 : _this$props$onChange3.call(_this$props3,
|
|
189
|
+
(_this$props$onChange3 = (_this$props3 = this.props).onChange) === null || _this$props$onChange3 === void 0 ? void 0 : _this$props$onChange3.call(_this$props3, finalFields);
|
|
188
190
|
}
|
|
189
191
|
renderCheckbox(attr, field, categoryData) {
|
|
190
192
|
const fieldsKey = "nextFields";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_reactI18next","_constants2","_DisplaySettingsModule","_classnames","AttributeType","LegacyDisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","t","K","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","type","filter","attr","qResult","name","includes","typeResult","fieldsKey","attrs","getCAategoryOrders","categoryMap","groupBy","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","hideColumns","view","hide_columns","ignoredFields","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","attribute","isTransHierRelation","TransHierRelation","isRelation","Relation","Attribute","category","extraAttrIds","extraFieldAttrs","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","concat","without","attrsIds","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","mapValues","renderCheckbox","field","disabled","extraDisabledField","has","createElement","Col","key","span","style","padding","onClick","stopPropagation","Checkbox","width","wordBreak","render","attributeTypeMap","ATTRIBUTES","RELATIONSHIPS","CROSS_LEVEL_RELATIONSHIPS","Fragment","display","alignItems","Input","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingRight","Object","keys","Tag","className","classNames","styles","fieldTypeTag","fieldTypeActive","handleFilterType","paddingLeft","verticalAlign","e","SELECT_ALL","marginTop","maxHeight","overflow","index","_categoryMap$category","categoryAttrs","marginBottom","Row","Divider","exports","DisplaySettings","withTranslation","NS_LIBS_CMDB_INSTANCES"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row, Tag } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport styles from \"./DisplaySettings.module.css\";\nimport classNames from \"classnames\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\nexport interface WithTranslationDisplaySettingsProps\n extends DisplaySettingsProps,\n WithTranslation {}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n type: AttributeType | string;\n}\n\nenum AttributeType {\n Attribute = \"attribute\",\n Relation = \"relation\",\n TransHierRelation = \"transHierRelation\",\n}\n\nexport class LegacyDisplaySettings extends React.Component<\n WithTranslationDisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: {\n id: string;\n name: string;\n category: string;\n type: AttributeType;\n }[] = [];\n\n constructor(props: WithTranslationDisplaySettingsProps) {\n super(props);\n const { t } = props;\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n type: attribute.isTransHierRelation\n ? AttributeType.TransHierRelation\n : attribute.isRelation\n ? AttributeType.Relation\n : AttributeType.Attribute,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\") ||\n get(attribute, \"tags[0]\") ||\n t(K.OTHERS)\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n type: \"\",\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: WithTranslationDisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n this.props.t(K.OTHERS),\n ]),\n ]; //分组排序\n return categoryOrders;\n };\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n const type = this.state.type;\n filteredList = filteredList.filter((attr) => {\n const qResult = attr.name.toLowerCase().includes(q);\n const typeResult = !this.state.type || attr.type === this.state.type;\n return qResult && typeResult;\n });\n\n const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n handleFilterType = (type: AttributeType | string) => {\n this.setState({\n type,\n });\n this.debounceHandleSearch();\n };\n render() {\n const { t } = this.props;\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const attributeTypeMap = {\n [AttributeType.Attribute]: t(K.ATTRIBUTES),\n [AttributeType.Relation]: t(K.RELATIONSHIPS),\n [AttributeType.TransHierRelation]: t(K.CROSS_LEVEL_RELATIONSHIPS),\n };\n\n return (\n <>\n {/* <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {t(K.FIELD_SETTINGS)}\n </Divider> */}\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n <Input.Search\n value={this.state.q}\n placeholder={t(K.SEARCH_BY_FIELD_NAME)}\n onChange={this.handleSearchChange}\n style={{ width: 200, paddingRight: 10 }}\n data-testid=\"search-input\"\n />\n\n {Object.keys(attributeTypeMap).map((key) => (\n <Tag\n className={classNames(styles.fieldTypeTag, {\n [styles.fieldTypeActive]:\n this.state.type === (key as AttributeType),\n })}\n key={key}\n onClick={() =>\n this.handleFilterType(\n !this.state.type || this.state.type !== key\n ? (key as AttributeType)\n : \"\"\n )\n }\n >\n {attributeTypeMap[key as AttributeType]}\n </Tag>\n ))}\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {t(K.SELECT_ALL)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n\nexport const DisplaySettings = withTranslation(NS_LIBS_CMDB_INSTANCES)(\n LegacyDisplaySettings\n);\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AASA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAKA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AAAoC,IAyB/BS,aAAa;AAAA,WAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AAMX,MAAMC,qBAAqB,SAASC,cAAK,CAACC,SAAS,CAGxD;EASAC,WAAWA,CAACC,KAA0C,EAAE;IACtD,KAAK,CAACA,KAAK,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BAHT,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BA6La,MAAM;MACzB,MAAMC,cAAc,GAAG,CACrB,GAAG,IAAIC,GAAG,CAAC,CACT,GAAG,IAAAC,WAAG,EAAC,IAAI,CAACL,KAAK,CAACM,SAAS,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAC5D,IAAI,CAACN,KAAK,CAACO,CAAC,CAACC,aAAC,CAACC,MAAM,CAAC,CACvB,CAAC,CACH,CAAC,CAAC;MACH,OAAON,cAAc;IACvB,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,wBACc,MAAM;MACnB,IAAIQ,YAAY,GAAG,IAAI,CAACC,mBAAmB;MAC3C,MAAMC,CAAC,GAAG,IAAI,CAACC,KAAK,CAACD,CAAC,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAC3C,MAAMC,IAAI,GAAG,IAAI,CAACH,KAAK,CAACG,IAAI;MAC5BN,YAAY,GAAGA,YAAY,CAACO,MAAM,CAAEC,IAAI,IAAK;QAC3C,MAAMC,OAAO,GAAGD,IAAI,CAACE,IAAI,CAACL,WAAW,CAAC,CAAC,CAACM,QAAQ,CAACT,CAAC,CAAC;QACnD,MAAMU,UAAU,GAAG,CAAC,IAAI,CAACT,KAAK,CAACG,IAAI,IAAIE,IAAI,CAACF,IAAI,KAAK,IAAI,CAACH,KAAK,CAACG,IAAI;QACpE,OAAOG,OAAO,IAAIG,UAAU;MAC9B,CAAC,CAAC;MAEF,MAAMC,SAAS,GAAG,YAAY;MAC9B,MAAMC,KAAK,GAAG,IAAI,CAACX,KAAK,CAACU,SAAS,CAAC;MACnC,MAAMpB,cAAc,GAAG,IAAI,CAACsB,kBAAkB,CAAC,CAAC;MAChD,MAAMC,WAAW,GAAG,IAAAC,eAAO,EAACjB,YAAY,EAAE,UAAU,CAAC;MACrD,MAAMkB,eAAe,GAAGJ,KAAK,CAACK,MAAM,KAAK,IAAI,CAAChB,KAAK,CAACiB,eAAe;MACnE,MAAMC,0BAAmD,GAAG,CAAC,CAAC;MAC9D5B,cAAc,CAAC6B,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;QAAA,IAAAC,iBAAA;QACnC,MAAMC,eAAe,IAAAD,iBAAA,GAAGT,WAAW,CAACQ,IAAI,CAAC,cAAAC,iBAAA,uBAAjBA,iBAAA,CAAmBE,GAAG,CAAEnB,IAAI,IAAKA,IAAI,CAACoB,EAAE,CAAC;QACjEL,GAAG,CAACC,IAAI,CAAC,GAAGN,eAAe,GACvBA,eAAe,GACf,CAAC,EAACQ,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEG,KAAK,CAAED,EAAE,IAAKd,KAAK,CAACH,QAAQ,CAACiB,EAAE,CAAC,CAAC;QACxD,OAAOL,GAAG;MACZ,CAAC,EAAEF,0BAA0B,CAAC;MAC9B,IAAI,CAACS,QAAQ,CAAC;QACZ9B,YAAY;QACZkB,eAAe;QACfG;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAA9B,gBAAA,CAAAC,OAAA,8BAEqBuC,KAA0C,IAAK;MACnE,MAAMC,KAAK,GAAGD,KAAK,CAACE,MAAM,CAACD,KAAK;MAChC,IAAI,CAACF,QAAQ,CAAC;QACZ5B,CAAC,EAAE8B;MACL,CAAC,CAAC;MACF,IAAI,CAACE,oBAAoB,CAAC,CAAC;IAC7B,CAAC;IAAA,IAAA3C,gBAAA,CAAAC,OAAA,4BACmBc,IAA4B,IAAK;MACnD,IAAI,CAACwB,QAAQ,CAAC;QACZxB;MACF,CAAC,CAAC;MACF,IAAI,CAAC4B,oBAAoB,CAAC,CAAC;IAC7B,CAAC;IA5OC,MAAM;MAAErC;IAAE,CAAC,GAAGP,KAAK;IACnB,MAAMW,mBAAmB,GAAG,IAAAkC,iCAAsB,EAAC,IAAI,CAAC7C,KAAK,CAACM,SAAS,CAAC;IACxE,IAAIwC,WAAW,GAAG,IAAI,CAAC9C,KAAK,CAACM,SAAS,CAACyC,IAAI,CAACC,YAAY,IAAI,EAAE;IAC9D,MAAMC,aAAa,GAAG,IAAA5C,WAAG,EACvB6C,wCAA6B,EAC7B,iBAAiB,IAAI,CAAClD,KAAK,CAACM,SAAS,CAAC6C,QAAQ,EAAE,EAChD,EACF,CAAC;IACDL,WAAW,GAAG,CAAC,GAAGA,WAAW,EAAE,GAAGG,aAAa,CAAC;IAEhD,IAAI,CAAC,IAAAG,eAAO,EAACN,WAAW,CAAC,EAAE;MACzBA,WAAW,CAACO,OAAO,CAAEC,UAAkB,IAAK;QAC1C,IAAAC,cAAM,EAAC5C,mBAAmB,EAAGO,IAAI,IAAKA,IAAI,CAACoB,EAAE,KAAKgB,UAAU,CAAC;MAC/D,CAAC,CAAC;IACJ;IAEA,IAAI,CAAC3C,mBAAmB,GAAGA,mBAAmB,CAAC0B,GAAG,CAAEmB,SAAc,KAAM;MACtElB,EAAE,EAAEkB,SAAS,CAAClB,EAAE;MAChBlB,IAAI,EAAEoC,SAAS,CAACpC,IAAI;MACpBJ,IAAI,EAAEwC,SAAS,CAACC,mBAAmB,GAC/B9D,aAAa,CAAC+D,iBAAiB,GAC/BF,SAAS,CAACG,UAAU,GACpBhE,aAAa,CAACiE,QAAQ,GACtBjE,aAAa,CAACkE,SAAS;MAC3BC,QAAQ,EAAE,IAAAzD,WAAG,EACXmD,SAAS,EACT,QAAQ,EACR,IAAAnD,WAAG,EAACmD,SAAS,EAAE,cAAc,CAAC,IAC5B,IAAAnD,WAAG,EAACmD,SAAS,EAAE,SAAS,CAAC,IACzBjD,CAAC,CAACC,aAAC,CAACC,MAAM,CACd;IACF,CAAC,CAAC,CAAC;IAEH,MAAMC,aAAY,GAAG,IAAI,CAACC,mBAAmB;IAC7C,MAAMoD,YAAY,GAAGC,0BAAe,CAAC3B,GAAG,CACrC4B,cAAc,IAAKA,cAAc,CAAC3B,EACrC,CAAC;IACD,MAAMd,MAAK,GAAGd,aAAY,CAACO,MAAM,CAC9BC,IAAS,IAAK,CAAC6C,YAAY,CAAC1C,QAAQ,CAACH,IAAI,CAACoB,EAAE,CAC/C,CAAC;IACD,MAAM4B,UAAU,GAAGxD,aAAY,CAACO,MAAM,CAAEC,IAAS,IAC/C6C,YAAY,CAAC1C,QAAQ,CAACH,IAAI,CAACoB,EAAE,CAC/B,CAAC;IACD,MAAM6B,UAAU,GAAGnE,KAAK,CAACoE,aAAa,GAAGpE,KAAK,CAACoE,aAAa,CAACC,KAAK,CAAC,CAAC,GAAG,EAAE;IAEzE,MAAMvC,eAAe,GAAG,CAAC,GAAGN,MAAK,EAAE,GAAG0C,UAAU,CAAC,CAACrC,MAAM;IACxD,MAAMD,gBAAe,GACnB,CAAC,GAAG,IAAIxB,GAAG,CAAC,CAAC,GAAG+D,UAAU,CAAC,CAAC,CAAC,CAACtC,MAAM,KAAKC,eAAe;IAE1D,MAAM3B,eAAc,GAAG,IAAI,CAACsB,kBAAkB,CAAC,CAAC;IAChD,MAAMC,YAAW,GAAG,IAAAC,eAAO,EAACH,MAAK,EAAE,UAAU,CAAC;IAC9C,MAAMO,2BAAmD,GAAG,CAAC,CAAC;IAC9D5B,eAAc,CAAC6B,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MAAA,IAAAoC,kBAAA;MACnC,MAAMlC,eAAe,IAAAkC,kBAAA,GAAG5C,YAAW,CAACQ,IAAI,CAAC,cAAAoC,kBAAA,uBAAjBA,kBAAA,CAAmBjC,GAAG,CAAEnB,IAAI,IAAKA,IAAI,CAACoB,EAAE,CAAC;MACjEL,GAAG,CAACC,IAAI,CAAC,GAAGN,gBAAe,GACvBA,gBAAe,GACf,CAAC,EAACQ,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEG,KAAK,CAAED,EAAE,IAAK6B,UAAU,CAAC9C,QAAQ,CAACiB,EAAE,CAAC,CAAC;MAC7D,OAAOL,GAAG;IACZ,CAAC,EAAEF,2BAA0B,CAAC;IAC9B,IAAI,CAAClB,KAAK,GAAG;MACXsD,UAAU;MACVvD,CAAC,EAAE,EAAE;MACLF,YAAY,EAAE,IAAI,CAACC,mBAAmB;MACtC4D,qBAAqB,EAAE,IAAInE,GAAG,CAACJ,KAAK,CAACwE,mBAAmB,CAAC;MACzD5C,eAAe,EAAfA,gBAAe;MACfE,eAAe;MACfC,0BAA0B,EAA1BA,2BAA0B;MAC1Bf,IAAI,EAAE;IACR,CAAC;IACD,IAAI,CAAC4B,oBAAoB,GAAG,IAAA6B,gBAAQ,EAAC,IAAI,CAACC,YAAY,EAAE,GAAG,CAAC;EAC9D;EAEAC,kBAAkBA,CAACC,SAA8C,EAAE;IACjE,IAAI,IAAI,CAAC5E,KAAK,CAACoE,aAAa,KAAKQ,SAAS,CAACR,aAAa,EAAE;MACxD,IAAI,CAAC5B,QAAQ,CAAC;QACZ2B,UAAU,EAAE,IAAI,CAACnE,KAAK,CAACoE,aAAa,GAChC,IAAI,CAACpE,KAAK,CAACoE,aAAa,CAACC,KAAK,CAAC,CAAC,GAChC;MACN,CAAC,CAAC;IACJ;IAEA,IAAI,IAAI,CAACrE,KAAK,CAACwE,mBAAmB,KAAKI,SAAS,CAACJ,mBAAmB,EAAE;MACpE,IAAI,CAAChC,QAAQ,CAAC;QACZ+B,qBAAqB,EAAE,IAAInE,GAAG,CAAC,IAAI,CAACJ,KAAK,CAACwE,mBAAmB;MAC/D,CAAC,CAAC;IACJ;EACF;EAEAK,aAAaA,CAACpC,KAAU,EAAEvB,IAAS,EAAE4D,YAAkB,EAAE;IAAA,IAAAC,oBAAA,EAAAC,WAAA;IACvD,MAAMzD,SAAS,GAAG,YAAY;IAC9B,MAAM;MAAEuC,QAAQ;MAAEtC;IAAM,CAAC,GAAGsD,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,CAAC,CAAC;IAC9C,MAAMG,MAAM,GAAGxC,KAAK,CAACE,MAAM,CAACuC,OAAO,GAC/B,IAAI,CAACrE,KAAK,CAACU,SAAS,CAAC,CAAC4D,MAAM,CAACjE,IAAI,CAACoB,EAAE,CAAC,GACrC,IAAA8C,eAAO,EAAC,IAAI,CAACvE,KAAK,CAACU,SAAS,CAAC,EAAEL,IAAI,CAACoB,EAAE,CAAC;IAC3C,IAAIwB,QAAQ,EAAE;MACZ,MAAMuB,QAAQ,GAAG7D,KAAK,CAACa,GAAG,CAAEnB,IAAS,IAAKA,IAAI,CAACoB,EAAE,CAAC;MAClD,IAAI,CAACE,QAAQ,CAAC;QACZ,CAACjB,SAAS,GAAG0D,MAAM;QACnBrD,eAAe,EAAEqD,MAAM,CAACpD,MAAM,KAAK,IAAI,CAAChB,KAAK,CAACiB,eAAe;QAC7DC,0BAA0B,EAAE;UAC1B,GAAG,IAAI,CAAClB,KAAK,CAACkB,0BAA0B;UACxC,CAAC+B,QAAQ,GAAGuB,QAAQ,CAAC9C,KAAK,CAAED,EAAU,IAAK2C,MAAM,CAAC5D,QAAQ,CAACiB,EAAE,CAAC;QAChE;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACE,QAAQ,CAAC;QACZ,CAACjB,SAAS,GAAG0D,MAAM;QACnBrD,eAAe,EAAEqD,MAAM,CAACpD,MAAM,KAAK,IAAI,CAAChB,KAAK,CAACiB;MAChD,CAAC,CAAC;IACJ;IAEA,CAAAiD,oBAAA,IAAAC,WAAA,OAAI,CAAChF,KAAK,EAACsF,QAAQ,cAAAP,oBAAA,uBAAnBA,oBAAA,CAAAQ,IAAA,CAAAP,WAAA,EAAsBC,MAAM,CAAC;EAC/B;EAEAO,sBAAsBA,CAAC/C,KAAU,EAAEqC,YAAiB,EAAE;IAAA,IAAAW,qBAAA,EAAAC,YAAA;IACpD,MAAMR,OAAO,GAAGzC,KAAK,CAACE,MAAM,CAACuC,OAAO;IACpC,MAAM3D,SAAS,GAAG,YAAY;IAC9B,MAAM;MAAEuC,QAAQ;MAAEtC;IAAM,CAAC,GAAGsD,YAAY;IACxC,MAAMO,QAAQ,GAAG7D,KAAK,CAACa,GAAG,CAAEnB,IAAS,IAAKA,IAAI,CAACoB,EAAE,CAAC;IAClD,MAAM2C,MAAM,GAAG,CACb,GAAG,IAAI7E,GAAG,CAAC,CACT,IAAI8E,OAAO,GACP,IAAI,CAACrE,KAAK,CAACU,SAAS,CAAC,CAAC4D,MAAM,CAACE,QAAQ,CAAC,GACtC,IAAAD,eAAO,EAAC,IAAI,CAACvE,KAAK,CAACU,SAAS,CAAC,EAAE,GAAG8D,QAAQ,CAAC,CAAC,CACjD,CAAC,CACH;IACD,IAAI,CAAC7C,QAAQ,CAAC;MACZ,CAACjB,SAAS,GAAG0D,MAAM;MACnBrD,eAAe,EAAEqD,MAAM,CAACpD,MAAM,KAAK,IAAI,CAAChB,KAAK,CAACiB,eAAe;MAC7DC,0BAA0B,EAAE;QAC1B,GAAG,IAAI,CAAClB,KAAK,CAACkB,0BAA0B;QACxC,CAAC+B,QAAQ,GAAGoB;MACd;IACF,CAAC,CAAC;IACF,CAAAO,qBAAA,IAAAC,YAAA,OAAI,CAAC1F,KAAK,EAACsF,QAAQ,cAAAG,qBAAA,uBAAnBA,qBAAA,CAAAF,IAAA,CAAAG,YAAA,EAAsBT,MAAM,CAAC;EAC/B;EAEAU,qBAAqBA,CAAClD,KAAU,EAAEmD,SAAgB,EAAE;IAAA,IAAAC,qBAAA,EAAAC,YAAA;IAClD,MAAMvE,SAAS,GAAG,YAAY;IAC9B,MAAM2D,OAAO,GAAGzC,KAAK,CAACE,MAAM,CAACuC,OAAO;IACpC,MAAMD,MAAM,GAAGC,OAAO,GAAGU,SAAS,CAACvD,GAAG,CAAEnB,IAAI,IAAKA,IAAI,CAACoB,EAAE,CAAC,GAAG,EAAE;IAC9D,IAAI,CAACE,QAAQ,CAAC;MACZ,CAACjB,SAAS,GAAG0D,MAAM;MACnBrD,eAAe,EAAEa,KAAK,CAACE,MAAM,CAACuC,OAAO;MACrCnD,0BAA0B,EAAE,IAAAgE,iBAAS,EACnC,IAAI,CAAClF,KAAK,CAACkB,0BAA0B,EACrC,MAAMmD,OACR;IACF,CAAC,CAAC;IACF,CAAAW,qBAAA,IAAAC,YAAA,OAAI,CAAC9F,KAAK,EAACsF,QAAQ,cAAAO,qBAAA,uBAAnBA,qBAAA,CAAAN,IAAA,CAAAO,YAAA,EAAsBb,MAAM,CAAC;EAC/B;EAEAe,cAAcA,CACZ9E,IAAS,EACT+E,KAAmC,EACnCnB,YAAkB,EAClB;IACA,MAAMvD,SAAS,GAAG,YAAY;IAC9B,MAAM2D,OAAO,GAAG,IAAI,CAACrE,KAAK,CAACU,SAAS,CAAC,CAACF,QAAQ,CAACH,IAAI,CAACoB,EAAE,CAAC;IACvD,MAAM4D,QAAQ,GACZhF,IAAI,CAACoB,EAAE,KAAK,IAAI,CAACtC,KAAK,CAACmG,kBAAkB,IACzC,IAAI,CAACtF,KAAK,CAAC0D,qBAAqB,CAAC6B,GAAG,CAAClF,IAAI,CAACoB,EAAE,CAAC;IAC/C,oBACEtD,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAAiH,GAAG;MACFC,GAAG,EAAErF,IAAI,CAACoB,EAAG;MACbkE,IAAI,EAAE,CAAE;MACRC,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAE,CAAE;MACtBC,OAAO,EAAGlE,KAAK,IAAKA,KAAK,CAACmE,eAAe,CAAC;IAAE,gBAE5C5H,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAAwH,QAAQ;MACPzF,IAAI,EAAE6E,KAAM;MACZQ,KAAK,EAAE;QACLK,KAAK,EAAE,MAAM;QACbC,SAAS,EAAE;MACb,CAAE;MACF7B,OAAO,EAAEA,OAAQ;MACjBgB,QAAQ,EAAEA,QAAS;MACnBZ,QAAQ,EAAG7C,KAAK,IAAK,IAAI,CAACoC,aAAa,CAACpC,KAAK,EAAEvB,IAAI,EAAE4D,YAAY,CAAE;MACnE,eAAa,GAAG5D,IAAI,CAACoB,EAAE;IAAY,GAElCpB,IAAI,CAACE,IACE,CACP,CAAC;EAEV;EAqDA4F,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEzG;IAAE,CAAC,GAAG,IAAI,CAACP,KAAK;IACxB,MAAMU,YAAY,GAAG,IAAI,CAACG,KAAK,CAACH,YAAY;IAC5C,MAAMqD,YAAY,GAAGC,0BAAe,CAAC3B,GAAG,CACrC4B,cAAc,IAAKA,cAAc,CAAC3B,EACrC,CAAC;IACD,MAAMd,KAAK,GAAGd,YAAY,CAACO,MAAM,CAC9BC,IAAS,IAAK,CAAC6C,YAAY,CAAC1C,QAAQ,CAACH,IAAI,CAACoB,EAAE,CAC/C,CAAC;IACD,MAAMnC,cAAc,GAAG,IAAI,CAACsB,kBAAkB,CAAC,CAAC;IAChD,MAAMC,WAAW,GAAG,IAAAC,eAAO,EAACH,KAAK,EAAE,UAAU,CAAC;IAC9C,MAAM0C,UAAU,GAAGxD,YAAY,CAACO,MAAM,CAAEC,IAAS,IAC/C6C,YAAY,CAAC1C,QAAQ,CAACH,IAAI,CAACoB,EAAE,CAC/B,CAAC;IACD,MAAM2E,gBAAgB,GAAG;MACvB,CAACtH,aAAa,CAACkE,SAAS,GAAGtD,CAAC,CAACC,aAAC,CAAC0G,UAAU,CAAC;MAC1C,CAACvH,aAAa,CAACiE,QAAQ,GAAGrD,CAAC,CAACC,aAAC,CAAC2G,aAAa,CAAC;MAC5C,CAACxH,aAAa,CAAC+D,iBAAiB,GAAGnD,CAAC,CAACC,aAAC,CAAC4G,yBAAyB;IAClE,CAAC;IAED,oBACEpI,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAArH,MAAA,CAAAkB,OAAA,CAAAmH,QAAA,qBAIErI,MAAA,CAAAkB,OAAA,CAAAmG,aAAA;MAAKI,KAAK,EAAE;QAAEa,OAAO,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAS;IAAE,gBACpDvI,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAAmI,KAAK,CAACC,MAAM;MACX/E,KAAK,EAAE,IAAI,CAAC7B,KAAK,CAACD,CAAE;MACpB8G,WAAW,EAAEnH,CAAC,CAACC,aAAC,CAACmH,oBAAoB,CAAE;MACvCrC,QAAQ,EAAE,IAAI,CAACsC,kBAAmB;MAClCnB,KAAK,EAAE;QAAEK,KAAK,EAAE,GAAG;QAAEe,YAAY,EAAE;MAAG,CAAE;MACxC,eAAY;IAAc,CAC3B,CAAC,EAEDC,MAAM,CAACC,IAAI,CAACd,gBAAgB,CAAC,CAAC5E,GAAG,CAAEkE,GAAG,iBACrCvH,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAA2I,GAAG;MACFC,SAAS,EAAE,IAAAC,mBAAU,EAACC,8BAAM,CAACC,YAAY,EAAE;QACzC,CAACD,8BAAM,CAACE,eAAe,GACrB,IAAI,CAACxH,KAAK,CAACG,IAAI,KAAMuF;MACzB,CAAC,CAAE;MACHA,GAAG,EAAEA,GAAI;MACTI,OAAO,EAAEA,CAAA,KACP,IAAI,CAAC2B,gBAAgB,CACnB,CAAC,IAAI,CAACzH,KAAK,CAACG,IAAI,IAAI,IAAI,CAACH,KAAK,CAACG,IAAI,KAAKuF,GAAG,GACtCA,GAAG,GACJ,EACN;IACD,GAEAU,gBAAgB,CAACV,GAAG,CAClB,CACN,CAAC,eAEFvH,MAAA,CAAAkB,OAAA,CAAAmG,aAAA;MAAMI,KAAK,EAAE;QAAE8B,WAAW,EAAE,EAAE;QAAEC,aAAa,EAAE;MAAM;IAAE,gBACrDxJ,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAAwH,QAAQ;MACP3B,OAAO,EAAE,IAAI,CAACrE,KAAK,CAACe,eAAgB;MACpC0D,QAAQ,EAAGmD,CAAC,IACV,IAAI,CAAC9C,qBAAqB,CAAC8C,CAAC,EAAE,CAAC,GAAGjH,KAAK,EAAE,GAAG0C,UAAU,CAAC,CACxD;MACD,eAAa;IAAsB,GAElC3D,CAAC,CAACC,aAAC,CAACkI,UAAU,CACP,CACN,CACH,CAAC,eACN1J,MAAA,CAAAkB,OAAA,CAAAmG,aAAA;MACEI,KAAK,EAAE;QACLkC,SAAS,EAAE,EAAE;QACbC,SAAS,EAAE,GAAG;QACdC,QAAQ,EAAE;MACZ,CAAE;MACFZ,SAAS,EAAC;IAAY,GAErB9H,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEkC,GAAG,CAAC,CAACyB,QAAQ,EAAEgF,KAAK,KAAK;MAAA,IAAAC,qBAAA;MACxC,MAAMC,aAAa,IAAAD,qBAAA,GAAGrH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGoC,QAAQ,CAAC,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACnD,OAAOC,aAAa,CAACnH,MAAM,GAAG,CAAC,gBAC7B7C,MAAA,CAAAkB,OAAA,CAAAmG,aAAA;QACEI,KAAK,EAAE;UACLwC,YAAY,EAAEH,KAAK,KAAK3I,cAAc,CAAC0B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG;QAC1D;MAAE,gBAEF7C,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAAwH,QAAQ;QACP3B,OAAO,EAAE,IAAI,CAACrE,KAAK,CAACkB,0BAA0B,CAAC+B,QAAQ,CAAE;QACzDwB,QAAQ,EAAGmD,CAAC,IAAK;UACf,IAAI,CAACjD,sBAAsB,CAACiD,CAAC,EAAE;YAC7B3E,QAAQ;YACRtC,KAAK,EAAEwH;UACT,CAAC,CAAC;QACJ;MAAE,GAEDlF,QACO,CAAC,eACX9E,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAA6J,GAAG;QAACzC,KAAK,EAAE;UAAEC,OAAO,EAAE;QAAqB;MAAE,GAC3CsC,aAAa,CAAC3G,GAAG,CAAEnB,IAAS,IAC3B,IAAI,CAAC8E,cAAc,CAAC9E,IAAI,EAAE,YAAY,EAAE;QACtC4C,QAAQ;QACRtC,KAAK,EAAEwH;MACT,CAAC,CACH,CACG,CACF,CAAC,GACJ,IAAI;IACV,CAAC,CAAC,EACD9E,UAAU,CAACrC,MAAM,GAAG,CAAC,gBACpB7C,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAA6J,GAAG,qBACFlK,MAAA,CAAAkB,OAAA,CAAAmG,aAAA,CAAChH,KAAA,CAAA8J,OAAO,MAAE,CAAC,EACVjF,UAAU,CAAC7B,GAAG,CAAEnB,IAAS,IACxB,IAAI,CAAC8E,cAAc,CAAC9E,IAAI,EAAE,YAAY,CACxC,CACG,CAAC,GACJ,IACD,CACL,CAAC;EAEP;AACF;AAACkI,OAAA,CAAAxJ,qBAAA,GAAAA,qBAAA;AAEM,MAAMyJ,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,IAAAC,6BAAe,EAACC,kCAAsB,CAAC,CACpE3J,qBACF,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_reactI18next","_constants2","_DisplaySettingsModule","_classnames","AttributeType","LegacyDisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","t","K","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","type","filter","attr","qResult","name","includes","typeResult","fieldsKey","attrs","getCAategoryOrders","categoryMap","groupBy","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","hideColumns","view","hide_columns","ignoredFields","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","attribute","isTransHierRelation","TransHierRelation","isRelation","Relation","Attribute","category","extraAttrIds","extraFieldAttrs","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","concat","without","attrsIds","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","realAllFieldsIds","finalFields","uniq","mapValues","renderCheckbox","field","disabled","extraDisabledField","has","createElement","Col","key","span","style","padding","onClick","stopPropagation","Checkbox","width","wordBreak","render","attributeTypeMap","ATTRIBUTES","RELATIONSHIPS","CROSS_LEVEL_RELATIONSHIPS","Fragment","display","alignItems","Input","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingRight","Object","keys","Tag","className","classNames","styles","fieldTypeTag","fieldTypeActive","handleFilterType","paddingLeft","verticalAlign","e","SELECT_ALL","marginTop","maxHeight","overflow","index","_categoryMap$category","categoryAttrs","marginBottom","Row","Divider","exports","DisplaySettings","withTranslation","NS_LIBS_CMDB_INSTANCES"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n uniq,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row, Tag } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport styles from \"./DisplaySettings.module.css\";\nimport classNames from \"classnames\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\nexport interface WithTranslationDisplaySettingsProps\n extends DisplaySettingsProps,\n WithTranslation {}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n type: AttributeType | string;\n}\n\nenum AttributeType {\n Attribute = \"attribute\",\n Relation = \"relation\",\n TransHierRelation = \"transHierRelation\",\n}\n\nexport class LegacyDisplaySettings extends React.Component<\n WithTranslationDisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: {\n id: string;\n name: string;\n category: string;\n type: AttributeType;\n }[] = [];\n\n constructor(props: WithTranslationDisplaySettingsProps) {\n super(props);\n const { t } = props;\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n type: attribute.isTransHierRelation\n ? AttributeType.TransHierRelation\n : attribute.isRelation\n ? AttributeType.Relation\n : AttributeType.Attribute,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\") ||\n get(attribute, \"tags[0]\") ||\n t(K.OTHERS)\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n type: \"\",\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: WithTranslationDisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n const realAllFieldsIds = allFields.map((attr) => attr.id);\n const finalFields = checked\n ? uniq(this.state[fieldsKey].concat(fields))\n : this.state[fieldsKey].filter(\n (id: string) => !realAllFieldsIds.includes(id)\n );\n this.setState({\n [fieldsKey]: finalFields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(finalFields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n this.props.t(K.OTHERS),\n ]),\n ]; //分组排序\n return categoryOrders;\n };\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n const type = this.state.type;\n filteredList = filteredList.filter((attr) => {\n const qResult = attr.name.toLowerCase().includes(q);\n const typeResult = !this.state.type || attr.type === this.state.type;\n return qResult && typeResult;\n });\n\n const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n handleFilterType = (type: AttributeType | string) => {\n this.setState({\n type,\n });\n this.debounceHandleSearch();\n };\n render() {\n const { t } = this.props;\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const attributeTypeMap = {\n [AttributeType.Attribute]: t(K.ATTRIBUTES),\n [AttributeType.Relation]: t(K.RELATIONSHIPS),\n [AttributeType.TransHierRelation]: t(K.CROSS_LEVEL_RELATIONSHIPS),\n };\n\n return (\n <>\n {/* <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {t(K.FIELD_SETTINGS)}\n </Divider> */}\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n <Input.Search\n value={this.state.q}\n placeholder={t(K.SEARCH_BY_FIELD_NAME)}\n onChange={this.handleSearchChange}\n style={{ width: 200, paddingRight: 10 }}\n data-testid=\"search-input\"\n />\n\n {Object.keys(attributeTypeMap).map((key) => (\n <Tag\n className={classNames(styles.fieldTypeTag, {\n [styles.fieldTypeActive]:\n this.state.type === (key as AttributeType),\n })}\n key={key}\n onClick={() =>\n this.handleFilterType(\n !this.state.type || this.state.type !== key\n ? (key as AttributeType)\n : \"\"\n )\n }\n >\n {attributeTypeMap[key as AttributeType]}\n </Tag>\n ))}\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {t(K.SELECT_ALL)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n\nexport const DisplaySettings = withTranslation(NS_LIBS_CMDB_INSTANCES)(\n LegacyDisplaySettings\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { withTranslation } from "react-i18next";
|
|
|
8
8
|
import { http } from "@next-core/brick-http";
|
|
9
9
|
import marked from "marked";
|
|
10
10
|
import DOMPurify from "dompurify";
|
|
11
|
-
import { get, keyBy, mapValues, isObject, isString, cloneDeep, map, compact, flatten, uniq, isNil, filter, head
|
|
11
|
+
import { get, keyBy, mapValues, isObject, isString, cloneDeep, map, compact, flatten, uniq, isNil, filter, head } from "lodash";
|
|
12
12
|
import { handleHttpError, BrickAsComponent, getHistory, httpErrorToString, EasyopsEmpty } from "@next-core/brick-kit";
|
|
13
13
|
import { InstanceRelationTableShow } from "./components/instance-relation-table-show/instance-relation-table-show";
|
|
14
14
|
import { InstancesAttachmentDisplay } from "./components/instances-attachment-display/instances-attachment-display";
|
|
@@ -181,6 +181,7 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
181
181
|
},
|
|
182
182
|
enterButton: true
|
|
183
183
|
}), /*#__PURE__*/React.createElement(InstanceRelationTableShow, {
|
|
184
|
+
objectId: this.props.objectId,
|
|
184
185
|
modelDataMap: this.state.modelDataMap,
|
|
185
186
|
relationData: currentAttr,
|
|
186
187
|
hideRelationLink: this.props.ignorePermission,
|
|
@@ -516,6 +517,7 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
516
517
|
}), isPasswordField(attr) && /*#__PURE__*/React.createElement("span", {
|
|
517
518
|
className: "attr-field"
|
|
518
519
|
}, "*".repeat((_instanceData$attr$id = instanceData[attr.id]) === null || _instanceData$attr$id === void 0 ? void 0 : _instanceData$attr$id.length)), (attr.__isRelation || attr.__isTransHierRelation) && !isUrl(attr) && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(InstanceRelationTableShow, {
|
|
520
|
+
objectId: this.props.objectId,
|
|
519
521
|
hideRelationLink: this.props.ignorePermission,
|
|
520
522
|
modelDataMap: modelDataMap,
|
|
521
523
|
relationData: attr,
|
|
@@ -572,7 +574,7 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
572
574
|
searchInstanceRelationData(page, pageSize, attr, value, externalSourceId) {
|
|
573
575
|
var _this2 = this;
|
|
574
576
|
return _asyncToGenerator(function* () {
|
|
575
|
-
var _modelData$view, _modelDataMap$
|
|
577
|
+
var _modelData$view, _modelDataMap$objectI, _modelDataMap$objectI2;
|
|
576
578
|
var isTransHierRelation = attr.__isTransHierRelation;
|
|
577
579
|
var {
|
|
578
580
|
right_id,
|
|
@@ -580,10 +582,6 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
580
582
|
right_object_id,
|
|
581
583
|
left_id
|
|
582
584
|
} = attr;
|
|
583
|
-
var lastRelation = "";
|
|
584
|
-
var lastRelationSourceObjectId = "";
|
|
585
|
-
var lastRelationSourceObject = {};
|
|
586
|
-
var lastRelationSourceObjectRef = {};
|
|
587
585
|
var objectId, queryId, oppositeId;
|
|
588
586
|
var {
|
|
589
587
|
modelData,
|
|
@@ -608,21 +606,11 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
608
606
|
oppositeId = attr.__id === left_id ? left_id : right_id;
|
|
609
607
|
}
|
|
610
608
|
if (isTransHierRelation) {
|
|
611
|
-
var _modelDataMap$objectI, _modelDataMap$objectI2, _modelDataMap$objectI3, _modelDataMap$objectI4, _modelDataMap$objectI5, _modelDataMap$objectI6;
|
|
612
609
|
objectId = attr.relation_object;
|
|
613
|
-
var paths = attr.query_path.split(".");
|
|
614
|
-
lastRelation = paths[paths.length - 1];
|
|
615
|
-
lastRelationSourceObjectId = ((_modelDataMap$objectI = modelDataMap[objectId]) === null || _modelDataMap$objectI === void 0 ? void 0 : (_modelDataMap$objectI2 = _modelDataMap$objectI.relation_list) === null || _modelDataMap$objectI2 === void 0 ? void 0 : (_modelDataMap$objectI3 = _modelDataMap$objectI2.find(item => item.left_id === lastRelation && item.right_object_id === objectId)) === null || _modelDataMap$objectI3 === void 0 ? void 0 : _modelDataMap$objectI3.left_object_id) || ((_modelDataMap$objectI4 = modelDataMap[objectId]) === null || _modelDataMap$objectI4 === void 0 ? void 0 : (_modelDataMap$objectI5 = _modelDataMap$objectI4.relation_list) === null || _modelDataMap$objectI5 === void 0 ? void 0 : (_modelDataMap$objectI6 = _modelDataMap$objectI5.find(item => item.right_id === lastRelation && item.left_object_id === objectId)) === null || _modelDataMap$objectI6 === void 0 ? void 0 : _modelDataMap$objectI6.right_object_id);
|
|
616
|
-
lastRelationSourceObject = modelDataMap[lastRelationSourceObjectId] || {};
|
|
617
|
-
if (isEmpty(lastRelationSourceObject)) {
|
|
618
|
-
var lastRelationSourceObjectList = yield fetchCmdbObjectRef(objectId);
|
|
619
|
-
lastRelationSourceObjectRef = keyBy(lastRelationSourceObjectList.data || [], "objectId");
|
|
620
|
-
lastRelationSourceObject = lastRelationSourceObjectRef[lastRelationSourceObjectId] || {};
|
|
621
|
-
}
|
|
622
610
|
}
|
|
623
|
-
var defaultRelationFields = get(
|
|
624
|
-
var fields = defaultRelationFields !== null && defaultRelationFields !== void 0 && defaultRelationFields.length ? defaultRelationFields.map(item => item.startsWith("#") ? item.slice(1) : item) : uniq(map((_modelDataMap$
|
|
625
|
-
if ((_modelDataMap$
|
|
611
|
+
var defaultRelationFields = get(modelData, ["view", "relation_default_attr", isTransHierRelation ? attr.__id : oppositeId]);
|
|
612
|
+
var fields = defaultRelationFields !== null && defaultRelationFields !== void 0 && defaultRelationFields.length ? defaultRelationFields.map(item => item.startsWith("#") ? item.slice(1) : item) : uniq(map((_modelDataMap$objectI = modelDataMap[objectId]) === null || _modelDataMap$objectI === void 0 ? void 0 : _modelDataMap$objectI.attrList, "id"));
|
|
613
|
+
if ((_modelDataMap$objectI2 = modelDataMap[objectId]) !== null && _modelDataMap$objectI2 !== void 0 && _modelDataMap$objectI2.isAbstract) {
|
|
626
614
|
fields.unshift("_object_id");
|
|
627
615
|
}
|
|
628
616
|
var query = {};
|