@atlaskit/editor-synced-block-provider 2.10.5 → 2.11.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 +21 -0
- package/dist/cjs/clients/block-service/blockService.js +5 -4
- package/dist/cjs/clients/confluence/sourceInfo.js +20 -17
- package/dist/cjs/hooks/useFetchSyncBlockData.js +20 -11
- package/dist/cjs/hooks/useHandleContentChanges.js +1 -5
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/providers/block-service/blockServiceAPI.js +17 -26
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -15
- package/dist/cjs/providers/syncBlockProvider.js +31 -41
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +138 -63
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +93 -43
- package/dist/cjs/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/cjs/utils/errorHandling.js +31 -1
- package/dist/es2019/clients/block-service/blockService.js +5 -4
- package/dist/es2019/clients/confluence/sourceInfo.js +13 -8
- package/dist/es2019/hooks/useFetchSyncBlockData.js +15 -7
- package/dist/es2019/hooks/useHandleContentChanges.js +1 -5
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/providers/block-service/blockServiceAPI.js +13 -20
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +1 -14
- package/dist/es2019/providers/syncBlockProvider.js +31 -45
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +124 -49
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +65 -24
- package/dist/es2019/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/es2019/utils/errorHandling.js +17 -1
- package/dist/esm/clients/block-service/blockService.js +5 -4
- package/dist/esm/clients/confluence/sourceInfo.js +19 -16
- package/dist/esm/hooks/useFetchSyncBlockData.js +20 -11
- package/dist/esm/hooks/useHandleContentChanges.js +1 -5
- package/dist/esm/index.js +1 -1
- package/dist/esm/providers/block-service/blockServiceAPI.js +17 -26
- package/dist/esm/providers/confluence/confluenceContentAPI.js +1 -16
- package/dist/esm/providers/syncBlockProvider.js +32 -42
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +138 -63
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +93 -43
- package/dist/esm/store-manager/syncBlockStoreManager.js +3 -3
- package/dist/esm/utils/errorHandling.js +30 -0
- package/dist/types/clients/block-service/blockService.d.ts +0 -2
- package/dist/types/clients/confluence/sourceInfo.d.ts +2 -1
- package/dist/types/hooks/useFetchSyncBlockData.d.ts +2 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +7 -5
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +2 -3
- package/dist/types/providers/syncBlockProvider.d.ts +12 -9
- package/dist/types/providers/types.d.ts +9 -9
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +6 -2
- package/dist/types/store-manager/sourceSyncBlockStoreManager.d.ts +3 -1
- package/dist/types/store-manager/syncBlockStoreManager.d.ts +2 -1
- package/dist/types/utils/errorHandling.d.ts +10 -0
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +0 -2
- package/dist/types-ts4.5/clients/confluence/sourceInfo.d.ts +2 -1
- package/dist/types-ts4.5/hooks/useFetchSyncBlockData.d.ts +2 -1
- package/dist/types-ts4.5/index.d.ts +2 -2
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +7 -5
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +2 -3
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +12 -9
- package/dist/types-ts4.5/providers/types.d.ts +9 -9
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +6 -2
- package/dist/types-ts4.5/store-manager/sourceSyncBlockStoreManager.d.ts +3 -1
- package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +2 -1
- package/dist/types-ts4.5/utils/errorHandling.d.ts +10 -0
- package/package.json +2 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-provider
|
|
2
2
|
|
|
3
|
+
## 2.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`1ed7afa478690`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1ed7afa478690) -
|
|
8
|
+
Update the blocks endpoint calls to match API design
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- [`0cc1855e9071d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0cc1855e9071d) -
|
|
13
|
+
EDITOR-1921 add analytics for sync block provider failures
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 2.10.6
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [`23c24c4b7faff`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/23c24c4b7faff) -
|
|
21
|
+
EDITOR-3312 Make data handling product agnostic
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
|
|
3
24
|
## 2.10.5
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -39,7 +39,7 @@ var getSyncedBlockContent = exports.getSyncedBlockContent = /*#__PURE__*/functio
|
|
|
39
39
|
case 0:
|
|
40
40
|
blockAri = _ref.blockAri;
|
|
41
41
|
_context.next = 3;
|
|
42
|
-
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(blockAri), {
|
|
42
|
+
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
43
43
|
method: 'GET',
|
|
44
44
|
headers: COMMON_HEADERS
|
|
45
45
|
});
|
|
@@ -73,7 +73,7 @@ var deleteSyncedBlock = exports.deleteSyncedBlock = /*#__PURE__*/function () {
|
|
|
73
73
|
case 0:
|
|
74
74
|
blockAri = _ref3.blockAri;
|
|
75
75
|
_context2.next = 3;
|
|
76
|
-
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(blockAri), {
|
|
76
|
+
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
77
77
|
method: 'DELETE',
|
|
78
78
|
headers: COMMON_HEADERS
|
|
79
79
|
});
|
|
@@ -102,7 +102,7 @@ var updateSyncedBlock = exports.updateSyncedBlock = /*#__PURE__*/function () {
|
|
|
102
102
|
case 0:
|
|
103
103
|
blockAri = _ref5.blockAri, content = _ref5.content;
|
|
104
104
|
_context3.next = 3;
|
|
105
|
-
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(blockAri), {
|
|
105
|
+
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block/").concat(encodeURIComponent(blockAri)), {
|
|
106
106
|
method: 'PUT',
|
|
107
107
|
headers: COMMON_HEADERS,
|
|
108
108
|
body: JSON.stringify({
|
|
@@ -134,10 +134,11 @@ var createSyncedBlock = exports.createSyncedBlock = /*#__PURE__*/function () {
|
|
|
134
134
|
case 0:
|
|
135
135
|
blockAri = _ref7.blockAri, blockInstanceId = _ref7.blockInstanceId, sourceAri = _ref7.sourceAri, product = _ref7.product, content = _ref7.content;
|
|
136
136
|
_context4.next = 3;
|
|
137
|
-
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block
|
|
137
|
+
return fetch("".concat(BLOCK_SERVICE_API_URL, "/block"), {
|
|
138
138
|
method: 'POST',
|
|
139
139
|
headers: COMMON_HEADERS,
|
|
140
140
|
body: JSON.stringify({
|
|
141
|
+
blockAri: blockAri,
|
|
141
142
|
blockInstanceId: blockInstanceId,
|
|
142
143
|
sourceAri: sourceAri,
|
|
143
144
|
product: product,
|
|
@@ -4,10 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.fetchConfluencePageInfo = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
12
|
+
var _errorHandling = require("../../utils/errorHandling");
|
|
11
13
|
var _ari = require("./ari");
|
|
12
14
|
var _utils = require("./utils");
|
|
13
15
|
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; }
|
|
@@ -68,8 +70,8 @@ var getConfluenceSourceInfo = /*#__PURE__*/function () {
|
|
|
68
70
|
return _ref.apply(this, arguments);
|
|
69
71
|
};
|
|
70
72
|
}();
|
|
71
|
-
var
|
|
72
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(pageAri, localId) {
|
|
73
|
+
var fetchConfluencePageInfo = exports.fetchConfluencePageInfo = /*#__PURE__*/function () {
|
|
74
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(pageAri, localId, fireAnalyticsEvent) {
|
|
73
75
|
var _response$data, _contentData$space, _getPageIdAndTypeFrom, pageType, response, contentData, title, url, _ref3, base;
|
|
74
76
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
75
77
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -81,15 +83,9 @@ var fetchConfluenceSourceInfo = exports.fetchConfluenceSourceInfo = /*#__PURE__*
|
|
|
81
83
|
case 4:
|
|
82
84
|
response = _context2.sent;
|
|
83
85
|
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];
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
throw new Error("Failed to get content data");
|
|
89
|
-
case 8:
|
|
90
|
-
title = contentData.title;
|
|
91
|
-
_ref3 = contentData.links || {}, base = _ref3.base;
|
|
92
|
-
if (base && (_contentData$space = contentData.space) !== null && _contentData$space !== void 0 && _contentData$space.key && contentData.id) {
|
|
86
|
+
title = contentData === null || contentData === void 0 ? void 0 : contentData.title;
|
|
87
|
+
_ref3 = (contentData === null || contentData === void 0 ? void 0 : contentData.links) || {}, base = _ref3.base;
|
|
88
|
+
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) {
|
|
93
89
|
if ((0, _utils.isBlogPageType)(pageType)) {
|
|
94
90
|
url = "".concat(base, "/spaces/").concat(contentData.space.key, "/blog/edit-v2/").concat(contentData.id);
|
|
95
91
|
} else if (contentData.subType === 'live') {
|
|
@@ -99,21 +95,28 @@ var fetchConfluenceSourceInfo = exports.fetchConfluenceSourceInfo = /*#__PURE__*
|
|
|
99
95
|
}
|
|
100
96
|
}
|
|
101
97
|
url = url && localId ? "".concat(url, "#block-").concat(localId) : url;
|
|
98
|
+
if (!title || !url) {
|
|
99
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent((0, _errorHandling.getSourceInfoErrorPayload)('Failed to get confluence page source info'));
|
|
100
|
+
}
|
|
102
101
|
return _context2.abrupt("return", Promise.resolve({
|
|
103
102
|
title: title,
|
|
104
103
|
url: url
|
|
105
104
|
}));
|
|
106
|
-
case
|
|
107
|
-
_context2.prev =
|
|
105
|
+
case 14:
|
|
106
|
+
_context2.prev = 14;
|
|
108
107
|
_context2.t0 = _context2["catch"](0);
|
|
108
|
+
(0, _monitoring.logException)(_context2.t0, {
|
|
109
|
+
location: 'editor-synced-block-provider/sourceInfo'
|
|
110
|
+
});
|
|
111
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent((0, _errorHandling.getSourceInfoErrorPayload)(_context2.t0.message));
|
|
109
112
|
return _context2.abrupt("return", Promise.resolve(undefined));
|
|
110
|
-
case
|
|
113
|
+
case 19:
|
|
111
114
|
case "end":
|
|
112
115
|
return _context2.stop();
|
|
113
116
|
}
|
|
114
|
-
}, _callee2, null, [[0,
|
|
117
|
+
}, _callee2, null, [[0, 14]]);
|
|
115
118
|
}));
|
|
116
|
-
return function
|
|
119
|
+
return function fetchConfluencePageInfo(_x2, _x3, _x4) {
|
|
117
120
|
return _ref2.apply(this, arguments);
|
|
118
121
|
};
|
|
119
122
|
}();
|
|
@@ -9,9 +9,11 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _react = require("react");
|
|
12
|
+
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
12
13
|
var _types = require("../common/types");
|
|
14
|
+
var _errorHandling = require("../utils/errorHandling");
|
|
13
15
|
var _utils = require("../utils/utils");
|
|
14
|
-
var useFetchSyncBlockData = exports.useFetchSyncBlockData = function useFetchSyncBlockData(manager, resourceId, localId) {
|
|
16
|
+
var useFetchSyncBlockData = exports.useFetchSyncBlockData = function useFetchSyncBlockData(manager, resourceId, localId, fireAnalyticsEvent) {
|
|
15
17
|
var _useState = (0, _react.useState)(null),
|
|
16
18
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
17
19
|
syncBlockInstance = _useState2[0],
|
|
@@ -31,36 +33,43 @@ var useFetchSyncBlockData = exports.useFetchSyncBlockData = function useFetchSyn
|
|
|
31
33
|
}
|
|
32
34
|
return _context.abrupt("return");
|
|
33
35
|
case 2:
|
|
36
|
+
_context.prev = 2;
|
|
34
37
|
syncBlockNode = resourceId && localId ? (0, _utils.createSyncBlockNode)(localId, resourceId) : null;
|
|
35
38
|
if (syncBlockNode) {
|
|
36
|
-
_context.next =
|
|
39
|
+
_context.next = 6;
|
|
37
40
|
break;
|
|
38
41
|
}
|
|
39
|
-
|
|
40
|
-
case
|
|
42
|
+
throw new Error('Failed to create sync block node from resourceid and localid');
|
|
43
|
+
case 6:
|
|
41
44
|
setIsLoading(true);
|
|
42
|
-
|
|
45
|
+
|
|
46
|
+
// Fetch sync block data, the `subscribeToSyncBlock` will update the state once data is fetched
|
|
43
47
|
_context.next = 9;
|
|
44
48
|
return manager.referenceManager.fetchSyncBlocksData([syncBlockNode]);
|
|
45
49
|
case 9:
|
|
46
|
-
_context.next =
|
|
50
|
+
_context.next = 16;
|
|
47
51
|
break;
|
|
48
52
|
case 11:
|
|
49
53
|
_context.prev = 11;
|
|
50
|
-
_context.t0 = _context["catch"](
|
|
54
|
+
_context.t0 = _context["catch"](2);
|
|
55
|
+
(0, _monitoring.logException)(_context.t0, {
|
|
56
|
+
location: 'editor-synced-block-provider/useFetchSyncBlockData'
|
|
57
|
+
});
|
|
58
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent((0, _errorHandling.fetchErrorPayload)(_context.t0.message));
|
|
59
|
+
|
|
51
60
|
// Set error state if fetching fails
|
|
52
61
|
setSyncBlockInstance({
|
|
53
62
|
resourceId: resourceId || '',
|
|
54
63
|
error: _types.SyncBlockError.Errored
|
|
55
64
|
});
|
|
56
|
-
case
|
|
65
|
+
case 16:
|
|
57
66
|
setIsLoading(false);
|
|
58
|
-
case
|
|
67
|
+
case 17:
|
|
59
68
|
case "end":
|
|
60
69
|
return _context.stop();
|
|
61
70
|
}
|
|
62
|
-
}, _callee, null, [[
|
|
63
|
-
})), [isLoading, localId, manager.referenceManager, resourceId]);
|
|
71
|
+
}, _callee, null, [[2, 11]]);
|
|
72
|
+
})), [isLoading, localId, manager.referenceManager, resourceId, fireAnalyticsEvent]);
|
|
64
73
|
(0, _react.useEffect)(function () {
|
|
65
74
|
var unsubscribe = manager.referenceManager.subscribeToSyncBlock(resourceId || '', localId || '', function (data) {
|
|
66
75
|
setSyncBlockInstance(data);
|
|
@@ -7,10 +7,6 @@ exports.useHandleContentChanges = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var useHandleContentChanges = exports.useHandleContentChanges = function useHandleContentChanges(manager, syncBlockNode) {
|
|
9
9
|
(0, _react.useEffect)(function () {
|
|
10
|
-
|
|
11
|
-
manager.sourceManager.updateSyncBlockData(syncBlockNode);
|
|
12
|
-
} catch (_unused) {
|
|
13
|
-
//TODO: EDITOR-1921 - add error analytics
|
|
14
|
-
}
|
|
10
|
+
manager.sourceManager.updateSyncBlockData(syncBlockNode);
|
|
15
11
|
}, [manager, syncBlockNode]);
|
|
16
12
|
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -63,10 +63,10 @@ Object.defineProperty(exports, "createSyncBlockNode", {
|
|
|
63
63
|
return _utils.createSyncBlockNode;
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
Object.defineProperty(exports, "
|
|
66
|
+
Object.defineProperty(exports, "fetchConfluencePageInfo", {
|
|
67
67
|
enumerable: true,
|
|
68
68
|
get: function get() {
|
|
69
|
-
return _sourceInfo.
|
|
69
|
+
return _sourceInfo.fetchConfluencePageInfo;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "getConfluencePageAri", {
|
|
@@ -96,33 +96,22 @@ var BlockServiceADFFetchProvider = /*#__PURE__*/function () {
|
|
|
96
96
|
}
|
|
97
97
|
return fetchData;
|
|
98
98
|
}()
|
|
99
|
-
}, {
|
|
100
|
-
key: "retrieveSourceInfoFetchData",
|
|
101
|
-
value: function retrieveSourceInfoFetchData(resourceId, pageARI) {
|
|
102
|
-
var sourceLocalId;
|
|
103
|
-
try {
|
|
104
|
-
sourceLocalId = (0, _ari.getLocalIdFromBlockResourceId)(resourceId);
|
|
105
|
-
} catch (error) {
|
|
106
|
-
// EDITOR-1921: log analytic here, safe to continue
|
|
107
|
-
}
|
|
108
|
-
return {
|
|
109
|
-
pageARI: pageARI,
|
|
110
|
-
sourceLocalId: sourceLocalId
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
99
|
}]);
|
|
114
100
|
}();
|
|
115
101
|
/**
|
|
116
102
|
* ADFWriteProvider implementation that writes synced block data to Block Service API
|
|
117
103
|
*/
|
|
118
104
|
var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
119
|
-
function BlockServiceADFWriteProvider() {
|
|
105
|
+
function BlockServiceADFWriteProvider(sourceAri, product) {
|
|
120
106
|
(0, _classCallCheck2.default)(this, BlockServiceADFWriteProvider);
|
|
107
|
+
this.sourceAri = sourceAri;
|
|
108
|
+
this.product = product;
|
|
121
109
|
}
|
|
110
|
+
|
|
111
|
+
// it will first try to update and if it can't (404) then it will try to create
|
|
122
112
|
return (0, _createClass2.default)(BlockServiceADFWriteProvider, [{
|
|
123
113
|
key: "writeData",
|
|
124
|
-
value:
|
|
125
|
-
function () {
|
|
114
|
+
value: function () {
|
|
126
115
|
var _writeData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(data) {
|
|
127
116
|
var resourceId;
|
|
128
117
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
@@ -154,8 +143,8 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
154
143
|
return (0, _blockService.createSyncedBlock)({
|
|
155
144
|
blockAri: resourceId,
|
|
156
145
|
blockInstanceId: data.blockInstanceId,
|
|
157
|
-
sourceAri:
|
|
158
|
-
product:
|
|
146
|
+
sourceAri: this.sourceAri,
|
|
147
|
+
product: this.product,
|
|
159
148
|
content: JSON.stringify(data.content)
|
|
160
149
|
});
|
|
161
150
|
case 13:
|
|
@@ -175,7 +164,7 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
175
164
|
case "end":
|
|
176
165
|
return _context2.stop();
|
|
177
166
|
}
|
|
178
|
-
}, _callee2,
|
|
167
|
+
}, _callee2, this, [[1, 7]]);
|
|
179
168
|
}));
|
|
180
169
|
function writeData(_x2) {
|
|
181
170
|
return _writeData.apply(this, arguments);
|
|
@@ -231,22 +220,24 @@ var BlockServiceADFWriteProvider = /*#__PURE__*/function () {
|
|
|
231
220
|
}()
|
|
232
221
|
}, {
|
|
233
222
|
key: "generateResourceId",
|
|
234
|
-
value: function generateResourceId(
|
|
235
|
-
return (0, _ari.blockResourceIdFromSourceAndLocalId)(
|
|
223
|
+
value: function generateResourceId(sourceAri, localId) {
|
|
224
|
+
return (0, _ari.blockResourceIdFromSourceAndLocalId)(sourceAri, localId);
|
|
236
225
|
}
|
|
237
226
|
}]);
|
|
238
227
|
}();
|
|
239
228
|
/**
|
|
240
229
|
* Factory function to create both providers with shared configuration
|
|
241
230
|
*/
|
|
242
|
-
var createBlockServiceAPIProviders = function createBlockServiceAPIProviders() {
|
|
231
|
+
var createBlockServiceAPIProviders = function createBlockServiceAPIProviders(sourceAri, product) {
|
|
243
232
|
var fetchProvider = new BlockServiceADFFetchProvider();
|
|
244
|
-
var writeProvider = new BlockServiceADFWriteProvider();
|
|
233
|
+
var writeProvider = new BlockServiceADFWriteProvider(sourceAri, product);
|
|
245
234
|
return {
|
|
246
235
|
fetchProvider: fetchProvider,
|
|
247
236
|
writeProvider: writeProvider
|
|
248
237
|
};
|
|
249
238
|
};
|
|
250
|
-
var useMemoizedBlockServiceAPIProviders = exports.useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders() {
|
|
251
|
-
return (0, _react.useMemo)(
|
|
239
|
+
var useMemoizedBlockServiceAPIProviders = exports.useMemoizedBlockServiceAPIProviders = function useMemoizedBlockServiceAPIProviders(sourceAri, product) {
|
|
240
|
+
return (0, _react.useMemo)(function () {
|
|
241
|
+
return createBlockServiceAPIProviders(sourceAri, product);
|
|
242
|
+
}, [sourceAri, product]);
|
|
252
243
|
};
|
|
@@ -146,21 +146,6 @@ var ConfluenceADFFetchProvider = /*#__PURE__*/function () {
|
|
|
146
146
|
}
|
|
147
147
|
return fetchData;
|
|
148
148
|
}()
|
|
149
|
-
}, {
|
|
150
|
-
key: "retrieveSourceInfoFetchData",
|
|
151
|
-
value: function retrieveSourceInfoFetchData(resourceId) {
|
|
152
|
-
var pageARI = (0, _ari.getPageARIFromContentPropertyResourceId)(resourceId);
|
|
153
|
-
var sourceLocalId;
|
|
154
|
-
try {
|
|
155
|
-
sourceLocalId = (0, _ari.getLocalIdFromConfluencePageAri)(resourceId);
|
|
156
|
-
} catch (error) {
|
|
157
|
-
// EDITOR-1921: log analytic here, safe to continue
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
pageARI: pageARI,
|
|
161
|
-
sourceLocalId: sourceLocalId
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
149
|
}]);
|
|
165
150
|
}();
|
|
166
151
|
/**
|
|
@@ -91,7 +91,7 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
91
91
|
return data;
|
|
92
92
|
}, function () {
|
|
93
93
|
return {
|
|
94
|
-
|
|
94
|
+
error: _types.SyncBlockError.Errored,
|
|
95
95
|
resourceId: resourceId
|
|
96
96
|
};
|
|
97
97
|
});
|
|
@@ -209,34 +209,28 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
/**
|
|
212
|
-
*
|
|
212
|
+
* Fetch the source info from the source id
|
|
213
213
|
*
|
|
214
|
-
* @param
|
|
214
|
+
* @param params
|
|
215
|
+
* @param params.sourceAri - The source ARI
|
|
216
|
+
* @param params.sourceProduct - The source product. e.g. 'confluence-page', 'jira-work-item'
|
|
215
217
|
*
|
|
216
218
|
* @returns The source info
|
|
217
219
|
*/
|
|
218
220
|
}, {
|
|
219
|
-
key: "
|
|
220
|
-
value: function
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
sourceLocalId = fetchData.sourceLocalId;
|
|
232
|
-
} catch (error) {
|
|
233
|
-
return Promise.reject(error);
|
|
234
|
-
}
|
|
221
|
+
key: "fetchSyncBlockSourceInfo",
|
|
222
|
+
value: function fetchSyncBlockSourceInfo(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
|
|
223
|
+
if (!sourceAri || !sourceProduct) {
|
|
224
|
+
return Promise.reject(new Error('Source ari or source product is undefined'));
|
|
225
|
+
}
|
|
226
|
+
switch (sourceProduct) {
|
|
227
|
+
case 'confluence-page':
|
|
228
|
+
return (0, _sourceInfo.fetchConfluencePageInfo)(sourceAri, localId, fireAnalyticsEvent);
|
|
229
|
+
case 'jira-work-item':
|
|
230
|
+
return Promise.reject(new Error('Jira work item source product not supported'));
|
|
231
|
+
default:
|
|
232
|
+
return Promise.reject(new Error("".concat(sourceProduct, " source product not supported")));
|
|
235
233
|
}
|
|
236
|
-
|
|
237
|
-
// TODO: EDITOR-3312 - based on the source sync block product,
|
|
238
|
-
// execute fetchConfluenceSourceInfo or fetchJiraItemSourceInfo or similar...
|
|
239
|
-
return pageARI ? (0, _sourceInfo.fetchConfluenceSourceInfo)(pageARI, sourceLocalId) : Promise.resolve(undefined);
|
|
240
234
|
}
|
|
241
235
|
}, {
|
|
242
236
|
key: "generateResourceId",
|
|
@@ -258,32 +252,28 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
258
252
|
/**
|
|
259
253
|
* Retrieve the parent info for the sync block
|
|
260
254
|
*
|
|
261
|
-
* @param
|
|
262
|
-
* @param
|
|
255
|
+
* @param sourceAri - The source ARI
|
|
256
|
+
* @param sourceProduct - The source product. e.g. 'confluence-page', 'jira-work-item'
|
|
263
257
|
*
|
|
264
258
|
* @returns The parent info for the sync block
|
|
265
259
|
*/
|
|
266
260
|
}, {
|
|
267
261
|
key: "retrieveSyncBlockParentInfo",
|
|
268
|
-
value: function retrieveSyncBlockParentInfo(
|
|
269
|
-
if (!
|
|
262
|
+
value: function retrieveSyncBlockParentInfo(sourceAri, sourceProduct) {
|
|
263
|
+
if (!sourceAri || !sourceProduct) {
|
|
270
264
|
return undefined;
|
|
271
265
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
266
|
+
switch (sourceProduct) {
|
|
267
|
+
case 'confluence-page':
|
|
268
|
+
return {
|
|
269
|
+
contentId: (0, _ari.getPageIdAndTypeFromConfluencePageAri)(sourceAri).id,
|
|
270
|
+
contentProduct: sourceProduct
|
|
271
|
+
};
|
|
272
|
+
case 'jira-work-item':
|
|
273
|
+
throw new Error('Jira work item source product not supported');
|
|
274
|
+
default:
|
|
275
|
+
throw new Error("".concat(sourceProduct, " source product not supported"));
|
|
277
276
|
}
|
|
278
|
-
|
|
279
|
-
// TODO: EDITOR-3312 - based on the source sync block product,
|
|
280
|
-
// execute getPageIdAndTypeFromConfluencePageAri or getJiraItemIdAndTypeFromJiraItemAri or similar...
|
|
281
|
-
var _getPageIdAndTypeFrom = (0, _ari.getPageIdAndTypeFromConfluencePageAri)(sourceAri),
|
|
282
|
-
contentId = _getPageIdAndTypeFrom.id;
|
|
283
|
-
return {
|
|
284
|
-
contentId: contentId,
|
|
285
|
-
contentProduct: product
|
|
286
|
-
};
|
|
287
277
|
}
|
|
288
278
|
}]);
|
|
289
279
|
}(_types2.SyncBlockDataProvider);
|