@atlaskit/editor-synced-block-provider 3.31.2 → 3.32.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 +18 -0
- package/dist/cjs/clients/block-service/blockService.js +21 -21
- package/dist/cjs/clients/confluence/fetchMediaToken.js +1 -2
- package/dist/cjs/clients/confluence/sourceInfo.js +27 -176
- package/dist/cjs/hooks/useFetchSyncBlockData.js +2 -9
- package/dist/cjs/hooks/useFetchSyncBlockTitle.js +8 -40
- package/dist/cjs/providers/block-service/blockServiceAPI.js +28 -41
- package/dist/cjs/providers/syncBlockProvider.js +22 -51
- package/dist/cjs/providers/types.js +3 -0
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +14 -29
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +1 -1
- package/dist/cjs/store-manager/syncBlockStoreManager.js +3 -15
- package/dist/cjs/store-manager/syncBlockSubscriptionManager.js +2 -2
- package/dist/cjs/utils/errorHandling.js +1 -10
- package/dist/cjs/utils/resolveSyncBlockInstance.js +11 -12
- package/dist/cjs/utils/retry.js +2 -23
- package/dist/es2019/clients/block-service/blockService.js +21 -21
- package/dist/es2019/clients/confluence/fetchMediaToken.js +1 -2
- package/dist/es2019/clients/confluence/sourceInfo.js +8 -126
- package/dist/es2019/hooks/useFetchSyncBlockData.js +1 -9
- package/dist/es2019/hooks/useFetchSyncBlockTitle.js +4 -33
- package/dist/es2019/providers/block-service/blockServiceAPI.js +18 -31
- package/dist/es2019/providers/syncBlockProvider.js +7 -29
- package/dist/es2019/providers/types.js +4 -0
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +27 -41
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +1 -1
- package/dist/es2019/store-manager/syncBlockStoreManager.js +3 -13
- package/dist/es2019/store-manager/syncBlockSubscriptionManager.js +2 -2
- package/dist/es2019/utils/errorHandling.js +1 -10
- package/dist/es2019/utils/resolveSyncBlockInstance.js +11 -12
- package/dist/es2019/utils/retry.js +2 -21
- package/dist/esm/clients/block-service/blockService.js +21 -21
- package/dist/esm/clients/confluence/fetchMediaToken.js +1 -2
- package/dist/esm/clients/confluence/sourceInfo.js +25 -176
- package/dist/esm/hooks/useFetchSyncBlockData.js +2 -9
- package/dist/esm/hooks/useFetchSyncBlockTitle.js +8 -40
- package/dist/esm/providers/block-service/blockServiceAPI.js +28 -41
- package/dist/esm/providers/syncBlockProvider.js +22 -51
- package/dist/esm/providers/types.js +4 -0
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +14 -29
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +1 -1
- package/dist/esm/store-manager/syncBlockStoreManager.js +3 -15
- package/dist/esm/store-manager/syncBlockSubscriptionManager.js +2 -2
- package/dist/esm/utils/errorHandling.js +1 -10
- package/dist/esm/utils/resolveSyncBlockInstance.js +11 -12
- package/dist/esm/utils/retry.js +2 -23
- package/dist/types/clients/block-service/blockService.d.ts +3 -0
- package/dist/types/clients/confluence/sourceInfo.d.ts +1 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +5 -3
- package/dist/types/providers/syncBlockProvider.d.ts +2 -3
- package/dist/types/providers/types.d.ts +13 -3
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +1 -1
- package/dist/types/store-manager/syncBlockStoreManager.d.ts +1 -1
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +3 -0
- package/dist/types-ts4.5/clients/confluence/sourceInfo.d.ts +1 -3
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +5 -3
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +2 -3
- package/dist/types-ts4.5/providers/types.d.ts +13 -3
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +1 -1
- package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +1 -1
- package/package.json +3 -10
|
@@ -8,7 +8,6 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
8
8
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
9
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10
10
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
11
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
11
|
import { fetchWithRetry } from '../../utils/retry';
|
|
13
12
|
export var isBlockContentResponse = function isBlockContentResponse(response) {
|
|
14
13
|
var content = response.content;
|
|
@@ -65,7 +64,7 @@ export var getReferenceSyncedBlocks = /*#__PURE__*/function () {
|
|
|
65
64
|
query: buildGetDocumentReferenceBlocksQuery(documentAri),
|
|
66
65
|
operationName: GET_DOCUMENT_REFERENCE_BLOCKS_OPERATION_NAME
|
|
67
66
|
};
|
|
68
|
-
url =
|
|
67
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockGetDocumentReferenceBlocks");
|
|
69
68
|
_context.next = 4;
|
|
70
69
|
return fetchWithRetry(url, {
|
|
71
70
|
method: 'POST',
|
|
@@ -124,7 +123,7 @@ var GET_BLOCK_REFERENCES_OPERATION_NAME = 'EDITOR_SYNCED_BLOCK_GET_REFERENCES';
|
|
|
124
123
|
var GET_BLOCK_OPERATION_NAME = 'EDITOR_SYNCED_BLOCK_GET_BLOCK';
|
|
125
124
|
var BATCH_UPDATE_BLOCKS_OPERATION_NAME = 'EDITOR_SYNCED_BLOCK_BATCH_UPDATE_BLOCKS';
|
|
126
125
|
var buildGetDocumentReferenceBlocksQuery = function buildGetDocumentReferenceBlocksQuery(documentAri) {
|
|
127
|
-
return "query ".concat(GET_DOCUMENT_REFERENCE_BLOCKS_OPERATION_NAME, " {\n\tblockService_getDocumentReferenceBlocks(documentAri: ").concat(
|
|
126
|
+
return "query ".concat(GET_DOCUMENT_REFERENCE_BLOCKS_OPERATION_NAME, " {\n\tblockService_getDocumentReferenceBlocks(documentAri: ").concat(JSON.stringify(documentAri), ") {\n\t\tblocks {\n\t\t\tblockAri\n\t\t\tblockInstanceId\n\t\t\tcontent\n\t\t\tcontentUpdatedAt\n\t\t\tcreatedAt\n\t\t\tcreatedBy\n\t\t\tproduct\n\t\t\tsourceAri\n\t\t\tstatus\n\t\t\tversion\n\t\t}\n\t\terrors {\n\t\t\tblockAri\n\t\t\tcode\n\t\t\treason\n\t\t}\n\t}\n}");
|
|
128
127
|
};
|
|
129
128
|
var buildGetBlockQuery = function buildGetBlockQuery(blockAri) {
|
|
130
129
|
return "query ".concat(GET_BLOCK_OPERATION_NAME, " {\n\tblockService_getBlock(blockAri: ").concat(JSON.stringify(blockAri), ") {\n\t\tblockAri\n\t\tblockInstanceId\n\t\tcontent\n\t\tcontentUpdatedAt\n\t\tcreatedAt\n\t\tcreatedBy\n\t\tdeletionReason\n\t\tproduct\n\t\tsourceAri\n\t\tstatus\n\t\tversion\n\t}\n}");
|
|
@@ -231,7 +230,7 @@ export var getSyncedBlockContent = /*#__PURE__*/function () {
|
|
|
231
230
|
query: buildGetBlockQuery(blockAri),
|
|
232
231
|
operationName: GET_BLOCK_OPERATION_NAME
|
|
233
232
|
};
|
|
234
|
-
url =
|
|
233
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockGetBlock");
|
|
235
234
|
_context2.next = 5;
|
|
236
235
|
return fetchWithRetry(url, {
|
|
237
236
|
method: 'POST',
|
|
@@ -282,6 +281,7 @@ export var getSyncedBlockContent = /*#__PURE__*/function () {
|
|
|
282
281
|
* Calls the Block Service GraphQL API: `blockService_batchRetrieveBlocks`
|
|
283
282
|
*
|
|
284
283
|
* @param blockIdentifiers - Array of block identifiers to retrieve
|
|
284
|
+
* @param config - Optional batch fetch configuration (e.g. timeout)
|
|
285
285
|
* @returns A promise containing arrays of successfully fetched blocks and any errors encountered
|
|
286
286
|
*/
|
|
287
287
|
export var batchRetrieveSyncedBlocks = /*#__PURE__*/function () {
|
|
@@ -299,7 +299,7 @@ export var batchRetrieveSyncedBlocks = /*#__PURE__*/function () {
|
|
|
299
299
|
query: buildBatchRetrieveBlocksQuery(blockAris),
|
|
300
300
|
operationName: BATCH_RETRIEVE_BLOCKS_OPERATION_NAME
|
|
301
301
|
};
|
|
302
|
-
url =
|
|
302
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockBatchRetrieveBlocks");
|
|
303
303
|
_context3.next = 6;
|
|
304
304
|
return fetchWithRetry(url, {
|
|
305
305
|
method: 'POST',
|
|
@@ -349,7 +349,7 @@ export var batchRetrieveSyncedBlocks = /*#__PURE__*/function () {
|
|
|
349
349
|
}();
|
|
350
350
|
export var deleteSyncedBlock = /*#__PURE__*/function () {
|
|
351
351
|
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref6) {
|
|
352
|
-
var _result$data3
|
|
352
|
+
var _result$data3;
|
|
353
353
|
var blockAri, deleteReason, bodyData, url, response, result, isDeleted;
|
|
354
354
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
355
355
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -359,7 +359,7 @@ export var deleteSyncedBlock = /*#__PURE__*/function () {
|
|
|
359
359
|
query: buildDeleteBlockMutation(blockAri, deleteReason),
|
|
360
360
|
operationName: DELETE_BLOCK_OPERATION_NAME
|
|
361
361
|
};
|
|
362
|
-
url =
|
|
362
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockDeleteBlock");
|
|
363
363
|
_context4.next = 5;
|
|
364
364
|
return fetchWithRetry(url, {
|
|
365
365
|
method: 'POST',
|
|
@@ -386,7 +386,7 @@ export var deleteSyncedBlock = /*#__PURE__*/function () {
|
|
|
386
386
|
return e.message;
|
|
387
387
|
}).join(', '));
|
|
388
388
|
case 13:
|
|
389
|
-
isDeleted =
|
|
389
|
+
isDeleted = (_result$data3 = result.data) === null || _result$data3 === void 0 || (_result$data3 = _result$data3.blockService_deleteBlock) === null || _result$data3 === void 0 ? void 0 : _result$data3.deleted;
|
|
390
390
|
if (isDeleted) {
|
|
391
391
|
_context4.next = 16;
|
|
392
392
|
break;
|
|
@@ -413,7 +413,7 @@ export var updateSyncedBlock = /*#__PURE__*/function () {
|
|
|
413
413
|
query: buildUpdateBlockMutation(blockAri, content, stepVersion, status),
|
|
414
414
|
operationName: UPDATE_BLOCK_OPERATION_NAME
|
|
415
415
|
};
|
|
416
|
-
url =
|
|
416
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockUpdateBlock");
|
|
417
417
|
_context5.next = 5;
|
|
418
418
|
return fetchWithRetry(url, {
|
|
419
419
|
method: 'POST',
|
|
@@ -451,7 +451,7 @@ export var updateSyncedBlock = /*#__PURE__*/function () {
|
|
|
451
451
|
}();
|
|
452
452
|
export var createSyncedBlock = /*#__PURE__*/function () {
|
|
453
453
|
var _ref1 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref0) {
|
|
454
|
-
var _result$
|
|
454
|
+
var _result$data4;
|
|
455
455
|
var blockAri, blockInstanceId, sourceAri, product, content, stepVersion, status, bodyData, url, response, result;
|
|
456
456
|
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
457
457
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -461,7 +461,7 @@ export var createSyncedBlock = /*#__PURE__*/function () {
|
|
|
461
461
|
query: buildCreateBlockMutation(blockAri, blockInstanceId, content, product, sourceAri, stepVersion, status),
|
|
462
462
|
operationName: CREATE_BLOCK_OPERATION_NAME
|
|
463
463
|
};
|
|
464
|
-
url =
|
|
464
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockCreateBlock");
|
|
465
465
|
_context6.next = 5;
|
|
466
466
|
return fetchWithRetry(url, {
|
|
467
467
|
method: 'POST',
|
|
@@ -488,7 +488,7 @@ export var createSyncedBlock = /*#__PURE__*/function () {
|
|
|
488
488
|
return e.message;
|
|
489
489
|
}).join(', '));
|
|
490
490
|
case 13:
|
|
491
|
-
if ((_result$
|
|
491
|
+
if ((_result$data4 = result.data) !== null && _result$data4 !== void 0 && _result$data4.blockService_createBlock) {
|
|
492
492
|
_context6.next = 15;
|
|
493
493
|
break;
|
|
494
494
|
}
|
|
@@ -507,7 +507,7 @@ export var createSyncedBlock = /*#__PURE__*/function () {
|
|
|
507
507
|
}();
|
|
508
508
|
export var updateReferenceSyncedBlockOnDocument = /*#__PURE__*/function () {
|
|
509
509
|
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref10) {
|
|
510
|
-
var documentAri, blocks, _ref10$noContent, noContent, bodyData, url, response, result, _result$
|
|
510
|
+
var documentAri, blocks, _ref10$noContent, noContent, bodyData, url, response, result, _result$data5;
|
|
511
511
|
return _regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
512
512
|
while (1) switch (_context7.prev = _context7.next) {
|
|
513
513
|
case 0:
|
|
@@ -516,7 +516,7 @@ export var updateReferenceSyncedBlockOnDocument = /*#__PURE__*/function () {
|
|
|
516
516
|
query: buildUpdateDocumentReferencesMutation(documentAri, blocks, noContent),
|
|
517
517
|
operationName: UPDATE_DOCUMENT_REFERENCES_OPERATION_NAME
|
|
518
518
|
};
|
|
519
|
-
url =
|
|
519
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockUpdateDocumentReferences");
|
|
520
520
|
_context7.next = 5;
|
|
521
521
|
return fetchWithRetry(url, {
|
|
522
522
|
method: 'POST',
|
|
@@ -548,7 +548,7 @@ export var updateReferenceSyncedBlockOnDocument = /*#__PURE__*/function () {
|
|
|
548
548
|
_context7.next = 17;
|
|
549
549
|
break;
|
|
550
550
|
}
|
|
551
|
-
if ((_result$
|
|
551
|
+
if ((_result$data5 = result.data) !== null && _result$data5 !== void 0 && _result$data5.blockService_updateDocumentReferences) {
|
|
552
552
|
_context7.next = 16;
|
|
553
553
|
break;
|
|
554
554
|
}
|
|
@@ -567,7 +567,7 @@ export var updateReferenceSyncedBlockOnDocument = /*#__PURE__*/function () {
|
|
|
567
567
|
}();
|
|
568
568
|
export var getReferenceSyncedBlocksByBlockAri = /*#__PURE__*/function () {
|
|
569
569
|
var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(_ref12) {
|
|
570
|
-
var _result$
|
|
570
|
+
var _result$data6;
|
|
571
571
|
var blockAri, bodyData, url, response, result, graphqlResponse;
|
|
572
572
|
return _regeneratorRuntime.wrap(function _callee8$(_context8) {
|
|
573
573
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -577,7 +577,7 @@ export var getReferenceSyncedBlocksByBlockAri = /*#__PURE__*/function () {
|
|
|
577
577
|
query: buildGetBlockReferencesQuery(blockAri),
|
|
578
578
|
operationName: GET_BLOCK_REFERENCES_OPERATION_NAME
|
|
579
579
|
};
|
|
580
|
-
url =
|
|
580
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockGetReferences");
|
|
581
581
|
_context8.next = 5;
|
|
582
582
|
return fetchWithRetry(url, {
|
|
583
583
|
method: 'POST',
|
|
@@ -604,7 +604,7 @@ export var getReferenceSyncedBlocksByBlockAri = /*#__PURE__*/function () {
|
|
|
604
604
|
return e.message;
|
|
605
605
|
}).join(', '));
|
|
606
606
|
case 13:
|
|
607
|
-
if ((_result$
|
|
607
|
+
if ((_result$data6 = result.data) !== null && _result$data6 !== void 0 && _result$data6.blockService_getReferences) {
|
|
608
608
|
_context8.next = 15;
|
|
609
609
|
break;
|
|
610
610
|
}
|
|
@@ -651,7 +651,7 @@ export var getReferenceSyncedBlocksByBlockAri = /*#__PURE__*/function () {
|
|
|
651
651
|
*/
|
|
652
652
|
export var updateSyncedBlocks = /*#__PURE__*/function () {
|
|
653
653
|
var _ref15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(_ref14) {
|
|
654
|
-
var _result$
|
|
654
|
+
var _result$data7;
|
|
655
655
|
var blocks, bodyData, url, response, result, graphqlResponse;
|
|
656
656
|
return _regeneratorRuntime.wrap(function _callee9$(_context9) {
|
|
657
657
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -661,7 +661,7 @@ export var updateSyncedBlocks = /*#__PURE__*/function () {
|
|
|
661
661
|
query: buildBatchUpdateBlocksMutation(blocks),
|
|
662
662
|
operationName: BATCH_UPDATE_BLOCKS_OPERATION_NAME
|
|
663
663
|
};
|
|
664
|
-
url =
|
|
664
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockBatchUpdateBlocks");
|
|
665
665
|
_context9.next = 5;
|
|
666
666
|
return fetchWithRetry(url, {
|
|
667
667
|
method: 'POST',
|
|
@@ -688,7 +688,7 @@ export var updateSyncedBlocks = /*#__PURE__*/function () {
|
|
|
688
688
|
return e.message;
|
|
689
689
|
}).join(', '));
|
|
690
690
|
case 13:
|
|
691
|
-
if ((_result$
|
|
691
|
+
if ((_result$data7 = result.data) !== null && _result$data7 !== void 0 && _result$data7.blockService_batchUpdateBlocks) {
|
|
692
692
|
_context9.next = 15;
|
|
693
693
|
break;
|
|
694
694
|
}
|
|
@@ -4,7 +4,6 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
6
|
import { logException } from '@atlaskit/editor-common/monitoring';
|
|
7
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
7
|
import { fetchWithRetry } from '../../utils/retry';
|
|
9
8
|
var COMMON_HEADERS = {
|
|
10
9
|
'Content-Type': 'application/json',
|
|
@@ -90,7 +89,7 @@ export var fetchMediaToken = /*#__PURE__*/function () {
|
|
|
90
89
|
logException(_context2.t0, {
|
|
91
90
|
location: 'editor-synced-block-provider/fetchMediaToken'
|
|
92
91
|
});
|
|
93
|
-
errorMsg =
|
|
92
|
+
errorMsg = _context2.t0 instanceof Error ? _context2.t0.message : String(_context2.t0);
|
|
94
93
|
throw new Error("Failed to get content media session: ".concat(errorMsg));
|
|
95
94
|
case 18:
|
|
96
95
|
case "end":
|
|
@@ -3,14 +3,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
-
/* eslint-disable require-unicode-regexp */
|
|
7
|
-
|
|
8
|
-
import { logException } from '@atlaskit/editor-common/monitoring';
|
|
9
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
|
-
import { getSourceInfoErrorPayload } from '../../utils/errorHandling';
|
|
11
6
|
import { fetchWithRetry } from '../../utils/retry';
|
|
12
|
-
import { getPageIdAndTypeFromConfluencePageAri } from './ari';
|
|
13
|
-
import { isBlogPageType } from './utils';
|
|
14
7
|
var COMMON_HEADERS = {
|
|
15
8
|
'Content-Type': 'application/json',
|
|
16
9
|
Accept: 'application/json'
|
|
@@ -117,193 +110,49 @@ var resolveNoAccessPageInfo = /*#__PURE__*/function () {
|
|
|
117
110
|
return _ref2.apply(this, arguments);
|
|
118
111
|
};
|
|
119
112
|
}();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
* Used when the GraphQL query returns empty content.nodes for unpublished pages
|
|
124
|
-
* @param pageAri - The page ARI
|
|
125
|
-
* @param localId - Optional local ID to append as block anchor
|
|
126
|
-
* @returns Source info with URL, title, and optional subtype
|
|
127
|
-
*/
|
|
128
|
-
var fetchCompleteConfluencePageInfo = /*#__PURE__*/function () {
|
|
129
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(pageAri, localId) {
|
|
130
|
-
var _pageData$_links, _pageData$_links2, _getPageIdAndTypeFrom, pageId, response, pageData, base, edituiv2, title, subType, url;
|
|
113
|
+
export var fetchConfluencePageInfo = /*#__PURE__*/function () {
|
|
114
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(pageAri, hasAccess, localId) {
|
|
115
|
+
var _response$data, status, response, contentData, _ref4, title, subType, url, _ref5, base, editui, webui, pageStatus;
|
|
131
116
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
132
117
|
while (1) switch (_context3.prev = _context3.next) {
|
|
133
118
|
case 0:
|
|
134
|
-
_context3.prev = 0;
|
|
135
|
-
_getPageIdAndTypeFrom = getPageIdAndTypeFromConfluencePageAri({
|
|
136
|
-
ari: pageAri
|
|
137
|
-
}), pageId = _getPageIdAndTypeFrom.id;
|
|
138
|
-
_context3.next = 4;
|
|
139
|
-
return fetchWithRetry("/wiki/api/v2/pages/".concat(pageId, "?draft=true"), {
|
|
140
|
-
method: 'GET',
|
|
141
|
-
headers: COMMON_HEADERS
|
|
142
|
-
});
|
|
143
|
-
case 4:
|
|
144
|
-
response = _context3.sent;
|
|
145
|
-
if (response.ok) {
|
|
146
|
-
_context3.next = 7;
|
|
147
|
-
break;
|
|
148
|
-
}
|
|
149
|
-
throw new Error("Failed to get unpublished page info: ".concat(response.statusText));
|
|
150
|
-
case 7:
|
|
151
|
-
_context3.next = 9;
|
|
152
|
-
return response.json();
|
|
153
|
-
case 9:
|
|
154
|
-
pageData = _context3.sent;
|
|
155
|
-
base = (_pageData$_links = pageData._links) === null || _pageData$_links === void 0 ? void 0 : _pageData$_links.base;
|
|
156
|
-
edituiv2 = (_pageData$_links2 = pageData._links) === null || _pageData$_links2 === void 0 ? void 0 : _pageData$_links2.edituiv2;
|
|
157
|
-
title = pageData.title;
|
|
158
|
-
subType = pageData.subtype;
|
|
159
|
-
if (base && edituiv2) {
|
|
160
|
-
url = "".concat(base).concat(edituiv2);
|
|
161
|
-
url = url && localId ? "".concat(url, "#block-").concat(localId) : url;
|
|
162
|
-
}
|
|
163
|
-
return _context3.abrupt("return", {
|
|
164
|
-
title: title,
|
|
165
|
-
url: url,
|
|
166
|
-
sourceAri: pageAri,
|
|
167
|
-
subType: subType
|
|
168
|
-
});
|
|
169
|
-
case 18:
|
|
170
|
-
_context3.prev = 18;
|
|
171
|
-
_context3.t0 = _context3["catch"](0);
|
|
172
|
-
logException(_context3.t0, {
|
|
173
|
-
location: 'editor-synced-block-provider/sourceInfo/fetchUnpublishedConfluencePageInfo'
|
|
174
|
-
});
|
|
175
|
-
return _context3.abrupt("return", Promise.resolve(undefined));
|
|
176
|
-
case 22:
|
|
177
|
-
case "end":
|
|
178
|
-
return _context3.stop();
|
|
179
|
-
}
|
|
180
|
-
}, _callee3, null, [[0, 18]]);
|
|
181
|
-
}));
|
|
182
|
-
return function fetchCompleteConfluencePageInfo(_x4, _x5) {
|
|
183
|
-
return _ref3.apply(this, arguments);
|
|
184
|
-
};
|
|
185
|
-
}();
|
|
186
|
-
export var fetchConfluencePageInfoOld = /*#__PURE__*/function () {
|
|
187
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(pageAri, localId, fireAnalyticsEvent) {
|
|
188
|
-
var _response$data, _contentData$space, _getPageIdAndTypeFrom2, pageType, status, response, contentData, title, url, _ref5, base;
|
|
189
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
190
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
191
|
-
case 0:
|
|
192
|
-
_context4.prev = 0;
|
|
193
|
-
_getPageIdAndTypeFrom2 = getPageIdAndTypeFromConfluencePageAri({
|
|
194
|
-
ari: pageAri
|
|
195
|
-
}), pageType = _getPageIdAndTypeFrom2.type;
|
|
196
|
-
status = fg('platform_synced_block_patch_3') ? ['draft', 'archived', 'current'] : undefined;
|
|
197
|
-
_context4.next = 5;
|
|
198
|
-
return getConfluenceSourceInfo(pageAri, status);
|
|
199
|
-
case 5:
|
|
200
|
-
response = _context4.sent;
|
|
201
|
-
contentData = (_response$data = response.data) === null || _response$data === void 0 || (_response$data = _response$data.content) === null || _response$data === void 0 || (_response$data = _response$data.nodes) === null || _response$data === void 0 ? void 0 : _response$data[0];
|
|
202
|
-
title = contentData === null || contentData === void 0 ? void 0 : contentData.title;
|
|
203
|
-
_ref5 = (contentData === null || contentData === void 0 ? void 0 : contentData.links) || {}, base = _ref5.base;
|
|
204
|
-
if (base && contentData !== null && contentData !== void 0 && (_contentData$space = contentData.space) !== null && _contentData$space !== void 0 && _contentData$space.key && contentData !== null && contentData !== void 0 && contentData.id) {
|
|
205
|
-
if (isBlogPageType(pageType)) {
|
|
206
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/blog/edit-v2/").concat(contentData.id);
|
|
207
|
-
} else if (contentData.subType === 'live') {
|
|
208
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/pages/").concat(contentData.id);
|
|
209
|
-
} else {
|
|
210
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/pages/edit-v2/").concat(contentData.id);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
url = url && localId ? "".concat(url, "#block-").concat(localId) : url;
|
|
214
|
-
if (!title || !url) {
|
|
215
|
-
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent(getSourceInfoErrorPayload('Failed to get confluence page source info'));
|
|
216
|
-
}
|
|
217
|
-
return _context4.abrupt("return", Promise.resolve({
|
|
218
|
-
title: title,
|
|
219
|
-
url: url,
|
|
220
|
-
sourceAri: pageAri
|
|
221
|
-
}));
|
|
222
|
-
case 15:
|
|
223
|
-
_context4.prev = 15;
|
|
224
|
-
_context4.t0 = _context4["catch"](0);
|
|
225
|
-
logException(_context4.t0, {
|
|
226
|
-
location: 'editor-synced-block-provider/sourceInfo'
|
|
227
|
-
});
|
|
228
|
-
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent(getSourceInfoErrorPayload(_context4.t0.message));
|
|
229
|
-
return _context4.abrupt("return", Promise.resolve(undefined));
|
|
230
|
-
case 20:
|
|
231
|
-
case "end":
|
|
232
|
-
return _context4.stop();
|
|
233
|
-
}
|
|
234
|
-
}, _callee4, null, [[0, 15]]);
|
|
235
|
-
}));
|
|
236
|
-
return function fetchConfluencePageInfoOld(_x6, _x7, _x8) {
|
|
237
|
-
return _ref4.apply(this, arguments);
|
|
238
|
-
};
|
|
239
|
-
}();
|
|
240
|
-
export var fetchConfluencePageInfo = /*#__PURE__*/function () {
|
|
241
|
-
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(pageAri, hasAccess, urlType, localId, isUnpublished) {
|
|
242
|
-
var _response$data2, _getPageIdAndTypeFrom3, pageType, status, response, contentData, _ref7, title, subType, url, _ref8, base, editui, webui, pageStatus, _contentData$space2;
|
|
243
|
-
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
244
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
245
|
-
case 0:
|
|
246
|
-
if (!(isUnpublished && !fg('platform_synced_block_patch_3'))) {
|
|
247
|
-
_context5.next = 4;
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
250
|
-
_context5.next = 3;
|
|
251
|
-
return fetchCompleteConfluencePageInfo(pageAri, localId);
|
|
252
|
-
case 3:
|
|
253
|
-
return _context5.abrupt("return", _context5.sent);
|
|
254
|
-
case 4:
|
|
255
119
|
if (!hasAccess) {
|
|
256
|
-
|
|
120
|
+
_context3.next = 14;
|
|
257
121
|
break;
|
|
258
122
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}), pageType = _getPageIdAndTypeFrom3.type;
|
|
262
|
-
status = fg('platform_synced_block_patch_3') ? ['draft', 'archived', 'current'] : undefined;
|
|
263
|
-
_context5.next = 9;
|
|
123
|
+
status = ['draft', 'archived', 'current'];
|
|
124
|
+
_context3.next = 4;
|
|
264
125
|
return getConfluenceSourceInfo(pageAri, status);
|
|
265
|
-
case
|
|
266
|
-
response =
|
|
267
|
-
contentData = (_response$
|
|
268
|
-
|
|
269
|
-
|
|
126
|
+
case 4:
|
|
127
|
+
response = _context3.sent;
|
|
128
|
+
contentData = (_response$data = response.data) === null || _response$data === void 0 || (_response$data = _response$data.content) === null || _response$data === void 0 || (_response$data = _response$data.nodes) === null || _response$data === void 0 ? void 0 : _response$data[0];
|
|
129
|
+
_ref4 = contentData || {}, title = _ref4.title, subType = _ref4.subType;
|
|
130
|
+
_ref5 = (contentData === null || contentData === void 0 ? void 0 : contentData.links) || {}, base = _ref5.base, editui = _ref5.editui, webui = _ref5.webui;
|
|
270
131
|
pageStatus = contentData === null || contentData === void 0 ? void 0 : contentData.status;
|
|
271
|
-
if (
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
url = "".concat(base).concat(webui);
|
|
276
|
-
}
|
|
277
|
-
} else {
|
|
278
|
-
if (base && contentData !== null && contentData !== void 0 && (_contentData$space2 = contentData.space) !== null && _contentData$space2 !== void 0 && _contentData$space2.key && contentData !== null && contentData !== void 0 && contentData.id) {
|
|
279
|
-
if (isBlogPageType(pageType)) {
|
|
280
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/blog").concat(urlType === 'edit' ? '/edit-v2' : '', "/").concat(contentData.id);
|
|
281
|
-
} else if (contentData.subType === 'live') {
|
|
282
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/pages/").concat(contentData.id);
|
|
283
|
-
} else {
|
|
284
|
-
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/pages").concat(urlType === 'edit' ? '/edit-v2' : '', "/").concat(contentData.id);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
132
|
+
if (base && editui && pageStatus !== 'archived') {
|
|
133
|
+
url = "".concat(base).concat(editui);
|
|
134
|
+
} else if (base && webui && pageStatus === 'archived') {
|
|
135
|
+
url = "".concat(base).concat(webui);
|
|
287
136
|
}
|
|
288
137
|
url = url && localId ? "".concat(url, "#block-").concat(localId) : url;
|
|
289
|
-
return
|
|
138
|
+
return _context3.abrupt("return", Promise.resolve({
|
|
290
139
|
title: title,
|
|
291
140
|
url: url,
|
|
292
141
|
sourceAri: pageAri,
|
|
293
142
|
subType: subType
|
|
294
143
|
}));
|
|
295
|
-
case
|
|
296
|
-
|
|
144
|
+
case 14:
|
|
145
|
+
_context3.next = 16;
|
|
297
146
|
return resolveNoAccessPageInfo(pageAri);
|
|
298
|
-
case
|
|
299
|
-
return
|
|
300
|
-
case
|
|
147
|
+
case 16:
|
|
148
|
+
return _context3.abrupt("return", _context3.sent);
|
|
149
|
+
case 17:
|
|
301
150
|
case "end":
|
|
302
|
-
return
|
|
151
|
+
return _context3.stop();
|
|
303
152
|
}
|
|
304
|
-
},
|
|
153
|
+
}, _callee3);
|
|
305
154
|
}));
|
|
306
|
-
return function fetchConfluencePageInfo(
|
|
307
|
-
return
|
|
155
|
+
return function fetchConfluencePageInfo(_x4, _x5, _x6) {
|
|
156
|
+
return _ref3.apply(this, arguments);
|
|
308
157
|
};
|
|
309
158
|
}();
|
|
@@ -7,7 +7,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
7
7
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
8
8
|
import { isSSR } from '@atlaskit/editor-common/core-utils';
|
|
9
9
|
import { logException } from '@atlaskit/editor-common/monitoring';
|
|
10
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
11
10
|
import { SyncBlockError } from '../common/types';
|
|
12
11
|
import { fetchErrorPayload } from '../utils/errorHandling';
|
|
13
12
|
import { createSyncBlockNode } from '../utils/utils';
|
|
@@ -36,7 +35,7 @@ export var useFetchSyncBlockData = function useFetchSyncBlockData(manager, resou
|
|
|
36
35
|
isLoading = _useState2$.isLoading,
|
|
37
36
|
setFetchState = _useState2[1];
|
|
38
37
|
var reloadData = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
39
|
-
var syncBlockNode
|
|
38
|
+
var syncBlockNode;
|
|
40
39
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
41
40
|
while (1) switch (_context.prev = _context.next) {
|
|
42
41
|
case 0:
|
|
@@ -72,13 +71,7 @@ export var useFetchSyncBlockData = function useFetchSyncBlockData(manager, resou
|
|
|
72
71
|
logException(_context.t0, {
|
|
73
72
|
location: 'editor-synced-block-provider/useFetchSyncBlockData'
|
|
74
73
|
});
|
|
75
|
-
|
|
76
|
-
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent(fetchErrorPayload(_context.t0.message));
|
|
77
|
-
} else {
|
|
78
|
-
manager === null || manager === void 0 || (_manager$referenceMan2 = manager.referenceManager) === null || _manager$referenceMan2 === void 0 || (_manager$referenceMan2 = _manager$referenceMan2.fetchExperience) === null || _manager$referenceMan2 === void 0 || _manager$referenceMan2.failure({
|
|
79
|
-
reason: _context.t0.message
|
|
80
|
-
});
|
|
81
|
-
}
|
|
74
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent(fetchErrorPayload(_context.t0.message));
|
|
82
75
|
|
|
83
76
|
// Set error state if fetching fails
|
|
84
77
|
setFetchState({
|
|
@@ -1,35 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
|
-
|
|
4
|
-
import { conditionalHooksFactory } from '@atlaskit/platform-feature-flags-react';
|
|
5
|
-
var useFetchSyncBlockTitleBase = function useFetchSyncBlockTitleBase(manager, syncBlockNode) {
|
|
6
|
-
// Initialize state from cache to prevent flickering during re-renders
|
|
7
|
-
var _useState = useState(function () {
|
|
8
|
-
var _cachedData$data;
|
|
9
|
-
if (syncBlockNode.type.name !== 'syncBlock') {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
var resourceId = syncBlockNode.attrs.resourceId;
|
|
13
|
-
if (!resourceId) {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
var cachedData = manager.referenceManager.getFromCache(resourceId);
|
|
17
|
-
return cachedData === null || cachedData === void 0 || (_cachedData$data = cachedData.data) === null || _cachedData$data === void 0 ? void 0 : _cachedData$data.sourceTitle;
|
|
18
|
-
}),
|
|
19
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
-
sourceTitle = _useState2[0],
|
|
21
|
-
setSourceTitle = _useState2[1];
|
|
22
|
-
useEffect(function () {
|
|
23
|
-
var unsubscribe = manager.referenceManager.subscribeToSourceTitle(syncBlockNode, function (title) {
|
|
24
|
-
setSourceTitle(title);
|
|
25
|
-
});
|
|
26
|
-
return function () {
|
|
27
|
-
unsubscribe();
|
|
28
|
-
};
|
|
29
|
-
}, [manager, syncBlockNode]);
|
|
30
|
-
return sourceTitle;
|
|
31
|
-
};
|
|
32
|
-
var useFetchSyncBlockTitlePatched = function useFetchSyncBlockTitlePatched(manager, syncBlockNode) {
|
|
3
|
+
export var useFetchSyncBlockTitle = function useFetchSyncBlockTitle(manager, syncBlockNode) {
|
|
33
4
|
var _syncBlockNode$attrs, _syncBlockNode$attrs2;
|
|
34
5
|
var nodeRef = useRef(syncBlockNode);
|
|
35
6
|
nodeRef.current = syncBlockNode;
|
|
@@ -38,8 +9,8 @@ var useFetchSyncBlockTitlePatched = function useFetchSyncBlockTitlePatched(manag
|
|
|
38
9
|
var localId = (_syncBlockNode$attrs2 = syncBlockNode.attrs) === null || _syncBlockNode$attrs2 === void 0 ? void 0 : _syncBlockNode$attrs2.localId;
|
|
39
10
|
|
|
40
11
|
// Initialize state from cache to prevent flickering during re-renders
|
|
41
|
-
var
|
|
42
|
-
var _cachedData$
|
|
12
|
+
var _useState = useState(function () {
|
|
13
|
+
var _cachedData$data;
|
|
43
14
|
if (nodeTypeName !== 'syncBlock') {
|
|
44
15
|
return undefined;
|
|
45
16
|
}
|
|
@@ -47,11 +18,11 @@ var useFetchSyncBlockTitlePatched = function useFetchSyncBlockTitlePatched(manag
|
|
|
47
18
|
return undefined;
|
|
48
19
|
}
|
|
49
20
|
var cachedData = manager.referenceManager.getFromCache(resourceId);
|
|
50
|
-
return cachedData === null || cachedData === void 0 || (_cachedData$
|
|
21
|
+
return cachedData === null || cachedData === void 0 || (_cachedData$data = cachedData.data) === null || _cachedData$data === void 0 ? void 0 : _cachedData$data.sourceTitle;
|
|
51
22
|
}),
|
|
52
|
-
|
|
53
|
-
sourceTitle =
|
|
54
|
-
setSourceTitle =
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
sourceTitle = _useState2[0],
|
|
25
|
+
setSourceTitle = _useState2[1];
|
|
55
26
|
useEffect(function () {
|
|
56
27
|
var unsubscribe = manager.referenceManager.subscribeToSourceTitle(nodeRef.current, function (title) {
|
|
57
28
|
setSourceTitle(title);
|
|
@@ -61,7 +32,4 @@ var useFetchSyncBlockTitlePatched = function useFetchSyncBlockTitlePatched(manag
|
|
|
61
32
|
};
|
|
62
33
|
}, [manager, nodeTypeName, resourceId, localId]);
|
|
63
34
|
return sourceTitle;
|
|
64
|
-
};
|
|
65
|
-
export var useFetchSyncBlockTitle = conditionalHooksFactory(function () {
|
|
66
|
-
return fg('platform_synced_block_patch_4');
|
|
67
|
-
}, useFetchSyncBlockTitlePatched, useFetchSyncBlockTitleBase);
|
|
35
|
+
};
|