@atlaskit/editor-synced-block-provider 3.2.0 → 3.2.2
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 +14 -0
- package/dist/cjs/clients/block-service/ari.js +13 -16
- package/dist/cjs/clients/confluence/ari.js +7 -40
- package/dist/cjs/clients/confluence/sourceInfo.js +3 -1
- package/dist/cjs/clients/jira/ari.js +5 -2
- package/dist/cjs/index.js +22 -23
- package/dist/cjs/providers/block-service/blockServiceAPI.js +89 -26
- package/dist/cjs/providers/syncBlockProvider.js +82 -39
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +5 -8
- package/dist/cjs/store-manager/syncBlockStoreManager.js +12 -2
- package/dist/es2019/clients/block-service/ari.js +15 -16
- package/dist/es2019/clients/confluence/ari.js +11 -37
- package/dist/es2019/clients/confluence/sourceInfo.js +3 -1
- package/dist/es2019/clients/jira/ari.js +9 -2
- package/dist/es2019/index.js +4 -5
- package/dist/es2019/providers/block-service/blockServiceAPI.js +92 -27
- package/dist/es2019/providers/syncBlockProvider.js +71 -25
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +5 -8
- package/dist/es2019/store-manager/syncBlockStoreManager.js +12 -1
- package/dist/esm/clients/block-service/ari.js +13 -16
- package/dist/esm/clients/confluence/ari.js +6 -39
- package/dist/esm/clients/confluence/sourceInfo.js +3 -1
- package/dist/esm/clients/jira/ari.js +5 -2
- package/dist/esm/index.js +4 -5
- package/dist/esm/providers/block-service/blockServiceAPI.js +88 -25
- package/dist/esm/providers/syncBlockProvider.js +81 -38
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +4 -8
- package/dist/esm/store-manager/syncBlockStoreManager.js +11 -1
- package/dist/types/clients/block-service/ari.d.ts +14 -4
- package/dist/types/clients/confluence/ari.d.ts +8 -21
- package/dist/types/clients/jira/ari.d.ts +7 -2
- package/dist/types/index.d.ts +7 -8
- package/dist/types/providers/block-service/blockServiceAPI.d.ts +39 -6
- package/dist/types/providers/syncBlockProvider.d.ts +15 -13
- package/dist/types/providers/types.d.ts +9 -6
- package/dist/types/store-manager/syncBlockStoreManager.d.ts +4 -0
- package/dist/types-ts4.5/clients/block-service/ari.d.ts +14 -4
- package/dist/types-ts4.5/clients/confluence/ari.d.ts +8 -21
- package/dist/types-ts4.5/clients/jira/ari.d.ts +7 -2
- package/dist/types-ts4.5/index.d.ts +7 -8
- package/dist/types-ts4.5/providers/block-service/blockServiceAPI.d.ts +39 -6
- package/dist/types-ts4.5/providers/syncBlockProvider.d.ts +15 -13
- package/dist/types-ts4.5/providers/types.d.ts +9 -6
- package/dist/types-ts4.5/store-manager/syncBlockStoreManager.d.ts +4 -0
- package/package.json +1 -1
- package/dist/cjs/clients/confluence/contentProperty.js +0 -284
- package/dist/cjs/providers/confluence/confluenceContentAPI.js +0 -446
- package/dist/es2019/clients/confluence/contentProperty.js +0 -288
- package/dist/es2019/providers/confluence/confluenceContentAPI.js +0 -310
- package/dist/esm/clients/confluence/contentProperty.js +0 -277
- package/dist/esm/providers/confluence/confluenceContentAPI.js +0 -440
- package/dist/types/clients/confluence/contentProperty.d.ts +0 -139
- package/dist/types/providers/confluence/confluenceContentAPI.d.ts +0 -44
- package/dist/types-ts4.5/clients/confluence/contentProperty.d.ts +0 -139
- package/dist/types-ts4.5/providers/confluence/confluenceContentAPI.d.ts +0 -44
|
@@ -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"));
|
|
@@ -18,28 +18,24 @@ var _react = require("react");
|
|
|
18
18
|
var _ari = require("../clients/confluence/ari");
|
|
19
19
|
var _sourceInfo = require("../clients/confluence/sourceInfo");
|
|
20
20
|
var _types = require("../common/types");
|
|
21
|
-
var _types2 = require("
|
|
21
|
+
var _types2 = require("./types");
|
|
22
22
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
23
23
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
24
|
var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
|
|
25
|
-
// the source document ARI; that the source sync block is on.
|
|
26
|
-
|
|
27
25
|
/**
|
|
28
26
|
* Constructor for the SyncBlockProvider
|
|
29
27
|
*
|
|
30
28
|
* @param fetchProvider
|
|
31
29
|
* @param writeProvider
|
|
32
|
-
* @param sourceId
|
|
33
30
|
* @param nestedRendererDataProviders
|
|
34
31
|
*/
|
|
35
|
-
function SyncBlockProvider(fetchProvider, writeProvider
|
|
32
|
+
function SyncBlockProvider(fetchProvider, writeProvider) {
|
|
36
33
|
var _this;
|
|
37
34
|
(0, _classCallCheck2.default)(this, SyncBlockProvider);
|
|
38
35
|
_this = _callSuper(this, SyncBlockProvider);
|
|
39
36
|
(0, _defineProperty2.default)(_this, "name", 'syncBlockProvider');
|
|
40
37
|
_this.fetchProvider = fetchProvider;
|
|
41
38
|
_this.writeProvider = writeProvider;
|
|
42
|
-
_this.sourceId = sourceId;
|
|
43
39
|
_this.providerOptions = {};
|
|
44
40
|
return _this;
|
|
45
41
|
}
|
|
@@ -49,11 +45,6 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
49
45
|
value: function setProviderOptions(providerOptions) {
|
|
50
46
|
this.providerOptions = providerOptions;
|
|
51
47
|
}
|
|
52
|
-
}, {
|
|
53
|
-
key: "getProduct",
|
|
54
|
-
value: function getProduct() {
|
|
55
|
-
return this.writeProvider.product;
|
|
56
|
-
}
|
|
57
48
|
|
|
58
49
|
/**
|
|
59
50
|
* Check if the node is supported by the provider
|
|
@@ -132,14 +123,24 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
132
123
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
133
124
|
while (1) switch (_context.prev = _context.next) {
|
|
134
125
|
case 0:
|
|
135
|
-
|
|
126
|
+
if (this.writeProvider) {
|
|
127
|
+
_context.next = 2;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
return _context.abrupt("return", Promise.reject(new Error('Write provider not set')));
|
|
131
|
+
case 2:
|
|
132
|
+
_context.next = 4;
|
|
136
133
|
return Promise.allSettled(nodes.map(function (_node, index) {
|
|
134
|
+
var _this3$writeProvider;
|
|
135
|
+
if (!_this3.writeProvider) {
|
|
136
|
+
return Promise.reject('Write provider not set');
|
|
137
|
+
}
|
|
137
138
|
if (!data[index].content) {
|
|
138
139
|
return Promise.reject('No Synced Block content to write');
|
|
139
140
|
}
|
|
140
|
-
return _this3.writeProvider.writeData(data[index]);
|
|
141
|
+
return (_this3$writeProvider = _this3.writeProvider) === null || _this3$writeProvider === void 0 ? void 0 : _this3$writeProvider.writeData(data[index]);
|
|
141
142
|
}));
|
|
142
|
-
case
|
|
143
|
+
case 4:
|
|
143
144
|
results = _context.sent;
|
|
144
145
|
return _context.abrupt("return", results.map(function (result) {
|
|
145
146
|
if (result.status === 'fulfilled') {
|
|
@@ -150,11 +151,11 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
150
151
|
};
|
|
151
152
|
}
|
|
152
153
|
}));
|
|
153
|
-
case
|
|
154
|
+
case 6:
|
|
154
155
|
case "end":
|
|
155
156
|
return _context.stop();
|
|
156
157
|
}
|
|
157
|
-
}, _callee);
|
|
158
|
+
}, _callee, this);
|
|
158
159
|
}));
|
|
159
160
|
function writeNodesData(_x, _x2) {
|
|
160
161
|
return _writeNodesData.apply(this, arguments);
|
|
@@ -164,6 +165,9 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
164
165
|
}, {
|
|
165
166
|
key: "createNodeData",
|
|
166
167
|
value: function createNodeData(data) {
|
|
168
|
+
if (!this.writeProvider) {
|
|
169
|
+
return Promise.reject(new Error('Write provider not set'));
|
|
170
|
+
}
|
|
167
171
|
return this.writeProvider.createData(data).then(function (result) {
|
|
168
172
|
return result;
|
|
169
173
|
}, function (error) {
|
|
@@ -189,11 +193,20 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
189
193
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
190
194
|
while (1) switch (_context2.prev = _context2.next) {
|
|
191
195
|
case 0:
|
|
192
|
-
|
|
196
|
+
if (this.writeProvider) {
|
|
197
|
+
_context2.next = 2;
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
return _context2.abrupt("return", Promise.reject(new Error('Write provider not set')));
|
|
201
|
+
case 2:
|
|
202
|
+
_context2.next = 4;
|
|
193
203
|
return Promise.allSettled(resourceIds.map(function (resourceId) {
|
|
204
|
+
if (!_this4.writeProvider) {
|
|
205
|
+
return Promise.reject('Write provider not set');
|
|
206
|
+
}
|
|
194
207
|
return _this4.writeProvider.deleteData(resourceId);
|
|
195
208
|
}));
|
|
196
|
-
case
|
|
209
|
+
case 4:
|
|
197
210
|
results = _context2.sent;
|
|
198
211
|
return _context2.abrupt("return", results.map(function (result, index) {
|
|
199
212
|
if (result.status === 'fulfilled') {
|
|
@@ -206,29 +219,17 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
206
219
|
};
|
|
207
220
|
}
|
|
208
221
|
}));
|
|
209
|
-
case
|
|
222
|
+
case 6:
|
|
210
223
|
case "end":
|
|
211
224
|
return _context2.stop();
|
|
212
225
|
}
|
|
213
|
-
}, _callee2);
|
|
226
|
+
}, _callee2, this);
|
|
214
227
|
}));
|
|
215
228
|
function deleteNodesData(_x3) {
|
|
216
229
|
return _deleteNodesData.apply(this, arguments);
|
|
217
230
|
}
|
|
218
231
|
return deleteNodesData;
|
|
219
232
|
}()
|
|
220
|
-
/**
|
|
221
|
-
* Get the source id
|
|
222
|
-
*
|
|
223
|
-
* @returns The source id
|
|
224
|
-
*/
|
|
225
|
-
)
|
|
226
|
-
}, {
|
|
227
|
-
key: "getSourceId",
|
|
228
|
-
value: function getSourceId() {
|
|
229
|
-
return this.sourceId;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
233
|
/**
|
|
233
234
|
* Fetch the source info from the source id
|
|
234
235
|
*
|
|
@@ -238,6 +239,7 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
238
239
|
*
|
|
239
240
|
* @returns The source info
|
|
240
241
|
*/
|
|
242
|
+
)
|
|
241
243
|
}, {
|
|
242
244
|
key: "fetchSyncBlockSourceInfo",
|
|
243
245
|
value: function fetchSyncBlockSourceInfo(localId, sourceAri, sourceProduct, fireAnalyticsEvent) {
|
|
@@ -255,12 +257,20 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
255
257
|
}
|
|
256
258
|
}, {
|
|
257
259
|
key: "generateResourceId",
|
|
258
|
-
value: function generateResourceId(
|
|
259
|
-
|
|
260
|
+
value: function generateResourceId() {
|
|
261
|
+
var localId = crypto.randomUUID();
|
|
262
|
+
var resourceId = crypto.randomUUID();
|
|
263
|
+
return {
|
|
264
|
+
localId: localId,
|
|
265
|
+
resourceId: resourceId
|
|
266
|
+
};
|
|
260
267
|
}
|
|
261
268
|
}, {
|
|
262
269
|
key: "generateResourceIdForReference",
|
|
263
270
|
value: function generateResourceIdForReference(sourceId) {
|
|
271
|
+
if (!this.writeProvider) {
|
|
272
|
+
throw new Error('Write provider not set');
|
|
273
|
+
}
|
|
264
274
|
return this.writeProvider.generateResourceIdForReference(sourceId);
|
|
265
275
|
}
|
|
266
276
|
|
|
@@ -292,7 +302,9 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
292
302
|
switch (sourceProduct) {
|
|
293
303
|
case 'confluence-page':
|
|
294
304
|
return {
|
|
295
|
-
contentId: (0, _ari.getPageIdAndTypeFromConfluencePageAri)(
|
|
305
|
+
contentId: (0, _ari.getPageIdAndTypeFromConfluencePageAri)({
|
|
306
|
+
ari: sourceAri
|
|
307
|
+
}).id,
|
|
296
308
|
contentProduct: sourceProduct
|
|
297
309
|
};
|
|
298
310
|
case 'jira-work-item':
|
|
@@ -304,14 +316,45 @@ var SyncBlockProvider = exports.SyncBlockProvider = /*#__PURE__*/function (_Sync
|
|
|
304
316
|
}, {
|
|
305
317
|
key: "updateReferenceData",
|
|
306
318
|
value: function updateReferenceData(blocks, noContent) {
|
|
319
|
+
if (!this.writeProvider) {
|
|
320
|
+
throw new Error('Write provider not set');
|
|
321
|
+
}
|
|
307
322
|
return this.writeProvider.updateReferenceData(blocks, noContent);
|
|
308
323
|
}
|
|
309
324
|
}]);
|
|
310
325
|
}(_types2.SyncBlockDataProvider);
|
|
311
|
-
var
|
|
326
|
+
var createSyncedBlockProvider = function createSyncedBlockProvider(_ref) {
|
|
327
|
+
var fetchProvider = _ref.fetchProvider,
|
|
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;
|
|
312
352
|
var syncBlockProvider = (0, _react.useMemo)(function () {
|
|
313
|
-
return
|
|
314
|
-
|
|
353
|
+
return createSyncedBlockProvider({
|
|
354
|
+
fetchProvider: fetchProvider,
|
|
355
|
+
writeProvider: writeProvider
|
|
356
|
+
});
|
|
357
|
+
}, [fetchProvider, writeProvider]);
|
|
315
358
|
syncBlockProvider.setProviderOptions(providerOptions);
|
|
316
359
|
var ssrData = getSSRData ? getSSRData() : undefined;
|
|
317
360
|
if (ssrData) {
|
|
@@ -10,13 +10,12 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
var _uuid = _interopRequireDefault(require("uuid"));
|
|
14
13
|
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
15
14
|
var _types = require("../common/types");
|
|
16
15
|
var _errorHandling = require("../utils/errorHandling");
|
|
17
16
|
var _utils = require("../utils/utils");
|
|
18
17
|
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; }
|
|
19
|
-
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) { (0, _defineProperty2.default)(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; }
|
|
18
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
20
19
|
// A store manager responsible for the lifecycle and state management of source sync blocks in an editor instance.
|
|
21
20
|
// Designed to manage local in-memory state and synchronize with an external data provider.
|
|
22
21
|
// Supports create, flush, and delete operations for source sync blocks.
|
|
@@ -237,14 +236,12 @@ var SourceSyncBlockStoreManager = exports.SourceSyncBlockStoreManager = /*#__PUR
|
|
|
237
236
|
}, {
|
|
238
237
|
key: "generateBodiedSyncBlockAttrs",
|
|
239
238
|
value: function generateBodiedSyncBlockAttrs() {
|
|
240
|
-
|
|
241
|
-
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
242
|
-
var localId = (0, _uuid.default)();
|
|
243
|
-
var sourceId = (_this$dataProvider = this.dataProvider) === null || _this$dataProvider === void 0 ? void 0 : _this$dataProvider.getSourceId();
|
|
244
|
-
if (!this.dataProvider || !sourceId) {
|
|
239
|
+
if (!this.dataProvider) {
|
|
245
240
|
throw new Error('Data provider not set or source id not set');
|
|
246
241
|
}
|
|
247
|
-
var
|
|
242
|
+
var _this$dataProvider$ge = this.dataProvider.generateResourceId(),
|
|
243
|
+
resourceId = _this$dataProvider$ge.resourceId,
|
|
244
|
+
localId = _this$dataProvider$ge.localId;
|
|
248
245
|
return {
|
|
249
246
|
resourceId: resourceId,
|
|
250
247
|
localId: localId
|
|
@@ -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 =
|
|
62
|
+
var syncBlockStoreManager = createSyncBlockStoreManager(dataProvider);
|
|
53
63
|
return syncBlockStoreManager;
|
|
54
64
|
}, [dataProvider]);
|
|
55
65
|
syncBlockStoreManager.setFireAnalyticsEvent(fireAnalyticsEvent);
|
|
@@ -2,32 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Generates the block ARI from the source page ARI and the source block's resource ID.
|
|
5
|
-
* @param
|
|
5
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
6
|
+
* @param parentId - the parentId of the block. E.G the pageId for a confluence page, or the issueId for a Jira work item
|
|
6
7
|
* @param resourceId - the resource ID of the block node. A randomly generated UUID
|
|
8
|
+
* @param product - the product of the block. E.G 'confluence-page', 'jira-work-item'
|
|
7
9
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
8
10
|
*/
|
|
9
|
-
export const generateBlockAri = (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return `ari:cloud:blocks:${cloudId}:synced-block/${product}/${pageId}/${resourceId}`;
|
|
11
|
+
export const generateBlockAri = ({
|
|
12
|
+
cloudId,
|
|
13
|
+
parentId,
|
|
14
|
+
product,
|
|
15
|
+
resourceId
|
|
16
|
+
}) => {
|
|
17
|
+
return `ari:cloud:blocks:${cloudId}:synced-block/${product}/${parentId}/${resourceId}`;
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Generates the block ARI from the reference synced block ARI and the resource ID
|
|
21
|
-
* @param
|
|
22
|
+
* @param cloudId - the cloudId of the block. E.G the cloudId of the confluence page, or the cloudId of the Jira instance
|
|
22
23
|
* @param resourceId - the resource ID of the reference synced block. E.G confluence-page/pageId/sourceResourceId
|
|
23
24
|
* @returns the block ARI. E.G ari:cloud:blocks:<cloudId>:synced-block/<product>/<pageId>/<resourceId>
|
|
24
25
|
*/
|
|
25
|
-
export const generateBlockAriFromReference = (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
const cloudId = match[1];
|
|
26
|
+
export const generateBlockAriFromReference = ({
|
|
27
|
+
cloudId,
|
|
28
|
+
resourceId
|
|
29
|
+
}) => {
|
|
31
30
|
return `ari:cloud:blocks:${cloudId}:synced-block/${resourceId}`;
|
|
32
31
|
};
|
|
33
32
|
|
|
@@ -11,14 +11,22 @@
|
|
|
11
11
|
* @param pageType - the type of the page
|
|
12
12
|
* @returns the Confluence page ARI
|
|
13
13
|
*/
|
|
14
|
-
export const getConfluencePageAri = (
|
|
14
|
+
export const getConfluencePageAri = ({
|
|
15
|
+
pageId,
|
|
16
|
+
cloudId,
|
|
17
|
+
pageType
|
|
18
|
+
}) => {
|
|
19
|
+
return `ari:cloud:confluence:${cloudId}:${pageType}/${pageId}`;
|
|
20
|
+
};
|
|
15
21
|
|
|
16
22
|
/**
|
|
17
23
|
* Extracts the page ID and type from the Confluence page ARI
|
|
18
24
|
* @param ari - the Confluence page ARI
|
|
19
25
|
* @returns the page ID and type
|
|
20
26
|
*/
|
|
21
|
-
export const getPageIdAndTypeFromConfluencePageAri =
|
|
27
|
+
export const getPageIdAndTypeFromConfluencePageAri = ({
|
|
28
|
+
ari
|
|
29
|
+
}) => {
|
|
22
30
|
const match = ari.match(/ari:cloud:confluence:[^:]+:(page|blogpost)\/(\d+)/);
|
|
23
31
|
if (match !== null && match !== void 0 && match[2]) {
|
|
24
32
|
return {
|
|
@@ -27,38 +35,4 @@ export const getPageIdAndTypeFromConfluencePageAri = ari => {
|
|
|
27
35
|
};
|
|
28
36
|
}
|
|
29
37
|
throw new Error(`Invalid page ARI: ${ari}`);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Extracts the local ID from the Confluence page content property resource ID
|
|
34
|
-
* @param resourceId - the Confluence page content property resource ID
|
|
35
|
-
* @returns the local ID
|
|
36
|
-
*/
|
|
37
|
-
export const getLocalIdFromContentPropertyResourceId = resourceId => {
|
|
38
|
-
const match = resourceId.match(/ari:cloud:confluence:[^:]+:(page|blogpost)\/\d+\/([a-zA-Z0-9-]+)/);
|
|
39
|
-
if (match !== null && match !== void 0 && match[2]) {
|
|
40
|
-
return match[2];
|
|
41
|
-
}
|
|
42
|
-
throw new Error(`Invalid resourceId: ${resourceId}`);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Extracts the Confluence page ARI from the Confluence content property resource ID
|
|
47
|
-
* @param resourceId - the Confluence content property resource ID
|
|
48
|
-
* @returns the Confluence page ARI
|
|
49
|
-
*/
|
|
50
|
-
export const getPageAriFromContentPropertyResourceId = resourceId => {
|
|
51
|
-
const match = resourceId.match(/(ari:cloud:confluence:[^:]+:(page|blogpost)\/\d+)\/([a-zA-Z0-9-]+)$/);
|
|
52
|
-
if (match !== null && match !== void 0 && match[1]) {
|
|
53
|
-
return match[1];
|
|
54
|
-
}
|
|
55
|
-
throw new Error(`Invalid resourceId: ${resourceId}`);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Generates the Confluence page content property resource ID from the source ID and local ID
|
|
60
|
-
* @param sourceId - the source ID
|
|
61
|
-
* @param localId - the local ID
|
|
62
|
-
* @returns the Confluence page content property resource ID
|
|
63
|
-
*/
|
|
64
|
-
export const resourceIdFromConfluencePageSourceIdAndLocalId = (sourceId, localId) => `${sourceId}/${localId}`;
|
|
38
|
+
};
|
|
@@ -60,7 +60,9 @@ export const fetchConfluencePageInfo = async (pageAri, localId, fireAnalyticsEve
|
|
|
60
60
|
var _response$data, _response$data$conten, _response$data$conten2, _contentData$space;
|
|
61
61
|
const {
|
|
62
62
|
type: pageType
|
|
63
|
-
} = getPageIdAndTypeFromConfluencePageAri(
|
|
63
|
+
} = getPageIdAndTypeFromConfluencePageAri({
|
|
64
|
+
ari: pageAri
|
|
65
|
+
});
|
|
64
66
|
const response = await getConfluenceSourceInfo(pageAri);
|
|
65
67
|
const contentData = (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$conten = _response$data.content) === null || _response$data$conten === void 0 ? void 0 : (_response$data$conten2 = _response$data$conten.nodes) === null || _response$data$conten2 === void 0 ? void 0 : _response$data$conten2[0];
|
|
66
68
|
const title = contentData === null || contentData === void 0 ? void 0 : contentData.title;
|
|
@@ -6,14 +6,21 @@
|
|
|
6
6
|
* @param cloudId - the cloud ID
|
|
7
7
|
* @returns the Jira work item ARI
|
|
8
8
|
*/
|
|
9
|
-
export const getJiraWorkItemAri = (
|
|
9
|
+
export const getJiraWorkItemAri = ({
|
|
10
|
+
cloudId,
|
|
11
|
+
workItemId
|
|
12
|
+
}) => {
|
|
13
|
+
return `ari:cloud:jira:${cloudId}:issue/${workItemId}`;
|
|
14
|
+
};
|
|
10
15
|
|
|
11
16
|
/**
|
|
12
17
|
* Extracts the Jira work item ID from the Jira work item ARI
|
|
13
18
|
* @param ari - the Jira work item ARI
|
|
14
19
|
* @returns the Jira work item ID
|
|
15
20
|
*/
|
|
16
|
-
export const getJiraWorkItemIdFromAri =
|
|
21
|
+
export const getJiraWorkItemIdFromAri = ({
|
|
22
|
+
ari
|
|
23
|
+
}) => {
|
|
17
24
|
const match = ari.match(/ari:cloud:jira:([^:]+):issue\/(\d+)/);
|
|
18
25
|
if (match !== null && match !== void 0 && match[2]) {
|
|
19
26
|
return match[2];
|
package/dist/es2019/index.js
CHANGED
|
@@ -10,18 +10,17 @@ export { useHandleContentChanges } from './hooks/useHandleContentChanges';
|
|
|
10
10
|
|
|
11
11
|
// clients
|
|
12
12
|
export { generateBlockAri, generateBlockAriFromReference, getLocalIdFromBlockResourceId } from './clients/block-service/ari';
|
|
13
|
-
export { getConfluencePageAri,
|
|
13
|
+
export { getConfluencePageAri, getPageIdAndTypeFromConfluencePageAri } from './clients/confluence/ari';
|
|
14
14
|
export { getJiraWorkItemAri, getJiraWorkItemIdFromAri } from './clients/jira/ari';
|
|
15
15
|
|
|
16
16
|
// providers
|
|
17
|
-
export { useMemoizedBlockServiceAPIProviders } from './providers/block-service/blockServiceAPI';
|
|
18
|
-
export { createContentAPIProvidersWithDefaultKey, useMemoizedContentAPIProviders } from './providers/confluence/confluenceContentAPI';
|
|
17
|
+
export { createBlockServiceAPIProviders, createBlockServiceFetchOnlyAPIProvider, useMemoizedBlockServiceAPIProviders, useMemoizedBlockServiceFetchOnlyAPIProvider } from './providers/block-service/blockServiceAPI';
|
|
19
18
|
export { fetchConfluencePageInfo } from './clients/confluence/sourceInfo';
|
|
20
|
-
export { SyncBlockProvider as SyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
|
|
19
|
+
export { SyncBlockProvider as SyncedBlockProvider, createAndInitializeSyncedBlockProvider, useMemoizedSyncedBlockProvider } from './providers/syncBlockProvider';
|
|
21
20
|
|
|
22
21
|
// store managers
|
|
23
22
|
|
|
24
|
-
export { SyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
|
|
23
|
+
export { SyncBlockStoreManager, createAndInitializeSyncBlockStoreManager, useMemoizedSyncBlockStoreManager } from './store-manager/syncBlockStoreManager';
|
|
25
24
|
|
|
26
25
|
// utils
|
|
27
26
|
export { resolveSyncBlockInstance } from './utils/resolveSyncBlockInstance';
|