@contentful/field-editor-reference 5.14.0 → 5.15.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/dist/cjs/common/EntityStore.js +5 -24
- package/dist/cjs/common/queryClient.js +97 -0
- package/dist/cjs/index.js +4 -0
- package/dist/esm/common/EntityStore.js +2 -21
- package/dist/esm/common/queryClient.js +37 -0
- package/dist/esm/index.js +1 -0
- package/dist/types/common/EntityStore.d.ts +1 -1
- package/dist/types/common/queryClient.d.ts +9 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -29,10 +29,10 @@ _export(exports, {
|
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
const _react = _interop_require_wildcard(require("react"));
|
|
32
|
-
const _reactquery = require("@tanstack/react-query");
|
|
33
32
|
const _constate = _interop_require_default(require("constate"));
|
|
34
33
|
const _contentfulmanagement = require("contentful-management");
|
|
35
34
|
const _pqueue = _interop_require_default(require("p-queue"));
|
|
35
|
+
const _queryClient = require("./queryClient");
|
|
36
36
|
function _define_property(obj, key, value) {
|
|
37
37
|
if (key in obj) {
|
|
38
38
|
Object.defineProperty(obj, key, {
|
|
@@ -180,7 +180,7 @@ const [InternalServiceProvider, useFetch, useEntityLoader, useCurrentIds] = (0,
|
|
|
180
180
|
props.sdk.ids.environmentAlias,
|
|
181
181
|
props.sdk.ids.environment
|
|
182
182
|
]);
|
|
183
|
-
const queryClient = (0,
|
|
183
|
+
const queryClient = (0, _queryClient.useQueryClient)();
|
|
184
184
|
const queryCache = queryClient.getQueryCache();
|
|
185
185
|
const entityChangeUnsubscribers = (0, _react.useRef)({});
|
|
186
186
|
const cmaClient = (0, _react.useMemo)(()=>(0, _contentfulmanagement.createClient)({
|
|
@@ -378,7 +378,7 @@ function useEntity(entityType, entityId, options) {
|
|
|
378
378
|
options?.spaceId ?? space,
|
|
379
379
|
options?.environmentId ?? environment
|
|
380
380
|
];
|
|
381
|
-
const { status , data } = (0,
|
|
381
|
+
const { status , data } = (0, _queryClient.useQuery)(queryKey, ()=>getEntity(entityType, entityId, options), {
|
|
382
382
|
enabled: options?.enabled
|
|
383
383
|
});
|
|
384
384
|
return {
|
|
@@ -393,7 +393,7 @@ function useResource(resourceType, urn, options) {
|
|
|
393
393
|
urn
|
|
394
394
|
];
|
|
395
395
|
const { getResource } = useEntityLoader();
|
|
396
|
-
const { status , data , error } = (0,
|
|
396
|
+
const { status , data , error } = (0, _queryClient.useQuery)(queryKey, ()=>getResource(resourceType, urn, options), {
|
|
397
397
|
enabled: options?.enabled
|
|
398
398
|
});
|
|
399
399
|
return {
|
|
@@ -403,24 +403,5 @@ function useResource(resourceType, urn, options) {
|
|
|
403
403
|
};
|
|
404
404
|
}
|
|
405
405
|
function EntityProvider({ children , ...props }) {
|
|
406
|
-
|
|
407
|
-
const queryCache = new _reactquery.QueryCache();
|
|
408
|
-
const queryClient = new _reactquery.QueryClient({
|
|
409
|
-
queryCache,
|
|
410
|
-
defaultOptions: {
|
|
411
|
-
queries: {
|
|
412
|
-
useErrorBoundary: false,
|
|
413
|
-
refetchOnWindowFocus: false,
|
|
414
|
-
refetchOnReconnect: true,
|
|
415
|
-
refetchOnMount: false,
|
|
416
|
-
staleTime: Infinity,
|
|
417
|
-
retry: false
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
});
|
|
421
|
-
return queryClient;
|
|
422
|
-
}, []);
|
|
423
|
-
return _react.default.createElement(_reactquery.QueryClientProvider, {
|
|
424
|
-
client: reactQueryClient
|
|
425
|
-
}, _react.default.createElement(InternalServiceProvider, props, children));
|
|
406
|
+
return _react.default.createElement(_queryClient.SharedQueryClientProvider, null, _react.default.createElement(InternalServiceProvider, props, children));
|
|
426
407
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
useQueryClient: function() {
|
|
13
|
+
return useQueryClient;
|
|
14
|
+
},
|
|
15
|
+
useQuery: function() {
|
|
16
|
+
return useQuery;
|
|
17
|
+
},
|
|
18
|
+
SharedQueryClientProvider: function() {
|
|
19
|
+
return SharedQueryClientProvider;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _react = _interop_require_wildcard(require("react"));
|
|
23
|
+
const _reactquery = require("@tanstack/react-query");
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
25
|
+
if (typeof WeakMap !== "function") return null;
|
|
26
|
+
var cacheBabelInterop = new WeakMap();
|
|
27
|
+
var cacheNodeInterop = new WeakMap();
|
|
28
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
29
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
30
|
+
})(nodeInterop);
|
|
31
|
+
}
|
|
32
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
33
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
37
|
+
return {
|
|
38
|
+
default: obj
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
42
|
+
if (cache && cache.has(obj)) {
|
|
43
|
+
return cache.get(obj);
|
|
44
|
+
}
|
|
45
|
+
var newObj = {};
|
|
46
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
47
|
+
for(var key in obj){
|
|
48
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
49
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
50
|
+
if (desc && (desc.get || desc.set)) {
|
|
51
|
+
Object.defineProperty(newObj, key, desc);
|
|
52
|
+
} else {
|
|
53
|
+
newObj[key] = obj[key];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
newObj.default = obj;
|
|
58
|
+
if (cache) {
|
|
59
|
+
cache.set(obj, newObj);
|
|
60
|
+
}
|
|
61
|
+
return newObj;
|
|
62
|
+
}
|
|
63
|
+
const clientContext = _react.createContext(undefined);
|
|
64
|
+
function useQueryClient() {
|
|
65
|
+
const client = _react.useContext(clientContext);
|
|
66
|
+
return _react.useMemo(()=>{
|
|
67
|
+
if (client) {
|
|
68
|
+
return client;
|
|
69
|
+
}
|
|
70
|
+
return new _reactquery.QueryClient({
|
|
71
|
+
defaultOptions: {
|
|
72
|
+
queries: {
|
|
73
|
+
useErrorBoundary: false,
|
|
74
|
+
refetchOnWindowFocus: false,
|
|
75
|
+
refetchOnReconnect: true,
|
|
76
|
+
refetchOnMount: false,
|
|
77
|
+
staleTime: Infinity,
|
|
78
|
+
retry: false
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}, [
|
|
83
|
+
client
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
const useQuery = (key, fn, opt)=>{
|
|
87
|
+
return (0, _reactquery.useQuery)(key, fn, {
|
|
88
|
+
...opt,
|
|
89
|
+
context: clientContext
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
function SharedQueryClientProvider({ children }) {
|
|
93
|
+
const client = useQueryClient();
|
|
94
|
+
return _react.createElement(clientContext.Provider, {
|
|
95
|
+
value: client
|
|
96
|
+
}, children);
|
|
97
|
+
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -66,6 +66,9 @@ _export(exports, {
|
|
|
66
66
|
useResource: function() {
|
|
67
67
|
return _EntityStore.useResource;
|
|
68
68
|
},
|
|
69
|
+
EntityCacheProvider: function() {
|
|
70
|
+
return _queryClient.SharedQueryClientProvider;
|
|
71
|
+
},
|
|
69
72
|
SingleResourceReferenceEditor: function() {
|
|
70
73
|
return _resources.SingleResourceReferenceEditor;
|
|
71
74
|
},
|
|
@@ -78,6 +81,7 @@ const _entries = require("./entries");
|
|
|
78
81
|
const _assets = require("./assets");
|
|
79
82
|
const _SortableLinkList = require("./common/SortableLinkList");
|
|
80
83
|
const _EntityStore = require("./common/EntityStore");
|
|
84
|
+
const _queryClient = require("./common/queryClient");
|
|
81
85
|
const _resources = require("./resources");
|
|
82
86
|
_export_star(require("./types"), exports);
|
|
83
87
|
function _export_star(from, to) {
|
|
@@ -12,10 +12,10 @@ function _define_property(obj, key, value) {
|
|
|
12
12
|
return obj;
|
|
13
13
|
}
|
|
14
14
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
15
|
-
import { QueryCache, QueryClient, QueryClientProvider, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
16
15
|
import constate from 'constate';
|
|
17
16
|
import { createClient } from 'contentful-management';
|
|
18
17
|
import PQueue from 'p-queue';
|
|
18
|
+
import { SharedQueryClientProvider, useQuery, useQueryClient } from './queryClient';
|
|
19
19
|
const globalQueue = new PQueue({
|
|
20
20
|
concurrency: 50
|
|
21
21
|
});
|
|
@@ -329,25 +329,6 @@ export function useResource(resourceType, urn, options) {
|
|
|
329
329
|
};
|
|
330
330
|
}
|
|
331
331
|
function EntityProvider({ children , ...props }) {
|
|
332
|
-
|
|
333
|
-
const queryCache = new QueryCache();
|
|
334
|
-
const queryClient = new QueryClient({
|
|
335
|
-
queryCache,
|
|
336
|
-
defaultOptions: {
|
|
337
|
-
queries: {
|
|
338
|
-
useErrorBoundary: false,
|
|
339
|
-
refetchOnWindowFocus: false,
|
|
340
|
-
refetchOnReconnect: true,
|
|
341
|
-
refetchOnMount: false,
|
|
342
|
-
staleTime: Infinity,
|
|
343
|
-
retry: false
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
});
|
|
347
|
-
return queryClient;
|
|
348
|
-
}, []);
|
|
349
|
-
return React.createElement(QueryClientProvider, {
|
|
350
|
-
client: reactQueryClient
|
|
351
|
-
}, React.createElement(InternalServiceProvider, props, children));
|
|
332
|
+
return React.createElement(SharedQueryClientProvider, null, React.createElement(InternalServiceProvider, props, children));
|
|
352
333
|
}
|
|
353
334
|
export { EntityProvider, useEntityLoader };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { QueryClient, useQuery as useRQ } from '@tanstack/react-query';
|
|
3
|
+
const clientContext = React.createContext(undefined);
|
|
4
|
+
export function useQueryClient() {
|
|
5
|
+
const client = React.useContext(clientContext);
|
|
6
|
+
return React.useMemo(()=>{
|
|
7
|
+
if (client) {
|
|
8
|
+
return client;
|
|
9
|
+
}
|
|
10
|
+
return new QueryClient({
|
|
11
|
+
defaultOptions: {
|
|
12
|
+
queries: {
|
|
13
|
+
useErrorBoundary: false,
|
|
14
|
+
refetchOnWindowFocus: false,
|
|
15
|
+
refetchOnReconnect: true,
|
|
16
|
+
refetchOnMount: false,
|
|
17
|
+
staleTime: Infinity,
|
|
18
|
+
retry: false
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}, [
|
|
23
|
+
client
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
export const useQuery = (key, fn, opt)=>{
|
|
27
|
+
return useRQ(key, fn, {
|
|
28
|
+
...opt,
|
|
29
|
+
context: clientContext
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export function SharedQueryClientProvider({ children }) {
|
|
33
|
+
const client = useQueryClient();
|
|
34
|
+
return React.createElement(clientContext.Provider, {
|
|
35
|
+
value: client
|
|
36
|
+
}, children);
|
|
37
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -3,5 +3,6 @@ export { SingleEntryReferenceEditor, MultipleEntryReferenceEditor, WrappedEntryC
|
|
|
3
3
|
export { SingleMediaEditor, MultipleMediaEditor, WrappedAssetCard } from './assets';
|
|
4
4
|
export { SortableLinkList } from './common/SortableLinkList';
|
|
5
5
|
export { EntityProvider, useEntityLoader, useEntity, useResource } from './common/EntityStore';
|
|
6
|
+
export { SharedQueryClientProvider as EntityCacheProvider } from './common/queryClient';
|
|
6
7
|
export { SingleResourceReferenceEditor, MultipleResourceReferenceEditor } from './resources';
|
|
7
8
|
export * from './types';
|
|
@@ -54,7 +54,7 @@ declare const useEntityLoader: () => {
|
|
|
54
54
|
};
|
|
55
55
|
export declare function useEntity<E extends FetchableEntity>(entityType: FetchableEntityType, entityId: string, options?: UseEntityOptions): UseEntityResult<E>;
|
|
56
56
|
export declare function useResource(resourceType: ResourceType, urn: string, options?: UseResourceOptions): {
|
|
57
|
-
status: "
|
|
57
|
+
status: "error" | "success" | "loading";
|
|
58
58
|
data: ResourceInfo<Resource> | undefined;
|
|
59
59
|
error: unknown;
|
|
60
60
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { QueryClient, useQuery as useRQ } from '@tanstack/react-query';
|
|
3
|
+
export declare function useQueryClient(): QueryClient;
|
|
4
|
+
export declare const useQuery: typeof useRQ;
|
|
5
|
+
/**
|
|
6
|
+
* Provides access to a query client either by sharing an existing client or
|
|
7
|
+
* creating a new one.
|
|
8
|
+
*/
|
|
9
|
+
export declare function SharedQueryClientProvider({ children }: React.PropsWithChildren<{}>): React.JSX.Element;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type { CustomActionProps } from './common/ReferenceEditor';
|
|
|
5
5
|
export type { CustomEntityCardProps, DefaultCardRenderer, MissingEntityCardProps, RenderCustomMissingEntityCard, } from './common/customCardTypes';
|
|
6
6
|
export { SortableLinkList } from './common/SortableLinkList';
|
|
7
7
|
export { EntityProvider, useEntityLoader, useEntity, useResource } from './common/EntityStore';
|
|
8
|
+
export { SharedQueryClientProvider as EntityCacheProvider } from './common/queryClient';
|
|
8
9
|
export type { ResourceInfo } from './common/EntityStore';
|
|
9
10
|
export { SingleResourceReferenceEditor, MultipleResourceReferenceEditor } from './resources';
|
|
10
11
|
export * from './types';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/field-editor-reference",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.15.0",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"@contentful/app-sdk": "^4.2.0",
|
|
64
64
|
"react": ">=16.8.0"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "780d4eb1450f777c2d2396a86d0b1a10268b3c13"
|
|
67
67
|
}
|