@next-libs/cmdb-instances 7.21.2 → 7.21.4
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/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +1 -3
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/cjs/components/cmdb-upload/index.js.map +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/instance-format/index.js.map +1 -1
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js +1 -2
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/cjs/constants.js +2 -4
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/cjs/data-providers/index.js.map +1 -1
- package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/cjs/i18n/constants.js +2 -4
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/index.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +1 -2
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +1 -2
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js +1 -2
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +1 -2
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js +1 -2
- package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/cjs/instance-detail/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
- package/dist/cjs/instance-detail/constants/index.js +4 -8
- package/dist/cjs/instance-detail/constants/index.js.map +1 -1
- package/dist/cjs/instance-list/FilterInstanceSource.js +1 -2
- package/dist/cjs/instance-list/FilterInstanceSource.js.map +1 -1
- package/dist/cjs/instance-list/IconButton.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list/constants.js +7 -14
- package/dist/cjs/instance-list/constants.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js +2 -4
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/DynamicSearch.js +1 -2
- package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +2 -2
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/cjs/instance-list-table/constants.js +7 -14
- package/dist/cjs/instance-list-table/constants.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/cjs/instance-list-table/index.js.map +1 -1
- package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
- package/dist/cjs/instance-list-table/utils.js +1 -2
- package/dist/cjs/instance-list-table/utils.js.map +1 -1
- package/dist/cjs/json-display-brick/JsonDisplayBrick.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js +3 -2
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/cjs/model-attribute-form/constants.js +1 -2
- package/dist/cjs/model-attribute-form/constants.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +21 -27
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/cjs/processors.js +3 -4
- package/dist/cjs/processors.js.map +1 -1
- package/dist/cjs/struct-components/AddStruct.js +4 -3
- package/dist/cjs/struct-components/AddStruct.js.map +1 -1
- package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
- package/dist/cjs/struct-components/StructTable.js +1 -0
- package/dist/cjs/struct-components/StructTable.js.map +1 -1
- package/dist/cjs/struct-components/index.js.map +1 -1
- package/dist/cjs/struct-components/interfaces.js +1 -2
- package/dist/cjs/struct-components/interfaces.js.map +1 -1
- package/dist/cjs/struct-components/mockData.js +5 -10
- package/dist/cjs/struct-components/mockData.js.map +1 -1
- package/dist/cjs/xml-display-brick/XmlDisplayBrick.js.map +1 -1
- package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +0 -1
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/esm/components/cmdb-upload/index.js.map +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/instance-format/index.js.map +1 -1
- package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/esm/data-providers/index.js.map +1 -1
- package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/esm/instance-detail/components/instances-attachment-display/instances-attachment-display.js +0 -1
- package/dist/esm/instance-detail/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
- package/dist/esm/instance-detail/constants/index.js.map +1 -1
- package/dist/esm/instance-list/FilterInstanceSource.js.map +1 -1
- package/dist/esm/instance-list/IconButton.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +10 -10
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list/constants.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +4 -4
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/instance-list-table/constants.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/esm/instance-list-table/index.js.map +1 -1
- package/dist/esm/instance-list-table/interfaces.js.map +1 -1
- package/dist/esm/instance-list-table/utils.js.map +1 -1
- package/dist/esm/json-display-brick/JsonDisplayBrick.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +2 -0
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/esm/model-attribute-form/constants.js.map +1 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +17 -19
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/esm/processors.js.map +1 -1
- package/dist/esm/struct-components/AddStruct.js +4 -3
- package/dist/esm/struct-components/AddStruct.js.map +1 -1
- package/dist/esm/struct-components/AddStructModal.js.map +1 -1
- package/dist/esm/struct-components/StructTable.js +1 -0
- package/dist/esm/struct-components/StructTable.js.map +1 -1
- package/dist/esm/struct-components/index.js.map +1 -1
- package/dist/esm/struct-components/interfaces.js.map +1 -1
- package/dist/esm/struct-components/mockData.js.map +1 -1
- package/dist/esm/xml-display-brick/XmlDisplayBrick.js.map +1 -1
- package/dist/types/instance-attribute-form/InstanceAttributeForm.d.ts +1 -1
- package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
- package/dist/types/instance-list/IconButton.d.ts +2 -2
- package/dist/types/instance-list-table/AdvancedSearch.d.ts +1 -1
- package/dist/types/instance-list-table/DisplaySettings.d.ts +2 -2
- package/dist/types/instance-list-table/DynamicSearch.d.ts +1 -1
- package/dist/types/instance-list-table/InstanceListTable.d.ts +6 -6
- package/dist/types/model-attribute-form/ModelAttributeForm.d.ts +1 -1
- package/dist/types/struct-components/AddStruct.d.ts +1 -1
- package/dist/types/struct-components/StructTable.d.ts +2 -2
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-relation-table-show.js","names":["reOrderAttrs","fields","fieldOrder","sortBy","field","index","indexOf","length","getRelationShowFields","defaultRelationFields","oppositeAttrList","attr_order","showFields","map","item","startsWith","slice","InstanceRelationTableShow","props","modelDataMap","relationData","value","relationFieldUrlTemplate","paginationChange","total","relationTablePagination","oppositeModelDataMap","setOppositeModelDataMap","useState","useEffect","fetchOppositeModelData","modelListData","fetchCmdbObjectRef","right_object_id","keyBy","data","catch","error","handleHttpError","instanceSourceQuery","setInstanceSourceQuery","modelData","left_object_id","oppositeModelData","modifyModelData","get","__id","fieldIds","attrList","attr","id","hideModelData","view","hide_columns","filter","includes","relation_list","left_id","right_id","display","hideRelationLink","list","instanceQuery","onInstanceSourceChange","filterInstanceSourceDisabled","pagination","isPagination","showSizeChanger","pageSizeOptions","onChange","page","pageSize","showTotal","totals","styles","totalText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PAGINATION_TOTAL_TEXT","PAGINATION_TOTAL_UNIT"],"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} 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 } 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 // 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}\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//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 } = 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.right_object_id\n );\n setOppositeModelDataMap(keyBy(modelListData.data, \"objectId\"));\n };\n fetchOppositeModelData().catch((error) => {\n handleHttpError(error);\n });\n }, [relationData]);\n const [instanceSourceQuery, setInstanceSourceQuery] = useState(null);\n const modelData = modelDataMap[relationData.left_object_id];\n let oppositeModelData = modifyModelData(\n modelDataMap[relationData.right_object_id]\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\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 ></InstanceListTable>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
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","InstanceRelationTableShow","props","_oppositeModelData$vi","_oppositeModelData$vi2","modelDataMap","relationData","value","relationFieldUrlTemplate","paginationChange","total","relationTablePagination","oppositeModelDataMap","setOppositeModelDataMap","useState","useEffect","fetchOppositeModelData","modelListData","fetchCmdbObjectRef","right_object_id","keyBy","data","catch","error","handleHttpError","instanceSourceQuery","setInstanceSourceQuery","modelData","left_object_id","oppositeModelData","modifyModelData","get","__id","fieldIds","attrList","attr","id","hideModelData","view","hide_columns","filter","includes","relation_list","left_id","right_id","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"],"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} 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 } 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 // 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}\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//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 } = 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.right_object_id\n );\n setOppositeModelDataMap(keyBy(modelListData.data, \"objectId\"));\n };\n fetchOppositeModelData().catch((error) => {\n handleHttpError(error);\n });\n }, [relationData]);\n const [instanceSourceQuery, setInstanceSourceQuery] = useState(null);\n const modelData = modelDataMap[relationData.left_object_id];\n let oppositeModelData = modifyModelData(\n modelDataMap[relationData.right_object_id]\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\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 ></InstanceListTable>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances-attachment-display.js","names":["InstancesAttachmentDisplay","props","value","handleDownload","file","domain","window","location","origin","link","document","createElement","href","url","name","download","body","appendChild","click","removeChild","handlePreview","checksum","slice","DownloadFileUrl","length","previewUrl","encodeURIComponent","Base64","encode","open","map","isPreview","FileUtils","sizeCompare","supportFileType","id","styles","attachmentItem","marginRight","attachmentText","attachmentSpan","attachmentIconItem"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url}?fileName=${file.name}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const checksum = file.url?.slice(\n DownloadFileUrl.length + 1,\n file.url.length\n );\n const url = `${domain}/${file.url}?checksum=${checksum}&fileName=${file.name}&fullfilename=${file.name}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":";;;;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AAMO,
|
|
1
|
+
{"version":3,"file":"instances-attachment-display.js","names":["_react","_interopRequireDefault","require","_icons","_jsBase","_cmdbUtils","_constants","_instancesAttachmentDisplayModule","InstancesAttachmentDisplay","props","value","handleDownload","file","domain","window","location","origin","link","document","createElement","href","url","name","download","body","appendChild","click","removeChild","handlePreview","_file$url","checksum","slice","DownloadFileUrl","length","previewUrl","encodeURIComponent","Base64","encode","open","default","Fragment","map","isPreview","FileUtils","sizeCompare","supportFileType","key","id","className","styles","attachmentItem","FileTextOutlined","style","marginRight","attachmentText","attachmentSpan","EyeOutlined","attachmentIconItem","onClick","DownloadOutlined"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url}?fileName=${file.name}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const checksum = file.url?.slice(\n DownloadFileUrl.length + 1,\n file.url.length\n );\n const url = `${domain}/${file.url}?checksum=${checksum}&fileName=${file.name}&fullfilename=${file.name}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DEFAULT_ATTRIBUTE_TAG_STR = exports.DEFAULT_ATTRIBUTE_TAG = exports.BASIC_INFORMATION_RELATION_GROUP_ID = exports.BASIC_INFO = void 0;
|
|
7
|
-
const DEFAULT_ATTRIBUTE_TAG = "基本信息";
|
|
8
|
-
exports.
|
|
9
|
-
const
|
|
10
|
-
exports.
|
|
11
|
-
const DEFAULT_ATTRIBUTE_TAG_STR = "默认属性";
|
|
12
|
-
exports.DEFAULT_ATTRIBUTE_TAG_STR = DEFAULT_ATTRIBUTE_TAG_STR;
|
|
13
|
-
const BASIC_INFO = "基本信息";
|
|
14
|
-
exports.BASIC_INFO = BASIC_INFO;
|
|
7
|
+
const DEFAULT_ATTRIBUTE_TAG = exports.DEFAULT_ATTRIBUTE_TAG = "基本信息";
|
|
8
|
+
const BASIC_INFORMATION_RELATION_GROUP_ID = exports.BASIC_INFORMATION_RELATION_GROUP_ID = "basic_info";
|
|
9
|
+
const DEFAULT_ATTRIBUTE_TAG_STR = exports.DEFAULT_ATTRIBUTE_TAG_STR = "默认属性";
|
|
10
|
+
const BASIC_INFO = exports.BASIC_INFO = "基本信息";
|
|
15
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_ATTRIBUTE_TAG","BASIC_INFORMATION_RELATION_GROUP_ID","DEFAULT_ATTRIBUTE_TAG_STR","BASIC_INFO"],"sources":["../../../../src/instance-detail/constants/index.ts"],"sourcesContent":["export const DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport const BASIC_INFORMATION_RELATION_GROUP_ID = \"basic_info\";\nexport const DEFAULT_ATTRIBUTE_TAG_STR = \"默认属性\";\nexport const BASIC_INFO = \"基本信息\";\n"],"mappings":";;;;;;AAAO,MAAMA,qBAAqB,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_ATTRIBUTE_TAG","exports","BASIC_INFORMATION_RELATION_GROUP_ID","DEFAULT_ATTRIBUTE_TAG_STR","BASIC_INFO"],"sources":["../../../../src/instance-detail/constants/index.ts"],"sourcesContent":["export const DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport const BASIC_INFORMATION_RELATION_GROUP_ID = \"basic_info\";\nexport const DEFAULT_ATTRIBUTE_TAG_STR = \"默认属性\";\nexport const BASIC_INFO = \"基本信息\";\n"],"mappings":";;;;;;AAAO,MAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,MAAM;AACpC,MAAME,mCAAmC,GAAAD,OAAA,CAAAC,mCAAA,GAAG,YAAY;AACxD,MAAMC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,GAAG,MAAM;AACxC,MAAMC,UAAU,GAAAH,OAAA,CAAAG,UAAA,GAAG,MAAM","ignoreList":[]}
|
|
@@ -152,6 +152,5 @@ const FilterInstanceSource = props => {
|
|
|
152
152
|
"data-testid": "instance-source-icon"
|
|
153
153
|
}));
|
|
154
154
|
};
|
|
155
|
-
var _default = FilterInstanceSource;
|
|
156
|
-
exports.default = _default;
|
|
155
|
+
var _default = exports.default = FilterInstanceSource;
|
|
157
156
|
//# sourceMappingURL=FilterInstanceSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterInstanceSource.js","names":["encode","keyword","reg","replace","key","FilterInstanceSource","props","instanceSource","setInstanceSource","useState","value","objectIdNameList","setObjectIdNameList","setKeyword","checked","visible","jsonLocalStorage","isAbstract","objectNameMap","useMemo","getItem","_modelIdNameMap","isEmpty","inheritanceModelIdNameMap","idNameMap","useEffect","_objectIdNameList","map","text","onReset","e","parentObjectId","query","objectId","objectName","onChange","onIconClicKChange","onPopoverVisibleChange","onConfirm","handleRadioChange","target","trim","regex","RegExp","filterObjectIdNameList","filter","v","test","onIconCheckedChange","getContent","i18n","t","NS_LIBS_CMDB_INSTANCES","K","SEARCH_MODEL","styles","content","length","noData","NO_DATA","footer","RESET","CONFIRM","width","marginRight"],"sources":["../../../src/instance-list/FilterInstanceSource.tsx"],"sourcesContent":["import React, { FC, ReactElement, useEffect, useMemo, useState } from \"react\";\nimport { Popover, Input, Button, Radio, Space } from \"antd\";\nimport { IconButton } from \"./IconButton\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport styles from \"./FilterInstanceSource.module.css\";\nimport { map, isEmpty } from \"lodash\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\nimport { filterObjectIdQuery } from \"./InstanceList\";\n\ninterface FilterInstanceSourceProps {\n visible?: boolean;\n checked?: boolean;\n onIconClicKChange?(checked: boolean): void;\n inheritanceModelIdNameMap?: Record<string, string>;\n value?: string;\n onChange: (value: filterObjectIdQuery) => void;\n onPopoverVisibleChange?(visible: boolean): void;\n jsonLocalStorage?: any;\n isAbstract?: boolean;\n}\n\nfunction encode(keyword: string): string {\n const reg = /[[($^.\\]*\\\\?+{}|)]/gi;\n return keyword.replace(reg, (key) => `\\\\${key}`);\n}\n\nconst FilterInstanceSource: FC<FilterInstanceSourceProps> = (props) => {\n const [instanceSource, setInstanceSource] = useState(props.value);\n const [objectIdNameList, setObjectIdNameList] = useState([]);\n const [keyword, setKeyword] = useState(\"\");\n const { checked, visible, jsonLocalStorage, isAbstract } = props;\n\n const objectNameMap = useMemo(() => {\n return (\n jsonLocalStorage.getItem(\"instances-sources-objectId-name-map\") || {}\n );\n }, [jsonLocalStorage]);\n\n const _modelIdNameMap = useMemo(() => {\n return isEmpty(props.inheritanceModelIdNameMap)\n ? objectNameMap?.idNameMap\n : props.inheritanceModelIdNameMap;\n }, [props.inheritanceModelIdNameMap, objectNameMap]);\n\n useEffect(() => {\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n setObjectIdNameList(_objectIdNameList);\n }, [_modelIdNameMap, checked]);\n\n const onReset = (e: any): void => {\n const { parentObjectId, query } = objectNameMap;\n const value: filterObjectIdQuery = {\n objectId: parentObjectId,\n objectName: \"\",\n query,\n checked: false,\n };\n setKeyword(\"\");\n setInstanceSource(\"\");\n props?.onChange(value);\n props?.onIconClicKChange(false);\n props?.onPopoverVisibleChange(false);\n };\n\n const onConfirm = (e: any): void => {\n if (!instanceSource) {\n setKeyword(\"\");\n props?.onIconClicKChange(false);\n props?.onPopoverVisibleChange(false);\n return;\n }\n const query: filterObjectIdQuery = {\n objectId: instanceSource,\n objectName: _modelIdNameMap[instanceSource],\n query: objectNameMap?.query || {},\n checked,\n };\n setKeyword(\"\");\n props?.onChange(query);\n props?.onPopoverVisibleChange(false);\n };\n\n const handleRadioChange = (e: any): void => {\n setInstanceSource(e.target.value);\n };\n\n const onChange = (e: any): void => {\n const value = encode(e.target.value.trim());\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n const regex = new RegExp(value, \"ig\");\n const filterObjectIdNameList = _objectIdNameList.filter((v) =>\n regex.test(v.text)\n );\n setKeyword(e.target.value.trim());\n setObjectIdNameList(filterObjectIdNameList);\n };\n\n const onIconCheckedChange = (checked: boolean): void => {\n if (isAbstract) {\n props?.onIconClicKChange(checked);\n props?.onPopoverVisibleChange(checked);\n } else {\n props?.onIconClicKChange(true);\n props?.onPopoverVisibleChange(true);\n }\n };\n\n const getContent = (): ReactElement => {\n return (\n <>\n <Input\n placeholder={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_MODEL}`)}\n suffix={<SearchOutlined />}\n onChange={onChange}\n value={keyword}\n data-testid=\"instance-source-search\"\n />\n <div className={styles.content}>\n {objectIdNameList.length ? (\n <Radio.Group value={instanceSource} onChange={handleRadioChange}>\n <Space direction=\"vertical\">\n {objectIdNameList.map(({ text, value }) => (\n <Radio key={value} value={value}>\n {text}\n </Radio>\n ))}\n </Space>\n </Radio.Group>\n ) : (\n <div className={styles.noData}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NO_DATA}`)}\n </div>\n )}\n </div>\n <div className={styles.footer}>\n <Button\n type=\"text\"\n size=\"small\"\n onClick={onReset}\n disabled={isAbstract}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n <Button type=\"primary\" size=\"small\" onClick={onConfirm}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </div>\n </>\n );\n };\n return (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n overlayStyle={{ width: \"325px\" }}\n visible={visible}\n trigger=\"click\"\n >\n <IconButton\n checked={checked}\n onChange={onIconCheckedChange}\n style={{ marginRight: 10 }}\n type=\"filterInstanceSource\"\n label={\"\"}\n data-testid=\"instance-source-icon\"\n />\n </Popover>\n );\n};\n\nexport default FilterInstanceSource;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterInstanceSource.js","names":["_react","_interopRequireWildcard","require","_antd","_IconButton","_icons","_FilterInstanceSourceModule","_interopRequireDefault","_lodash","_i18next","_constants","encode","keyword","reg","replace","key","FilterInstanceSource","props","instanceSource","setInstanceSource","useState","value","objectIdNameList","setObjectIdNameList","setKeyword","checked","visible","jsonLocalStorage","isAbstract","objectNameMap","useMemo","getItem","_modelIdNameMap","isEmpty","inheritanceModelIdNameMap","idNameMap","useEffect","_objectIdNameList","map","text","onReset","e","parentObjectId","query","objectId","objectName","onChange","onIconClicKChange","onPopoverVisibleChange","onConfirm","handleRadioChange","target","trim","regex","RegExp","filterObjectIdNameList","filter","v","test","onIconCheckedChange","getContent","default","createElement","Fragment","Input","placeholder","i18n","t","NS_LIBS_CMDB_INSTANCES","K","SEARCH_MODEL","suffix","SearchOutlined","className","styles","content","length","Radio","Group","Space","direction","noData","NO_DATA","footer","Button","type","size","onClick","disabled","RESET","CONFIRM","Popover","placement","overlayStyle","width","trigger","IconButton","style","marginRight","label","_default","exports"],"sources":["../../../src/instance-list/FilterInstanceSource.tsx"],"sourcesContent":["import React, { FC, ReactElement, useEffect, useMemo, useState } from \"react\";\nimport { Popover, Input, Button, Radio, Space } from \"antd\";\nimport { IconButton } from \"./IconButton\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport styles from \"./FilterInstanceSource.module.css\";\nimport { map, isEmpty } from \"lodash\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\nimport { filterObjectIdQuery } from \"./InstanceList\";\n\ninterface FilterInstanceSourceProps {\n visible?: boolean;\n checked?: boolean;\n onIconClicKChange?(checked: boolean): void;\n inheritanceModelIdNameMap?: Record<string, string>;\n value?: string;\n onChange: (value: filterObjectIdQuery) => void;\n onPopoverVisibleChange?(visible: boolean): void;\n jsonLocalStorage?: any;\n isAbstract?: boolean;\n}\n\nfunction encode(keyword: string): string {\n const reg = /[[($^.\\]*\\\\?+{}|)]/gi;\n return keyword.replace(reg, (key) => `\\\\${key}`);\n}\n\nconst FilterInstanceSource: FC<FilterInstanceSourceProps> = (props) => {\n const [instanceSource, setInstanceSource] = useState(props.value);\n const [objectIdNameList, setObjectIdNameList] = useState([]);\n const [keyword, setKeyword] = useState(\"\");\n const { checked, visible, jsonLocalStorage, isAbstract } = props;\n\n const objectNameMap = useMemo(() => {\n return (\n jsonLocalStorage.getItem(\"instances-sources-objectId-name-map\") || {}\n );\n }, [jsonLocalStorage]);\n\n const _modelIdNameMap = useMemo(() => {\n return isEmpty(props.inheritanceModelIdNameMap)\n ? objectNameMap?.idNameMap\n : props.inheritanceModelIdNameMap;\n }, [props.inheritanceModelIdNameMap, objectNameMap]);\n\n useEffect(() => {\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n setObjectIdNameList(_objectIdNameList);\n }, [_modelIdNameMap, checked]);\n\n const onReset = (e: any): void => {\n const { parentObjectId, query } = objectNameMap;\n const value: filterObjectIdQuery = {\n objectId: parentObjectId,\n objectName: \"\",\n query,\n checked: false,\n };\n setKeyword(\"\");\n setInstanceSource(\"\");\n props?.onChange(value);\n props?.onIconClicKChange(false);\n props?.onPopoverVisibleChange(false);\n };\n\n const onConfirm = (e: any): void => {\n if (!instanceSource) {\n setKeyword(\"\");\n props?.onIconClicKChange(false);\n props?.onPopoverVisibleChange(false);\n return;\n }\n const query: filterObjectIdQuery = {\n objectId: instanceSource,\n objectName: _modelIdNameMap[instanceSource],\n query: objectNameMap?.query || {},\n checked,\n };\n setKeyword(\"\");\n props?.onChange(query);\n props?.onPopoverVisibleChange(false);\n };\n\n const handleRadioChange = (e: any): void => {\n setInstanceSource(e.target.value);\n };\n\n const onChange = (e: any): void => {\n const value = encode(e.target.value.trim());\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n const regex = new RegExp(value, \"ig\");\n const filterObjectIdNameList = _objectIdNameList.filter((v) =>\n regex.test(v.text)\n );\n setKeyword(e.target.value.trim());\n setObjectIdNameList(filterObjectIdNameList);\n };\n\n const onIconCheckedChange = (checked: boolean): void => {\n if (isAbstract) {\n props?.onIconClicKChange(checked);\n props?.onPopoverVisibleChange(checked);\n } else {\n props?.onIconClicKChange(true);\n props?.onPopoverVisibleChange(true);\n }\n };\n\n const getContent = (): ReactElement => {\n return (\n <>\n <Input\n placeholder={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_MODEL}`)}\n suffix={<SearchOutlined />}\n onChange={onChange}\n value={keyword}\n data-testid=\"instance-source-search\"\n />\n <div className={styles.content}>\n {objectIdNameList.length ? (\n <Radio.Group value={instanceSource} onChange={handleRadioChange}>\n <Space direction=\"vertical\">\n {objectIdNameList.map(({ text, value }) => (\n <Radio key={value} value={value}>\n {text}\n </Radio>\n ))}\n </Space>\n </Radio.Group>\n ) : (\n <div className={styles.noData}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NO_DATA}`)}\n </div>\n )}\n </div>\n <div className={styles.footer}>\n <Button\n type=\"text\"\n size=\"small\"\n onClick={onReset}\n disabled={isAbstract}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n <Button type=\"primary\" size=\"small\" onClick={onConfirm}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </div>\n </>\n );\n };\n return (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n overlayStyle={{ width: \"325px\" }}\n visible={visible}\n trigger=\"click\"\n >\n <IconButton\n checked={checked}\n onChange={onIconCheckedChange}\n style={{ marginRight: 10 }}\n type=\"filterInstanceSource\"\n label={\"\"}\n data-testid=\"instance-source-icon\"\n />\n </Popover>\n );\n};\n\nexport default FilterInstanceSource;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","names":["IconButton","props","checked","setChecked","React","useState","useEffect","handleClick","onChange","getIcon","type","
|
|
1
|
+
{"version":3,"file":"IconButton.js","names":["_react","_interopRequireDefault","require","_antd","_IconButtonModule","_classnames","_basicComponents","_i18next","_constants","IconButton","props","checked","setChecked","React","useState","useEffect","handleClick","onChange","getIcon","type","default","createElement","GeneralIcon","icon","lib","prefix","theme","getTooltip","i18n","t","NS_LIBS_CMDB_INSTANCES","K","CLICK_TO_CANCEL_FILTER","label","CLICK_TO_FILTER","CLICK_TO_HIDDEN","CLICK_TO_SHOW","CLICK_TO_FILTER_INSTANCE_SOURCE","Tooltip","placement","title","style","className","classNames","styles","iconBtnBac","selected","disabled","onClick"],"sources":["../../../src/instance-list/IconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"antd\";\nimport styles from \"./IconButton.module.css\";\nimport classNames from \"classnames\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\ninterface IconButtonProps {\n checked?: boolean;\n onChange: (checked: boolean) => void;\n type: string;\n style?: Record<string, any>;\n label: string;\n disabled?: boolean;\n}\n\nexport function IconButton(props: IconButtonProps) {\n const [checked, setChecked] = React.useState(false);\n\n React.useEffect(() => {\n setChecked(!!props.checked);\n }, [props]);\n\n const handleClick = (checked: boolean) => {\n setChecked(checked);\n props.onChange(checked);\n };\n\n const getIcon = () => {\n switch (props.type) {\n case \"relateToMe\":\n return (\n <GeneralIcon icon={{ lib: \"fa\", icon: \"user\", prefix: \"fas\" }} />\n );\n case \"showHiddenInfo\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"expand-alt\" }} />;\n case \"normalHost\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"tv\", prefix: \"fas\" }} />;\n case \"allName\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"cube\" }} />;\n case \"filterInstanceSource\":\n return (\n <GeneralIcon\n icon={{ lib: \"antd\", icon: \"filter\", theme: \"filled\" }}\n />\n );\n }\n };\n const getTooltip = () => {\n switch (props.type) {\n case \"relateToMe\":\n case \"normalHost\":\n case \"allName\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_CANCEL_FILTER}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER}`, {\n label: props.label,\n });\n case \"showHiddenInfo\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_HIDDEN}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SHOW}`, {\n label: props.label,\n });\n case \"filterInstanceSource\":\n return i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER_INSTANCE_SOURCE}`\n );\n }\n };\n\n return (\n <Tooltip placement=\"top\" title={getTooltip()}>\n <a\n style={props.style}\n className={classNames({\n [styles.iconBtnBac]: true,\n [styles.selected]: checked,\n [styles.disabled]: props.disabled,\n })}\n onClick={() => !props.disabled && handleClick(!checked)}\n >\n {getIcon()}\n </a>\n </Tooltip>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|