@next-libs/cmdb-instances 6.42.2 → 6.42.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  3. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  4. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  5. package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  6. package/dist/cjs/components/index.js.map +1 -1
  7. package/dist/cjs/components/instance-format/index.js.map +1 -1
  8. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  9. package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  10. package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  11. package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  12. package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
  13. package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
  14. package/dist/cjs/data-providers/index.js.map +1 -1
  15. package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
  16. package/dist/cjs/i18n/constants.js.map +1 -1
  17. package/dist/cjs/i18n/index.js.map +1 -1
  18. package/dist/cjs/i18n/locales/en.js.map +1 -1
  19. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  22. package/dist/cjs/instance-detail/InstanceDetail.js +3 -1
  23. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  24. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  25. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  26. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  27. package/dist/cjs/instance-detail/constants/index.js.map +1 -1
  28. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  29. package/dist/cjs/instance-list/InstanceList.js +7 -1
  30. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  31. package/dist/cjs/instance-list/constants.js.map +1 -1
  32. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  33. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  34. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  35. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  36. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  37. package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
  38. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  39. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  40. package/dist/cjs/instance-list-table/constants.js.map +1 -1
  41. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  42. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  43. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  44. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  45. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  46. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  47. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  48. package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
  49. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  50. package/dist/cjs/instance-list-table/index.js.map +1 -1
  51. package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
  52. package/dist/cjs/instance-list-table/utils.js.map +1 -1
  53. package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
  54. package/dist/cjs/model-attribute-form/constants.js.map +1 -1
  55. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  56. package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
  57. package/dist/cjs/processors.js.map +1 -1
  58. package/dist/cjs/struct-components/AddStruct.js.map +1 -1
  59. package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
  60. package/dist/cjs/struct-components/StructTable.js.map +1 -1
  61. package/dist/cjs/struct-components/index.js.map +1 -1
  62. package/dist/cjs/struct-components/interfaces.js.map +1 -1
  63. package/dist/cjs/struct-components/mockData.js.map +1 -1
  64. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  65. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  66. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  67. package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  68. package/dist/esm/components/index.js.map +1 -1
  69. package/dist/esm/components/instance-format/index.js.map +1 -1
  70. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  71. package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  72. package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  73. package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  74. package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
  75. package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
  76. package/dist/esm/data-providers/index.js.map +1 -1
  77. package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
  78. package/dist/esm/i18n/constants.js.map +1 -1
  79. package/dist/esm/i18n/index.js.map +1 -1
  80. package/dist/esm/i18n/locales/en.js.map +1 -1
  81. package/dist/esm/i18n/locales/zh.js.map +1 -1
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  84. package/dist/esm/instance-detail/InstanceDetail.js +3 -1
  85. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  86. package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  87. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  88. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  89. package/dist/esm/instance-detail/constants/index.js.map +1 -1
  90. package/dist/esm/instance-list/IconButton.js.map +1 -1
  91. package/dist/esm/instance-list/InstanceList.js +7 -1
  92. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  93. package/dist/esm/instance-list/constants.js.map +1 -1
  94. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  95. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  96. package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  97. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  98. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  99. package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
  100. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  101. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  102. package/dist/esm/instance-list-table/constants.js.map +1 -1
  103. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  104. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  105. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  106. package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  107. package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  108. package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  109. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  110. package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
  111. package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  112. package/dist/esm/instance-list-table/index.js.map +1 -1
  113. package/dist/esm/instance-list-table/interfaces.js.map +1 -1
  114. package/dist/esm/instance-list-table/utils.js.map +1 -1
  115. package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
  116. package/dist/esm/model-attribute-form/constants.js.map +1 -1
  117. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  118. package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
  119. package/dist/esm/processors.js.map +1 -1
  120. package/dist/esm/struct-components/AddStruct.js.map +1 -1
  121. package/dist/esm/struct-components/AddStructModal.js.map +1 -1
  122. package/dist/esm/struct-components/StructTable.js.map +1 -1
  123. package/dist/esm/struct-components/index.js.map +1 -1
  124. package/dist/esm/struct-components/interfaces.js.map +1 -1
  125. package/dist/esm/struct-components/mockData.js.map +1 -1
  126. package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
  127. package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -1
  128. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list/InstanceList.tsx"],"names":["React","useEffect","useReducer","useState","useRef","useMemo","useCallback","difference","isEmpty","isEqual","isString","map","uniq","union","filter","reject","sortBy","uniqueId","findIndex","find","startsWith","compact","omit","keyBy","BrickAsComponent","getRuntime","handleHttpError","useProvider","i18n","K","NS_LIBS_CMDB_INSTANCES","InstanceApi_postSearchV3","CmdbObjectApi_getIdMapName","CmdbObjectApi_getObjectRef","Icon","LegacyIcon","Button","Spin","Input","Tag","Select","getRelationObjectSides","forEachAvailableFields","getInstanceNameKeys","isSelfRelation","ElementOperators","LogicalOperators","JsonStorage","ConditionType","AdvancedSearch","getFieldConditionsAndValues","MoreButtonsContainer","InstanceListTable","styles","extraFieldAttrs","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_SETTINGS","objectListCache","ModelAttributeValueType","IconButton","changeQueryWithCustomRules","getQuery","modelData","idObjectMap","q","fields","onlySearchByIp","query","$or","queryValues","trim","split","searchIpFields","getCurrentApp","config","queryOrs","Set","searchValue","$like","forEach","key","push","attr","queryValue","id","relation","sides","this","nameKeys","that","nameKey","isSpecialFn","attrId","Object","keys","some","v","isValueEqualFn","valuesStr","isSpecial","values","join","translateConditions","aq","t","conditions","relations","relation_list","sidesArr","objectId","relationObject","nameOfNameKey","attrList","name","value","type","relationSideId","attrAndRelationList","queries","Exists","info","undefined","Between","Empty","NotEmpty","False","True","includes","currentCondition","replace","condition","label","curCondition","queryValuesStr","every","newKey","fieldIds","length","isOfStruct","fieldId","structFields","structs","struct_define","struct","flat","isOfBoolean","keyAttrMap","BOOLEAN","initAqToShow","isToShow","newAqToShow","aqToShow","entries","expressions","newExpressions","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","item","boolExpressions","targetValue","LegacyInstanceList","props","showTooltip","baseList","instanceId","ALL_CLUSTER","jsonLocalStorage","localStorage","reducer","prevState","updatedProperty","listProvider","objectList","object","disabledDefaultFields","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","idNameMap","isAbstract","parentObjectId","computeDefaultFields","inModal","settings","ignoredFields","slice","hideModelData","view","hide_columns","field","_sortFieldIds","frontFields","restFields","presetConfigs","foundIndex","attr_order","orderId","getFields","extraFixedFieldIds","extraFixedFields","getItem","extraDisabledField","setQ","state","setState","instanceSourceQuery","asc","sort","page","dataSource","pageSize","aliveHosts","relatedToMe","inited","loading","failed","isAdvancedSearchVisible","autoBreakLine","appSearchInstanceId","currentChangeSelect","appSelectValue","clusterValue","appList","clusterList","searchByApp","selectedRowKeys","setSelectedRowKeys","cache","Map","isFirstRunRef","getInstanceListData","data","v3Data","concat","permission","sortType","default_type","order","defaultQuery","$and","fromEntries","ignore_missing_field_error","_agentStatus","_object_id","useAutoDiscoveryProvider","extraParams","assign","only_my_instance","promise","onSearchExecute","refreshInstanceList","instanceListData","hideInstanceList","list","i","current","set","e","skip","onPaginationChange","onChange","target","onSelectionChange","selected","selectedItems","selectedKeys","ids","has","resp","params","$in","page_size","get","onSearch","onAdvancedSearch","queriesToShow","fieldToShow","onSortingChange","pagination","onInstanceSourceChange","onRelatedToMeChange","checked","onAliveHostsChange","toggleAutoBreakLine","toggleSearchMode","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","handleConfirm","isReset","removeItem","onFieldsModalConfirm","setItem","notifyCurrentFields","handleToggleFixHeader","onAdvancedSearchCloseGen","filterAq","specialQueryHandler","filteredSubQueries","isInstanceFilterForm","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","instanceListToolbar","searchRelated","marginLeft","marginRight","ADVANCED_SEARCH","width","options","CHOSEN_OPTIONS","count","CLEAR","enableSearchByApp","FREE_SELECTION","APP_SELECTION","fixAliveHosts","NORMAL_HOST","RELATED_TO_ME","showHiddenInfoDisabled","DISPLAY_OMITTED_INFORMATION","showFixedHeader","marginBottom","autoSearch","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","FUZZY_SEARCH","INSTANCE_SOURCE_TAG_TEXT","extraFilterBricks","useBrick","detailUrlTemplates","selectDisabled","sortDisabled","propertyDisplayConfigs","onClickItem","onClickItemV2","filterInstanceSourceDisabled","relationLinkDisabled","pageSizeOptions","showSizeChanger","extraColumns","ipCopy","separatorUsedInRelationData","rowSelectionType","InstanceList","setObjectList","cacheData","ref_object"],"mappings":"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","sourcesContent":["import React, {\n useEffect,\n useReducer,\n useState,\n useRef,\n useMemo,\n useCallback,\n} from \"react\";\nimport {\n difference,\n isEmpty,\n isEqual,\n isString,\n map,\n uniq,\n union,\n filter,\n reject,\n sortBy,\n uniqueId,\n findIndex,\n find,\n startsWith,\n compact,\n omit,\n keyBy,\n} from \"lodash\";\nimport {\n BrickAsComponent,\n getRuntime,\n handleHttpError,\n useProvider,\n} from \"@next-core/brick-kit\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n PropertyDisplayConfig,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchRequestBody,\n InstanceApi_PostSearchV3RequestBody,\n InstanceApi_PostSearchV3ResponseBody,\n InstanceApi_postSearchV3,\n CmdbObjectApi_getIdMapName,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { Icon as LegacyIcon } from \"@ant-design/compatible\";\nimport { Button, Spin, Input, Tag, Select } from \"antd\";\nimport {\n getRelationObjectSides,\n forEachAvailableFields,\n getInstanceNameKeys,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n isSelfRelation,\n Query,\n ElementOperators,\n LogicalOperators,\n ComparisonOperators,\n} from \"@next-libs/cmdb-utils\";\nimport { JsonStorage } from \"@next-libs/storage\";\nimport { ModelObjectAttr } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\n\nimport {\n ConditionType,\n AdvancedSearch,\n getFieldConditionsAndValues,\n MoreButtonsContainer,\n InstanceListTable,\n CustomColumn,\n Field,\n} from \"../instance-list-table\";\nimport styles from \"./InstanceList.module.css\";\nimport {\n extraFieldAttrs,\n CMDB_MODAL_FIELDS_SETTINGS,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n objectListCache,\n} from \"./constants\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { IconButton } from \"./IconButton\";\nimport { changeQueryWithCustomRules } from \"../processors\";\nimport { DisplaySettingsModalData } from \"../instance-list-table/DisplaySettingsModal\";\nexport interface InstanceListPresetConfigs {\n query?: Record<string, any>;\n fieldIds?: string[];\n}\n\nexport function getQuery(\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n q: string,\n fields?: string[],\n onlySearchByIp?: boolean\n) {\n const query: Record<string, any> = { $or: [] };\n const queryValues = q.trim().split(/\\s+/);\n if (onlySearchByIp) {\n const searchIpFields =\n (getRuntime().getCurrentApp().config?.searchIpFields as string[]) || [];\n const queryOrs = [...new Set([\"ip\", ...searchIpFields])];\n const searchValue = { $like: `%${q.trim()}%` };\n queryOrs.forEach((key) => {\n query.$or.push({ [key]: searchValue });\n });\n return query;\n }\n forEachAvailableFields(\n modelData,\n (attr) => {\n queryValues.forEach((queryValue) =>\n query.$or.push({ [attr.id]: { $like: `%${queryValue}%` } })\n );\n },\n (relation, sides) => {\n const id = relation[`${sides.this}_id` as RelationIdKeys];\n const nameKeys = getInstanceNameKeys(\n idObjectMap[relation[`${sides.that}_object_id` as RelationObjectIdKeys]]\n );\n\n queryValues.forEach((queryValue) => {\n nameKeys.forEach((nameKey) => {\n query.$or.push({\n [`${id}.${nameKey}`]: { $like: `%${queryValue}%` },\n });\n });\n });\n },\n fields\n );\n\n return query;\n}\n\nexport const isSpecialFn = (query: any, attrId: string) => {\n return Object.keys(query[attrId] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n};\n\nexport const isValueEqualFn = (\n query: any,\n attrId: string,\n valuesStr?: string\n) => {\n const isSpecial = isSpecialFn(query, attrId);\n if (isSpecial) return false;\n return query[attrId]\n ? valuesStr && Object.values(query[attrId]).join(\" \") !== valuesStr // 当条件是为空和不为空时,需要判断valuesStr是否存在\n : false;\n};\n\nfunction translateConditions(\n aq: Query[],\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n t?: () => string\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n const relations: any[] = [];\n modelData.relation_list.forEach((relation) => {\n let sidesArr: RelationObjectSides[] = [];\n if (isSelfRelation(relation)) {\n sidesArr = [\n { this: \"left\", that: \"right\" },\n { this: \"right\", that: \"left\" },\n ];\n } else {\n sidesArr = [getRelationObjectSides(relation, modelData)];\n }\n sidesArr.forEach((sides) => {\n const objectId = relation[`${sides.this}_id` as RelationIdKeys];\n const relationObject =\n idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const nameKeys = getInstanceNameKeys(relationObject);\n nameKeys.forEach((nameKey) => {\n const nameOfNameKey =\n find(relationObject?.attrList, [\"id\", nameKey])?.name ?? nameKey;\n const id = `${objectId}.${nameKey}`;\n const name = `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfNameKey})`;\n relations.push({\n id,\n name,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n relations.push({\n id: `${objectId}.`,\n name: `${relation[`${sides.this}_name` as RelationNameKeys]}`,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n });\n const attrAndRelationList = [...modelData.attrList, ...relations];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (Object.keys(query)[0] === \"$or\" || Object.keys(query)[0] === \"$and\") {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n let attr = attrAndRelationList.find(\n (attr) => attr.id === key || attr.relationSideId === key\n );\n if (\n Object.keys(value)[0] === ElementOperators.Exists &&\n attr.relationSideId\n ) {\n const relationSideId = attr.relationSideId;\n attr =\n attrAndRelationList.find(\n (attr) => attr.id === `${relationSideId}.`\n ) || attr;\n }\n if (attr) {\n query = changeQueryWithCustomRules(\n modelData.objectId,\n attr.id,\n query\n );\n const info = getFieldConditionsAndValues(\n query as any,\n key,\n attr.value.type as ModelAttributeValueType,\n undefined,\n undefined,\n modelData.objectId,\n attr.id\n );\n if (\n ![\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ConditionType.False,\n ConditionType.True,\n ].includes(info.currentCondition.type)\n ) {\n info.values = info.values.map((v) =>\n isString(v) && v.includes(\" \") ? v.replace(/^\"+|\"+$/g, \"\") : v\n );\n }\n\n let condition = `${attr.name}: ${info.currentCondition.label}`;\n if (\n ![ConditionType.Empty, ConditionType.NotEmpty].includes(\n info.currentCondition.type\n )\n ) {\n condition += `\"${info.values.join(\" ~ \")}\"`;\n }\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: info.queryValuesStr,\n };\n if (\n conditions.every(\n (v) => !isEqual(omit(v, \"attrId\"), omit(curCondition, \"attrId\"))\n )\n ) {\n conditions.push(curCondition);\n }\n }\n });\n }\n }\n\n return conditions;\n}\n\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\nconst isOfStruct = (\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n fieldId: string\n) => {\n const structFields = modelData.attrList\n .filter(\n (attr: Partial<ModelObjectAttr>) =>\n attr.value.type === \"struct\" || attr.value.type === \"structs\"\n )\n ?.map((attr) => {\n const structs: string[] = [];\n attr.value.struct_define.forEach((struct) => {\n structs.push(`${attr.id}.${struct.id}`);\n });\n return structs;\n })\n .flat();\n return structFields.includes(fieldId);\n};\n\nconst isOfBoolean = (\n attrList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldId: string\n): boolean => {\n const keyAttrMap = keyBy(attrList, \"id\");\n return keyAttrMap[fieldId]?.value.type === ModelAttributeValueType.BOOLEAN;\n};\n\nexport const initAqToShow = (\n aq: Query[],\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n isToShow = true\n) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n const isStruct = isOfStruct(modelData, fieldId);\n const isBool = isOfBoolean(modelData.attrList, fieldId);\n const structQueries: Record<string, any> = (\n expressions as Query[]\n ).filter((expression) => Object.keys(expression)[0] === fieldId);\n if (isStruct && isToShow) {\n const structExpressions = structQueries.map((item: any) => ({\n [fieldId.split(\".\")[0]]: item[fieldId],\n }));\n newExpressions = [...newExpressions, ...structExpressions];\n } else if (isBool && !isToShow) {\n const boolExpressions = (expressions as Query[]).map(\n (expression) => {\n const targetValue = expression[fieldId] as Record<\n ComparisonOperators,\n any\n >;\n if (typeof Object.values(targetValue)[0] === \"string\") {\n return {\n [fieldId]: {\n [Object.keys(targetValue)[0]]:\n Object.values(targetValue)[0] === \"true\",\n },\n };\n } else {\n return expression;\n }\n }\n );\n newExpressions = [...newExpressions, ...boolExpressions];\n } else {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n }\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return;\n};\n\ninterface InstanceListProps {\n objectId: string;\n objectList?: Partial<CmdbModels.ModelCmdbObject>[];\n detailUrlTemplates?: Record<string, string>;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n q?: string;\n searchDisabled?: boolean;\n sortDisabled?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n advancedSearchDisabled?: boolean;\n page?: number;\n pageSize?: number;\n sort?: string;\n asc?: boolean;\n relatedToMe?: boolean;\n relatedToMeDisabled?: boolean;\n showHiddenInfoDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n aliveHosts?: boolean;\n fixAliveHosts?: boolean;\n aliveHostsDisabled?: boolean;\n propertyDisplayConfigs?: PropertyDisplayConfig[];\n selectedRowKeys?: string[];\n selectDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n filterInstanceSourceDisabled?: boolean;\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n onSearchExecute?(\n data: InstanceApi_PostSearchRequestBody,\n v3Data: InstanceApi_PostSearchV3RequestBody\n ): Promise<InstanceApi_PostSearchV3ResponseBody> | void;\n onSearch?(value: string): void;\n onAdvancedSearch?(queries: Query[]): void;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onRelatedToMeChange?(value: boolean): void;\n onAliveHostsChange?(value: boolean): void;\n onInstanceSourceChange?(instanceResource: string): void;\n onFieldsModalConfirm?(fields: Record<string, any>): void;\n relationLinkDisabled?: boolean;\n notifyCurrentFields?: (fiels: string[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n extraColumns?: CustomColumn[];\n extraDisabledField?: string;\n hideSearchConditions?: boolean;\n onlySearchByIp?: boolean;\n target?: string;\n ipCopy?: boolean;\n enableSearchByApp?: boolean;\n dataSource?: {\n list: Record<string, any>[];\n total?: number;\n page?: number;\n pageSize?: number;\n };\n separatorUsedInRelationData?: string;\n hideInstanceList?: boolean;\n autoSearch?: (fields: Field[]) => void;\n disabledDefaultFields?: boolean;\n showTooltip?: boolean;\n showFixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n useAutoDiscoveryProvider?: boolean;\n extraParams?: Record<string, any>;\n // 指定固定显示的field,与presetConfigs的fieldIds同时生效\n extraFixedFields?: string[];\n}\n\ninterface InstanceListState {\n objectId: string;\n q: string;\n aq: Query[];\n aqToShow?: Query[];\n instanceSourceQuery: string;\n asc: boolean;\n sort: string;\n page: number;\n pageSize: number;\n aliveHosts: boolean;\n relatedToMe: boolean;\n inited: boolean;\n loading: boolean;\n failed: boolean;\n idObjectMap?: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n instanceListData?: InstanceApi_PostSearchV3ResponseBody;\n isAdvancedSearchVisible: boolean;\n fieldIds: string[];\n autoBreakLine: boolean;\n fieldToShow?: Record<string, any[]>[];\n appSearchInstanceId?: string;\n currentChangeSelect?: string;\n appSelectValue?: string;\n clusterValue?: string;\n appList?: Record<string, any>[];\n clusterList?: Record<string, any>[];\n searchByApp?: boolean;\n showTooltip?: boolean;\n}\n\nexport function LegacyInstanceList(\n props: InstanceListProps\n): React.ReactElement {\n const { showTooltip = true } = props;\n const baseList = [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ];\n const jsonLocalStorage = new JsonStorage(localStorage);\n const reducer = (\n prevState: InstanceListState,\n updatedProperty: Partial<InstanceListState>\n ): InstanceListState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n };\n // 资源自动发现页面24小时发现主机抽屉的实例列表处,通用的postSearchV3接口无法查到正确结果,需要用下面的接口替换,参数里也要加上jobId:***\n // 为了不影响其他地方的实例列表,在该处加一个useAutoDiscoveryProvider参数,该参数为undefined或false的,仍调用原接口\n\n const listProvider = useProvider(\"easyops.api.cmdb.job@SearchResource:1.0.1\");\n const { modelData, idObjectMap } = useMemo(() => {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n const idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>> = {};\n props.objectList.forEach((object) => {\n idObjectMap[object.objectId] = object;\n if (object.objectId === props.objectId) {\n modelData = object;\n modelData.attrList = !props.disabledDefaultFields\n ? union(object.attrList, extraFieldAttrs)\n : object.attrList;\n }\n });\n\n return { modelData, idObjectMap };\n }, [props.objectList, props.objectId]);\n\n const [inheritanceModelIdNameMap, setInheritanceModelIdNameMap] = useState<\n Record<string, string>\n >({});\n const [fixedHeader, setFixHeader] = useState(false);\n\n const fetchInheritanceModelIdNameMap = async (\n modelData: Partial<CmdbModels.ModelCmdbObject>\n ): Promise<void> => {\n let idNameMap = {};\n if (modelData.isAbstract) {\n idNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: modelData.objectId,\n } as any);\n }\n setInheritanceModelIdNameMap(idNameMap);\n };\n\n useEffect(() => {\n fetchInheritanceModelIdNameMap(modelData);\n }, [modelData]);\n\n const computeDefaultFields = (\n { inModal } = { inModal: false }\n ): { fieldIds: string[] } => {\n // 原来有隐藏逻辑,针对 APP、HOST、USER、USER_GROUP模型,默认字段特殊处理了,现产品要求干掉,统一取8个默认字段,也不区分是否是内置模型\n const settings: any = inModal\n ? CMDB_MODAL_FIELDS_SETTINGS\n : CMDB_RESOURCE_FIELDS_SETTINGS;\n const ignoredFields: string[] =\n settings.ignoredFields[modelData.objectId] || [];\n let fieldIds: string[] = difference(\n uniq(map(modelData.attrList, \"id\")),\n ignoredFields\n ).slice(0, 8);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n return { fieldIds };\n };\n\n // 根据用户预定义的 presetConfigs.fieldIds 进行排序,如果不在预定义的字段,则根据 modelData.view.attr_order 进行排序\n const _sortFieldIds = (fieldIds: any[]) => {\n let frontFields: any[] = [];\n let restFields: any[] = [];\n if (props.presetConfigs?.fieldIds) {\n frontFields = filter(props.presetConfigs.fieldIds, (id) =>\n fieldIds.includes(id)\n );\n }\n restFields = sortBy(\n reject(fieldIds, (id) => frontFields.includes(id)),\n (fieldId) => {\n const foundIndex = findIndex(\n modelData.view.attr_order,\n (orderId) => orderId === fieldId\n );\n if (foundIndex === -1) {\n return null;\n } else {\n return foundIndex;\n }\n }\n );\n return [...frontFields, ...restFields];\n };\n\n const getFields = () => {\n let fieldIds = props.presetConfigs?.fieldIds;\n const extraFixedFieldIds = props.extraFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = jsonLocalStorage.getItem(\n `${modelData.objectId}-selectAttrIds`\n );\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return fieldIds;\n };\n\n const [q, setQ] = useState(props.q);\n const [state, setState] = useReducer(reducer, undefined, () => ({\n objectId: props.objectId,\n q: props.q,\n aq: initAqToShow(props.aq, modelData, false),\n aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),\n instanceSourceQuery: props.instanceSourceQuery,\n asc: props.asc,\n sort: props.sort,\n page: props.dataSource?.page ?? props.page ?? 1,\n pageSize: props.dataSource?.pageSize ?? props.pageSize ?? 10,\n aliveHosts: props.aliveHosts,\n relatedToMe: props.relatedToMe,\n inited: false,\n loading: false,\n failed: false,\n isAdvancedSearchVisible: false,\n fieldIds: getFields(),\n autoBreakLine: false,\n appSearchInstanceId: \"\",\n currentChangeSelect: \"App\",\n appSelectValue: \"\",\n clusterValue: \"all\",\n appList: [],\n clusterList: [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ],\n searchByApp: false,\n }));\n const [selectedRowKeys, setSelectedRowKeys] = useState(\n props.selectedRowKeys ?? []\n );\n const cache = useRef(new Map<string, InstanceApi_PostSearchV3ResponseBody>());\n const isFirstRunRef = useRef(true);\n\n const getInstanceListData = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<InstanceApi_PostSearchV3ResponseBody> => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: props?.extraFixedFields\n ? uniq([\"instanceId\"].concat(props?.extraFixedFields))\n : [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n let query: Record<string, any> = {};\n\n v3Data.page = data.page = page;\n v3Data[\"page_size\"] = data[\"page_size\"] = state.pageSize;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const order = [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n if (sort) {\n data.sort = { [sort]: order };\n v3Data.sort = [{ key: sort, order }];\n }\n\n if (state.q) {\n query = getQuery(\n modelData,\n idObjectMap,\n state.q,\n state.fieldIds,\n props.onlySearchByIp\n );\n }\n\n if (!isEmpty(state.aq)) {\n query[LogicalOperators.And] = state.aq;\n }\n\n if (!isEmpty(props.defaultQuery)) {\n query[LogicalOperators.And] = [\n ...(query[LogicalOperators.And] || []),\n ...props.defaultQuery,\n ];\n }\n if (props.presetConfigs) {\n if (!isEmpty(props.presetConfigs.query)) {\n if (Object.keys(query).length) {\n query = {\n $and: [query, props.presetConfigs.query],\n };\n } else {\n query = props.presetConfigs.query;\n }\n }\n }\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n if (state.aliveHosts && props.objectId === \"HOST\") {\n query = { ...query, _agentStatus: \"正常\" };\n }\n if (state.instanceSourceQuery) {\n query = { ...query, _object_id: state.instanceSourceQuery };\n }\n\n if (!isEmpty(query)) {\n v3Data.query = data.query = query;\n }\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams\n\n if (props.useAutoDiscoveryProvider && !isEmpty(props.extraParams)) {\n Object.assign(v3Data, props.extraParams);\n }\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n //按应用筛选\n // istanbul ignore next (state is not updated)\n if (state.searchByApp) {\n v3Data.query = {\n [state.currentChangeSelect === \"App\" ||\n (state.currentChangeSelect === \"Cluster\" &&\n state.clusterValue === \"all\")\n ? \"_deviceList_CLUSTER.appId.instanceId\"\n : \"_deviceList_CLUSTER.instanceId\"]: state.appSearchInstanceId,\n ...(state.aliveHosts && props.objectId === \"HOST\"\n ? { _agentStatus: \"正常\" }\n : {}),\n };\n }\n const promise = props.onSearchExecute?.(data, v3Data);\n // useAutoDiscoveryProvider=true, 使用useProvider的接口\n return promise\n ? promise\n : props.useAutoDiscoveryProvider\n ? listProvider.query([props.objectId, v3Data])\n : InstanceApi_postSearchV3(props.objectId, v3Data);\n };\n\n const refreshInstanceList = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<void> => {\n setState({ loading: true });\n try {\n if (props.dataSource) {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: props.dataSource,\n });\n } else {\n if (!props.hideInstanceList) {\n const instanceListData = await getInstanceListData(sort, asc, page);\n instanceListData.list.forEach((i) =>\n cache.current.set(i.instanceId, i)\n );\n setState({ idObjectMap: idObjectMap, instanceListData });\n } else {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n }\n }\n } catch (e) {\n handleHttpError(e);\n setState({ failed: true });\n } finally {\n setState({ inited: true, loading: false });\n }\n };\n\n useEffect(() => {\n const fieldIds = getFields();\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds)\n ) {\n setState({\n fieldIds,\n });\n }\n }, [props.objectId, props.presetConfigs]);\n\n useEffect(() => {\n setSelectedRowKeys(props.selectedRowKeys ?? []);\n }, [props.objectId, props.selectedRowKeys]);\n\n // on filter condition change\n useEffect(() => {\n if (isFirstRunRef.current) {\n isFirstRunRef.current = false;\n return;\n }\n\n let skip = false;\n\n if (state.page !== 1) {\n setState({ page: 1 });\n props.onPaginationChange?.({ page: 1, pageSize: state.pageSize });\n skip = true;\n }\n\n // 当 prop.objectId 改变时先跳过,等 state.fieldIds 更新后再获取数据\n if (props.objectId !== state.objectId) {\n setState({ objectId: props.objectId });\n skip = true;\n }\n\n if (skip) {\n return;\n }\n\n refreshInstanceList(state.sort, state.asc, 1);\n }, [\n state.q,\n state.aq,\n state.instanceSourceQuery,\n state.pageSize,\n state.aliveHosts,\n state.relatedToMe,\n props.objectId,\n props.permission,\n props.defaultQuery,\n ]);\n\n // on other condition change\n useEffect(() => {\n if (isEmpty(state.fieldIds)) return;\n\n refreshInstanceList(state.sort, state.asc, state.page);\n }, [\n state.page,\n state.sort,\n state.asc,\n state.fieldIds,\n state.appSearchInstanceId,\n state.currentChangeSelect,\n state.searchByApp,\n props.dataSource,\n ]);\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n };\n\n // istanbul ignore next\n const onSelectionChange = useCallback(\n async (selected: { selectedKeys: string[]; selectedItems: any[] }) => {\n let { selectedItems, selectedKeys } = selected;\n setSelectedRowKeys(selectedKeys);\n if (selectedKeys.length > compact(selectedItems).length) {\n const ids = selectedKeys.filter((id) => !cache.current.has(id));\n if (ids.length) {\n let resp;\n const params = {\n fields: [\"instanceId\"],\n query: {\n instanceId: {\n $in: ids,\n },\n },\n page_size: ids.length,\n };\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一\n if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, params);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n }\n selectedItems = selectedKeys.map((id) => cache.current.get(id));\n }\n props.onSelectionChange?.({ selectedItems, selectedKeys });\n },\n []\n );\n\n const onSearch = (value: string) => {\n const q = value.trim();\n setState({ q });\n props.onSearch?.(q);\n };\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n const onSortingChange = useCallback(\n (info: ReadSortingChangeDetail) => {\n let asc: boolean;\n let sort: string;\n if (info.asc === undefined) {\n if (!state.sort) {\n return;\n }\n\n setState({ asc: undefined, sort: undefined });\n } else {\n setState({ asc: info.asc, sort: info.sort });\n asc = info.asc;\n sort = info.sort;\n }\n props.onSortingChange?.(info);\n },\n [state.sort]\n );\n\n const onPaginationChange = useCallback(\n (pagination: ReadPaginationChangeDetail) => {\n setState({ page: pagination.page, pageSize: pagination.pageSize });\n props.onPaginationChange?.(pagination);\n },\n []\n );\n\n const onInstanceSourceChange = useCallback((instanceSourceQuery: string) => {\n setState({ instanceSourceQuery });\n props.onInstanceSourceChange?.(instanceSourceQuery);\n }, []);\n\n const onRelatedToMeChange = (checked: boolean) => {\n setState({ relatedToMe: checked });\n props.onRelatedToMeChange?.(checked);\n };\n\n const onAliveHostsChange = (checked: boolean) => {\n setState({ aliveHosts: checked });\n props.onAliveHostsChange?.(checked);\n };\n\n const toggleAutoBreakLine = (autoBreakLine: boolean) => {\n setState({ autoBreakLine });\n };\n // istanbul ignore next (state is not updated)\n const toggleSearchMode = React.useCallback(async () => {\n if (!state.searchByApp) {\n const appListResp = await InstanceApi_postSearchV3(\"APP\", {\n fields: [\"clusters\", \"instanceId\", \"name\"],\n sort: [{ key: \"name\", order: 1 }],\n page: 1,\n page_size: 3000,\n });\n setState({\n appSearchInstanceId: appListResp.list?.[0].instanceId || \"\",\n appList: appListResp.list,\n clusterList: [...baseList, ...(appListResp.list?.[0].clusters || [])],\n searchByApp: true,\n appSelectValue: appListResp.list?.[0].instanceId || \"\",\n clusterValue: \"all\",\n });\n } else {\n setState({ searchByApp: false });\n }\n }, [state.searchByApp]);\n // istanbul ignore next (state is not updated)\n const appSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v,\n currentChangeSelect: \"App\",\n appSelectValue: v,\n clusterValue: \"all\",\n clusterList: [\n ...baseList,\n ...state.appList.find((r) => r.instanceId === v).clusters,\n ],\n });\n };\n // istanbul ignore next (state is not updated)\n const clusterSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v === \"all\" ? state.appSelectValue : v,\n currentChangeSelect: \"Cluster\",\n clusterValue: v,\n });\n };\n const defaultFields = useMemo(() => {\n let defaultFields: string[];\n const fieldIds = props.presetConfigs?.fieldIds,\n extraFixedFieldIds = props.extraFixedFields ?? [];\n if (!isEmpty(fieldIds)) {\n defaultFields = props.presetConfigs.fieldIds;\n } else {\n defaultFields = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);\n }\n return defaultFields;\n }, [props.presetConfigs, modelData]);\n\n // istanbul ignore next\n const handleConfirm = ({ fields, isReset }: DisplaySettingsModalData) => {\n if (isReset) {\n const fieldIds = defaultFields;\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n setState({ fieldIds });\n jsonLocalStorage.removeItem(`${modelData.objectId}-selectAttrIds`);\n props.onFieldsModalConfirm(fieldIds);\n } else {\n setState({\n fieldIds: _sortFieldIds(fields),\n });\n jsonLocalStorage.setItem(`${modelData.objectId}-selectAttrIds`, fields);\n props.onFieldsModalConfirm(fields);\n }\n };\n\n useEffect(() => {\n props.notifyCurrentFields?.(state.fieldIds);\n }, [props.notifyCurrentFields]);\n\n // istanbul ignore next\n useEffect(() => {\n props.selectedRowKeys?.length &&\n (async () => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n\n v3Data.query = {\n instanceId: {\n $in: props.selectedRowKeys,\n },\n };\n v3Data.page_size = props.selectedRowKeys.length;\n\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n if (props.extraParams) {\n Object.assign(v3Data, props.extraParams);\n }\n let resp;\n if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([props.objectId, v3Data]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, v3Data);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n })();\n }, [props.selectedRowKeys]);\n const handleToggleFixHeader = () => {\n setFixHeader(!fixedHeader);\n };\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqualFn(v, attrId, valuesStr));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = isSpecialFn(query, key);\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n state.aq.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId && !startsWith(attrId, `${key}.`)) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n state.aqToShow.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queriesToShow.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId) {\n queriesToShow.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queriesToShow);\n }\n });\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n const conditions = translateConditions(\n state.aqToShow,\n idObjectMap,\n modelData\n );\n\n return (\n <Spin spinning={state.loading}>\n {state.inited && !state.failed ? (\n <React.Fragment>\n {(!props.searchDisabled ||\n !props.advancedSearchDisabled ||\n !props.relatedToMeDisabled ||\n !props.aliveHostsDisabled ||\n !props.moreButtonsDisabled) && (\n <div className={styles.instanceListToolbar}>\n <div className={styles.searchRelated}>\n {/* istanbul ignore next (state is not updated) */}\n {!state.searchByApp ? (\n <>\n {!props.searchDisabled && (\n <Input.Search\n enterButton\n value={q}\n onChange={onChange}\n onSearch={onSearch}\n />\n )}\n {!props.advancedSearchDisabled && (\n <Button\n type=\"link\"\n size=\"small\"\n style={{\n marginLeft: \"8px\",\n marginRight: \"auto\",\n }}\n onClick={() =>\n setState({\n isAdvancedSearchVisible:\n !state.isAdvancedSearchVisible,\n })\n }\n data-testid=\"advanced-search-toggle-btn\"\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCED_SEARCH}`\n )}\n <LegacyIcon\n type={state.isAdvancedSearchVisible ? \"up\" : \"down\"}\n />\n </Button>\n )}\n </>\n ) : (\n <>\n <Select\n style={{ width: \"150px\", marginRight: \"10px\" }}\n value={state.appSelectValue}\n onChange={appSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.appList?.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n <Select\n style={{ width: \"150px\" }}\n value={state.clusterValue}\n onChange={clusterSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.clusterList.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n </>\n )}\n </div>\n <div className={styles.options}>\n {selectedRowKeys.length > 0 && (\n <div style={{ marginRight: 20 }}>\n <span>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOSEN_OPTIONS}`, {\n count: selectedRowKeys.length,\n })}\n </span>\n <a\n role=\"button\"\n onClick={() =>\n onSelectionChange({\n selectedKeys: [],\n selectedItems: [],\n })\n }\n >\n {\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLEAR}`)}\n </a>\n </div>\n )}\n {props.objectId === \"HOST\" && props.enableSearchByApp && (\n <Button type={\"link\"} onClick={toggleSearchMode}>\n {/* istanbul ignore next (state is not updated) */}\n {state.searchByApp\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FREE_SELECTION}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.APP_SELECTION}`)}\n </Button>\n )}\n {props.objectId === \"HOST\" && !props.aliveHostsDisabled && (\n <IconButton\n checked={state.aliveHosts}\n onChange={onAliveHostsChange}\n style={{ marginRight: 10 }}\n disabled={props.fixAliveHosts}\n type=\"normalHost\"\n label={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NORMAL_HOST}`)}\n data-testid=\"alive-hosts\"\n />\n )}\n {!props.relatedToMeDisabled && (\n <IconButton\n checked={state.relatedToMe}\n onChange={onRelatedToMeChange}\n style={{ marginRight: 10 }}\n type=\"relateToMe\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATED_TO_ME}`\n )}\n data-testid=\"related-to-me\"\n />\n )}\n {!props.showHiddenInfoDisabled && (\n <IconButton\n checked={state.autoBreakLine}\n onChange={toggleAutoBreakLine}\n style={{ marginRight: 10 }}\n type=\"showHiddenInfo\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_OMITTED_INFORMATION}`\n )}\n data-testid=\"show-hidden-info\"\n />\n )}\n {!props.moreButtonsDisabled && (\n <MoreButtonsContainer\n modelData={modelData}\n onConfirm={handleConfirm}\n fieldIds={state.fieldIds}\n defaultFields={defaultFields}\n extraDisabledField={props.extraDisabledField}\n handleToggleFixHeader={handleToggleFixHeader}\n fixedHeader={fixedHeader}\n showFixedHeader={props.showFixedHeader}\n />\n )}\n </div>\n </div>\n )}\n {!props.advancedSearchDisabled && !state.searchByApp && (\n <div\n style={{ marginBottom: \"18px\" }}\n hidden={!state.isAdvancedSearchVisible}\n >\n <AdvancedSearch\n key={newKey(state.fieldIds, state.aq)}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n onSearch={onAdvancedSearch}\n {...(props.autoSearch\n ? {\n autoSearch: props.autoSearch,\n }\n : null)}\n />\n </div>\n )}\n {!props.hideSearchConditions &&\n !state.searchByApp &&\n (state.instanceSourceQuery || state.q || !isEmpty(conditions)) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {state.q && (\n <Tag\n closable\n onClose={() => {\n setQ(\"\");\n onSearch(\"\");\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FUZZY_SEARCH}`, {\n query: state.q,\n })}\n </Tag>\n )}\n {state.instanceSourceQuery && (\n <Tag\n closable\n onClose={() => {\n onInstanceSourceChange(null);\n }}\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TAG_TEXT}`,\n {\n query:\n inheritanceModelIdNameMap?.[\n state.instanceSourceQuery\n ] || state.instanceSourceQuery,\n }\n )}\n </Tag>\n )}\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${\n condition.valuesStr\n }-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n {props.extraFilterBricks?.useBrick && (\n <BrickAsComponent useBrick={props.extraFilterBricks.useBrick} />\n )}\n {!props.hideInstanceList && (\n <InstanceListTable\n detailUrlTemplates={props.detailUrlTemplates}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n instanceListData={state.instanceListData}\n sort={state.sort}\n asc={state.asc}\n selectedRowKeys={selectedRowKeys}\n selectDisabled={props.selectDisabled}\n sortDisabled={props.sortDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n onClickItem={props.onClickItem}\n onClickItemV2={props.onClickItemV2}\n onPaginationChange={onPaginationChange}\n onSortingChange={onSortingChange}\n onSelectionChange={onSelectionChange}\n onInstanceSourceChange={onInstanceSourceChange}\n instanceSourceQuery={state.instanceSourceQuery}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={state.autoBreakLine}\n relationLinkDisabled={props.relationLinkDisabled}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n extraColumns={props.extraColumns}\n target={props.target}\n ipCopy={props.ipCopy}\n fixedHeader={fixedHeader}\n separatorUsedInRelationData={props.separatorUsedInRelationData}\n showTooltip={showTooltip}\n rowSelectionType={props.rowSelectionType}\n />\n )}\n </React.Fragment>\n ) : null}\n </Spin>\n );\n}\n\n/**\n * 把 objectList 封装到构件中请求,废弃掉通过老模板使用的方式,可直接使用构件。\n * 同时也兼容之前的使用方式,对于外部传进来的会优先使用外部的数据,构件内部不会额外请求,\n * 不传的话构件内部做请求,并作缓存\n */\nexport function InstanceList(props: InstanceListProps): React.ReactElement {\n const [objectList, setObjectList] = useState<\n Partial<CmdbModels.ModelCmdbObject>[]\n >(props.objectList);\n\n useEffect(() => {\n if (props.objectList) {\n setObjectList(props.objectList);\n } else {\n (async () => {\n if (!props.objectList) {\n const cacheData = objectListCache.get(props.objectId);\n if (cacheData) {\n setObjectList(cacheData);\n } else {\n try {\n const list = (\n await CmdbObjectApi_getObjectRef({ ref_object: props.objectId })\n ).data;\n setObjectList(list);\n objectListCache.set(props.objectId, list);\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n }\n })();\n }\n }, [props.objectId, props.objectList]);\n\n if (\n !objectList ||\n !objectList.find((item) => item.objectId === props.objectId)\n )\n return null;\n\n return <LegacyInstanceList {...props} objectList={objectList} />;\n}\n"],"file":"InstanceList.js"}
1
+ {"version":3,"file":"InstanceList.js","names":["React","useEffect","useReducer","useState","useRef","useMemo","useCallback","difference","isEmpty","isEqual","isString","map","uniq","union","filter","reject","sortBy","uniqueId","findIndex","find","startsWith","compact","omit","keyBy","BrickAsComponent","getRuntime","handleHttpError","useProvider","i18n","K","NS_LIBS_CMDB_INSTANCES","InstanceApi_postSearchV3","CmdbObjectApi_getIdMapName","CmdbObjectApi_getObjectRef","Icon","LegacyIcon","Button","Spin","Input","Tag","Select","getRelationObjectSides","forEachAvailableFields","getInstanceNameKeys","isSelfRelation","ElementOperators","LogicalOperators","JsonStorage","ConditionType","AdvancedSearch","getFieldConditionsAndValues","MoreButtonsContainer","InstanceListTable","styles","extraFieldAttrs","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_SETTINGS","objectListCache","ModelAttributeValueType","IconButton","changeQueryWithCustomRules","getQuery","modelData","idObjectMap","q","fields","onlySearchByIp","query","$or","queryValues","trim","split","searchIpFields","getCurrentApp","config","queryOrs","Set","searchValue","$like","forEach","key","push","attr","queryValue","id","relation","sides","this","nameKeys","that","nameKey","isSpecialFn","attrId","Object","keys","some","v","isValueEqualFn","valuesStr","isSpecial","values","join","translateConditions","aq","t","conditions","relations","relation_list","sidesArr","objectId","relationObject","nameOfNameKey","attrList","name","value","type","relationSideId","attrAndRelationList","queries","Exists","info","undefined","Between","Empty","NotEmpty","False","True","includes","currentCondition","replace","condition","label","curCondition","queryValuesStr","every","newKey","fieldIds","length","isOfStruct","fieldId","structFields","structs","struct_define","struct","flat","isOfBoolean","keyAttrMap","BOOLEAN","initAqToShow","isToShow","newAqToShow","aqToShow","entries","expressions","newExpressions","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","item","boolExpressions","targetValue","LegacyInstanceList","props","showTooltip","baseList","instanceId","ALL_CLUSTER","jsonLocalStorage","localStorage","reducer","prevState","updatedProperty","listProvider","objectList","object","disabledDefaultFields","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","idNameMap","isAbstract","parentObjectId","computeDefaultFields","inModal","settings","ignoredFields","slice","hideModelData","view","hide_columns","field","_sortFieldIds","frontFields","restFields","presetConfigs","foundIndex","attr_order","orderId","getFields","extraFixedFieldIds","extraFixedFields","getItem","extraDisabledField","setQ","state","setState","instanceSourceQuery","asc","sort","page","dataSource","pageSize","aliveHosts","relatedToMe","inited","loading","failed","isAdvancedSearchVisible","autoBreakLine","appSearchInstanceId","currentChangeSelect","appSelectValue","clusterValue","appList","clusterList","searchByApp","selectedRowKeys","setSelectedRowKeys","cache","Map","isFirstRunRef","getInstanceListData","data","v3Data","concat","permission","sortType","default_type","order","defaultQuery","$and","fromEntries","ignore_missing_field_error","_agentStatus","_object_id","useAutoDiscoveryProvider","extraParams","assign","only_my_instance","promise","onSearchExecute","refreshInstanceList","instanceListData","hideInstanceList","list","i","current","set","e","skip","onPaginationChange","onChange","target","onSelectionChange","selected","selectedItems","selectedKeys","ids","has","resp","params","$in","page_size","get","onSearch","onAdvancedSearch","queriesToShow","fieldToShow","onSortingChange","pagination","onInstanceSourceChange","onRelatedToMeChange","checked","onAliveHostsChange","toggleAutoBreakLine","toggleSearchMode","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","handleConfirm","isReset","removeItem","onFieldsModalConfirm","setItem","notifyCurrentFields","handleToggleFixHeader","onAdvancedSearchCloseGen","filterAq","specialQueryHandler","filteredSubQueries","isInstanceFilterForm","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","instanceListToolbar","searchRelated","marginLeft","marginRight","ADVANCED_SEARCH","width","options","CHOSEN_OPTIONS","count","CLEAR","enableSearchByApp","FREE_SELECTION","APP_SELECTION","fixAliveHosts","NORMAL_HOST","RELATED_TO_ME","showHiddenInfoDisabled","DISPLAY_OMITTED_INFORMATION","showFixedHeader","marginBottom","autoSearch","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","FUZZY_SEARCH","INSTANCE_SOURCE_TAG_TEXT","extraFilterBricks","useBrick","detailUrlTemplates","selectDisabled","sortDisabled","propertyDisplayConfigs","onClickItem","onClickItemV2","filterInstanceSourceDisabled","relationLinkDisabled","pageSizeOptions","showSizeChanger","extraColumns","ipCopy","separatorUsedInRelationData","rowSelectionType","InstanceList","setObjectList","cacheData","ref_object"],"sources":["../../../src/instance-list/InstanceList.tsx"],"sourcesContent":["import React, {\n useEffect,\n useReducer,\n useState,\n useRef,\n useMemo,\n useCallback,\n} from \"react\";\nimport {\n difference,\n isEmpty,\n isEqual,\n isString,\n map,\n uniq,\n union,\n filter,\n reject,\n sortBy,\n uniqueId,\n findIndex,\n find,\n startsWith,\n compact,\n omit,\n keyBy,\n} from \"lodash\";\nimport {\n BrickAsComponent,\n getRuntime,\n handleHttpError,\n useProvider,\n} from \"@next-core/brick-kit\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n PropertyDisplayConfig,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchRequestBody,\n InstanceApi_PostSearchV3RequestBody,\n InstanceApi_PostSearchV3ResponseBody,\n InstanceApi_postSearchV3,\n CmdbObjectApi_getIdMapName,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { Icon as LegacyIcon } from \"@ant-design/compatible\";\nimport { Button, Spin, Input, Tag, Select } from \"antd\";\nimport {\n getRelationObjectSides,\n forEachAvailableFields,\n getInstanceNameKeys,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n isSelfRelation,\n Query,\n ElementOperators,\n LogicalOperators,\n ComparisonOperators,\n} from \"@next-libs/cmdb-utils\";\nimport { JsonStorage } from \"@next-libs/storage\";\nimport { ModelObjectAttr } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\n\nimport {\n ConditionType,\n AdvancedSearch,\n getFieldConditionsAndValues,\n MoreButtonsContainer,\n InstanceListTable,\n CustomColumn,\n Field,\n} from \"../instance-list-table\";\nimport styles from \"./InstanceList.module.css\";\nimport {\n extraFieldAttrs,\n CMDB_MODAL_FIELDS_SETTINGS,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n objectListCache,\n} from \"./constants\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { IconButton } from \"./IconButton\";\nimport { changeQueryWithCustomRules } from \"../processors\";\nimport { DisplaySettingsModalData } from \"../instance-list-table/DisplaySettingsModal\";\nexport interface InstanceListPresetConfigs {\n query?: Record<string, any>;\n fieldIds?: string[];\n}\n\nexport function getQuery(\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n q: string,\n fields?: string[],\n onlySearchByIp?: boolean\n) {\n const query: Record<string, any> = { $or: [] };\n const queryValues = q.trim().split(/\\s+/);\n if (onlySearchByIp) {\n const searchIpFields =\n (getRuntime().getCurrentApp().config?.searchIpFields as string[]) || [];\n const queryOrs = [...new Set([\"ip\", ...searchIpFields])];\n const searchValue = { $like: `%${q.trim()}%` };\n queryOrs.forEach((key) => {\n query.$or.push({ [key]: searchValue });\n });\n return query;\n }\n forEachAvailableFields(\n modelData,\n (attr) => {\n queryValues.forEach((queryValue) =>\n query.$or.push({ [attr.id]: { $like: `%${queryValue}%` } })\n );\n },\n (relation, sides) => {\n const id = relation[`${sides.this}_id` as RelationIdKeys];\n const nameKeys = getInstanceNameKeys(\n idObjectMap[relation[`${sides.that}_object_id` as RelationObjectIdKeys]]\n );\n\n queryValues.forEach((queryValue) => {\n nameKeys.forEach((nameKey) => {\n query.$or.push({\n [`${id}.${nameKey}`]: { $like: `%${queryValue}%` },\n });\n });\n });\n },\n fields\n );\n\n return query;\n}\n\nexport const isSpecialFn = (query: any, attrId: string) => {\n return Object.keys(query[attrId] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n};\n\nexport const isValueEqualFn = (\n query: any,\n attrId: string,\n valuesStr?: string\n) => {\n const isSpecial = isSpecialFn(query, attrId);\n if (isSpecial) return false;\n return query[attrId]\n ? valuesStr && Object.values(query[attrId]).join(\" \") !== valuesStr // 当条件是为空和不为空时,需要判断valuesStr是否存在\n : false;\n};\n\nfunction translateConditions(\n aq: Query[],\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n t?: () => string\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n const relations: any[] = [];\n modelData.relation_list.forEach((relation) => {\n let sidesArr: RelationObjectSides[] = [];\n if (isSelfRelation(relation)) {\n sidesArr = [\n { this: \"left\", that: \"right\" },\n { this: \"right\", that: \"left\" },\n ];\n } else {\n sidesArr = [getRelationObjectSides(relation, modelData)];\n }\n sidesArr.forEach((sides) => {\n const objectId = relation[`${sides.this}_id` as RelationIdKeys];\n const relationObject =\n idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const nameKeys = getInstanceNameKeys(relationObject);\n nameKeys.forEach((nameKey) => {\n const nameOfNameKey =\n find(relationObject?.attrList, [\"id\", nameKey])?.name ?? nameKey;\n const id = `${objectId}.${nameKey}`;\n const name = `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfNameKey})`;\n relations.push({\n id,\n name,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n relations.push({\n id: `${objectId}.`,\n name: `${relation[`${sides.this}_name` as RelationNameKeys]}`,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n });\n const attrAndRelationList = [...modelData.attrList, ...relations];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (Object.keys(query)[0] === \"$or\" || Object.keys(query)[0] === \"$and\") {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n let attr = attrAndRelationList.find(\n (attr) => attr.id === key || attr.relationSideId === key\n );\n if (\n Object.keys(value)[0] === ElementOperators.Exists &&\n attr.relationSideId\n ) {\n const relationSideId = attr.relationSideId;\n attr =\n attrAndRelationList.find(\n (attr) => attr.id === `${relationSideId}.`\n ) || attr;\n }\n if (attr) {\n query = changeQueryWithCustomRules(\n modelData.objectId,\n attr.id,\n query\n );\n const info = getFieldConditionsAndValues(\n query as any,\n key,\n attr.value.type as ModelAttributeValueType,\n undefined,\n undefined,\n modelData.objectId,\n attr.id\n );\n if (\n ![\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ConditionType.False,\n ConditionType.True,\n ].includes(info.currentCondition.type)\n ) {\n info.values = info.values.map((v) =>\n isString(v) && v.includes(\" \") ? v.replace(/^\"+|\"+$/g, \"\") : v\n );\n }\n\n let condition = `${attr.name}: ${info.currentCondition.label}`;\n if (\n ![ConditionType.Empty, ConditionType.NotEmpty].includes(\n info.currentCondition.type\n )\n ) {\n condition += `\"${info.values.join(\" ~ \")}\"`;\n }\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: info.queryValuesStr,\n };\n if (\n conditions.every(\n (v) => !isEqual(omit(v, \"attrId\"), omit(curCondition, \"attrId\"))\n )\n ) {\n conditions.push(curCondition);\n }\n }\n });\n }\n }\n\n return conditions;\n}\n\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\nconst isOfStruct = (\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n fieldId: string\n) => {\n const structFields = modelData.attrList\n .filter(\n (attr: Partial<ModelObjectAttr>) =>\n attr.value.type === \"struct\" || attr.value.type === \"structs\"\n )\n ?.map((attr) => {\n const structs: string[] = [];\n attr.value.struct_define.forEach((struct) => {\n structs.push(`${attr.id}.${struct.id}`);\n });\n return structs;\n })\n .flat();\n return structFields.includes(fieldId);\n};\n\nconst isOfBoolean = (\n attrList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldId: string\n): boolean => {\n const keyAttrMap = keyBy(attrList, \"id\");\n return keyAttrMap[fieldId]?.value.type === ModelAttributeValueType.BOOLEAN;\n};\n\nexport const initAqToShow = (\n aq: Query[],\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n isToShow = true\n) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n const isStruct = isOfStruct(modelData, fieldId);\n const isBool = isOfBoolean(modelData.attrList, fieldId);\n const structQueries: Record<string, any> = (\n expressions as Query[]\n ).filter((expression) => Object.keys(expression)[0] === fieldId);\n if (isStruct && isToShow) {\n const structExpressions = structQueries.map((item: any) => ({\n [fieldId.split(\".\")[0]]: item[fieldId],\n }));\n newExpressions = [...newExpressions, ...structExpressions];\n } else if (isBool && !isToShow) {\n const boolExpressions = (expressions as Query[]).map(\n (expression) => {\n const targetValue = expression[fieldId] as Record<\n ComparisonOperators,\n any\n >;\n if (typeof Object.values(targetValue)[0] === \"string\") {\n return {\n [fieldId]: {\n [Object.keys(targetValue)[0]]:\n Object.values(targetValue)[0] === \"true\",\n },\n };\n } else {\n return expression;\n }\n }\n );\n newExpressions = [...newExpressions, ...boolExpressions];\n } else {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n }\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return;\n};\n\ninterface InstanceListProps {\n objectId: string;\n objectList?: Partial<CmdbModels.ModelCmdbObject>[];\n detailUrlTemplates?: Record<string, string>;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n q?: string;\n searchDisabled?: boolean;\n sortDisabled?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n advancedSearchDisabled?: boolean;\n page?: number;\n pageSize?: number;\n sort?: string;\n asc?: boolean;\n relatedToMe?: boolean;\n relatedToMeDisabled?: boolean;\n showHiddenInfoDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n aliveHosts?: boolean;\n fixAliveHosts?: boolean;\n aliveHostsDisabled?: boolean;\n propertyDisplayConfigs?: PropertyDisplayConfig[];\n selectedRowKeys?: string[];\n selectDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n filterInstanceSourceDisabled?: boolean;\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n onSearchExecute?(\n data: InstanceApi_PostSearchRequestBody,\n v3Data: InstanceApi_PostSearchV3RequestBody\n ): Promise<InstanceApi_PostSearchV3ResponseBody> | void;\n onSearch?(value: string): void;\n onAdvancedSearch?(queries: Query[]): void;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onRelatedToMeChange?(value: boolean): void;\n onAliveHostsChange?(value: boolean): void;\n onInstanceSourceChange?(instanceResource: string): void;\n onFieldsModalConfirm?(fields: Record<string, any>): void;\n relationLinkDisabled?: boolean;\n notifyCurrentFields?: (fiels: string[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n extraColumns?: CustomColumn[];\n extraDisabledField?: string;\n hideSearchConditions?: boolean;\n onlySearchByIp?: boolean;\n target?: string;\n ipCopy?: boolean;\n enableSearchByApp?: boolean;\n dataSource?: {\n list: Record<string, any>[];\n total?: number;\n page?: number;\n pageSize?: number;\n };\n separatorUsedInRelationData?: string;\n hideInstanceList?: boolean;\n autoSearch?: (fields: Field[]) => void;\n disabledDefaultFields?: boolean;\n showTooltip?: boolean;\n showFixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n useAutoDiscoveryProvider?: boolean;\n extraParams?: Record<string, any>;\n // 指定固定显示的field,与presetConfigs的fieldIds同时生效\n extraFixedFields?: string[];\n}\n\ninterface InstanceListState {\n objectId: string;\n q: string;\n aq: Query[];\n aqToShow?: Query[];\n instanceSourceQuery: string;\n asc: boolean;\n sort: string;\n page: number;\n pageSize: number;\n aliveHosts: boolean;\n relatedToMe: boolean;\n inited: boolean;\n loading: boolean;\n failed: boolean;\n idObjectMap?: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n instanceListData?: InstanceApi_PostSearchV3ResponseBody;\n isAdvancedSearchVisible: boolean;\n fieldIds: string[];\n autoBreakLine: boolean;\n fieldToShow?: Record<string, any[]>[];\n appSearchInstanceId?: string;\n currentChangeSelect?: string;\n appSelectValue?: string;\n clusterValue?: string;\n appList?: Record<string, any>[];\n clusterList?: Record<string, any>[];\n searchByApp?: boolean;\n showTooltip?: boolean;\n}\n\nexport function LegacyInstanceList(\n props: InstanceListProps\n): React.ReactElement {\n const { showTooltip = true } = props;\n const baseList = [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ];\n const jsonLocalStorage = new JsonStorage(localStorage);\n const reducer = (\n prevState: InstanceListState,\n updatedProperty: Partial<InstanceListState>\n ): InstanceListState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n };\n // 资源自动发现页面24小时发现主机抽屉的实例列表处,通用的postSearchV3接口无法查到正确结果,需要用下面的接口替换,参数里也要加上jobId:***\n // 为了不影响其他地方的实例列表,在该处加一个useAutoDiscoveryProvider参数,该参数为undefined或false的,仍调用原接口\n\n const listProvider = useProvider(\"easyops.api.cmdb.job@SearchResource:1.0.1\");\n const { modelData, idObjectMap } = useMemo(() => {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n const idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>> = {};\n props.objectList.forEach((object) => {\n idObjectMap[object.objectId] = object;\n if (object.objectId === props.objectId) {\n modelData = object;\n modelData.attrList = !props.disabledDefaultFields\n ? union(object.attrList, extraFieldAttrs)\n : object.attrList;\n }\n });\n\n return { modelData, idObjectMap };\n }, [props.objectList, props.objectId]);\n\n const [inheritanceModelIdNameMap, setInheritanceModelIdNameMap] = useState<\n Record<string, string>\n >({});\n const [fixedHeader, setFixHeader] = useState(false);\n\n const fetchInheritanceModelIdNameMap = async (\n modelData: Partial<CmdbModels.ModelCmdbObject>\n ): Promise<void> => {\n let idNameMap = {};\n if (modelData.isAbstract) {\n idNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: modelData.objectId,\n } as any);\n }\n setInheritanceModelIdNameMap(idNameMap);\n };\n\n useEffect(() => {\n fetchInheritanceModelIdNameMap(modelData);\n }, [modelData]);\n\n const computeDefaultFields = (\n { inModal } = { inModal: false }\n ): { fieldIds: string[] } => {\n // 原来有隐藏逻辑,针对 APP、HOST、USER、USER_GROUP模型,默认字段特殊处理了,现产品要求干掉,统一取8个默认字段,也不区分是否是内置模型\n const settings: any = inModal\n ? CMDB_MODAL_FIELDS_SETTINGS\n : CMDB_RESOURCE_FIELDS_SETTINGS;\n const ignoredFields: string[] =\n settings.ignoredFields[modelData.objectId] || [];\n let fieldIds: string[] = difference(\n uniq(map(modelData.attrList, \"id\")),\n ignoredFields\n ).slice(0, 8);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n return { fieldIds };\n };\n\n // 根据用户预定义的 presetConfigs.fieldIds 进行排序,如果不在预定义的字段,则根据 modelData.view.attr_order 进行排序\n const _sortFieldIds = (fieldIds: any[]) => {\n let frontFields: any[] = [];\n let restFields: any[] = [];\n if (props.presetConfigs?.fieldIds) {\n frontFields = filter(props.presetConfigs.fieldIds, (id) =>\n fieldIds.includes(id)\n );\n }\n restFields = sortBy(\n reject(fieldIds, (id) => frontFields.includes(id)),\n (fieldId) => {\n const foundIndex = findIndex(\n modelData.view.attr_order,\n (orderId) => orderId === fieldId\n );\n if (foundIndex === -1) {\n return null;\n } else {\n return foundIndex;\n }\n }\n );\n return [...frontFields, ...restFields];\n };\n\n const getFields = () => {\n let fieldIds = props.presetConfigs?.fieldIds;\n const extraFixedFieldIds = props.extraFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = jsonLocalStorage.getItem(\n `${modelData.objectId}-selectAttrIds`\n );\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return fieldIds;\n };\n\n const [q, setQ] = useState(props.q);\n const [state, setState] = useReducer(reducer, undefined, () => ({\n objectId: props.objectId,\n q: props.q,\n aq: initAqToShow(props.aq, modelData, false),\n aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),\n instanceSourceQuery: props.instanceSourceQuery,\n asc: props.asc,\n sort: props.sort,\n page: props.dataSource?.page ?? props.page ?? 1,\n pageSize: props.dataSource?.pageSize ?? props.pageSize ?? 10,\n aliveHosts: props.aliveHosts,\n relatedToMe: props.relatedToMe,\n inited: false,\n loading: false,\n failed: false,\n isAdvancedSearchVisible: false,\n fieldIds: getFields(),\n autoBreakLine: false,\n appSearchInstanceId: \"\",\n currentChangeSelect: \"App\",\n appSelectValue: \"\",\n clusterValue: \"all\",\n appList: [],\n clusterList: [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ],\n searchByApp: false,\n }));\n const [selectedRowKeys, setSelectedRowKeys] = useState(\n props.selectedRowKeys ?? []\n );\n const cache = useRef(new Map<string, InstanceApi_PostSearchV3ResponseBody>());\n const isFirstRunRef = useRef(true);\n\n const getInstanceListData = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<InstanceApi_PostSearchV3ResponseBody> => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: props?.extraFixedFields\n ? uniq([\"instanceId\"].concat(props?.extraFixedFields))\n : [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n let query: Record<string, any> = {};\n\n v3Data.page = data.page = page;\n v3Data[\"page_size\"] = data[\"page_size\"] = state.pageSize;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const order = [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n if (sort) {\n data.sort = { [sort]: order };\n v3Data.sort = [{ key: sort, order }];\n }\n\n if (state.q) {\n query = getQuery(\n modelData,\n idObjectMap,\n state.q,\n state.fieldIds,\n props.onlySearchByIp\n );\n }\n\n if (!isEmpty(state.aq)) {\n query[LogicalOperators.And] = state.aq;\n }\n\n if (!isEmpty(props.defaultQuery)) {\n query[LogicalOperators.And] = [\n ...(query[LogicalOperators.And] || []),\n ...props.defaultQuery,\n ];\n }\n if (props.presetConfigs) {\n if (!isEmpty(props.presetConfigs.query)) {\n if (Object.keys(query).length) {\n query = {\n $and: [query, props.presetConfigs.query],\n };\n } else {\n query = props.presetConfigs.query;\n }\n }\n }\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n if (state.aliveHosts && props.objectId === \"HOST\") {\n query = { ...query, _agentStatus: \"正常\" };\n }\n if (state.instanceSourceQuery) {\n query = { ...query, _object_id: state.instanceSourceQuery };\n }\n\n if (!isEmpty(query)) {\n v3Data.query = data.query = query;\n }\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams\n\n if (props.useAutoDiscoveryProvider && !isEmpty(props.extraParams)) {\n Object.assign(v3Data, props.extraParams);\n }\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n //按应用筛选\n // istanbul ignore next (state is not updated)\n if (state.searchByApp) {\n v3Data.query = {\n [state.currentChangeSelect === \"App\" ||\n (state.currentChangeSelect === \"Cluster\" &&\n state.clusterValue === \"all\")\n ? \"_deviceList_CLUSTER.appId.instanceId\"\n : \"_deviceList_CLUSTER.instanceId\"]: state.appSearchInstanceId,\n ...(state.aliveHosts && props.objectId === \"HOST\"\n ? { _agentStatus: \"正常\" }\n : {}),\n };\n }\n const promise = props.onSearchExecute?.(data, v3Data);\n // useAutoDiscoveryProvider=true, 使用useProvider的接口\n return promise\n ? promise\n : props.useAutoDiscoveryProvider\n ? listProvider.query([props.objectId, v3Data])\n : InstanceApi_postSearchV3(props.objectId, v3Data);\n };\n\n const refreshInstanceList = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<void> => {\n setState({ loading: true });\n try {\n if (props.dataSource) {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: props.dataSource,\n });\n } else {\n if (!props.hideInstanceList) {\n const instanceListData = await getInstanceListData(sort, asc, page);\n instanceListData.list.forEach((i) =>\n cache.current.set(i.instanceId, i)\n );\n setState({ idObjectMap: idObjectMap, instanceListData });\n } else {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n }\n }\n } catch (e) {\n handleHttpError(e);\n setState({ failed: true });\n } finally {\n setState({ inited: true, loading: false });\n }\n };\n\n useEffect(() => {\n const fieldIds = getFields();\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds)\n ) {\n setState({\n fieldIds,\n });\n }\n }, [props.objectId, props.presetConfigs]);\n\n useEffect(() => {\n setSelectedRowKeys(props.selectedRowKeys ?? []);\n }, [props.objectId, props.selectedRowKeys]);\n\n // on filter condition change\n useEffect(() => {\n if (isFirstRunRef.current) {\n isFirstRunRef.current = false;\n return;\n }\n\n let skip = false;\n\n if (state.page !== 1) {\n setState({ page: 1 });\n props.onPaginationChange?.({ page: 1, pageSize: state.pageSize });\n skip = true;\n }\n\n // 当 prop.objectId 改变时先跳过,等 state.fieldIds 更新后再获取数据\n if (props.objectId !== state.objectId) {\n setState({ objectId: props.objectId });\n skip = true;\n }\n\n if (skip) {\n return;\n }\n\n refreshInstanceList(state.sort, state.asc, 1);\n }, [\n state.q,\n state.aq,\n state.instanceSourceQuery,\n state.pageSize,\n state.aliveHosts,\n state.relatedToMe,\n props.objectId,\n props.permission,\n props.defaultQuery,\n ]);\n\n // on other condition change\n useEffect(() => {\n if (isEmpty(state.fieldIds)) return;\n\n refreshInstanceList(state.sort, state.asc, state.page);\n }, [\n state.page,\n state.sort,\n state.asc,\n state.fieldIds,\n state.appSearchInstanceId,\n state.currentChangeSelect,\n state.searchByApp,\n props.dataSource,\n ]);\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n };\n\n // istanbul ignore next\n const onSelectionChange = useCallback(\n async (selected: { selectedKeys: string[]; selectedItems: any[] }) => {\n let { selectedItems, selectedKeys } = selected;\n setSelectedRowKeys(selectedKeys);\n if (selectedKeys.length > compact(selectedItems).length) {\n const ids = selectedKeys.filter((id) => !cache.current.has(id));\n if (ids.length) {\n let resp;\n const params = {\n fields: [\"instanceId\"],\n query: {\n instanceId: {\n $in: ids,\n },\n },\n page_size: ids.length,\n };\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一\n if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, params);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n }\n selectedItems = selectedKeys.map((id) => cache.current.get(id));\n }\n props.onSelectionChange?.({ selectedItems, selectedKeys });\n },\n []\n );\n\n const onSearch = (value: string) => {\n const q = value.trim();\n setState({ q });\n props.onSearch?.(q);\n };\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n const onSortingChange = useCallback(\n (info: ReadSortingChangeDetail) => {\n let asc: boolean;\n let sort: string;\n if (info.asc === undefined) {\n if (!state.sort) {\n return;\n }\n\n setState({ asc: undefined, sort: undefined });\n } else {\n setState({ asc: info.asc, sort: info.sort });\n asc = info.asc;\n sort = info.sort;\n }\n props.onSortingChange?.(info);\n },\n [state.sort]\n );\n\n const onPaginationChange = useCallback(\n (pagination: ReadPaginationChangeDetail) => {\n setState({ page: pagination.page, pageSize: pagination.pageSize });\n props.onPaginationChange?.(pagination);\n },\n []\n );\n\n const onInstanceSourceChange = useCallback((instanceSourceQuery: string) => {\n setState({ instanceSourceQuery });\n props.onInstanceSourceChange?.(instanceSourceQuery);\n }, []);\n\n const onRelatedToMeChange = (checked: boolean) => {\n setState({ relatedToMe: checked });\n props.onRelatedToMeChange?.(checked);\n };\n\n const onAliveHostsChange = (checked: boolean) => {\n setState({ aliveHosts: checked });\n props.onAliveHostsChange?.(checked);\n };\n\n const toggleAutoBreakLine = (autoBreakLine: boolean) => {\n setState({ autoBreakLine });\n };\n // istanbul ignore next (state is not updated)\n const toggleSearchMode = React.useCallback(async () => {\n if (!state.searchByApp) {\n const appListResp = await InstanceApi_postSearchV3(\"APP\", {\n fields: [\"clusters\", \"instanceId\", \"name\"],\n sort: [{ key: \"name\", order: 1 }],\n page: 1,\n page_size: 3000,\n });\n setState({\n appSearchInstanceId: appListResp.list?.[0].instanceId || \"\",\n appList: appListResp.list,\n clusterList: [...baseList, ...(appListResp.list?.[0].clusters || [])],\n searchByApp: true,\n appSelectValue: appListResp.list?.[0].instanceId || \"\",\n clusterValue: \"all\",\n });\n } else {\n setState({ searchByApp: false });\n }\n }, [state.searchByApp]);\n // istanbul ignore next (state is not updated)\n const appSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v,\n currentChangeSelect: \"App\",\n appSelectValue: v,\n clusterValue: \"all\",\n clusterList: [\n ...baseList,\n ...state.appList.find((r) => r.instanceId === v).clusters,\n ],\n });\n };\n // istanbul ignore next (state is not updated)\n const clusterSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v === \"all\" ? state.appSelectValue : v,\n currentChangeSelect: \"Cluster\",\n clusterValue: v,\n });\n };\n const defaultFields = useMemo(() => {\n let defaultFields: string[];\n const fieldIds = props.presetConfigs?.fieldIds,\n extraFixedFieldIds = props.extraFixedFields ?? [];\n if (!isEmpty(fieldIds)) {\n defaultFields = props.presetConfigs.fieldIds;\n } else {\n defaultFields = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);\n }\n return defaultFields;\n }, [props.presetConfigs, modelData]);\n\n // istanbul ignore next\n const handleConfirm = ({ fields, isReset }: DisplaySettingsModalData) => {\n if (isReset) {\n const fieldIds = defaultFields;\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n setState({ fieldIds });\n jsonLocalStorage.removeItem(`${modelData.objectId}-selectAttrIds`);\n props.onFieldsModalConfirm(fieldIds);\n } else {\n setState({\n fieldIds: _sortFieldIds(fields),\n });\n jsonLocalStorage.setItem(`${modelData.objectId}-selectAttrIds`, fields);\n props.onFieldsModalConfirm(fields);\n }\n };\n\n useEffect(() => {\n props.notifyCurrentFields?.(state.fieldIds);\n }, [props.notifyCurrentFields]);\n\n // istanbul ignore next\n useEffect(() => {\n props.selectedRowKeys?.length &&\n (async () => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n\n v3Data.query = {\n instanceId: {\n $in: props.selectedRowKeys,\n },\n };\n v3Data.page_size = props.selectedRowKeys.length;\n\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n if (props.extraParams) {\n Object.assign(v3Data, props.extraParams);\n }\n let resp;\n if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([props.objectId, v3Data]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, v3Data);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n })();\n }, [props.selectedRowKeys]);\n const handleToggleFixHeader = () => {\n setFixHeader(!fixedHeader);\n };\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqualFn(v, attrId, valuesStr));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = isSpecialFn(query, key);\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n state.aq.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId && !startsWith(attrId, `${key}.`)) {\n const fieldId = Object.keys((query[key] as Query[])[0])[0];\n // 判断是否为结构体\n const isStruct = isOfStruct(modelData, fieldId);\n // 结构体情况处理\n if (\n !(\n (key === \"$or\" || key === \"$and\") &&\n startsWith(fieldId, `${attrId}.`) &&\n isStruct\n )\n ) {\n queries.push(query);\n }\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n state.aqToShow.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queriesToShow.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId) {\n queriesToShow.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queriesToShow);\n }\n });\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n const conditions = translateConditions(\n state.aqToShow,\n idObjectMap,\n modelData\n );\n\n return (\n <Spin spinning={state.loading}>\n {state.inited && !state.failed ? (\n <React.Fragment>\n {(!props.searchDisabled ||\n !props.advancedSearchDisabled ||\n !props.relatedToMeDisabled ||\n !props.aliveHostsDisabled ||\n !props.moreButtonsDisabled) && (\n <div className={styles.instanceListToolbar}>\n <div className={styles.searchRelated}>\n {/* istanbul ignore next (state is not updated) */}\n {!state.searchByApp ? (\n <>\n {!props.searchDisabled && (\n <Input.Search\n enterButton\n value={q}\n onChange={onChange}\n onSearch={onSearch}\n />\n )}\n {!props.advancedSearchDisabled && (\n <Button\n type=\"link\"\n size=\"small\"\n style={{\n marginLeft: \"8px\",\n marginRight: \"auto\",\n }}\n onClick={() =>\n setState({\n isAdvancedSearchVisible:\n !state.isAdvancedSearchVisible,\n })\n }\n data-testid=\"advanced-search-toggle-btn\"\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCED_SEARCH}`\n )}\n <LegacyIcon\n type={state.isAdvancedSearchVisible ? \"up\" : \"down\"}\n />\n </Button>\n )}\n </>\n ) : (\n <>\n <Select\n style={{ width: \"150px\", marginRight: \"10px\" }}\n value={state.appSelectValue}\n onChange={appSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.appList?.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n <Select\n style={{ width: \"150px\" }}\n value={state.clusterValue}\n onChange={clusterSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.clusterList.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n </>\n )}\n </div>\n <div className={styles.options}>\n {selectedRowKeys.length > 0 && (\n <div style={{ marginRight: 20 }}>\n <span>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOSEN_OPTIONS}`, {\n count: selectedRowKeys.length,\n })}\n </span>\n <a\n role=\"button\"\n onClick={() =>\n onSelectionChange({\n selectedKeys: [],\n selectedItems: [],\n })\n }\n >\n {\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLEAR}`)}\n </a>\n </div>\n )}\n {props.objectId === \"HOST\" && props.enableSearchByApp && (\n <Button type={\"link\"} onClick={toggleSearchMode}>\n {/* istanbul ignore next (state is not updated) */}\n {state.searchByApp\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FREE_SELECTION}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.APP_SELECTION}`)}\n </Button>\n )}\n {props.objectId === \"HOST\" && !props.aliveHostsDisabled && (\n <IconButton\n checked={state.aliveHosts}\n onChange={onAliveHostsChange}\n style={{ marginRight: 10 }}\n disabled={props.fixAliveHosts}\n type=\"normalHost\"\n label={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NORMAL_HOST}`)}\n data-testid=\"alive-hosts\"\n />\n )}\n {!props.relatedToMeDisabled && (\n <IconButton\n checked={state.relatedToMe}\n onChange={onRelatedToMeChange}\n style={{ marginRight: 10 }}\n type=\"relateToMe\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATED_TO_ME}`\n )}\n data-testid=\"related-to-me\"\n />\n )}\n {!props.showHiddenInfoDisabled && (\n <IconButton\n checked={state.autoBreakLine}\n onChange={toggleAutoBreakLine}\n style={{ marginRight: 10 }}\n type=\"showHiddenInfo\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_OMITTED_INFORMATION}`\n )}\n data-testid=\"show-hidden-info\"\n />\n )}\n {!props.moreButtonsDisabled && (\n <MoreButtonsContainer\n modelData={modelData}\n onConfirm={handleConfirm}\n fieldIds={state.fieldIds}\n defaultFields={defaultFields}\n extraDisabledField={props.extraDisabledField}\n handleToggleFixHeader={handleToggleFixHeader}\n fixedHeader={fixedHeader}\n showFixedHeader={props.showFixedHeader}\n />\n )}\n </div>\n </div>\n )}\n {!props.advancedSearchDisabled && !state.searchByApp && (\n <div\n style={{ marginBottom: \"18px\" }}\n hidden={!state.isAdvancedSearchVisible}\n >\n <AdvancedSearch\n key={newKey(state.fieldIds, state.aq)}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n onSearch={onAdvancedSearch}\n {...(props.autoSearch\n ? {\n autoSearch: props.autoSearch,\n }\n : null)}\n />\n </div>\n )}\n {!props.hideSearchConditions &&\n !state.searchByApp &&\n (state.instanceSourceQuery || state.q || !isEmpty(conditions)) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {state.q && (\n <Tag\n closable\n onClose={() => {\n setQ(\"\");\n onSearch(\"\");\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FUZZY_SEARCH}`, {\n query: state.q,\n })}\n </Tag>\n )}\n {state.instanceSourceQuery && (\n <Tag\n closable\n onClose={() => {\n onInstanceSourceChange(null);\n }}\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TAG_TEXT}`,\n {\n query:\n inheritanceModelIdNameMap?.[\n state.instanceSourceQuery\n ] || state.instanceSourceQuery,\n }\n )}\n </Tag>\n )}\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${\n condition.valuesStr\n }-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n {props.extraFilterBricks?.useBrick && (\n <BrickAsComponent useBrick={props.extraFilterBricks.useBrick} />\n )}\n {!props.hideInstanceList && (\n <InstanceListTable\n detailUrlTemplates={props.detailUrlTemplates}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n instanceListData={state.instanceListData}\n sort={state.sort}\n asc={state.asc}\n selectedRowKeys={selectedRowKeys}\n selectDisabled={props.selectDisabled}\n sortDisabled={props.sortDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n onClickItem={props.onClickItem}\n onClickItemV2={props.onClickItemV2}\n onPaginationChange={onPaginationChange}\n onSortingChange={onSortingChange}\n onSelectionChange={onSelectionChange}\n onInstanceSourceChange={onInstanceSourceChange}\n instanceSourceQuery={state.instanceSourceQuery}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={state.autoBreakLine}\n relationLinkDisabled={props.relationLinkDisabled}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n extraColumns={props.extraColumns}\n target={props.target}\n ipCopy={props.ipCopy}\n fixedHeader={fixedHeader}\n separatorUsedInRelationData={props.separatorUsedInRelationData}\n showTooltip={showTooltip}\n rowSelectionType={props.rowSelectionType}\n />\n )}\n </React.Fragment>\n ) : null}\n </Spin>\n );\n}\n\n/**\n * 把 objectList 封装到构件中请求,废弃掉通过老模板使用的方式,可直接使用构件。\n * 同时也兼容之前的使用方式,对于外部传进来的会优先使用外部的数据,构件内部不会额外请求,\n * 不传的话构件内部做请求,并作缓存\n */\nexport function InstanceList(props: InstanceListProps): React.ReactElement {\n const [objectList, setObjectList] = useState<\n Partial<CmdbModels.ModelCmdbObject>[]\n >(props.objectList);\n\n useEffect(() => {\n if (props.objectList) {\n setObjectList(props.objectList);\n } else {\n (async () => {\n if (!props.objectList) {\n const cacheData = objectListCache.get(props.objectId);\n if (cacheData) {\n setObjectList(cacheData);\n } else {\n try {\n const list = (\n await CmdbObjectApi_getObjectRef({ ref_object: props.objectId })\n ).data;\n setObjectList(list);\n objectListCache.set(props.objectId, list);\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n }\n })();\n }\n }, [props.objectId, props.objectList]);\n\n if (\n !objectList ||\n !objectList.find((item) => item.objectId === props.objectId)\n )\n return null;\n\n return <LegacyInstanceList {...props} objectList={objectList} />;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list/constants.ts"],"names":["i18n","K","NS_LIBS_CMDB_INSTANCES","addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","t","CREATOR","isRelation","value","type","CREATION_TIME","MODIFIER","LAST_MODIFICATION_TIME","objectListCache","Map"],"mappings":"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","sourcesContent":["import { ModelObjectAttrValue } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport const CMDB_RESOURCE_FIELDS_SETTINGS = {\n defaultFields: {\n APP: [\"name\", \"businesses\", \"owner\", \"developer\", \"tester\"],\n USER: [\"name\", \"nickname\", \"user_email\", \"user_tel\"],\n USER_GROUP: [\"name\", \"_members\"],\n \"APP-HOST\": [\"ip\", \"hostname\", \"status\"],\n HOST: [\n \"hostname\",\n \"_agentStatus\",\n \"ip\",\n \"memSize\",\n \"osDistro\",\n \"cpuModel\",\n \"owner\",\n ],\n },\n fixedFields: {\n APP: [\"name\"],\n USER: [\"name\"],\n USER_GROUP: [\"name\"],\n \"APP-HOST\": [\"ip\"],\n HOST: [\"hostname\", \"ip\"],\n },\n ignoredFields: {\n APP: [\n /* !start: only community edition\n 'businesses',\n !end: only community edition */\n \"_packageList\",\n \"appId\",\n \"packageId\",\n \"installPath\",\n \"runUser\",\n \"businessId\",\n ],\n \"APP-HOST\": [\"deviceId\"],\n BUSINESS: [\"businessId\"],\n CLUSTER: [\"_packageList\", \"clusterId\", \"packageId\"],\n HOST: [\"deviceId\"],\n },\n};\n\nexport const CMDB_MODAL_FIELDS_SETTINGS = {\n defaultFields: {\n HOST: [\"ip\", \"hostname\", \"status\", \"owner\", \"_agentStatus\"],\n },\n fixedFields: {\n HOST: [\"ip\"],\n },\n ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields,\n};\nexport const MAX_DEFAULT_FIELDS_COUNT = 8;\nexport const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;\n\nexport enum otherFieldIds {\n autoBreakLine = \"_autoBreakLine_\",\n}\n\nexport interface extraFieldAttrType {\n id?: string;\n name?: string;\n isRelation?: boolean;\n value?: Partial<ModelObjectAttrValue>;\n}\n\nexport const extraFieldAttrs: extraFieldAttrType[] = [\n {\n id: \"creator\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATOR}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"ctime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n {\n id: \"modifier\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFIER}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"mtime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.LAST_MODIFICATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n];\n\nexport const objectListCache = new Map<string, any>();\n"],"file":"constants.js"}
1
+ {"version":3,"file":"constants.js","names":["i18n","K","NS_LIBS_CMDB_INSTANCES","addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","t","CREATOR","isRelation","value","type","CREATION_TIME","MODIFIER","LAST_MODIFICATION_TIME","objectListCache","Map"],"sources":["../../../src/instance-list/constants.ts"],"sourcesContent":["import { ModelObjectAttrValue } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport const CMDB_RESOURCE_FIELDS_SETTINGS = {\n defaultFields: {\n APP: [\"name\", \"businesses\", \"owner\", \"developer\", \"tester\"],\n USER: [\"name\", \"nickname\", \"user_email\", \"user_tel\"],\n USER_GROUP: [\"name\", \"_members\"],\n \"APP-HOST\": [\"ip\", \"hostname\", \"status\"],\n HOST: [\n \"hostname\",\n \"_agentStatus\",\n \"ip\",\n \"memSize\",\n \"osDistro\",\n \"cpuModel\",\n \"owner\",\n ],\n },\n fixedFields: {\n APP: [\"name\"],\n USER: [\"name\"],\n USER_GROUP: [\"name\"],\n \"APP-HOST\": [\"ip\"],\n HOST: [\"hostname\", \"ip\"],\n },\n ignoredFields: {\n APP: [\n /* !start: only community edition\n 'businesses',\n !end: only community edition */\n \"_packageList\",\n \"appId\",\n \"packageId\",\n \"installPath\",\n \"runUser\",\n \"businessId\",\n ],\n \"APP-HOST\": [\"deviceId\"],\n BUSINESS: [\"businessId\"],\n CLUSTER: [\"_packageList\", \"clusterId\", \"packageId\"],\n HOST: [\"deviceId\"],\n },\n};\n\nexport const CMDB_MODAL_FIELDS_SETTINGS = {\n defaultFields: {\n HOST: [\"ip\", \"hostname\", \"status\", \"owner\", \"_agentStatus\"],\n },\n fixedFields: {\n HOST: [\"ip\"],\n },\n ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields,\n};\nexport const MAX_DEFAULT_FIELDS_COUNT = 8;\nexport const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;\n\nexport enum otherFieldIds {\n autoBreakLine = \"_autoBreakLine_\",\n}\n\nexport interface extraFieldAttrType {\n id?: string;\n name?: string;\n isRelation?: boolean;\n value?: Partial<ModelObjectAttrValue>;\n}\n\nexport const extraFieldAttrs: extraFieldAttrType[] = [\n {\n id: \"creator\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATOR}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"ctime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n {\n id: \"modifier\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFIER}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"mtime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.LAST_MODIFICATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n];\n\nexport const objectListCache = new Map<string, any>();\n"],"mappings":"AACA,OAAOA,IAAP,MAAiB,SAAjB;AACA,SAASC,CAAT,EAAYC,sBAAZ,QAA0C,mBAA1C;AACA,SAASC,iBAAT,QAAkC,SAAlC;AACAA,iBAAiB;AAEjB,OAAO,IAAMC,6BAA6B,GAAG;EAC3CC,aAAa,EAAE;IACbC,GAAG,EAAE,CAAC,MAAD,EAAS,YAAT,EAAuB,OAAvB,EAAgC,WAAhC,EAA6C,QAA7C,CADQ;IAEbC,IAAI,EAAE,CAAC,MAAD,EAAS,UAAT,EAAqB,YAArB,EAAmC,UAAnC,CAFO;IAGbC,UAAU,EAAE,CAAC,MAAD,EAAS,UAAT,CAHC;IAIb,YAAY,CAAC,IAAD,EAAO,UAAP,EAAmB,QAAnB,CAJC;IAKbC,IAAI,EAAE,CACJ,UADI,EAEJ,cAFI,EAGJ,IAHI,EAIJ,SAJI,EAKJ,UALI,EAMJ,UANI,EAOJ,OAPI;EALO,CAD4B;EAgB3CC,WAAW,EAAE;IACXJ,GAAG,EAAE,CAAC,MAAD,CADM;IAEXC,IAAI,EAAE,CAAC,MAAD,CAFK;IAGXC,UAAU,EAAE,CAAC,MAAD,CAHD;IAIX,YAAY,CAAC,IAAD,CAJD;IAKXC,IAAI,EAAE,CAAC,UAAD,EAAa,IAAb;EALK,CAhB8B;EAuB3CE,aAAa,EAAE;IACbL,GAAG,EAAE;IACH;AACN;AACA;IACM,cAJG,EAKH,OALG,EAMH,WANG,EAOH,aAPG,EAQH,SARG,EASH,YATG,CADQ;IAYb,YAAY,CAAC,UAAD,CAZC;IAabM,QAAQ,EAAE,CAAC,YAAD,CAbG;IAcbC,OAAO,EAAE,CAAC,cAAD,EAAiB,WAAjB,EAA8B,WAA9B,CAdI;IAebJ,IAAI,EAAE,CAAC,UAAD;EAfO;AAvB4B,CAAtC;AA0CP,OAAO,IAAMK,0BAA0B,GAAG;EACxCT,aAAa,EAAE;IACbI,IAAI,EAAE,CAAC,IAAD,EAAO,UAAP,EAAmB,QAAnB,EAA6B,OAA7B,EAAsC,cAAtC;EADO,CADyB;EAIxCC,WAAW,EAAE;IACXD,IAAI,EAAE,CAAC,IAAD;EADK,CAJ2B;EAOxCE,aAAa,EAAEP,6BAA6B,CAACO;AAPL,CAAnC;AASP,OAAO,IAAMI,wBAAwB,GAAG,CAAjC;AACP,OAAO,IAAMC,8BAA8B,GAAG,CAAvC;AAEP,WAAYC,aAAZ;;WAAYA,a;EAAAA,a;GAAAA,a,KAAAA,a;;AAWZ,OAAO,IAAMC,eAAqC,GAAG,CACnD;EACEC,EAAE,EAAE,SADN;EAEEC,IAAI,EAAEpB,IAAI,CAACqB,CAAL,WAAUnB,sBAAV,cAAoCD,CAAC,CAACqB,OAAtC,EAFR;EAGEC,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CADmD,EASnD;EACEN,EAAE,EAAE,OADN;EAEEC,IAAI,EAAEpB,IAAI,CAACqB,CAAL,WAAUnB,sBAAV,cAAoCD,CAAC,CAACyB,aAAtC,EAFR;EAGEH,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CATmD,EAiBnD;EACEN,EAAE,EAAE,UADN;EAEEC,IAAI,EAAEpB,IAAI,CAACqB,CAAL,WAAUnB,sBAAV,cAAoCD,CAAC,CAAC0B,QAAtC,EAFR;EAGEJ,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CAjBmD,EAyBnD;EACEN,EAAE,EAAE,OADN;EAEEC,IAAI,EAAEpB,IAAI,CAACqB,CAAL,WAAUnB,sBAAV,cAAoCD,CAAC,CAAC2B,sBAAtC,EAFR;EAGEL,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CAzBmD,CAA9C;AAmCP,OAAO,IAAMI,eAAe,GAAG,IAAIC,GAAJ,EAAxB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"names":["React","useState","WarningOutlined","Modal","Button","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","handleOk","length","every","i","resp","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","t","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType"],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport { ReadPaginationChangeDetail } from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n />\n </div>\n </Modal>\n );\n}\n"],"file":"InstanceListModal.js"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","handleOk","length","every","i","resp","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","singleSelect","color","marginRight","t","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","Object","values","objectMap","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { InstanceList } from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport { ReadPaginationChangeDetail } from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}