@next-libs/cmdb-instances 6.36.0 → 6.38.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,39 @@
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.38.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.37.1...@next-libs/cmdb-instances@6.38.0) (2022-07-22)
7
+
8
+
9
+ ### Features
10
+
11
+ * **cmdb-instances:** 实例列表的presetConfigs添加一个额外固定列的选项 ([b55e667](https://github.com/easyops-cn/next-libs/commit/b55e667a87fac79b0495d391b3a77967c67db7ca))
12
+
13
+
14
+
15
+
16
+
17
+ ## [6.37.1](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.37.0...@next-libs/cmdb-instances@6.37.1) (2022-07-22)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **cmdb-instances:** 动态过滤选择在此期间报错 ([2696092](https://github.com/easyops-cn/next-libs/commit/269609255b6e922919db9a47c86646b171f2def7))
23
+
24
+
25
+
26
+
27
+
28
+ # [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)
29
+
30
+
31
+ ### Features
32
+
33
+ * **cmdb-instance:** 实例列表支持调用search-resource接口 ([#394](https://github.com/easyops-cn/next-libs/issues/394)) ([b99758a](https://github.com/easyops-cn/next-libs/commit/b99758a3a5898ff4fc57c966f392c66eb9993028))
34
+
35
+
36
+
37
+
38
+
6
39
  # [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)
7
40
 
8
41
 
@@ -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
@@ -382,9 +385,10 @@ function LegacyInstanceList(props) {
382
385
  };
383
386
 
384
387
  const getFields = () => {
385
- var _props$presetConfigs2;
388
+ var _props$presetConfigs2, _props$extraFixedFiel;
386
389
 
387
390
  let fieldIds = (_props$presetConfigs2 = props.presetConfigs) === null || _props$presetConfigs2 === void 0 ? void 0 : _props$presetConfigs2.fieldIds;
391
+ const extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
388
392
 
389
393
  if ((0, _lodash.isEmpty)(fieldIds)) {
390
394
  fieldIds = jsonLocalStorage.getItem(`${modelData.objectId}-selectAttrIds`);
@@ -394,6 +398,10 @@ function LegacyInstanceList(props) {
394
398
  fieldIds = computeDefaultFields().fieldIds;
395
399
  }
396
400
 
401
+ if (!(0, _lodash.isEmpty)(extraFixedFieldIds)) {
402
+ fieldIds = (0, _lodash.uniq)([...fieldIds, ...extraFixedFieldIds]);
403
+ }
404
+
397
405
  fieldIds = props.extraDisabledField ? (0, _lodash.uniq)([...fieldIds, props.extraDisabledField]) : fieldIds;
398
406
  fieldIds = _sortFieldIds(fieldIds);
399
407
  const hideModelData = modelData.view.hide_columns || [];
@@ -512,6 +520,11 @@ function LegacyInstanceList(props) {
512
520
 
513
521
  if (!(0, _lodash.isEmpty)(query)) {
514
522
  v3Data.query = data.query = query;
523
+ } // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams
524
+
525
+
526
+ if (props.useAutoDiscoveryProvider && !(0, _lodash.isEmpty)(props.extraParams)) {
527
+ Object.assign(v3Data, props.extraParams);
515
528
  }
516
529
 
517
530
  if (state.relatedToMe) {
@@ -529,8 +542,9 @@ function LegacyInstanceList(props) {
529
542
  };
530
543
  }
531
544
 
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);
545
+ const promise = (_props$onSearchExecut = props.onSearchExecute) === null || _props$onSearchExecut === void 0 ? void 0 : _props$onSearchExecut.call(props, data, v3Data); // useAutoDiscoveryProvider=true, 使用useProvider的接口
546
+
547
+ return promise ? promise : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
534
548
  };
535
549
 
536
550
  const refreshInstanceList = async (sort, asc, page) => {
@@ -647,7 +661,8 @@ function LegacyInstanceList(props) {
647
661
  const ids = selectedKeys.filter(id => !cache.current.has(id));
648
662
 
649
663
  if (ids.length) {
650
- const resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, {
664
+ let resp;
665
+ const params = {
651
666
  fields: ["instanceId"],
652
667
  query: {
653
668
  instanceId: {
@@ -655,7 +670,14 @@ function LegacyInstanceList(props) {
655
670
  }
656
671
  },
657
672
  page_size: ids.length
658
- });
673
+ }; // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一
674
+
675
+ if (props.useAutoDiscoveryProvider) {
676
+ resp = await listProvider.query([props.objectId, Object.assign(params, props.extraParams)]);
677
+ } else {
678
+ resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, params);
679
+ }
680
+
659
681
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
660
682
  }
661
683
 
@@ -807,16 +829,22 @@ function LegacyInstanceList(props) {
807
829
  };
808
830
 
809
831
  const defaultFields = (0, _react.useMemo)(() => {
810
- var _props$presetConfigs3;
832
+ var _props$presetConfigs3, _props$extraFixedFiel2;
811
833
 
812
834
  let defaultFields;
835
+ const fieldIds = (_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds,
836
+ extraFixedFieldIds = (_props$extraFixedFiel2 = props.extraFixedFields) !== null && _props$extraFixedFiel2 !== void 0 ? _props$extraFixedFiel2 : [];
813
837
 
814
- if (!(0, _lodash.isEmpty)((_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds)) {
838
+ if (!(0, _lodash.isEmpty)(fieldIds)) {
815
839
  defaultFields = props.presetConfigs.fieldIds;
816
840
  } else {
817
841
  defaultFields = computeDefaultFields().fieldIds;
818
842
  }
819
843
 
844
+ if (!(0, _lodash.isEmpty)(extraFixedFieldIds)) {
845
+ defaultFields = (0, _lodash.uniq)([...defaultFields, ...extraFixedFieldIds]);
846
+ }
847
+
820
848
  return defaultFields;
821
849
  }, [props.presetConfigs, modelData]); // istanbul ignore next
822
850
 
@@ -877,7 +905,18 @@ function LegacyInstanceList(props) {
877
905
  v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;
878
906
  }
879
907
 
880
- const resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
908
+ if (props.extraParams) {
909
+ Object.assign(v3Data, props.extraParams);
910
+ }
911
+
912
+ let resp;
913
+
914
+ if (props.useAutoDiscoveryProvider) {
915
+ resp = await listProvider.query([props.objectId, v3Data]);
916
+ } else {
917
+ resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
918
+ }
919
+
881
920
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
882
921
  })();
883
922
  }, [props.selectedRowKeys]);