@next-libs/cmdb-instances 6.42.3 → 6.42.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +8 -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.map +1 -1
  23. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  24. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  25. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  26. package/dist/cjs/instance-detail/constants/index.js.map +1 -1
  27. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  28. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  29. package/dist/cjs/instance-list/constants.js.map +1 -1
  30. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  31. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  32. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  33. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  34. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  35. package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
  36. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  37. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  38. package/dist/cjs/instance-list-table/constants.js.map +1 -1
  39. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  40. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  41. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  42. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  43. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  44. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  45. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  46. package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
  47. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  48. package/dist/cjs/instance-list-table/index.js.map +1 -1
  49. package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
  50. package/dist/cjs/instance-list-table/utils.js.map +1 -1
  51. package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
  52. package/dist/cjs/model-attribute-form/constants.js.map +1 -1
  53. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  54. package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
  55. package/dist/cjs/processors.js.map +1 -1
  56. package/dist/cjs/struct-components/AddStruct.js.map +1 -1
  57. package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
  58. package/dist/cjs/struct-components/StructTable.js.map +1 -1
  59. package/dist/cjs/struct-components/index.js.map +1 -1
  60. package/dist/cjs/struct-components/interfaces.js.map +1 -1
  61. package/dist/cjs/struct-components/mockData.js.map +1 -1
  62. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  63. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  64. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  65. package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  66. package/dist/esm/components/index.js.map +1 -1
  67. package/dist/esm/components/instance-format/index.js.map +1 -1
  68. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  69. package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  70. package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  71. package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  72. package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
  73. package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
  74. package/dist/esm/data-providers/index.js.map +1 -1
  75. package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
  76. package/dist/esm/i18n/constants.js.map +1 -1
  77. package/dist/esm/i18n/index.js.map +1 -1
  78. package/dist/esm/i18n/locales/en.js.map +1 -1
  79. package/dist/esm/i18n/locales/zh.js.map +1 -1
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  82. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  83. package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  84. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  85. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  86. package/dist/esm/instance-detail/constants/index.js.map +1 -1
  87. package/dist/esm/instance-list/IconButton.js.map +1 -1
  88. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  89. package/dist/esm/instance-list/constants.js.map +1 -1
  90. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  91. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  92. package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  93. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  94. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  95. package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
  96. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  97. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  98. package/dist/esm/instance-list-table/constants.js.map +1 -1
  99. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  100. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  101. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  102. package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  103. package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  104. package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  105. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  106. package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
  107. package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  108. package/dist/esm/instance-list-table/index.js.map +1 -1
  109. package/dist/esm/instance-list-table/interfaces.js.map +1 -1
  110. package/dist/esm/instance-list-table/utils.js.map +1 -1
  111. package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
  112. package/dist/esm/model-attribute-form/constants.js.map +1 -1
  113. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  114. package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
  115. package/dist/esm/processors.js.map +1 -1
  116. package/dist/esm/struct-components/AddStruct.js.map +1 -1
  117. package/dist/esm/struct-components/AddStructModal.js.map +1 -1
  118. package/dist/esm/struct-components/StructTable.js.map +1 -1
  119. package/dist/esm/struct-components/index.js.map +1 -1
  120. package/dist/esm/struct-components/interfaces.js.map +1 -1
  121. package/dist/esm/struct-components/mockData.js.map +1 -1
  122. package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
  123. package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -1
  124. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/instance-detail/components/instance-relation-table-show/instance-relation-table-show.tsx"],"names":["InstanceRelationTableShow","props","modelDataMap","relationData","value","relationFieldUrlTemplate","paginationChange","total","oppositeModelData","right_object_id","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","display","list","map","attr","pagination","isPagination","showSizeChanger","pageSizeOptions","onChange","page","pageSize","showTotal","totals","styles","totalText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PAGINATION_TOTAL_TEXT","PAGINATION_TOTAL_UNIT"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AAgBA;AACO,SAASA,yBAAT,CACLC,KADK,EAEe;AACpB,QAAM;AACJC,IAAAA,YADI;AAEJC,IAAAA,YAFI;AAGJC,IAAAA,KAHI;AAIJC,IAAAA,wBAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA;AANI,MAOFN,KAPJ;AAQA,MAAIO,iBAAiB,GAAG,gCACtBN,YAAY,CAACC,YAAY,CAACM,eAAd,CADU,CAAxB,CAToB,CAYpB;;AACA,QAAMC,aAAa,GAAGF,iBAAiB,CAACG,IAAlB,CAAuBC,YAAvB,IAAuC,EAA7D;AACAJ,EAAAA,iBAAiB,GAAG,EAClB,GAAGA,iBADe;AAElBK,IAAAA,QAAQ,EAAEL,iBAAiB,CAACK,QAAlB,CAA2BC,MAA3B,CACPC,IAAD,IAAe,CAACL,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACE,EAA5B,CADR,CAFQ;AAKlBC,IAAAA,aAAa,EAAEV,iBAAiB,CAACU,aAAlB,CAAgCJ,MAAhC,CACZC,IAAD,IACE,EACGL,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACI,OAA5B,KACCJ,IAAI,CAACK,cAAL,KAAwBnB,KAAK,CAACE,YAAN,CAAmBM,eAD7C,IAECC,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACM,QAA5B,KACCN,IAAI,CAACN,eAAL,KAAyBR,KAAK,CAACE,YAAN,CAAmBM,eAJhD,CAFW;AALG,GAApB;AAgBA,sBACE;AAAK,IAAA,KAAK,EAAE;AAAEa,MAAAA,OAAO,EAAE;AAAX;AAAZ,kBACE,6BAAC,oCAAD;AACE,IAAA,kBAAkB,EAAE;AAClB,OAACnB,YAAY,CAACM,eAAd,GACE;AAFgB,KADtB;AAKE,IAAA,WAAW,EAAER,KAAK,CAACC,YALrB;AAME,IAAA,SAAS,EAAEM,iBANb;AAOE,IAAA,gBAAgB,EAAE;AAChBe,MAAAA,IAAI,EAAEnB;AADU,KAPpB;AAUE,IAAA,QAAQ,EAAEI,iBAAiB,CAACK,QAAlB,CAA2BW,GAA3B,CAAgCC,IAAD,IAAUA,IAAI,CAACR,EAA9C,CAVZ;AAWE,IAAA,cAAc,EAAE,IAXlB;AAYE,IAAA,YAAY,EAAE,IAZhB;AAaE,IAAA,WAAW,EAAE;AACXS,MAAAA,UAAU,EAAEzB,KAAK,CAAC0B,YAAN,GACR;AACEC,QAAAA,eAAe,EAAE,IADnB;AAEErB,QAAAA,KAAK,EAAEA,KAFT;AAGEsB,QAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAHnB;AAIEC,QAAAA,QAAQ,EAAE,CAACC,IAAD,EAAOC,QAAP,KAAoB;AAC5B1B,UAAAA,gBAAgB,CAACyB,IAAD,EAAOC,QAAP,EAAiB7B,YAAjB,CAAhB;AACD,SANH;AAOE8B,QAAAA,SAAS,EAAGC,MAAD,iBACT;AAAM,UAAA,SAAS,EAAEC,iCAAOC;AAAxB,WACGC,iBAAKC,CAAL,CACE,GAAEC,iCAAuB,IAAGC,aAAEC,qBAAsB,EADtD,CADH,EAGK,GAHL,eAIE;AAAQ,UAAA,SAAS,EAAEN,iCAAO5B;AAA1B,WAAkC2B,MAAlC,CAJF,EAIqD,GAJrD,EAKGG,iBAAKC,CAAL,CACE,GAAEC,iCAAuB,IAAGC,aAAEE,qBAAsB,EADtD,CALH;AARJ,OADQ,GAoBR;AArBO,KAbf;AAoCE,IAAA,MAAM,EAAE;AApCV,IADF,CADF;AA0CD","sourcesContent":["import React from \"react\";\nimport { Table } from \"antd\";\nimport {\n ModifiedModelObjectRelation,\n modifyModelData,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../../../instance-list-table\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../../i18n/constants\";\nimport i18n from \"i18next\";\nimport styles from \"../../../instance-list-table/InstanceListTable.module.css\";\nexport interface InstanceRelationTableShowProps {\n modelDataMap: { [objectId: string]: CmdbModels.ModelCmdbObject };\n relationData: ModifiedModelObjectRelation;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any[];\n relationFieldUrlTemplate?: string;\n isPagination?: boolean;\n total?: number;\n paginationChange?: (\n page: number,\n pageSize: number,\n relationData: ModifiedModelObjectRelation\n ) => Promise<void>;\n}\n\n//istanbul ignore next\nexport function InstanceRelationTableShow(\n props: InstanceRelationTableShowProps\n): React.ReactElement {\n const {\n modelDataMap,\n relationData,\n value,\n relationFieldUrlTemplate,\n paginationChange,\n total,\n } = props;\n let oppositeModelData = modifyModelData(\n modelDataMap[relationData.right_object_id]\n );\n //过滤掉视图不可见字段\n const hideModelData = oppositeModelData.view.hide_columns || [];\n oppositeModelData = {\n ...oppositeModelData,\n attrList: oppositeModelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: oppositeModelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.relationData.right_object_id) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.relationData.right_object_id)\n )\n ),\n };\n\n return (\n <div style={{ display: \"grid\" }}>\n <InstanceListTable\n detailUrlTemplates={{\n [relationData.right_object_id]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n }}\n idObjectMap={props.modelDataMap}\n modelData={oppositeModelData}\n instanceListData={{\n list: value,\n }}\n fieldIds={oppositeModelData.attrList.map((attr) => attr.id)}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: props.isPagination\n ? {\n showSizeChanger: true,\n total: total,\n pageSizeOptions: [\"10\", \"20\", \"50\"],\n onChange: (page, pageSize) => {\n paginationChange(page, pageSize, relationData);\n },\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`\n )}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`\n )}\n </span>\n ),\n }\n : false,\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n </div>\n );\n}\n"],"file":"instance-relation-table-show.js"}
1
+ {"version":3,"file":"instance-relation-table-show.js","names":["InstanceRelationTableShow","props","modelDataMap","relationData","value","relationFieldUrlTemplate","paginationChange","total","oppositeModelData","modifyModelData","right_object_id","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","display","list","map","attr","pagination","isPagination","showSizeChanger","pageSizeOptions","onChange","page","pageSize","showTotal","totals","styles","totalText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PAGINATION_TOTAL_TEXT","PAGINATION_TOTAL_UNIT"],"sources":["../../../../../src/instance-detail/components/instance-relation-table-show/instance-relation-table-show.tsx"],"sourcesContent":["import React from \"react\";\nimport { Table } from \"antd\";\nimport {\n ModifiedModelObjectRelation,\n modifyModelData,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../../../instance-list-table\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../../i18n/constants\";\nimport i18n from \"i18next\";\nimport styles from \"../../../instance-list-table/InstanceListTable.module.css\";\nexport interface InstanceRelationTableShowProps {\n modelDataMap: { [objectId: string]: CmdbModels.ModelCmdbObject };\n relationData: ModifiedModelObjectRelation;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any[];\n relationFieldUrlTemplate?: string;\n isPagination?: boolean;\n total?: number;\n paginationChange?: (\n page: number,\n pageSize: number,\n relationData: ModifiedModelObjectRelation\n ) => Promise<void>;\n}\n\n//istanbul ignore next\nexport function InstanceRelationTableShow(\n props: InstanceRelationTableShowProps\n): React.ReactElement {\n const {\n modelDataMap,\n relationData,\n value,\n relationFieldUrlTemplate,\n paginationChange,\n total,\n } = props;\n let oppositeModelData = modifyModelData(\n modelDataMap[relationData.right_object_id]\n );\n //过滤掉视图不可见字段\n const hideModelData = oppositeModelData.view.hide_columns || [];\n oppositeModelData = {\n ...oppositeModelData,\n attrList: oppositeModelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: oppositeModelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.relationData.right_object_id) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.relationData.right_object_id)\n )\n ),\n };\n\n return (\n <div style={{ display: \"grid\" }}>\n <InstanceListTable\n detailUrlTemplates={{\n [relationData.right_object_id]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n }}\n idObjectMap={props.modelDataMap}\n modelData={oppositeModelData}\n instanceListData={{\n list: value,\n }}\n fieldIds={oppositeModelData.attrList.map((attr) => attr.id)}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: props.isPagination\n ? {\n showSizeChanger: true,\n total: total,\n pageSizeOptions: [\"10\", \"20\", \"50\"],\n onChange: (page, pageSize) => {\n paginationChange(page, pageSize, relationData);\n },\n showTotal: (totals: number) => (\n <span className={styles.totalText}>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_TEXT}`\n )}{\" \"}\n <strong className={styles.total}>{totals}</strong>{\" \"}\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PAGINATION_TOTAL_UNIT}`\n )}\n </span>\n ),\n }\n : false,\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AAgBA;AACO,SAASA,yBAAT,CACLC,KADK,EAEe;EACpB,MAAM;IACJC,YADI;IAEJC,YAFI;IAGJC,KAHI;IAIJC,wBAJI;IAKJC,gBALI;IAMJC;EANI,IAOFN,KAPJ;EAQA,IAAIO,iBAAiB,GAAG,IAAAC,0BAAA,EACtBP,YAAY,CAACC,YAAY,CAACO,eAAd,CADU,CAAxB,CAToB,CAYpB;;EACA,MAAMC,aAAa,GAAGH,iBAAiB,CAACI,IAAlB,CAAuBC,YAAvB,IAAuC,EAA7D;EACAL,iBAAiB,GAAG,EAClB,GAAGA,iBADe;IAElBM,QAAQ,EAAEN,iBAAiB,CAACM,QAAlB,CAA2BC,MAA3B,CACPC,IAAD,IAAe,CAACL,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACE,EAA5B,CADR,CAFQ;IAKlBC,aAAa,EAAEX,iBAAiB,CAACW,aAAlB,CAAgCJ,MAAhC,CACZC,IAAD,IACE,EACGL,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACI,OAA5B,KACCJ,IAAI,CAACK,cAAL,KAAwBpB,KAAK,CAACE,YAAN,CAAmBO,eAD7C,IAECC,aAAa,CAACM,QAAd,CAAuBD,IAAI,CAACM,QAA5B,KACCN,IAAI,CAACN,eAAL,KAAyBT,KAAK,CAACE,YAAN,CAAmBO,eAJhD,CAFW;EALG,CAApB;EAgBA,oBACE;IAAK,KAAK,EAAE;MAAEa,OAAO,EAAE;IAAX;EAAZ,gBACE,6BAAC,oCAAD;IACE,kBAAkB,EAAE;MAClB,CAACpB,YAAY,CAACO,eAAd,GACE;IAFgB,CADtB;IAKE,WAAW,EAAET,KAAK,CAACC,YALrB;IAME,SAAS,EAAEM,iBANb;IAOE,gBAAgB,EAAE;MAChBgB,IAAI,EAAEpB;IADU,CAPpB;IAUE,QAAQ,EAAEI,iBAAiB,CAACM,QAAlB,CAA2BW,GAA3B,CAAgCC,IAAD,IAAUA,IAAI,CAACR,EAA9C,CAVZ;IAWE,cAAc,EAAE,IAXlB;IAYE,YAAY,EAAE,IAZhB;IAaE,WAAW,EAAE;MACXS,UAAU,EAAE1B,KAAK,CAAC2B,YAAN,GACR;QACEC,eAAe,EAAE,IADnB;QAEEtB,KAAK,EAAEA,KAFT;QAGEuB,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAHnB;QAIEC,QAAQ,EAAE,CAACC,IAAD,EAAOC,QAAP,KAAoB;UAC5B3B,gBAAgB,CAAC0B,IAAD,EAAOC,QAAP,EAAiB9B,YAAjB,CAAhB;QACD,CANH;QAOE+B,SAAS,EAAGC,MAAD,iBACT;UAAM,SAAS,EAAEC,gCAAA,CAAOC;QAAxB,GACGC,gBAAA,CAAKC,CAAL,CACE,GAAEC,iCAAuB,IAAGC,YAAA,CAAEC,qBAAsB,EADtD,CADH,EAGK,GAHL,eAIE;UAAQ,SAAS,EAAEN,gCAAA,CAAO7B;QAA1B,GAAkC4B,MAAlC,CAJF,EAIqD,GAJrD,EAKGG,gBAAA,CAAKC,CAAL,CACE,GAAEC,iCAAuB,IAAGC,YAAA,CAAEE,qBAAsB,EADtD,CALH;MARJ,CADQ,GAoBR;IArBO,CAbf;IAoCE,MAAM,EAAE;EApCV,EADF,CADF;AA0CD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/instance-detail/constants/index.ts"],"names":["DEFAULT_ATTRIBUTE_TAG","BASIC_INFORMATION_RELATION_GROUP_ID","DEFAULT_ATTRIBUTE_TAG_STR","BASIC_INFO"],"mappings":";;;;;;AAAO,MAAMA,qBAAqB,GAAG,MAA9B;;AACA,MAAMC,mCAAmC,GAAG,YAA5C;;AACA,MAAMC,yBAAyB,GAAG,MAAlC;;AACA,MAAMC,UAAU,GAAG,MAAnB","sourcesContent":["export const DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport const BASIC_INFORMATION_RELATION_GROUP_ID = \"basic_info\";\nexport const DEFAULT_ATTRIBUTE_TAG_STR = \"默认属性\";\nexport const BASIC_INFO = \"基本信息\";\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_ATTRIBUTE_TAG","BASIC_INFORMATION_RELATION_GROUP_ID","DEFAULT_ATTRIBUTE_TAG_STR","BASIC_INFO"],"sources":["../../../../src/instance-detail/constants/index.ts"],"sourcesContent":["export const DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport const BASIC_INFORMATION_RELATION_GROUP_ID = \"basic_info\";\nexport const DEFAULT_ATTRIBUTE_TAG_STR = \"默认属性\";\nexport const BASIC_INFO = \"基本信息\";\n"],"mappings":";;;;;;AAAO,MAAMA,qBAAqB,GAAG,MAA9B;;AACA,MAAMC,mCAAmC,GAAG,YAA5C;;AACA,MAAMC,yBAAyB,GAAG,MAAlC;;AACA,MAAMC,UAAU,GAAG,MAAnB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list/IconButton.tsx"],"names":["IconButton","props","checked","setChecked","React","useState","useEffect","handleClick","onChange","getIcon","type","lib","icon","prefix","getTooltip","i18n","t","NS_LIBS_CMDB_INSTANCES","K","CLICK_TO_CANCEL_FILTER","label","CLICK_TO_FILTER","CLICK_TO_HIDDEN","CLICK_TO_SHOW","style","styles","iconBtnBac","selected","disabled"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"antd\";\nimport styles from \"./IconButton.module.css\";\nimport classNames from \"classnames\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\ninterface IconButtonProps {\n checked?: boolean;\n onChange: (checked: boolean) => void;\n type: string;\n style?: Record<string, any>;\n label: string;\n disabled?: boolean;\n}\n\nexport function IconButton(props: IconButtonProps) {\n const [checked, setChecked] = React.useState(false);\n\n React.useEffect(() => {\n setChecked(!!props.checked);\n }, [props]);\n\n const handleClick = (checked: boolean) => {\n setChecked(checked);\n props.onChange(checked);\n };\n\n const getIcon = () => {\n switch (props.type) {\n case \"relateToMe\":\n return (\n <GeneralIcon icon={{ lib: \"fa\", icon: \"user\", prefix: \"fas\" }} />\n );\n case \"showHiddenInfo\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"expand-alt\" }} />;\n case \"normalHost\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"tv\", prefix: \"fas\" }} />;\n case \"allName\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"cube\" }} />;\n }\n };\n const getTooltip = () => {\n switch (props.type) {\n case \"relateToMe\":\n case \"normalHost\":\n case \"allName\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_CANCEL_FILTER}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER}`, {\n label: props.label,\n });\n case \"showHiddenInfo\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_HIDDEN}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SHOW}`, {\n label: props.label,\n });\n }\n };\n\n return (\n <Tooltip placement=\"top\" title={getTooltip()}>\n <a\n style={props.style}\n className={classNames({\n [styles.iconBtnBac]: true,\n [styles.selected]: checked,\n [styles.disabled]: props.disabled,\n })}\n onClick={() => !props.disabled && handleClick(!checked)}\n >\n {getIcon()}\n </a>\n </Tooltip>\n );\n}\n"],"file":"IconButton.js"}
1
+ {"version":3,"file":"IconButton.js","names":["IconButton","props","checked","setChecked","React","useState","useEffect","handleClick","onChange","getIcon","type","lib","icon","prefix","getTooltip","i18n","t","NS_LIBS_CMDB_INSTANCES","K","CLICK_TO_CANCEL_FILTER","label","CLICK_TO_FILTER","CLICK_TO_HIDDEN","CLICK_TO_SHOW","style","classNames","styles","iconBtnBac","selected","disabled"],"sources":["../../../src/instance-list/IconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"antd\";\nimport styles from \"./IconButton.module.css\";\nimport classNames from \"classnames\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\ninterface IconButtonProps {\n checked?: boolean;\n onChange: (checked: boolean) => void;\n type: string;\n style?: Record<string, any>;\n label: string;\n disabled?: boolean;\n}\n\nexport function IconButton(props: IconButtonProps) {\n const [checked, setChecked] = React.useState(false);\n\n React.useEffect(() => {\n setChecked(!!props.checked);\n }, [props]);\n\n const handleClick = (checked: boolean) => {\n setChecked(checked);\n props.onChange(checked);\n };\n\n const getIcon = () => {\n switch (props.type) {\n case \"relateToMe\":\n return (\n <GeneralIcon icon={{ lib: \"fa\", icon: \"user\", prefix: \"fas\" }} />\n );\n case \"showHiddenInfo\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"expand-alt\" }} />;\n case \"normalHost\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"tv\", prefix: \"fas\" }} />;\n case \"allName\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"cube\" }} />;\n }\n };\n const getTooltip = () => {\n switch (props.type) {\n case \"relateToMe\":\n case \"normalHost\":\n case \"allName\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_CANCEL_FILTER}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER}`, {\n label: props.label,\n });\n case \"showHiddenInfo\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_HIDDEN}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SHOW}`, {\n label: props.label,\n });\n }\n };\n\n return (\n <Tooltip placement=\"top\" title={getTooltip()}>\n <a\n style={props.style}\n className={classNames({\n [styles.iconBtnBac]: true,\n [styles.selected]: checked,\n [styles.disabled]: props.disabled,\n })}\n onClick={() => !props.disabled && handleClick(!checked)}\n >\n {getIcon()}\n </a>\n </Tooltip>\n );\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAWO,SAASA,UAAT,CAAoBC,KAApB,EAA4C;EACjD,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,cAAA,CAAMC,QAAN,CAAe,KAAf,CAA9B;;EAEAD,cAAA,CAAME,SAAN,CAAgB,MAAM;IACpBH,UAAU,CAAC,CAAC,CAACF,KAAK,CAACC,OAAT,CAAV;EACD,CAFD,EAEG,CAACD,KAAD,CAFH;;EAIA,MAAMM,WAAW,GAAIL,OAAD,IAAsB;IACxCC,UAAU,CAACD,OAAD,CAAV;IACAD,KAAK,CAACO,QAAN,CAAeN,OAAf;EACD,CAHD;;EAKA,MAAMO,OAAO,GAAG,MAAM;IACpB,QAAQR,KAAK,CAACS,IAAd;MACE,KAAK,YAAL;QACE,oBACE,6BAAC,4BAAD;UAAa,IAAI,EAAE;YAAEC,GAAG,EAAE,IAAP;YAAaC,IAAI,EAAE,MAAnB;YAA2BC,MAAM,EAAE;UAAnC;QAAnB,EADF;;MAGF,KAAK,gBAAL;QACE,oBAAO,6BAAC,4BAAD;UAAa,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAP;YAAaC,IAAI,EAAE;UAAnB;QAAnB,EAAP;;MACF,KAAK,YAAL;QACE,oBAAO,6BAAC,4BAAD;UAAa,IAAI,EAAE;YAAED,GAAG,EAAE,IAAP;YAAaC,IAAI,EAAE,IAAnB;YAAyBC,MAAM,EAAE;UAAjC;QAAnB,EAAP;;MACF,KAAK,SAAL;QACE,oBAAO,6BAAC,4BAAD;UAAa,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAP;YAAaC,IAAI,EAAE;UAAnB;QAAnB,EAAP;IAVJ;EAYD,CAbD;;EAcA,MAAME,UAAU,GAAG,MAAM;IACvB,QAAQb,KAAK,CAACS,IAAd;MACE,KAAK,YAAL;MACA,KAAK,YAAL;MACA,KAAK,SAAL;QACE,OAAOR,OAAO,GACVa,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEC,sBAAuB,EAA7D,EAAgE;UAC9DC,KAAK,EAAEnB,KAAK,CAACmB;QADiD,CAAhE,CADU,GAIVL,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEG,eAAgB,EAAtD,EAAyD;UACvDD,KAAK,EAAEnB,KAAK,CAACmB;QAD0C,CAAzD,CAJJ;;MAOF,KAAK,gBAAL;QACE,OAAOlB,OAAO,GACVa,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEI,eAAgB,EAAtD,EAAyD;UACvDF,KAAK,EAAEnB,KAAK,CAACmB;QAD0C,CAAzD,CADU,GAIVL,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEK,aAAc,EAApD,EAAuD;UACrDH,KAAK,EAAEnB,KAAK,CAACmB;QADwC,CAAvD,CAJJ;IAZJ;EAoBD,CArBD;;EAuBA,oBACE,6BAAC,aAAD;IAAS,SAAS,EAAC,KAAnB;IAAyB,KAAK,EAAEN,UAAU;EAA1C,gBACE;IACE,KAAK,EAAEb,KAAK,CAACuB,KADf;IAEE,SAAS,EAAE,IAAAC,mBAAA,EAAW;MACpB,CAACC,yBAAA,CAAOC,UAAR,GAAqB,IADD;MAEpB,CAACD,yBAAA,CAAOE,QAAR,GAAmB1B,OAFC;MAGpB,CAACwB,yBAAA,CAAOG,QAAR,GAAmB5B,KAAK,CAAC4B;IAHL,CAAX,CAFb;IAOE,OAAO,EAAE,MAAM,CAAC5B,KAAK,CAAC4B,QAAP,IAAmBtB,WAAW,CAAC,CAACL,OAAF;EAP/C,GASGO,OAAO,EATV,CADF,CADF;AAeD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list/InstanceList.tsx"],"names":["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","find","ElementOperators","Exists","info","undefined","ConditionType","Between","Empty","NotEmpty","False","True","includes","currentCondition","map","replace","condition","label","curCondition","queryValuesStr","every","newKey","fieldIds","length","isOfStruct","fieldId","structFields","filter","structs","struct_define","struct","flat","isOfBoolean","keyAttrMap","ModelAttributeValueType","BOOLEAN","initAqToShow","isToShow","newAqToShow","aqToShow","entries","expressions","newExpressions","LogicalOperators","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","item","boolExpressions","targetValue","LegacyInstanceList","props","showTooltip","baseList","instanceId","i18n","NS_LIBS_CMDB_INSTANCES","K","ALL_CLUSTER","jsonLocalStorage","JsonStorage","localStorage","reducer","prevState","updatedProperty","listProvider","objectList","object","disabledDefaultFields","extraFieldAttrs","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","idNameMap","isAbstract","parentObjectId","computeDefaultFields","inModal","settings","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_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","React","useCallback","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","handleConfirm","isReset","removeItem","onFieldsModalConfirm","setItem","notifyCurrentFields","handleToggleFixHeader","onAdvancedSearchCloseGen","filterAq","specialQueryHandler","filteredSubQueries","isInstanceFilterForm","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","styles","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","objectListCache","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":["getQuery","modelData","idObjectMap","q","fields","onlySearchByIp","query","$or","queryValues","trim","split","searchIpFields","getRuntime","getCurrentApp","config","queryOrs","Set","searchValue","$like","forEach","key","push","forEachAvailableFields","attr","queryValue","id","relation","sides","this","nameKeys","getInstanceNameKeys","that","nameKey","isSpecialFn","attrId","Object","keys","some","v","isValueEqualFn","valuesStr","isSpecial","values","join","translateConditions","aq","t","conditions","relations","relation_list","sidesArr","isSelfRelation","getRelationObjectSides","objectId","relationObject","nameOfNameKey","find","attrList","name","value","type","relationSideId","attrAndRelationList","isEmpty","queries","ElementOperators","Exists","changeQueryWithCustomRules","info","getFieldConditionsAndValues","undefined","ConditionType","Between","Empty","NotEmpty","False","True","includes","currentCondition","map","isString","replace","condition","label","curCondition","queryValuesStr","every","isEqual","omit","newKey","fieldIds","length","isOfStruct","fieldId","structFields","filter","structs","struct_define","struct","flat","isOfBoolean","keyAttrMap","keyBy","ModelAttributeValueType","BOOLEAN","initAqToShow","isToShow","newAqToShow","aqToShow","entries","expressions","newExpressions","LogicalOperators","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","item","boolExpressions","targetValue","LegacyInstanceList","props","showTooltip","baseList","instanceId","i18n","NS_LIBS_CMDB_INSTANCES","K","ALL_CLUSTER","jsonLocalStorage","JsonStorage","localStorage","reducer","prevState","updatedProperty","listProvider","useProvider","useMemo","objectList","object","disabledDefaultFields","union","extraFieldAttrs","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","useState","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","idNameMap","isAbstract","CmdbObjectApi_getIdMapName","parentObjectId","useEffect","computeDefaultFields","inModal","settings","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_SETTINGS","ignoredFields","difference","uniq","slice","hideModelData","view","hide_columns","field","_sortFieldIds","frontFields","restFields","presetConfigs","sortBy","reject","foundIndex","findIndex","attr_order","orderId","getFields","extraFixedFieldIds","extraFixedFields","getItem","extraDisabledField","setQ","state","setState","useReducer","instanceSourceQuery","asc","sort","page","dataSource","pageSize","aliveHosts","relatedToMe","inited","loading","failed","isAdvancedSearchVisible","autoBreakLine","appSearchInstanceId","currentChangeSelect","appSelectValue","clusterValue","appList","clusterList","searchByApp","selectedRowKeys","setSelectedRowKeys","cache","useRef","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","InstanceApi_postSearchV3","refreshInstanceList","instanceListData","hideInstanceList","list","i","current","set","e","handleHttpError","skip","onPaginationChange","onChange","target","onSelectionChange","useCallback","selected","selectedItems","selectedKeys","compact","ids","has","resp","params","$in","page_size","get","onSearch","onAdvancedSearch","queriesToShow","fieldToShow","onSortingChange","pagination","onInstanceSourceChange","onRelatedToMeChange","checked","onAliveHostsChange","toggleAutoBreakLine","toggleSearchMode","React","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","handleConfirm","isReset","removeItem","onFieldsModalConfirm","setItem","notifyCurrentFields","handleToggleFixHeader","onAdvancedSearchCloseGen","filterAq","specialQueryHandler","filteredSubQueries","startsWith","isInstanceFilterForm","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","styles","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","uniqueId","extraFilterBricks","useBrick","detailUrlTemplates","selectDisabled","sortDisabled","propertyDisplayConfigs","onClickItem","onClickItemV2","filterInstanceSourceDisabled","relationLinkDisabled","pageSizeOptions","showSizeChanger","extraColumns","ipCopy","separatorUsedInRelationData","rowSelectionType","InstanceList","setObjectList","cacheData","objectListCache","CmdbObjectApi_getObjectRef","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 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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list/constants.ts"],"names":["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","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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":["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","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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;;AACA;;AACA;;AACA,IAAAA,uBAAA;AAEO,MAAMC,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;;AA0CA,MAAMK,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;;AASA,MAAMI,wBAAwB,GAAG,CAAjC;;AACA,MAAMC,8BAA8B,GAAG,CAAvC;;IAEKC,a;;;WAAAA,a;EAAAA,a;GAAAA,a,6BAAAA,a;;AAWL,MAAMC,eAAqC,GAAG,CACnD;EACEC,EAAE,EAAE,SADN;EAEEC,IAAI,EAAEC,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEC,OAAQ,EAA9C,CAFR;EAGEC,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CADmD,EASnD;EACET,EAAE,EAAE,OADN;EAEEC,IAAI,EAAEC,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEK,aAAc,EAApD,CAFR;EAGEH,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CATmD,EAiBnD;EACET,EAAE,EAAE,UADN;EAEEC,IAAI,EAAEC,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEM,QAAS,EAA/C,CAFR;EAGEJ,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CAjBmD,EAyBnD;EACET,EAAE,EAAE,OADN;EAEEC,IAAI,EAAEC,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEO,sBAAuB,EAA7D,CAFR;EAGEL,UAAU,EAAE,KAHd;EAIEC,KAAK,EAAE;IACLC,IAAI,EAAE;EADD;AAJT,CAzBmD,CAA9C;;AAmCA,MAAMI,eAAe,GAAG,IAAIC,GAAJ,EAAxB"}