@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 +33 -0
- package/dist/cjs/instance-list/InstanceList.js +48 -9
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js +9 -27
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +49 -10
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js +8 -26
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/types/instance-list/InstanceList.d.ts +3 -0
- package/package.json +2 -2
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
|
-
|
|
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
|
-
|
|
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)(
|
|
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
|
-
|
|
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]);
|