@atlaskit/editor-synced-block-renderer 5.7.0 → 5.7.1

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
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-synced-block-renderer
2
2
 
3
+ ## 5.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`764672ccc7992`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/764672ccc7992) -
8
+ EDITOR-4049 Add support for prefetching of synced blocks data to synced block provider.
9
+ - Updated dependencies
10
+
3
11
  ## 5.7.0
4
12
 
5
13
  ### Minor Changes
@@ -27,7 +27,8 @@ var useMemoizedSyncedBlockNodeComponent = exports.useMemoizedSyncedBlockNodeComp
27
27
  syncBlockProvider = _ref.syncBlockProvider,
28
28
  syncBlockRendererOptions = _ref.syncBlockRendererOptions,
29
29
  fireAnalyticsEvent = _ref.fireAnalyticsEvent,
30
- getSSRData = _ref.getSSRData;
30
+ getSSRData = _ref.getSSRData,
31
+ getPrefetchedData = _ref.getPrefetchedData;
31
32
  var syncBlockStoreManager = (0, _editorSyncedBlockProvider.useMemoizedSyncBlockStoreManager)(syncBlockProvider, fireAnalyticsEvent);
32
33
 
33
34
  // Initialize SSR data if available
@@ -40,7 +41,16 @@ var useMemoizedSyncedBlockNodeComponent = exports.useMemoizedSyncedBlockNodeComp
40
41
  }
41
42
  }, [getSSRData, syncBlockProvider]);
42
43
 
43
- // Initial fetch sync block data (will use SSR data as initial cache if available)
44
+ // Process prefetched data next, if available
45
+ (0, _react.useEffect)(function () {
46
+ var prefetchedData;
47
+ if (getPrefetchedData) {
48
+ prefetchedData = getPrefetchedData();
49
+ syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
50
+ }
51
+ }, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
52
+
53
+ // Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
44
54
  (0, _react.useEffect)(function () {
45
55
  syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
46
56
  }, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
@@ -17,7 +17,8 @@ export const useMemoizedSyncedBlockNodeComponent = ({
17
17
  syncBlockProvider,
18
18
  syncBlockRendererOptions,
19
19
  fireAnalyticsEvent,
20
- getSSRData
20
+ getSSRData,
21
+ getPrefetchedData
21
22
  }) => {
22
23
  const syncBlockStoreManager = useMemoizedSyncBlockStoreManager(syncBlockProvider, fireAnalyticsEvent);
23
24
 
@@ -31,7 +32,16 @@ export const useMemoizedSyncedBlockNodeComponent = ({
31
32
  }
32
33
  }, [getSSRData, syncBlockProvider]);
33
34
 
34
- // Initial fetch sync block data (will use SSR data as initial cache if available)
35
+ // Process prefetched data next, if available
36
+ useEffect(() => {
37
+ let prefetchedData;
38
+ if (getPrefetchedData) {
39
+ prefetchedData = getPrefetchedData();
40
+ syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
41
+ }
42
+ }, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
43
+
44
+ // Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
35
45
  useEffect(() => {
36
46
  syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
37
47
  }, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
@@ -19,7 +19,8 @@ export var useMemoizedSyncedBlockNodeComponent = function useMemoizedSyncedBlock
19
19
  syncBlockProvider = _ref.syncBlockProvider,
20
20
  syncBlockRendererOptions = _ref.syncBlockRendererOptions,
21
21
  fireAnalyticsEvent = _ref.fireAnalyticsEvent,
22
- getSSRData = _ref.getSSRData;
22
+ getSSRData = _ref.getSSRData,
23
+ getPrefetchedData = _ref.getPrefetchedData;
23
24
  var syncBlockStoreManager = useMemoizedSyncBlockStoreManager(syncBlockProvider, fireAnalyticsEvent);
24
25
 
25
26
  // Initialize SSR data if available
@@ -32,7 +33,16 @@ export var useMemoizedSyncedBlockNodeComponent = function useMemoizedSyncedBlock
32
33
  }
33
34
  }, [getSSRData, syncBlockProvider]);
34
35
 
35
- // Initial fetch sync block data (will use SSR data as initial cache if available)
36
+ // Process prefetched data next, if available
37
+ useEffect(function () {
38
+ var prefetchedData;
39
+ if (getPrefetchedData) {
40
+ prefetchedData = getPrefetchedData();
41
+ syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
42
+ }
43
+ }, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
44
+
45
+ // Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
36
46
  useEffect(function () {
37
47
  syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
38
48
  }, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
@@ -1,16 +1,16 @@
1
1
  import React from 'react';
2
2
  import type { DocNode } from '@atlaskit/adf-schema';
3
3
  import { type AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
4
- import { type SyncBlockInstance, type SyncBlockNode } from '@atlaskit/editor-synced-block-provider';
5
- import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
4
+ import { type SyncBlockInstance, type SyncBlockNode, type SyncedBlockProvider, type SyncBlockPrefetchData } from '@atlaskit/editor-synced-block-provider';
6
5
  import type { SyncedBlockRendererOptions } from './types';
7
6
  import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
8
7
  export type GetSyncedBlockNodeComponentProps = {
9
8
  fireAnalyticsEvent?: (payload: AnalyticsEventPayload) => void;
9
+ getPrefetchedData?: () => SyncBlockPrefetchData | undefined;
10
10
  getSSRData?: () => Record<string, SyncBlockInstance> | undefined;
11
11
  syncBlockNodes: SyncBlockNode[];
12
12
  syncBlockProvider: SyncedBlockProvider;
13
13
  syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
14
14
  };
15
15
  export declare const getSyncBlockNodesFromDoc: (doc: DocNode) => SyncBlockNode[];
16
- export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
16
+ export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, getPrefetchedData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
@@ -1,16 +1,16 @@
1
1
  import React from 'react';
2
2
  import type { DocNode } from '@atlaskit/adf-schema';
3
3
  import { type AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
4
- import { type SyncBlockInstance, type SyncBlockNode } from '@atlaskit/editor-synced-block-provider';
5
- import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
4
+ import { type SyncBlockInstance, type SyncBlockNode, type SyncedBlockProvider, type SyncBlockPrefetchData } from '@atlaskit/editor-synced-block-provider';
6
5
  import type { SyncedBlockRendererOptions } from './types';
7
6
  import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
8
7
  export type GetSyncedBlockNodeComponentProps = {
9
8
  fireAnalyticsEvent?: (payload: AnalyticsEventPayload) => void;
9
+ getPrefetchedData?: () => SyncBlockPrefetchData | undefined;
10
10
  getSSRData?: () => Record<string, SyncBlockInstance> | undefined;
11
11
  syncBlockNodes: SyncBlockNode[];
12
12
  syncBlockProvider: SyncedBlockProvider;
13
13
  syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
14
14
  };
15
15
  export declare const getSyncBlockNodesFromDoc: (doc: DocNode) => SyncBlockNode[];
16
- export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
16
+ export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, getPrefetchedData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-synced-block-renderer",
3
- "version": "5.7.0",
3
+ "version": "5.7.1",
4
4
  "description": "SyncedBlockRenderer for @atlaskit/editor-plugin-synced-block",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -48,7 +48,7 @@
48
48
  "relay-runtime": "npm:atl-relay-runtime@0.0.0-main-39e79f66"
49
49
  },
50
50
  "peerDependencies": {
51
- "@atlaskit/editor-common": "^111.11.0",
51
+ "@atlaskit/editor-common": "^111.12.0",
52
52
  "react": "^18.2.0",
53
53
  "react-intl-next": "npm:react-intl@^5.18.1"
54
54
  },