@next-libs/cmdb-instances 6.35.6 → 6.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [6.37.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.36.0...@next-libs/cmdb-instances@6.37.0) (2022-07-21)
7
+
8
+
9
+ ### Features
10
+
11
+ * **cmdb-instance:** 实例列表支持调用search-resource接口 ([#394](https://github.com/easyops-cn/next-libs/issues/394)) ([b99758a](https://github.com/easyops-cn/next-libs/commit/b99758a3a5898ff4fc57c966f392c66eb9993028))
12
+
13
+
14
+
15
+
16
+
17
+ # [6.36.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.35.7...@next-libs/cmdb-instances@6.36.0) (2022-07-20)
18
+
19
+
20
+ ### Features
21
+
22
+ * cmdb实例新建构件可以设置白名单默认值 refs CD-2777 ([24c2a3d](https://github.com/easyops-cn/next-libs/commit/24c2a3df0bb427f67f49de46bb19bdacebc02d72))
23
+ * cmdb实例新建构件可以设置白名单默认值 refs CD-2777 ([590523a](https://github.com/easyops-cn/next-libs/commit/590523ab4b58ff7458fb2dd49039ddf3be8a9555))
24
+
25
+
26
+
27
+
28
+
29
+ ## [6.35.7](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.35.6...@next-libs/cmdb-instances@6.35.7) (2022-07-15)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * instance-list 组件表格数据多导致搜索卡 ([#392](https://github.com/easyops-cn/next-libs/issues/392)) ([1173999](https://github.com/easyops-cn/next-libs/commit/11739992cee6dc5f3af441b4caa0b4f44c6dc0e8))
35
+
36
+
37
+
38
+
39
+
6
40
  ## [6.35.6](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.35.5...@next-libs/cmdb-instances@6.35.6) (2022-07-14)
7
41
 
8
42
  **Note:** Version bump only for package @next-libs/cmdb-instances
@@ -302,8 +302,11 @@ function LegacyInstanceList(props) {
302
302
  return { ...prevState,
303
303
  ...updatedProperty
304
304
  };
305
- };
305
+ }; // 资源自动发现页面24小时发现主机抽屉的实例列表处,通用的postSearchV3接口无法查到正确结果,需要用下面的接口替换,参数里也要加上jobId:***
306
+ // 为了不影响其他地方的实例列表,在该处加一个useAutoDiscoveryProvider参数,该参数为undefined或false的,仍调用原接口
307
+
306
308
 
309
+ const listProvider = (0, _brickKit.useProvider)("easyops.api.cmdb.job@SearchResource:1.0.1");
307
310
  const {
308
311
  modelData,
309
312
  idObjectMap
@@ -512,6 +515,11 @@ function LegacyInstanceList(props) {
512
515
 
513
516
  if (!(0, _lodash.isEmpty)(query)) {
514
517
  v3Data.query = data.query = query;
518
+ } // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams
519
+
520
+
521
+ if (props.useAutoDiscoveryProvider && !(0, _lodash.isEmpty)(props.extraParams)) {
522
+ Object.assign(v3Data, props.extraParams);
515
523
  }
516
524
 
517
525
  if (state.relatedToMe) {
@@ -529,8 +537,9 @@ function LegacyInstanceList(props) {
529
537
  };
530
538
  }
531
539
 
532
- const promise = (_props$onSearchExecut = props.onSearchExecute) === null || _props$onSearchExecut === void 0 ? void 0 : _props$onSearchExecut.call(props, data, v3Data);
533
- return promise ? promise : (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
540
+ const promise = (_props$onSearchExecut = props.onSearchExecute) === null || _props$onSearchExecut === void 0 ? void 0 : _props$onSearchExecut.call(props, data, v3Data); // useAutoDiscoveryProvider=true, 使用useProvider的接口
541
+
542
+ return promise ? promise : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
534
543
  };
535
544
 
536
545
  const refreshInstanceList = async (sort, asc, page) => {
@@ -634,7 +643,7 @@ function LegacyInstanceList(props) {
634
643
  }; // istanbul ignore next
635
644
 
636
645
 
637
- const onSelectionChange = async selected => {
646
+ const onSelectionChange = (0, _react.useCallback)(async selected => {
638
647
  var _props$onSelectionCha;
639
648
 
640
649
  let {
@@ -647,7 +656,8 @@ function LegacyInstanceList(props) {
647
656
  const ids = selectedKeys.filter(id => !cache.current.has(id));
648
657
 
649
658
  if (ids.length) {
650
- const resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, {
659
+ let resp;
660
+ const params = {
651
661
  fields: ["instanceId"],
652
662
  query: {
653
663
  instanceId: {
@@ -655,7 +665,14 @@ function LegacyInstanceList(props) {
655
665
  }
656
666
  },
657
667
  page_size: ids.length
658
- });
668
+ }; // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一
669
+
670
+ if (props.useAutoDiscoveryProvider) {
671
+ resp = await listProvider.query([props.objectId, Object.assign(params, props.extraParams)]);
672
+ } else {
673
+ resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, params);
674
+ }
675
+
659
676
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
660
677
  }
661
678
 
@@ -666,7 +683,7 @@ function LegacyInstanceList(props) {
666
683
  selectedItems,
667
684
  selectedKeys
668
685
  });
669
- };
686
+ }, []);
670
687
 
671
688
  const onSearch = value => {
672
689
  var _props$onSearch;
@@ -689,7 +706,7 @@ function LegacyInstanceList(props) {
689
706
  (_props$onAdvancedSear = props.onAdvancedSearch) === null || _props$onAdvancedSear === void 0 ? void 0 : _props$onAdvancedSear.call(props, queries);
690
707
  };
691
708
 
692
- const onSortingChange = info => {
709
+ const onSortingChange = (0, _react.useCallback)(info => {
693
710
  var _props$onSortingChang;
694
711
 
695
712
  let asc;
@@ -714,9 +731,8 @@ function LegacyInstanceList(props) {
714
731
  }
715
732
 
716
733
  (_props$onSortingChang = props.onSortingChange) === null || _props$onSortingChang === void 0 ? void 0 : _props$onSortingChang.call(props, info);
717
- };
718
-
719
- const onPaginationChange = pagination => {
734
+ }, [state.sort]);
735
+ const onPaginationChange = (0, _react.useCallback)(pagination => {
720
736
  var _props$onPaginationCh2;
721
737
 
722
738
  setState({
@@ -724,16 +740,15 @@ function LegacyInstanceList(props) {
724
740
  pageSize: pagination.pageSize
725
741
  });
726
742
  (_props$onPaginationCh2 = props.onPaginationChange) === null || _props$onPaginationCh2 === void 0 ? void 0 : _props$onPaginationCh2.call(props, pagination);
727
- };
728
-
729
- const onInstanceSourceChange = instanceSourceQuery => {
743
+ }, []);
744
+ const onInstanceSourceChange = (0, _react.useCallback)(instanceSourceQuery => {
730
745
  var _props$onInstanceSour;
731
746
 
732
747
  setState({
733
748
  instanceSourceQuery
734
749
  });
735
750
  (_props$onInstanceSour = props.onInstanceSourceChange) === null || _props$onInstanceSour === void 0 ? void 0 : _props$onInstanceSour.call(props, instanceSourceQuery);
736
- };
751
+ }, []);
737
752
 
738
753
  const onRelatedToMeChange = checked => {
739
754
  var _props$onRelatedToMeC;
@@ -879,7 +894,18 @@ function LegacyInstanceList(props) {
879
894
  v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;
880
895
  }
881
896
 
882
- const resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
897
+ if (props.extraParams) {
898
+ Object.assign(v3Data, props.extraParams);
899
+ }
900
+
901
+ let resp;
902
+
903
+ if (props.useAutoDiscoveryProvider) {
904
+ resp = await listProvider.query([props.objectId, v3Data]);
905
+ } else {
906
+ resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
907
+ }
908
+
883
909
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
884
910
  })();
885
911
  }, [props.selectedRowKeys]);