@atlaskit/editor-synced-block-provider 2.15.1 → 2.15.3
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 +16 -0
- package/dist/cjs/clients/block-service/blockService.js +42 -1
- package/dist/cjs/providers/block-service/blockServiceAPI.js +62 -3
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +7 -0
- package/dist/cjs/providers/syncBlockProvider.js +5 -0
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +92 -0
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +27 -13
- package/dist/cjs/utils/errorHandling.js +4 -1
- package/dist/es2019/clients/block-service/blockService.js +19 -0
- package/dist/es2019/providers/block-service/blockServiceAPI.js +34 -1
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +5 -0
- package/dist/es2019/providers/syncBlockProvider.js +3 -0
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +59 -1
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +18 -4
- package/dist/es2019/utils/errorHandling.js +1 -0
- package/dist/esm/clients/block-service/blockService.js +41 -0
- package/dist/esm/providers/block-service/blockServiceAPI.js +63 -4
- package/dist/esm/providers/confluence/confluenceContentAPI.js +7 -0
- package/dist/esm/providers/syncBlockProvider.js +5 -0
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +93 -1
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +27 -12
- package/dist/esm/utils/errorHandling.js +3 -0
- package/dist/types/clients/block-service/blockService.d.ts +16 -4
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +3 -2
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +3 -2
- package/dist/types/providers/syncBlockProvider.d.ts +3 -2
- package/dist/types/providers/types.d.ts +13 -1
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +7 -0
- package/dist/types/store-manager/sourceSyncBlockStoreManager.d.ts +1 -1
- package/dist/types/utils/errorHandling.d.ts +1 -0
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +16 -4
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +3 -2
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +3 -2
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +3 -2
- package/dist/types-ts4.5/providers/types.d.ts +13 -1
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +7 -0
- package/dist/types-ts4.5/store-manager/sourceSyncBlockStoreManager.d.ts +1 -1
- package/dist/types-ts4.5/utils/errorHandling.d.ts +1 -0
- package/package.json +2 -3
|
@@ -15,6 +15,10 @@ export type BlockContentErrorResponse = {
|
|
|
15
15
|
code: string;
|
|
16
16
|
reason: string;
|
|
17
17
|
};
|
|
18
|
+
type ReferenceSyncedBlockResponse = {
|
|
19
|
+
blocks?: Array<BlockContentResponse>;
|
|
20
|
+
errors?: Array<BlockContentErrorResponse>;
|
|
21
|
+
};
|
|
18
22
|
export declare const isBlockContentResponse: (response: BlockContentResponse | BlockContentErrorResponse) => response is BlockContentResponse;
|
|
19
23
|
/**
|
|
20
24
|
* Retrieves all synced blocks referenced in a document.
|
|
@@ -58,10 +62,7 @@ export declare const isBlockContentResponse: (response: BlockContentResponse | B
|
|
|
58
62
|
* ```
|
|
59
63
|
* Check https://block-service.dev.atl-paas.net/ for latest API documentation.
|
|
60
64
|
*/
|
|
61
|
-
export declare const getReferenceSyncedBlocks: (documentAri: string) => Promise<
|
|
62
|
-
blocks?: Array<BlockContentResponse>;
|
|
63
|
-
errors?: Array<BlockContentErrorResponse>;
|
|
64
|
-
}>;
|
|
65
|
+
export declare const getReferenceSyncedBlocks: (documentAri: string) => Promise<ReferenceSyncedBlockResponse>;
|
|
65
66
|
export type GetSyncedBlockContentRequest = {
|
|
66
67
|
blockAri: string;
|
|
67
68
|
};
|
|
@@ -79,6 +80,15 @@ export type CreateSyncedBlockRequest = {
|
|
|
79
80
|
product: SyncBlockProduct;
|
|
80
81
|
sourceAri: string;
|
|
81
82
|
};
|
|
83
|
+
type ReferenceSyncedBlockIDs = {
|
|
84
|
+
blockAri: string;
|
|
85
|
+
blockInstanceId: string;
|
|
86
|
+
};
|
|
87
|
+
type UpdateReferenceSyncedBlockOnDocumentRequest = {
|
|
88
|
+
blocks: ReferenceSyncedBlockIDs[];
|
|
89
|
+
documentAri: string;
|
|
90
|
+
noContent?: boolean;
|
|
91
|
+
};
|
|
82
92
|
export declare class BlockError extends Error {
|
|
83
93
|
readonly status: number;
|
|
84
94
|
constructor(status: number);
|
|
@@ -87,3 +97,5 @@ export declare const getSyncedBlockContent: ({ blockAri, }: GetSyncedBlockConten
|
|
|
87
97
|
export declare const deleteSyncedBlock: ({ blockAri }: DeleteSyncedBlockRequest) => Promise<void>;
|
|
88
98
|
export declare const updateSyncedBlock: ({ blockAri, content, }: UpdateSyncedBlockRequest) => Promise<void>;
|
|
89
99
|
export declare const createSyncedBlock: ({ blockAri, blockInstanceId, sourceAri, product, content, }: CreateSyncedBlockRequest) => Promise<BlockContentResponse>;
|
|
100
|
+
export declare const updateReferenceSyncedBlockOnDocument: ({ documentAri, blocks, noContent, }: UpdateReferenceSyncedBlockOnDocumentRequest) => Promise<ReferenceSyncedBlockResponse | void>;
|
|
101
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SyncBlockError, type ResourceId, type SyncBlockData, type SyncBlockProduct } from '../../common/types';
|
|
2
|
-
import type { ADFFetchProvider, ADFWriteProvider, DeleteSyncBlockResult, SyncBlockInstance, WriteSyncBlockResult } from '../types';
|
|
1
|
+
import { SyncBlockError, type ResourceId, type SyncBlockAttrs, type SyncBlockData, type SyncBlockProduct } from '../../common/types';
|
|
2
|
+
import type { ADFFetchProvider, ADFWriteProvider, DeleteSyncBlockResult, SyncBlockInstance, UpdateReferenceSyncBlockResult, WriteSyncBlockResult } from '../types';
|
|
3
3
|
export declare const fetchReferences: (documentAri: string) => Promise<SyncBlockInstance[] | SyncBlockError>;
|
|
4
4
|
/**
|
|
5
5
|
* ADFFetchProvider implementation that fetches synced block data from Block Service API
|
|
@@ -22,6 +22,7 @@ declare class BlockServiceADFWriteProvider implements ADFWriteProvider {
|
|
|
22
22
|
deleteData(resourceId: string): Promise<DeleteSyncBlockResult>;
|
|
23
23
|
generateResourceIdForReference(sourceId: ResourceId): ResourceId;
|
|
24
24
|
generateResourceId(): ResourceId;
|
|
25
|
+
updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
25
26
|
}
|
|
26
27
|
export declare const useMemoizedBlockServiceAPIProviders: (sourceAri: string, product: SyncBlockProduct, sourceDocumentId: string) => {
|
|
27
28
|
fetchProvider: BlockServiceADFFetchProvider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ResourceId, type SyncBlockData, type SyncBlockProduct } from '../../common/types';
|
|
2
|
-
import type { ADFFetchProvider, ADFWriteProvider, DeleteSyncBlockResult, SyncBlockInstance, WriteSyncBlockResult } from '../types';
|
|
1
|
+
import { type ResourceId, type SyncBlockAttrs, type SyncBlockData, type SyncBlockProduct } from '../../common/types';
|
|
2
|
+
import type { ADFFetchProvider, ADFWriteProvider, DeleteSyncBlockResult, SyncBlockInstance, UpdateReferenceSyncBlockResult, WriteSyncBlockResult } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Configuration for Content API providers
|
|
5
5
|
*/
|
|
@@ -28,6 +28,7 @@ declare class ConfluenceADFWriteProvider implements ADFWriteProvider {
|
|
|
28
28
|
deleteData(resourceId: string): Promise<DeleteSyncBlockResult>;
|
|
29
29
|
generateResourceId(sourceId: string, localId: string): string;
|
|
30
30
|
generateResourceIdForReference(sourceId: ResourceId): ResourceId;
|
|
31
|
+
updateReferenceData(_blocks: SyncBlockAttrs[], _noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Convenience function to create providers with default content property key
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RendererSyncBlockEventPayload } from '@atlaskit/editor-common/analytics';
|
|
2
2
|
import type { JSONNode } from '@atlaskit/editor-json-transformer/types';
|
|
3
|
-
import { type BlockInstanceId, type ResourceId, type SyncBlockData, type SyncBlockNode, type SyncBlockProduct } from '../common/types';
|
|
4
|
-
import { SyncBlockDataProvider, type ADFFetchProvider, type ADFWriteProvider, type DeleteSyncBlockResult, type SyncBlockInstance, type SyncBlockParentInfo, type SyncBlockSourceInfo, type SyncedBlockRendererProviderOptions, type WriteSyncBlockResult } from '../providers/types';
|
|
3
|
+
import { type BlockInstanceId, type ResourceId, type SyncBlockAttrs, type SyncBlockData, type SyncBlockNode, type SyncBlockProduct } from '../common/types';
|
|
4
|
+
import { SyncBlockDataProvider, type ADFFetchProvider, type ADFWriteProvider, type DeleteSyncBlockResult, type SyncBlockInstance, type SyncBlockParentInfo, type SyncBlockSourceInfo, type SyncedBlockRendererProviderOptions, type UpdateReferenceSyncBlockResult, type WriteSyncBlockResult } from '../providers/types';
|
|
5
5
|
export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
6
6
|
name: string;
|
|
7
7
|
private fetchProvider;
|
|
@@ -94,5 +94,6 @@ export declare class SyncBlockProvider extends SyncBlockDataProvider {
|
|
|
94
94
|
* @returns The parent info for the sync block
|
|
95
95
|
*/
|
|
96
96
|
retrieveSyncBlockParentInfo(sourceAri: string, sourceProduct: SyncBlockProduct): SyncBlockParentInfo | undefined;
|
|
97
|
+
updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
97
98
|
}
|
|
98
99
|
export declare const useMemoizedSyncedBlockProvider: (fetchProvider: ADFFetchProvider, writeProvider: ADFWriteProvider, sourceId: string, providerOptions: SyncedBlockRendererProviderOptions, getSSRData?: () => Record<string, SyncBlockInstance> | undefined) => SyncBlockProvider;
|
|
@@ -4,7 +4,7 @@ import type { EmojiProvider } from '@atlaskit/emoji';
|
|
|
4
4
|
import type { MentionProvider } from '@atlaskit/mention/types';
|
|
5
5
|
import { NodeDataProvider } from '@atlaskit/node-data-provider';
|
|
6
6
|
import type { TaskDecisionProvider } from '@atlaskit/task-decision/types';
|
|
7
|
-
import type { SyncBlockData, ResourceId, SyncBlockError, SyncBlockNode, SyncBlockProduct, BlockInstanceId } from '../common/types';
|
|
7
|
+
import type { SyncBlockData, ResourceId, SyncBlockError, SyncBlockNode, SyncBlockProduct, BlockInstanceId, SyncBlockAttrs } from '../common/types';
|
|
8
8
|
/**
|
|
9
9
|
* The instance of a sync block, containing its data and metadata.
|
|
10
10
|
* Mainly used for representing the state of a sync block after fetching from a data provider.
|
|
@@ -39,15 +39,26 @@ export type SourceInfoFetchData = {
|
|
|
39
39
|
pageARI: string;
|
|
40
40
|
sourceLocalId?: string;
|
|
41
41
|
};
|
|
42
|
+
export type UpdateReferenceSyncBlockResult = {
|
|
43
|
+
error?: string;
|
|
44
|
+
success: boolean;
|
|
45
|
+
};
|
|
42
46
|
export interface ADFFetchProvider {
|
|
43
47
|
fetchData: (resourceId: ResourceId) => Promise<SyncBlockInstance>;
|
|
44
48
|
}
|
|
45
49
|
export interface ADFWriteProvider {
|
|
46
50
|
createData: (data: SyncBlockData) => Promise<WriteSyncBlockResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Delete source block.
|
|
53
|
+
* @param resourceId the resourceId of the block to be deleted
|
|
54
|
+
* @returns Object representing the result of the deletion. {resourceId: string, success: boolean, error?: string}.
|
|
55
|
+
* User should not be blocked by not_found error when deleting, so successful result should be returned for 404 error
|
|
56
|
+
*/
|
|
47
57
|
deleteData: (resourceId: ResourceId) => Promise<DeleteSyncBlockResult>;
|
|
48
58
|
generateResourceId: (sourceId: string, localId: string) => ResourceId;
|
|
49
59
|
generateResourceIdForReference: (sourceId: ResourceId) => ResourceId;
|
|
50
60
|
product: SyncBlockProduct;
|
|
61
|
+
updateReferenceData: (blocks: SyncBlockAttrs[], noContent?: boolean) => Promise<UpdateReferenceSyncBlockResult>;
|
|
51
62
|
writeData: (data: SyncBlockData) => Promise<WriteSyncBlockResult>;
|
|
52
63
|
}
|
|
53
64
|
export type MediaEmojiProviderOptions = {
|
|
@@ -84,6 +95,7 @@ export declare abstract class SyncBlockDataProvider extends NodeDataProvider<Syn
|
|
|
84
95
|
*/
|
|
85
96
|
abstract generateResourceId(sourceId: ResourceId, localId: BlockInstanceId): ResourceId;
|
|
86
97
|
abstract generateResourceIdForReference(sourceId: ResourceId): ResourceId;
|
|
98
|
+
abstract updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
|
|
87
99
|
}
|
|
88
100
|
export type SubscriptionCallback = (data: SyncBlockInstance) => void;
|
|
89
101
|
export type TitleSubscriptionCallback = (title: string) => void;
|
|
@@ -6,6 +6,7 @@ import type { SyncBlockInstance, SubscriptionCallback, SyncBlockDataProvider, Ti
|
|
|
6
6
|
export declare class ReferenceSyncBlockStoreManager {
|
|
7
7
|
private dataProvider?;
|
|
8
8
|
private syncBlockCache;
|
|
9
|
+
private isCacheDirty;
|
|
9
10
|
private subscriptions;
|
|
10
11
|
private titleSubscriptions;
|
|
11
12
|
private providerFactories;
|
|
@@ -44,5 +45,11 @@ export declare class ReferenceSyncBlockStoreManager {
|
|
|
44
45
|
getSyncBlockURL(resourceId: ResourceId): string | undefined;
|
|
45
46
|
getProviderFactory(resourceId: ResourceId): ProviderFactory | undefined;
|
|
46
47
|
private retrieveDynamicProviders;
|
|
48
|
+
/**
|
|
49
|
+
* Update reference synced blocks on the document with the BE
|
|
50
|
+
*
|
|
51
|
+
* @returns true if the reference synced blocks are updated successfully, false otherwise
|
|
52
|
+
*/
|
|
53
|
+
flush(): Promise<boolean>;
|
|
47
54
|
destroy(): void;
|
|
48
55
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SyncBlockEventPayload } from '@atlaskit/editor-common/analytics';
|
|
2
2
|
import { type Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
3
|
-
import type
|
|
3
|
+
import { type ResourceId, type SyncBlockAttrs } from '../common/types';
|
|
4
4
|
import type { SyncBlockDataProvider } from '../providers/types';
|
|
5
5
|
export type ConfirmationCallback = (syncBlockCount: number) => Promise<boolean>;
|
|
6
6
|
type OnDelete = () => void;
|
|
@@ -6,6 +6,7 @@ export declare const getErrorPayload: <T extends ACTION_SUBJECT_ID>(actionSubjec
|
|
|
6
6
|
export declare const fetchErrorPayload: (error: string) => RendererSyncBlockEventPayload;
|
|
7
7
|
export declare const getSourceInfoErrorPayload: (error: string) => RendererSyncBlockEventPayload;
|
|
8
8
|
export declare const updateErrorPayload: (error: string) => SyncBlockEventPayload;
|
|
9
|
+
export declare const updateReferenceErrorPayload: (error: string) => RendererSyncBlockEventPayload;
|
|
9
10
|
export declare const createErrorPayload: (error: string) => SyncBlockEventPayload;
|
|
10
11
|
export declare const deleteErrorPayload: (error: string) => SyncBlockEventPayload;
|
|
11
12
|
export declare const updateCacheErrorPayload: (error: string) => SyncBlockEventPayload;
|
package/package.json
CHANGED
|
@@ -24,10 +24,9 @@
|
|
|
24
24
|
],
|
|
25
25
|
"atlaskit:src": "src/index.ts",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@atlaskit/adf-schema": "^51.5.1",
|
|
28
27
|
"@atlaskit/adf-utils": "^19.26.0",
|
|
29
28
|
"@atlaskit/editor-json-transformer": "^8.31.0",
|
|
30
|
-
"@atlaskit/editor-prosemirror": "7.
|
|
29
|
+
"@atlaskit/editor-prosemirror": "^7.2.0",
|
|
31
30
|
"@atlaskit/node-data-provider": "^7.5.0",
|
|
32
31
|
"@babel/runtime": "^7.0.0",
|
|
33
32
|
"@compiled/react": "^0.18.6",
|
|
@@ -77,7 +76,7 @@
|
|
|
77
76
|
}
|
|
78
77
|
},
|
|
79
78
|
"name": "@atlaskit/editor-synced-block-provider",
|
|
80
|
-
"version": "2.15.
|
|
79
|
+
"version": "2.15.3",
|
|
81
80
|
"description": "Synced Block Provider for @atlaskit/editor-plugin-synced-block",
|
|
82
81
|
"author": "Atlassian Pty Ltd",
|
|
83
82
|
"license": "Apache-2.0",
|