@atlaskit/editor-synced-block-provider 3.2.1 → 3.3.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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/editor-synced-block-provider
2
2
 
3
+ ## 3.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`bf49041938d1a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/bf49041938d1a) -
8
+ EDITOR-2257 editor synced blocks ssr part 1
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies
13
+
14
+ ## 3.2.2
15
+
16
+ ### Patch Changes
17
+
18
+ - [`d1a28b3f74e5e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d1a28b3f74e5e) -
19
+ EDITOR-3594 Add creator Synced Block helpers for Jira Renderer
20
+
3
21
  ## 3.2.1
4
22
 
5
23
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -39,6 +39,30 @@ Object.defineProperty(exports, "convertSyncBlockPMNodeToSyncBlockData", {
39
39
  return _utils.convertSyncBlockPMNodeToSyncBlockData;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "createAndInitializeSyncBlockStoreManager", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _syncBlockStoreManager.createAndInitializeSyncBlockStoreManager;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "createAndInitializeSyncedBlockProvider", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _syncBlockProvider.createAndInitializeSyncedBlockProvider;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "createBlockServiceAPIProviders", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _blockServiceAPI.createBlockServiceAPIProviders;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "createBlockServiceFetchOnlyAPIProvider", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _blockServiceAPI.createBlockServiceFetchOnlyAPIProvider;
64
+ }
65
+ });
42
66
  Object.defineProperty(exports, "createSyncBlockNode", {
43
67
  enumerable: true,
44
68
  get: function get() {
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useMemoizedBlockServiceFetchOnlyAPIProvider = exports.useMemoizedBlockServiceAPIProviders = exports.fetchReferences = void 0;
7
+ exports.useMemoizedBlockServiceFetchOnlyAPIProvider = exports.useMemoizedBlockServiceAPIProviders = exports.fetchReferences = exports.createBlockServiceFetchOnlyAPIProvider = exports.createBlockServiceAPIProviders = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -46,10 +46,22 @@ var mapBlockError = function mapBlockError(error) {
46
46
  // - sourceTitle
47
47
  // - isSynced
48
48
  var convertToSyncBlockData = function convertToSyncBlockData(data) {
49
+ var createdAt;
50
+ if (data.createdAt) {
51
+ try {
52
+ // BE returns microseconds, convert to milliseconds
53
+ // BE should fix this in the future
54
+ createdAt = new Date(data.createdAt / 1000).toISOString();
55
+ } catch (e) {
56
+ // fallback to undefined
57
+ // as we don't want to block the whole process due to invalid date
58
+ createdAt = undefined;
59
+ }
60
+ }
49
61
  return {
50
62
  blockInstanceId: data.blockInstanceId,
51
63
  content: JSON.parse(data.content),
52
- createdAt: new Date(data.createdAt).toISOString(),
64
+ createdAt: createdAt,
53
65
  createdBy: data.createdBy,
54
66
  product: data.product,
55
67
  resourceId: data.blockAri,
@@ -454,35 +466,55 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
454
466
  }()
455
467
  }]);
456
468
  }();
457
- var useMemoizedBlockServiceAPIProviders = exports.useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(_ref5) {
469
+ var createBlockServiceAPIProviders = exports.createBlockServiceAPIProviders = function createBlockServiceAPIProviders(_ref5) {
458
470
  var cloudId = _ref5.cloudId,
459
471
  parentAri = _ref5.parentAri,
460
472
  parentId = _ref5.parentId,
461
473
  product = _ref5.product,
462
474
  getVersion = _ref5.getVersion;
475
+ return {
476
+ fetchProvider: new BlockServiceADFFetchProvider({
477
+ cloudId: cloudId
478
+ }),
479
+ writeProvider: new BlockServiceADFWriteProvider({
480
+ cloudId: cloudId,
481
+ parentAri: parentAri,
482
+ parentId: parentId,
483
+ product: product,
484
+ getVersion: getVersion
485
+ })
486
+ };
487
+ };
488
+ var useMemoizedBlockServiceAPIProviders = exports.useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(_ref6) {
489
+ var cloudId = _ref6.cloudId,
490
+ parentAri = _ref6.parentAri,
491
+ parentId = _ref6.parentId,
492
+ product = _ref6.product,
493
+ getVersion = _ref6.getVersion;
463
494
  return (0, _react.useMemo)(function () {
464
- return {
465
- fetchProvider: new BlockServiceADFFetchProvider({
466
- cloudId: cloudId
467
- }),
468
- writeProvider: new BlockServiceADFWriteProvider({
469
- cloudId: cloudId,
470
- parentAri: parentAri,
471
- parentId: parentId,
472
- product: product,
473
- getVersion: getVersion
474
- })
475
- };
495
+ return createBlockServiceAPIProviders({
496
+ cloudId: cloudId,
497
+ parentAri: parentAri,
498
+ parentId: parentId,
499
+ product: product,
500
+ getVersion: getVersion
501
+ });
476
502
  }, [cloudId, parentAri, parentId, product, getVersion]);
477
503
  };
478
- var useMemoizedBlockServiceFetchOnlyAPIProvider = exports.useMemoizedBlockServiceFetchOnlyAPIProvider = function useMemoizedBlockServiceFetchOnlyAPIProvider(_ref6) {
479
- var cloudId = _ref6.cloudId;
504
+ var createBlockServiceFetchOnlyAPIProvider = exports.createBlockServiceFetchOnlyAPIProvider = function createBlockServiceFetchOnlyAPIProvider(_ref7) {
505
+ var cloudId = _ref7.cloudId;
506
+ return {
507
+ fetchProvider: new BlockServiceADFFetchProvider({
508
+ cloudId: cloudId
509
+ }),
510
+ writeProvider: undefined
511
+ };
512
+ };
513
+ var useMemoizedBlockServiceFetchOnlyAPIProvider = exports.useMemoizedBlockServiceFetchOnlyAPIProvider = function useMemoizedBlockServiceFetchOnlyAPIProvider(_ref8) {
514
+ var cloudId = _ref8.cloudId;
480
515
  return (0, _react.useMemo)(function () {
481
- return {
482
- fetchProvider: new BlockServiceADFFetchProvider({
483
- cloudId: cloudId
484
- }),
485
- writeProvider: undefined
486
- };
516
+ return createBlockServiceFetchOnlyAPIProvider({
517
+ cloudId: cloudId
518
+ });
487
519
  }, [cloudId]);
488
520
  };
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useMemoizedSyncedBlockProvider = exports.SyncBlockProvider = void 0;
7
+ exports.useMemoizedSyncedBlockProvider = exports.createAndInitializeSyncedBlockProvider = exports.SyncBlockProvider = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -323,13 +323,37 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
323
323
  }
324
324
  }]);
325
325
  }(_types2.SyncBlockDataProvider);
326
- var useMemoizedSyncedBlockProvider = exports.useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref) {
326
+ var createSyncedBlockProvider = function createSyncedBlockProvider(_ref) {
327
327
  var fetchProvider = _ref.fetchProvider,
328
- writeProvider = _ref.writeProvider,
329
- providerOptions = _ref.providerOptions,
330
- getSSRData = _ref.getSSRData;
328
+ writeProvider = _ref.writeProvider;
329
+ return new SyncBlockProvider(fetchProvider, writeProvider);
330
+ };
331
+ var createAndInitializeSyncedBlockProvider = exports.createAndInitializeSyncedBlockProvider = function createAndInitializeSyncedBlockProvider(_ref2) {
332
+ var fetchProvider = _ref2.fetchProvider,
333
+ writeProvider = _ref2.writeProvider,
334
+ providerOptions = _ref2.providerOptions,
335
+ getSSRData = _ref2.getSSRData;
336
+ var syncBlockProvider = createSyncedBlockProvider({
337
+ fetchProvider: fetchProvider,
338
+ writeProvider: writeProvider
339
+ });
340
+ syncBlockProvider.setProviderOptions(providerOptions);
341
+ var ssrData = getSSRData ? getSSRData() : undefined;
342
+ if (ssrData) {
343
+ syncBlockProvider.setSSRData(ssrData);
344
+ }
345
+ return syncBlockProvider;
346
+ };
347
+ var useMemoizedSyncedBlockProvider = exports.useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref3) {
348
+ var fetchProvider = _ref3.fetchProvider,
349
+ writeProvider = _ref3.writeProvider,
350
+ providerOptions = _ref3.providerOptions,
351
+ getSSRData = _ref3.getSSRData;
331
352
  var syncBlockProvider = (0, _react.useMemo)(function () {
332
- return new SyncBlockProvider(fetchProvider, writeProvider);
353
+ return createSyncedBlockProvider({
354
+ fetchProvider: fetchProvider,
355
+ writeProvider: writeProvider
356
+ });
333
357
  }, [fetchProvider, writeProvider]);
334
358
  syncBlockProvider.setProviderOptions(providerOptions);
335
359
  var ssrData = getSSRData ? getSSRData() : undefined;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useMemoizedSyncBlockStoreManager = exports.SyncBlockStoreManager = void 0;
7
+ exports.useMemoizedSyncBlockStoreManager = exports.createAndInitializeSyncBlockStoreManager = exports.SyncBlockStoreManager = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
10
  var _react = require("react");
@@ -47,9 +47,19 @@ var SyncBlockStoreManager = exports.SyncBlockStoreManager = /*#__PURE__*/functio
47
47
  }
48
48
  }]);
49
49
  }();
50
+ var createSyncBlockStoreManager = function createSyncBlockStoreManager(dataProvider) {
51
+ return new SyncBlockStoreManager(dataProvider);
52
+ };
53
+ var createAndInitializeSyncBlockStoreManager = exports.createAndInitializeSyncBlockStoreManager = function createAndInitializeSyncBlockStoreManager(_ref) {
54
+ var dataProvider = _ref.dataProvider,
55
+ fireAnalyticsEvent = _ref.fireAnalyticsEvent;
56
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
57
+ syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
58
+ return syncBlockStoreManager;
59
+ };
50
60
  var useMemoizedSyncBlockStoreManager = exports.useMemoizedSyncBlockStoreManager = function useMemoizedSyncBlockStoreManager(dataProvider, fireAnalyticsEvent) {
51
61
  var syncBlockStoreManager = (0, _react.useMemo)(function () {
52
- var syncBlockStoreManager = new SyncBlockStoreManager(dataProvider);
62
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
53
63
  return syncBlockStoreManager;
54
64
  }, [dataProvider]);
55
65
  syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
@@ -14,13 +14,13 @@ export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri } from './c
14
14
  export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
15
15
 
16
16
  // providers
17
- export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
17
+ export { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
18
18
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
19
- export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
19
+ export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
20
20
 
21
21
  // store managers
22
22
 
23
- export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
23
+ export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
24
24
 
25
25
  // utils
26
26
  export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
@@ -33,10 +33,22 @@ const mapBlockError = error => {
33
33
  // - sourceTitle
34
34
  // - isSynced
35
35
  const convertToSyncBlockData = data => {
36
+ let createdAt;
37
+ if (data.createdAt) {
38
+ try {
39
+ // BE returns microseconds, convert to milliseconds
40
+ // BE should fix this in the future
41
+ createdAt = new Date(data.createdAt / 1000).toISOString();
42
+ } catch (e) {
43
+ // fallback to undefined
44
+ // as we don't want to block the whole process due to invalid date
45
+ createdAt = undefined;
46
+ }
47
+ }
36
48
  return {
37
49
  blockInstanceId: data.blockInstanceId,
38
50
  content: JSON.parse(data.content),
39
- createdAt: new Date(data.createdAt).toISOString(),
51
+ createdAt,
40
52
  createdBy: data.createdBy,
41
53
  product: data.product,
42
54
  resourceId: data.blockAri,
@@ -301,6 +313,26 @@ class BlockServiceADFWriteProvider {
301
313
  }
302
314
  }
303
315
  }
316
+ export const createBlockServiceAPIProviders = ({
317
+ cloudId,
318
+ parentAri,
319
+ parentId,
320
+ product,
321
+ getVersion
322
+ }) => {
323
+ return {
324
+ fetchProvider: new BlockServiceADFFetchProvider({
325
+ cloudId
326
+ }),
327
+ writeProvider: new BlockServiceADFWriteProvider({
328
+ cloudId,
329
+ parentAri,
330
+ parentId,
331
+ product,
332
+ getVersion
333
+ })
334
+ };
335
+ };
304
336
  export const useMemoizedBlockServiceAPIProviders = ({
305
337
  cloudId,
306
338
  parentAri,
@@ -309,29 +341,27 @@ export const useMemoizedBlockServiceAPIProviders = ({
309
341
  getVersion
310
342
  }) => {
311
343
  return useMemo(() => {
312
- return {
313
- fetchProvider: new BlockServiceADFFetchProvider({
314
- cloudId
315
- }),
316
- writeProvider: new BlockServiceADFWriteProvider({
317
- cloudId,
318
- parentAri,
319
- parentId,
320
- product,
321
- getVersion
322
- })
323
- };
344
+ return createBlockServiceAPIProviders({
345
+ cloudId,
346
+ parentAri,
347
+ parentId,
348
+ product,
349
+ getVersion
350
+ });
324
351
  }, [cloudId, parentAri, parentId, product, getVersion]);
325
352
  };
326
- export const useMemoizedBlockServiceFetchOnlyAPIProvider = ({
353
+ export const createBlockServiceFetchOnlyAPIProvider = ({
327
354
  cloudId
328
355
  }) => {
329
- return useMemo(() => {
330
- return {
331
- fetchProvider: new BlockServiceADFFetchProvider({
332
- cloudId
333
- }),
334
- writeProvider: undefined
335
- };
336
- }, [cloudId]);
337
- };
356
+ return {
357
+ fetchProvider: new BlockServiceADFFetchProvider({
358
+ cloudId
359
+ }),
360
+ writeProvider: undefined
361
+ };
362
+ };
363
+ export const useMemoizedBlockServiceFetchOnlyAPIProvider = ({
364
+ cloudId
365
+ }) => useMemo(() => createBlockServiceFetchOnlyAPIProvider({
366
+ cloudId
367
+ }), [cloudId]);
@@ -222,13 +222,39 @@ export class SyncBlockProvider extends SyncBlockDataProvider {
222
222
  return this.writeProvider.updateReferenceData(blocks, noContent);
223
223
  }
224
224
  }
225
+ const createSyncedBlockProvider = ({
226
+ fetchProvider,
227
+ writeProvider
228
+ }) => {
229
+ return new SyncBlockProvider(fetchProvider, writeProvider);
230
+ };
231
+ export const createAndInitializeSyncedBlockProvider = ({
232
+ fetchProvider,
233
+ writeProvider,
234
+ providerOptions,
235
+ getSSRData
236
+ }) => {
237
+ const syncBlockProvider = createSyncedBlockProvider({
238
+ fetchProvider,
239
+ writeProvider
240
+ });
241
+ syncBlockProvider.setProviderOptions(providerOptions);
242
+ const ssrData = getSSRData ? getSSRData() : undefined;
243
+ if (ssrData) {
244
+ syncBlockProvider.setSSRData(ssrData);
245
+ }
246
+ return syncBlockProvider;
247
+ };
225
248
  export const useMemoizedSyncedBlockProvider = ({
226
249
  fetchProvider,
227
250
  writeProvider,
228
251
  providerOptions,
229
252
  getSSRData
230
253
  }) => {
231
- const syncBlockProvider = useMemo(() => new SyncBlockProvider(fetchProvider, writeProvider), [fetchProvider, writeProvider]);
254
+ const syncBlockProvider = useMemo(() => createSyncedBlockProvider({
255
+ fetchProvider,
256
+ writeProvider
257
+ }), [fetchProvider, writeProvider]);
232
258
  syncBlockProvider.setProviderOptions(providerOptions);
233
259
  const ssrData = getSSRData ? getSSRData() : undefined;
234
260
  if (ssrData) {
@@ -29,9 +29,20 @@ export class SyncBlockStoreManager {
29
29
  this.sourceSyncBlockStoreManager.destroy();
30
30
  }
31
31
  }
32
+ const createSyncBlockStoreManager = dataProvider => {
33
+ return new SyncBlockStoreManager(dataProvider);
34
+ };
35
+ export const createAndInitializeSyncBlockStoreManager = ({
36
+ dataProvider,
37
+ fireAnalyticsEvent
38
+ }) => {
39
+ const syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
40
+ syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
41
+ return syncBlockStoreManager;
42
+ };
32
43
  export const useMemoizedSyncBlockStoreManager = (dataProvider, fireAnalyticsEvent) => {
33
44
  const syncBlockStoreManager = useMemo(() => {
34
- const syncBlockStoreManager = new SyncBlockStoreManager(dataProvider);
45
+ const syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
35
46
  return syncBlockStoreManager;
36
47
  }, [dataProvider]);
37
48
  syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
package/dist/esm/index.js CHANGED
@@ -14,13 +14,13 @@ export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri } from './c
14
14
  export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
15
15
 
16
16
  // providers
17
- export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
17
+ export { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
18
18
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
19
- export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
19
+ export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
20
20
 
21
21
  // store managers
22
22
 
23
- export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
23
+ export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
24
24
 
25
25
  // utils
26
26
  export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
@@ -38,10 +38,22 @@ var mapBlockError = function mapBlockError(error) {
38
38
  // - sourceTitle
39
39
  // - isSynced
40
40
  var convertToSyncBlockData = function convertToSyncBlockData(data) {
41
+ var createdAt;
42
+ if (data.createdAt) {
43
+ try {
44
+ // BE returns microseconds, convert to milliseconds
45
+ // BE should fix this in the future
46
+ createdAt = new Date(data.createdAt / 1000).toISOString();
47
+ } catch (e) {
48
+ // fallback to undefined
49
+ // as we don't want to block the whole process due to invalid date
50
+ createdAt = undefined;
51
+ }
52
+ }
41
53
  return {
42
54
  blockInstanceId: data.blockInstanceId,
43
55
  content: JSON.parse(data.content),
44
- createdAt: new Date(data.createdAt).toISOString(),
56
+ createdAt: createdAt,
45
57
  createdBy: data.createdBy,
46
58
  product: data.product,
47
59
  resourceId: data.blockAri,
@@ -446,35 +458,55 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
446
458
  }()
447
459
  }]);
448
460
  }();
449
- export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(_ref5) {
461
+ export var createBlockServiceAPIProviders = function createBlockServiceAPIProviders(_ref5) {
450
462
  var cloudId = _ref5.cloudId,
451
463
  parentAri = _ref5.parentAri,
452
464
  parentId = _ref5.parentId,
453
465
  product = _ref5.product,
454
466
  getVersion = _ref5.getVersion;
467
+ return {
468
+ fetchProvider: new BlockServiceADFFetchProvider({
469
+ cloudId: cloudId
470
+ }),
471
+ writeProvider: new BlockServiceADFWriteProvider({
472
+ cloudId: cloudId,
473
+ parentAri: parentAri,
474
+ parentId: parentId,
475
+ product: product,
476
+ getVersion: getVersion
477
+ })
478
+ };
479
+ };
480
+ export var useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(_ref6) {
481
+ var cloudId = _ref6.cloudId,
482
+ parentAri = _ref6.parentAri,
483
+ parentId = _ref6.parentId,
484
+ product = _ref6.product,
485
+ getVersion = _ref6.getVersion;
455
486
  return useMemo(function () {
456
- return {
457
- fetchProvider: new BlockServiceADFFetchProvider({
458
- cloudId: cloudId
459
- }),
460
- writeProvider: new BlockServiceADFWriteProvider({
461
- cloudId: cloudId,
462
- parentAri: parentAri,
463
- parentId: parentId,
464
- product: product,
465
- getVersion: getVersion
466
- })
467
- };
487
+ return createBlockServiceAPIProviders({
488
+ cloudId: cloudId,
489
+ parentAri: parentAri,
490
+ parentId: parentId,
491
+ product: product,
492
+ getVersion: getVersion
493
+ });
468
494
  }, [cloudId, parentAri, parentId, product, getVersion]);
469
495
  };
470
- export var useMemoizedBlockServiceFetchOnlyAPIProvider = function useMemoizedBlockServiceFetchOnlyAPIProvider(_ref6) {
471
- var cloudId = _ref6.cloudId;
496
+ export var createBlockServiceFetchOnlyAPIProvider = function createBlockServiceFetchOnlyAPIProvider(_ref7) {
497
+ var cloudId = _ref7.cloudId;
498
+ return {
499
+ fetchProvider: new BlockServiceADFFetchProvider({
500
+ cloudId: cloudId
501
+ }),
502
+ writeProvider: undefined
503
+ };
504
+ };
505
+ export var useMemoizedBlockServiceFetchOnlyAPIProvider = function useMemoizedBlockServiceFetchOnlyAPIProvider(_ref8) {
506
+ var cloudId = _ref8.cloudId;
472
507
  return useMemo(function () {
473
- return {
474
- fetchProvider: new BlockServiceADFFetchProvider({
475
- cloudId: cloudId
476
- }),
477
- writeProvider: undefined
478
- };
508
+ return createBlockServiceFetchOnlyAPIProvider({
509
+ cloudId: cloudId
510
+ });
479
511
  }, [cloudId]);
480
512
  };
@@ -316,13 +316,37 @@ export var SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
316
316
  }
317
317
  }]);
318
318
  }(SyncBlockDataProvider);
319
- export var useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref) {
319
+ var createSyncedBlockProvider = function createSyncedBlockProvider(_ref) {
320
320
  var fetchProvider = _ref.fetchProvider,
321
- writeProvider = _ref.writeProvider,
322
- providerOptions = _ref.providerOptions,
323
- getSSRData = _ref.getSSRData;
321
+ writeProvider = _ref.writeProvider;
322
+ return new SyncBlockProvider(fetchProvider, writeProvider);
323
+ };
324
+ export var createAndInitializeSyncedBlockProvider = function createAndInitializeSyncedBlockProvider(_ref2) {
325
+ var fetchProvider = _ref2.fetchProvider,
326
+ writeProvider = _ref2.writeProvider,
327
+ providerOptions = _ref2.providerOptions,
328
+ getSSRData = _ref2.getSSRData;
329
+ var syncBlockProvider = createSyncedBlockProvider({
330
+ fetchProvider: fetchProvider,
331
+ writeProvider: writeProvider
332
+ });
333
+ syncBlockProvider.setProviderOptions(providerOptions);
334
+ var ssrData = getSSRData ? getSSRData() : undefined;
335
+ if (ssrData) {
336
+ syncBlockProvider.setSSRData(ssrData);
337
+ }
338
+ return syncBlockProvider;
339
+ };
340
+ export var useMemoizedSyncedBlockProvider = function useMemoizedSyncedBlockProvider(_ref3) {
341
+ var fetchProvider = _ref3.fetchProvider,
342
+ writeProvider = _ref3.writeProvider,
343
+ providerOptions = _ref3.providerOptions,
344
+ getSSRData = _ref3.getSSRData;
324
345
  var syncBlockProvider = useMemo(function () {
325
- return new SyncBlockProvider(fetchProvider, writeProvider);
346
+ return createSyncedBlockProvider({
347
+ fetchProvider: fetchProvider,
348
+ writeProvider: writeProvider
349
+ });
326
350
  }, [fetchProvider, writeProvider]);
327
351
  syncBlockProvider.setProviderOptions(providerOptions);
328
352
  var ssrData = getSSRData ? getSSRData() : undefined;
@@ -41,9 +41,19 @@ export var SyncBlockStoreManager = /*#__PURE__*/function () {
41
41
  }
42
42
  }]);
43
43
  }();
44
+ var createSyncBlockStoreManager = function createSyncBlockStoreManager(dataProvider) {
45
+ return new SyncBlockStoreManager(dataProvider);
46
+ };
47
+ export var createAndInitializeSyncBlockStoreManager = function createAndInitializeSyncBlockStoreManager(_ref) {
48
+ var dataProvider = _ref.dataProvider,
49
+ fireAnalyticsEvent = _ref.fireAnalyticsEvent;
50
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
51
+ syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
52
+ return syncBlockStoreManager;
53
+ };
44
54
  export var useMemoizedSyncBlockStoreManager = function useMemoizedSyncBlockStoreManager(dataProvider, fireAnalyticsEvent) {
45
55
  var syncBlockStoreManager = useMemo(function () {
46
- var syncBlockStoreManager = new SyncBlockStoreManager(dataProvider);
56
+ var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
47
57
  return syncBlockStoreManager;
48
58
  }, [dataProvider]);
49
59
  syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
@@ -7,12 +7,12 @@ export { useHandleContentChanges } from './hooks/useHandleContentChanges';
7
7
  export { generateBlockAri, generateBlockAriFromReference, getLocalIdFromBlockResourceId, } from './clients/block-service/ari';
8
8
  export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri, } from './clients/confluence/ari';
9
9
  export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
10
- export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider, } from './providers/block-service/blockServiceAPI';
10
+ export { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider, } from './providers/block-service/blockServiceAPI';
11
11
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
12
- export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider, } from './providers/syncBlockProvider';
12
+ export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider, } from './providers/syncBlockProvider';
13
13
  export type { ADFFetchProvider, ADFWriteProvider, SyncBlockDataProvider, SyncBlockInstance, MediaEmojiProviderOptions, SyncedBlockRendererProviderOptions, SyncBlockRendererProviderCreator, SyncedBlockRendererDataProviders, UpdateReferenceSyncBlockResult, WriteSyncBlockResult, SyncBlockParentInfo, } from './providers/types';
14
14
  export { type ReferenceSyncBlockStoreManager } from './store-manager/referenceSyncBlockStoreManager';
15
- export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager, } from './store-manager/syncBlockStoreManager';
15
+ export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager, } from './store-manager/syncBlockStoreManager';
16
16
  export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
17
17
  export { createSyncBlockNode, convertSyncBlockPMNodeToSyncBlockData, convertSyncBlockJSONNodeToSyncBlockNode, convertPMNodesToSyncBlockNodes, getContentIdAndProductFromResourceId, } from './utils/utils';
18
18
  export { fetchErrorPayload } from './utils/errorHandling';
@@ -43,6 +43,10 @@ interface BlockServiceAPIProvidersProps {
43
43
  parentId: string;
44
44
  product: SyncBlockProduct;
45
45
  }
46
+ export declare const createBlockServiceAPIProviders: ({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceAPIProvidersProps) => {
47
+ fetchProvider: BlockServiceADFFetchProvider;
48
+ writeProvider: BlockServiceADFWriteProvider;
49
+ };
46
50
  export declare const useMemoizedBlockServiceAPIProviders: ({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceAPIProvidersProps) => {
47
51
  fetchProvider: BlockServiceADFFetchProvider;
48
52
  writeProvider: BlockServiceADFWriteProvider;
@@ -50,6 +54,10 @@ export declare const useMemoizedBlockServiceAPIProviders: ({ cloudId, parentAri,
50
54
  interface BlockServiceFetchOnlyAPIProviderProps {
51
55
  cloudId: string;
52
56
  }
57
+ export declare const createBlockServiceFetchOnlyAPIProvider: ({ cloudId, }: BlockServiceFetchOnlyAPIProviderProps) => {
58
+ fetchProvider: BlockServiceADFFetchProvider;
59
+ writeProvider: undefined;
60
+ };
53
61
  export declare const useMemoizedBlockServiceFetchOnlyAPIProvider: ({ cloudId, }: BlockServiceFetchOnlyAPIProviderProps) => {
54
62
  fetchProvider: BlockServiceADFFetchProvider;
55
63
  writeProvider: undefined;
@@ -97,5 +97,6 @@ type UseMemoizedSyncedBlockProviderProps = {
97
97
  providerOptions: SyncedBlockRendererProviderOptions;
98
98
  writeProvider: ADFWriteProvider | undefined;
99
99
  };
100
+ export declare const createAndInitializeSyncedBlockProvider: ({ fetchProvider, writeProvider, providerOptions, getSSRData, }: UseMemoizedSyncedBlockProviderProps) => SyncBlockProvider;
100
101
  export declare const useMemoizedSyncedBlockProvider: ({ fetchProvider, writeProvider, providerOptions, getSSRData, }: UseMemoizedSyncedBlockProviderProps) => SyncBlockProvider;
101
102
  export {};
@@ -11,4 +11,8 @@ export declare class SyncBlockStoreManager {
11
11
  get sourceManager(): SourceSyncBlockStoreManager;
12
12
  destroy(): void;
13
13
  }
14
+ export declare const createAndInitializeSyncBlockStoreManager: ({ dataProvider, fireAnalyticsEvent, }: {
15
+ dataProvider?: SyncBlockDataProvider;
16
+ fireAnalyticsEvent?: (payload: SyncBlockEventPayload) => void;
17
+ }) => SyncBlockStoreManager;
14
18
  export declare const useMemoizedSyncBlockStoreManager: (dataProvider?: SyncBlockDataProvider, fireAnalyticsEvent?: (payload: SyncBlockEventPayload) => void) => SyncBlockStoreManager;
@@ -7,12 +7,12 @@ export { useHandleContentChanges } from './hooks/useHandleContentChanges';
7
7
  export { generateBlockAri, generateBlockAriFromReference, getLocalIdFromBlockResourceId, } from './clients/block-service/ari';
8
8
  export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri, } from './clients/confluence/ari';
9
9
  export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
10
- export { useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider, } from './providers/block-service/blockServiceAPI';
10
+ export { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider, } from './providers/block-service/blockServiceAPI';
11
11
  export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
12
- export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider, } from './providers/syncBlockProvider';
12
+ export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider, } from './providers/syncBlockProvider';
13
13
  export type { ADFFetchProvider, ADFWriteProvider, SyncBlockDataProvider, SyncBlockInstance, MediaEmojiProviderOptions, SyncedBlockRendererProviderOptions, SyncBlockRendererProviderCreator, SyncedBlockRendererDataProviders, UpdateReferenceSyncBlockResult, WriteSyncBlockResult, SyncBlockParentInfo, } from './providers/types';
14
14
  export { type ReferenceSyncBlockStoreManager } from './store-manager/referenceSyncBlockStoreManager';
15
- export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager, } from './store-manager/syncBlockStoreManager';
15
+ export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager, } from './store-manager/syncBlockStoreManager';
16
16
  export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
17
17
  export { createSyncBlockNode, convertSyncBlockPMNodeToSyncBlockData, convertSyncBlockJSONNodeToSyncBlockNode, convertPMNodesToSyncBlockNodes, getContentIdAndProductFromResourceId, } from './utils/utils';
18
18
  export { fetchErrorPayload } from './utils/errorHandling';
@@ -43,6 +43,10 @@ interface BlockServiceAPIProvidersProps {
43
43
  parentId: string;
44
44
  product: SyncBlockProduct;
45
45
  }
46
+ export declare const createBlockServiceAPIProviders: ({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceAPIProvidersProps) => {
47
+ fetchProvider: BlockServiceADFFetchProvider;
48
+ writeProvider: BlockServiceADFWriteProvider;
49
+ };
46
50
  export declare const useMemoizedBlockServiceAPIProviders: ({ cloudId, parentAri, parentId, product, getVersion, }: BlockServiceAPIProvidersProps) => {
47
51
  fetchProvider: BlockServiceADFFetchProvider;
48
52
  writeProvider: BlockServiceADFWriteProvider;
@@ -50,6 +54,10 @@ export declare const useMemoizedBlockServiceAPIProviders: ({ cloudId, parentAri,
50
54
  interface BlockServiceFetchOnlyAPIProviderProps {
51
55
  cloudId: string;
52
56
  }
57
+ export declare const createBlockServiceFetchOnlyAPIProvider: ({ cloudId, }: BlockServiceFetchOnlyAPIProviderProps) => {
58
+ fetchProvider: BlockServiceADFFetchProvider;
59
+ writeProvider: undefined;
60
+ };
53
61
  export declare const useMemoizedBlockServiceFetchOnlyAPIProvider: ({ cloudId, }: BlockServiceFetchOnlyAPIProviderProps) => {
54
62
  fetchProvider: BlockServiceADFFetchProvider;
55
63
  writeProvider: undefined;
@@ -97,5 +97,6 @@ type UseMemoizedSyncedBlockProviderProps = {
97
97
  providerOptions: SyncedBlockRendererProviderOptions;
98
98
  writeProvider: ADFWriteProvider | undefined;
99
99
  };
100
+ export declare const createAndInitializeSyncedBlockProvider: ({ fetchProvider, writeProvider, providerOptions, getSSRData, }: UseMemoizedSyncedBlockProviderProps) => SyncBlockProvider;
100
101
  export declare const useMemoizedSyncedBlockProvider: ({ fetchProvider, writeProvider, providerOptions, getSSRData, }: UseMemoizedSyncedBlockProviderProps) => SyncBlockProvider;
101
102
  export {};
@@ -11,4 +11,8 @@ export declare class SyncBlockStoreManager {
11
11
  get sourceManager(): SourceSyncBlockStoreManager;
12
12
  destroy(): void;
13
13
  }
14
+ export declare const createAndInitializeSyncBlockStoreManager: ({ dataProvider, fireAnalyticsEvent, }: {
15
+ dataProvider?: SyncBlockDataProvider;
16
+ fireAnalyticsEvent?: (payload: SyncBlockEventPayload) => void;
17
+ }) => SyncBlockStoreManager;
14
18
  export declare const useMemoizedSyncBlockStoreManager: (dataProvider?: SyncBlockDataProvider, fireAnalyticsEvent?: (payload: SyncBlockEventPayload) => void) => SyncBlockStoreManager;
package/package.json CHANGED
@@ -76,7 +76,7 @@
76
76
  }
77
77
  },
78
78
  "name": "@atlaskit/editor-synced-block-provider",
79
- "version": "3.2.1",
79
+ "version": "3.3.0",
80
80
  "description": "Synced Block Provider for @atlaskit/editor-plugin-synced-block",
81
81
  "author": "Atlassian Pty Ltd",
82
82
  "license": "Apache-2.0",