@backstage/plugin-catalog-react 0.6.9 → 0.6.10
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 +10 -0
- package/dist/index.cjs.js +25 -14
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +26 -1
- package/dist/index.esm.js +6 -1
- package/dist/index.esm.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-react
|
|
2
2
|
|
|
3
|
+
## 0.6.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fe2a6532ff: Add Override Components for Components in @backstage/plugin-catalog-react
|
|
8
|
+
- 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- @backstage/core-plugin-api@0.4.1
|
|
11
|
+
- @backstage/core-components@0.8.3
|
|
12
|
+
|
|
3
13
|
## 0.6.9
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/dist/index.cjs.js
CHANGED
|
@@ -11,11 +11,16 @@ var React = require('react');
|
|
|
11
11
|
var lab = require('@material-ui/lab');
|
|
12
12
|
var versionBridge = require('@backstage/version-bridge');
|
|
13
13
|
var reactRouter = require('react-router');
|
|
14
|
-
var
|
|
14
|
+
var useAsyncRetry = require('react-use/lib/useAsyncRetry');
|
|
15
15
|
var qs = require('qs');
|
|
16
|
+
var useAsyncFn = require('react-use/lib/useAsyncFn');
|
|
17
|
+
var useDebounce = require('react-use/lib/useDebounce');
|
|
18
|
+
var useMountedState = require('react-use/lib/useMountedState');
|
|
19
|
+
var useAsync = require('react-use/lib/useAsync');
|
|
16
20
|
var isEqual = require('lodash/isEqual');
|
|
17
21
|
var coreComponents = require('@backstage/core-components');
|
|
18
22
|
var core = require('@material-ui/core');
|
|
23
|
+
var useObservable = require('react-use/lib/useObservable');
|
|
19
24
|
var jwtDecoder = require('jwt-decode');
|
|
20
25
|
var CheckBoxIcon = require('@material-ui/icons/CheckBox');
|
|
21
26
|
var CheckBoxOutlineBlankIcon = require('@material-ui/icons/CheckBoxOutlineBlank');
|
|
@@ -33,8 +38,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
33
38
|
|
|
34
39
|
var ObservableImpl__default = /*#__PURE__*/_interopDefaultLegacy(ObservableImpl);
|
|
35
40
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
41
|
+
var useAsyncRetry__default = /*#__PURE__*/_interopDefaultLegacy(useAsyncRetry);
|
|
36
42
|
var qs__default = /*#__PURE__*/_interopDefaultLegacy(qs);
|
|
43
|
+
var useAsyncFn__default = /*#__PURE__*/_interopDefaultLegacy(useAsyncFn);
|
|
44
|
+
var useDebounce__default = /*#__PURE__*/_interopDefaultLegacy(useDebounce);
|
|
45
|
+
var useMountedState__default = /*#__PURE__*/_interopDefaultLegacy(useMountedState);
|
|
46
|
+
var useAsync__default = /*#__PURE__*/_interopDefaultLegacy(useAsync);
|
|
37
47
|
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
48
|
+
var useObservable__default = /*#__PURE__*/_interopDefaultLegacy(useObservable);
|
|
38
49
|
var jwtDecoder__default = /*#__PURE__*/_interopDefaultLegacy(jwtDecoder);
|
|
39
50
|
var CheckBoxIcon__default = /*#__PURE__*/_interopDefaultLegacy(CheckBoxIcon);
|
|
40
51
|
var CheckBoxOutlineBlankIcon__default = /*#__PURE__*/_interopDefaultLegacy(CheckBoxOutlineBlankIcon);
|
|
@@ -187,7 +198,7 @@ const useEntityFromUrl = () => {
|
|
|
187
198
|
error,
|
|
188
199
|
loading,
|
|
189
200
|
retry: refresh
|
|
190
|
-
} =
|
|
201
|
+
} = useAsyncRetry__default["default"](() => catalogApi.getEntityByName({ kind, namespace, name }), [catalogApi, kind, namespace, name]);
|
|
191
202
|
React.useEffect(() => {
|
|
192
203
|
if (!name) {
|
|
193
204
|
errorApi.post(new Error("No name provided!"));
|
|
@@ -281,7 +292,7 @@ const EntityListContext = React.createContext(void 0);
|
|
|
281
292
|
const EntityListProvider = ({
|
|
282
293
|
children
|
|
283
294
|
}) => {
|
|
284
|
-
const isMounted =
|
|
295
|
+
const isMounted = useMountedState__default["default"]();
|
|
285
296
|
const catalogApi = corePluginApi.useApi(catalogApiRef);
|
|
286
297
|
const [requestedFilters, setRequestedFilters] = React.useState({});
|
|
287
298
|
const [outputState, setOutputState] = React.useState(() => {
|
|
@@ -296,7 +307,7 @@ const EntityListProvider = ({
|
|
|
296
307
|
queryParameters: (_a = query.filters) != null ? _a : {}
|
|
297
308
|
};
|
|
298
309
|
});
|
|
299
|
-
const [{ loading, error }, refresh] =
|
|
310
|
+
const [{ loading, error }, refresh] = useAsyncFn__default["default"](async () => {
|
|
300
311
|
var _a;
|
|
301
312
|
const compacted = lodash.compact(Object.values(requestedFilters));
|
|
302
313
|
const entityFilter = reduceEntityFilters(compacted);
|
|
@@ -336,7 +347,7 @@ const EntityListProvider = ({
|
|
|
336
347
|
(_a = window.history) == null ? void 0 : _a.replaceState(null, document.title, newUrl);
|
|
337
348
|
}
|
|
338
349
|
}, [catalogApi, requestedFilters, outputState], { loading: true });
|
|
339
|
-
|
|
350
|
+
useDebounce__default["default"](refresh, 10, [requestedFilters]);
|
|
340
351
|
const updateFilters = React.useCallback((update) => {
|
|
341
352
|
setRequestedFilters((prevFilters) => {
|
|
342
353
|
const newFilters = typeof update === "function" ? update(prevFilters) : update;
|
|
@@ -546,7 +557,7 @@ function useEntityTypeFilter() {
|
|
|
546
557
|
error,
|
|
547
558
|
loading,
|
|
548
559
|
value: entities
|
|
549
|
-
} =
|
|
560
|
+
} = useAsync__default["default"](async () => {
|
|
550
561
|
if (kind) {
|
|
551
562
|
const items = await catalogApi.getEntities({
|
|
552
563
|
filter: { kind },
|
|
@@ -603,7 +614,7 @@ function useEntityKinds() {
|
|
|
603
614
|
error,
|
|
604
615
|
loading,
|
|
605
616
|
value: kinds
|
|
606
|
-
} =
|
|
617
|
+
} = useAsync__default["default"](async () => {
|
|
607
618
|
const entities = await catalogApi.getEntities({ fields: ["kind"] }).then((response) => response.items);
|
|
608
619
|
return [...new Set(entities.map((e) => e.kind))].sort();
|
|
609
620
|
});
|
|
@@ -613,7 +624,7 @@ function useEntityKinds() {
|
|
|
613
624
|
function useOwnUser() {
|
|
614
625
|
const catalogApi = corePluginApi.useApi(catalogApiRef);
|
|
615
626
|
const identityApi = corePluginApi.useApi(corePluginApi.identityApiRef);
|
|
616
|
-
return
|
|
627
|
+
return useAsync__default["default"](() => catalogApi.getEntityByName({
|
|
617
628
|
kind: "User",
|
|
618
629
|
namespace: "default",
|
|
619
630
|
name: identityApi.getUserId()
|
|
@@ -627,7 +638,7 @@ function useRelatedEntities(entity, { type, kind }) {
|
|
|
627
638
|
loading,
|
|
628
639
|
value: entities,
|
|
629
640
|
error
|
|
630
|
-
} =
|
|
641
|
+
} = useAsync__default["default"](async () => {
|
|
631
642
|
const relations = entity.relations && entity.relations.filter((r) => (!type || r.type.toLocaleLowerCase("en-US") === type.toLocaleLowerCase("en-US")) && (!kind || r.target.kind.toLocaleLowerCase("en-US") === kind.toLocaleLowerCase("en-US")));
|
|
632
643
|
if (!relations) {
|
|
633
644
|
return [];
|
|
@@ -668,7 +679,7 @@ function getEntityRef$1(entityOrRef) {
|
|
|
668
679
|
}
|
|
669
680
|
function useStarredEntities() {
|
|
670
681
|
const starredEntitiesApi = corePluginApi.useApi(starredEntitiesApiRef);
|
|
671
|
-
const starredEntities =
|
|
682
|
+
const starredEntities = useObservable__default["default"](starredEntitiesApi.starredEntitie$(), /* @__PURE__ */ new Set());
|
|
672
683
|
const isStarredEntity = React.useCallback((entityOrRef) => starredEntities.has(getEntityRef$1(entityOrRef)), [starredEntities]);
|
|
673
684
|
const toggleStarredEntity = React.useCallback((entityOrRef) => starredEntitiesApi.toggleStarred(getEntityRef$1(entityOrRef)).then(), [starredEntitiesApi]);
|
|
674
685
|
return {
|
|
@@ -749,7 +760,7 @@ async function loadCatalogOwnerRefs(catalogApi, identityOwnerRefs) {
|
|
|
749
760
|
function useEntityOwnership() {
|
|
750
761
|
const identityApi = corePluginApi.useApi(corePluginApi.identityApiRef);
|
|
751
762
|
const catalogApi = corePluginApi.useApi(catalogApiRef);
|
|
752
|
-
const { loading, value: refs } =
|
|
763
|
+
const { loading, value: refs } = useAsync__default["default"](async () => {
|
|
753
764
|
const identityRefs = await loadIdentityOwnerRefs(identityApi);
|
|
754
765
|
const catalogRefs = await loadCatalogOwnerRefs(catalogApi, identityRefs);
|
|
755
766
|
return /* @__PURE__ */ new Set([...identityRefs, ...catalogRefs]);
|
|
@@ -772,7 +783,7 @@ function useEntityOwnership() {
|
|
|
772
783
|
function useOwnedEntities(allowedKinds) {
|
|
773
784
|
const identityApi = corePluginApi.useApi(corePluginApi.identityApiRef);
|
|
774
785
|
const catalogApi = corePluginApi.useApi(catalogApiRef);
|
|
775
|
-
const { loading, value: refs } =
|
|
786
|
+
const { loading, value: refs } = useAsync__default["default"](async () => {
|
|
776
787
|
const identityRefs = await loadIdentityOwnerRefs(identityApi);
|
|
777
788
|
const catalogRefs = await loadCatalogOwnerRefs(catalogApi, identityRefs);
|
|
778
789
|
const catalogs = await catalogApi.getEntities(allowedKinds ? {
|
|
@@ -945,7 +956,7 @@ const EntitySearchBar = () => {
|
|
|
945
956
|
const classes = useStyles$4();
|
|
946
957
|
const { filters, updateFilters } = useEntityListProvider();
|
|
947
958
|
const [search, setSearch] = React.useState((_b = (_a = filters.text) == null ? void 0 : _a.value) != null ? _b : "");
|
|
948
|
-
|
|
959
|
+
useDebounce__default["default"](() => {
|
|
949
960
|
updateFilters({
|
|
950
961
|
text: search.length ? new EntityTextFilter(search) : void 0
|
|
951
962
|
});
|
|
@@ -1268,7 +1279,7 @@ function useUnregisterEntityDialogState(entity) {
|
|
|
1268
1279
|
const locationRef = (_a = entity.metadata.annotations) == null ? void 0 : _a[catalogModel.ORIGIN_LOCATION_ANNOTATION];
|
|
1269
1280
|
const uid = entity.metadata.uid;
|
|
1270
1281
|
const isBootstrap = locationRef === "bootstrap:bootstrap";
|
|
1271
|
-
const prerequisites =
|
|
1282
|
+
const prerequisites = useAsync__default["default"](async () => {
|
|
1272
1283
|
const locationPromise = catalogApi.getOriginLocationByEntity(entity);
|
|
1273
1284
|
let colocatedEntitiesPromise;
|
|
1274
1285
|
if (!locationRef) {
|