@atlaskit/editor-synced-block-renderer 3.1.0 → 3.1.1
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 +8 -0
- package/afm-cc/tsconfig.json +3 -0
- package/dist/cjs/getSyncedBlockNodeComponent.js +18 -19
- package/dist/cjs/getSyncedBlockRenderer.js +10 -5
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/ui/SyncedBlockNodeComponentRenderer.js +42 -8
- package/dist/cjs/ui/SyncedBlockRenderer.js +40 -6
- package/dist/es2019/getSyncedBlockNodeComponent.js +14 -13
- package/dist/es2019/getSyncedBlockRenderer.js +4 -0
- package/dist/es2019/types.js +1 -0
- package/dist/es2019/ui/SyncedBlockNodeComponentRenderer.js +43 -7
- package/dist/es2019/ui/SyncedBlockRenderer.js +39 -4
- package/dist/esm/getSyncedBlockNodeComponent.js +19 -19
- package/dist/esm/getSyncedBlockRenderer.js +10 -5
- package/dist/esm/types.js +1 -0
- package/dist/esm/ui/SyncedBlockNodeComponentRenderer.js +42 -8
- package/dist/esm/ui/SyncedBlockRenderer.js +40 -6
- package/dist/types/getSyncedBlockNodeComponent.d.ts +9 -3
- package/dist/types/getSyncedBlockRenderer.d.ts +9 -2
- package/dist/types/types.d.ts +2 -0
- package/dist/types/ui/SyncedBlockNodeComponentRenderer.d.ts +6 -2
- package/dist/types/ui/SyncedBlockRenderer.d.ts +3 -1
- package/dist/types-ts4.5/getSyncedBlockNodeComponent.d.ts +9 -3
- package/dist/types-ts4.5/getSyncedBlockRenderer.d.ts +9 -2
- package/dist/types-ts4.5/types.d.ts +2 -0
- package/dist/types-ts4.5/ui/SyncedBlockNodeComponentRenderer.d.ts +6 -2
- package/dist/types-ts4.5/ui/SyncedBlockRenderer.d.ts +3 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-renderer
|
|
2
2
|
|
|
3
|
+
## 3.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`aa14795cecd60`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/aa14795cecd60) -
|
|
8
|
+
EDITOR-2350 Pass media options to sync block nested renderer.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
3
11
|
## 3.1.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
package/afm-cc/tsconfig.json
CHANGED
|
@@ -1,37 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getSyncedBlockNodeComponent = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
|
|
10
8
|
var _SyncedBlockNodeComponentRenderer = require("./ui/SyncedBlockNodeComponentRenderer");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
var getSyncBlockNodesFromContent = function getSyncBlockNodesFromContent(content) {
|
|
10
|
+
return content.map(function (node) {
|
|
11
|
+
return (0, _editorSyncedBlockProvider.convertSyncBlockJSONNodeToSyncBlockNode)(node);
|
|
12
|
+
}).filter(function (node) {
|
|
13
|
+
return node !== undefined;
|
|
14
|
+
});
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
// For rendering synced block nodes in Renderer
|
|
18
|
-
var getSyncedBlockNodeComponent = exports.getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(
|
|
17
|
+
// For rendering reference synced block nodes in Renderer
|
|
18
|
+
var getSyncedBlockNodeComponent = exports.getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(_ref) {
|
|
19
|
+
var doc = _ref.doc,
|
|
20
|
+
syncBlockProvider = _ref.syncBlockProvider,
|
|
21
|
+
syncBlockRendererOptions = _ref.syncBlockRendererOptions;
|
|
19
22
|
var content = doc.content;
|
|
20
23
|
var isEmpty = !content || !Array.isArray(content) || content.length === 0;
|
|
21
|
-
var syncBlockNodes = isEmpty ? [] : content
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
var syncBlockStoreManager = isSyncBlockDataProvider(dataProvider) ? new _editorSyncedBlockProvider.SyncBlockStoreManager(dataProvider) : undefined;
|
|
25
|
-
if (!syncBlockStoreManager) {
|
|
26
|
-
// TODO: EDITOR-2533 - returns a function that always renders error state
|
|
27
|
-
throw new Error('Data provider is not a SyncBlockDataProvider');
|
|
28
|
-
}
|
|
24
|
+
var syncBlockNodes = isEmpty ? [] : getSyncBlockNodesFromContent(content);
|
|
25
|
+
var syncBlockStoreManager = new _editorSyncedBlockProvider.SyncBlockStoreManager(syncBlockProvider);
|
|
29
26
|
|
|
30
27
|
// Pre-fetch sync block data
|
|
31
28
|
syncBlockStoreManager.getReferenceSyncBlockStoreManager().fetchSyncBlocksData(syncBlockNodes);
|
|
32
29
|
return function (props) {
|
|
33
|
-
return (0, _SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer)(
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
return (0, _SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer)({
|
|
31
|
+
nodeProps: props,
|
|
32
|
+
syncBlockStoreManager: syncBlockStoreManager,
|
|
33
|
+
rendererOptions: syncBlockRendererOptions
|
|
34
|
+
});
|
|
36
35
|
};
|
|
37
36
|
};
|
|
@@ -7,11 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.getSyncedBlockRenderer = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _SyncedBlockRenderer = require("./ui/SyncedBlockRenderer");
|
|
10
|
+
// For rendering reference synced block nodes in Editor
|
|
10
11
|
var getSyncedBlockRenderer = exports.getSyncedBlockRenderer = function getSyncedBlockRenderer(_ref) {
|
|
11
12
|
var syncBlockRendererDataProviders = _ref.syncBlockRendererDataProviders,
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
syncBlockRendererOptions = _ref.syncBlockRendererOptions;
|
|
14
|
+
return function (_ref2) {
|
|
15
|
+
var useFetchSyncBlockData = _ref2.useFetchSyncBlockData;
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement(_SyncedBlockRenderer.SyncedBlockRenderer, {
|
|
17
|
+
syncBlockRendererOptions: syncBlockRendererOptions,
|
|
18
|
+
syncBlockRendererDataProviders: syncBlockRendererDataProviders,
|
|
19
|
+
useFetchSyncBlockData: useFetchSyncBlockData
|
|
20
|
+
});
|
|
21
|
+
};
|
|
17
22
|
};
|
|
@@ -11,10 +11,29 @@ var _renderer = require("@atlaskit/renderer");
|
|
|
11
11
|
var _actions = require("@atlaskit/renderer/actions");
|
|
12
12
|
var _SyncedBlockErrorComponent = require("./SyncedBlockErrorComponent");
|
|
13
13
|
var _SyncedBlockLoadingState = require("./SyncedBlockLoadingState");
|
|
14
|
-
var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(_ref) {
|
|
15
|
+
var nodeProps = _ref.nodeProps,
|
|
16
|
+
syncBlockStoreManager = _ref.syncBlockStoreManager,
|
|
17
|
+
rendererOptions = _ref.rendererOptions;
|
|
18
|
+
var resourceId = nodeProps.resourceId,
|
|
19
|
+
localId = nodeProps.localId,
|
|
20
|
+
providers = nodeProps.providers;
|
|
21
|
+
var _ref2 = rendererOptions !== null && rendererOptions !== void 0 ? rendererOptions : {},
|
|
22
|
+
allowAltTextOnImages = _ref2.allowAltTextOnImages,
|
|
23
|
+
allowAnnotations = _ref2.allowAnnotations,
|
|
24
|
+
allowColumnSorting = _ref2.allowColumnSorting,
|
|
25
|
+
allowCopyToClipboard = _ref2.allowCopyToClipboard,
|
|
26
|
+
allowCustomPanels = _ref2.allowCustomPanels,
|
|
27
|
+
allowHeadingAnchorLinks = _ref2.allowHeadingAnchorLinks,
|
|
28
|
+
allowPlaceholderText = _ref2.allowPlaceholderText,
|
|
29
|
+
allowRendererContainerStyles = _ref2.allowRendererContainerStyles,
|
|
30
|
+
allowSelectAllTrap = _ref2.allowSelectAllTrap,
|
|
31
|
+
allowUgcScrubber = _ref2.allowUgcScrubber,
|
|
32
|
+
allowWrapCodeBlock = _ref2.allowWrapCodeBlock,
|
|
33
|
+
emojiResourceConfig = _ref2.emojiResourceConfig,
|
|
34
|
+
media = _ref2.media,
|
|
35
|
+
smartLinks = _ref2.smartLinks,
|
|
36
|
+
stickyHeaders = _ref2.stickyHeaders;
|
|
18
37
|
var _useFetchSyncBlockDat = (0, _editorSyncedBlockProvider.useFetchSyncBlockData)(syncBlockStoreManager, resourceId, localId),
|
|
19
38
|
syncBlockInstance = _useFetchSyncBlockDat.syncBlockInstance,
|
|
20
39
|
isLoading = _useFetchSyncBlockDat.isLoading;
|
|
@@ -25,7 +44,7 @@ var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer
|
|
|
25
44
|
var _syncBlockInstance$er;
|
|
26
45
|
return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
|
|
27
46
|
error: (_syncBlockInstance$er = syncBlockInstance === null || syncBlockInstance === void 0 ? void 0 : syncBlockInstance.error) !== null && _syncBlockInstance$er !== void 0 ? _syncBlockInstance$er : _editorSyncedBlockProvider.SyncBlockError.Errored,
|
|
28
|
-
resourceId:
|
|
47
|
+
resourceId: resourceId
|
|
29
48
|
});
|
|
30
49
|
}
|
|
31
50
|
var syncBlockDoc = {
|
|
@@ -36,13 +55,28 @@ var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer
|
|
|
36
55
|
return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
37
56
|
"data-sync-block": true,
|
|
38
57
|
"data-testid": "sync-block-renderer-wrapper",
|
|
39
|
-
"data-resource-id":
|
|
40
|
-
"data-local-id":
|
|
58
|
+
"data-resource-id": resourceId,
|
|
59
|
+
"data-local-id": localId
|
|
41
60
|
}, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
|
|
42
61
|
appearance: "full-width",
|
|
43
62
|
adfStage: "stage0",
|
|
44
63
|
document: syncBlockDoc,
|
|
45
64
|
disableHeadingIDs: true,
|
|
46
|
-
dataProviders:
|
|
65
|
+
dataProviders: providers,
|
|
66
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
67
|
+
allowAnnotations: allowAnnotations,
|
|
68
|
+
allowColumnSorting: allowColumnSorting,
|
|
69
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
70
|
+
allowCustomPanels: allowCustomPanels,
|
|
71
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
72
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
73
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
74
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
75
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
76
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
77
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
78
|
+
media: media,
|
|
79
|
+
smartLinks: smartLinks,
|
|
80
|
+
stickyHeaders: stickyHeaders
|
|
47
81
|
})));
|
|
48
82
|
};
|
|
@@ -25,7 +25,8 @@ var convertSyncBlockRendererDataProvidersToProviderFactory = exports.convertSync
|
|
|
25
25
|
};
|
|
26
26
|
var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
27
27
|
var fetchedData = _ref.fetchedData,
|
|
28
|
-
providerFactory = _ref.providerFactory
|
|
28
|
+
providerFactory = _ref.providerFactory,
|
|
29
|
+
options = _ref.options;
|
|
29
30
|
var syncBlockDoc = (0, _react.useMemo)(function () {
|
|
30
31
|
var _fetchedData$content;
|
|
31
32
|
return {
|
|
@@ -34,6 +35,22 @@ var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
|
34
35
|
type: 'doc'
|
|
35
36
|
};
|
|
36
37
|
}, [fetchedData]);
|
|
38
|
+
var _ref2 = options !== null && options !== void 0 ? options : {},
|
|
39
|
+
allowAltTextOnImages = _ref2.allowAltTextOnImages,
|
|
40
|
+
allowAnnotations = _ref2.allowAnnotations,
|
|
41
|
+
allowColumnSorting = _ref2.allowColumnSorting,
|
|
42
|
+
allowCopyToClipboard = _ref2.allowCopyToClipboard,
|
|
43
|
+
allowCustomPanels = _ref2.allowCustomPanels,
|
|
44
|
+
allowHeadingAnchorLinks = _ref2.allowHeadingAnchorLinks,
|
|
45
|
+
allowPlaceholderText = _ref2.allowPlaceholderText,
|
|
46
|
+
allowRendererContainerStyles = _ref2.allowRendererContainerStyles,
|
|
47
|
+
allowSelectAllTrap = _ref2.allowSelectAllTrap,
|
|
48
|
+
allowUgcScrubber = _ref2.allowUgcScrubber,
|
|
49
|
+
allowWrapCodeBlock = _ref2.allowWrapCodeBlock,
|
|
50
|
+
emojiResourceConfig = _ref2.emojiResourceConfig,
|
|
51
|
+
media = _ref2.media,
|
|
52
|
+
smartLinks = _ref2.smartLinks,
|
|
53
|
+
stickyHeaders = _ref2.stickyHeaders;
|
|
37
54
|
return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
38
55
|
"data-testid": "sync-block-renderer-wrapper"
|
|
39
56
|
}, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
|
|
@@ -41,12 +58,28 @@ var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
|
41
58
|
adfStage: "stage0",
|
|
42
59
|
document: syncBlockDoc,
|
|
43
60
|
disableHeadingIDs: true,
|
|
44
|
-
dataProviders: providerFactory
|
|
61
|
+
dataProviders: providerFactory,
|
|
62
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
63
|
+
allowAnnotations: allowAnnotations,
|
|
64
|
+
allowColumnSorting: allowColumnSorting,
|
|
65
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
66
|
+
allowCustomPanels: allowCustomPanels,
|
|
67
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
68
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
69
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
70
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
71
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
72
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
73
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
74
|
+
media: media,
|
|
75
|
+
smartLinks: smartLinks,
|
|
76
|
+
stickyHeaders: stickyHeaders
|
|
45
77
|
})));
|
|
46
78
|
};
|
|
47
|
-
var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(
|
|
48
|
-
var useFetchSyncBlockData =
|
|
49
|
-
syncBlockRendererDataProviders =
|
|
79
|
+
var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref3) {
|
|
80
|
+
var useFetchSyncBlockData = _ref3.useFetchSyncBlockData,
|
|
81
|
+
syncBlockRendererDataProviders = _ref3.syncBlockRendererDataProviders,
|
|
82
|
+
syncBlockRendererOptions = _ref3.syncBlockRendererOptions;
|
|
50
83
|
var _useFetchSyncBlockDat = useFetchSyncBlockData(),
|
|
51
84
|
syncBlockInstance = _useFetchSyncBlockDat.syncBlockInstance;
|
|
52
85
|
var providerFactory = (0, _react.useMemo)(function () {
|
|
@@ -64,7 +97,8 @@ var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref2)
|
|
|
64
97
|
}
|
|
65
98
|
return /*#__PURE__*/_react.default.createElement(SyncedBlockRendererWrapper, {
|
|
66
99
|
fetchedData: syncBlockInstance.data,
|
|
67
|
-
providerFactory: providerFactory
|
|
100
|
+
providerFactory: providerFactory,
|
|
101
|
+
options: syncBlockRendererOptions
|
|
68
102
|
});
|
|
69
103
|
};
|
|
70
104
|
var SyncedBlockRenderer = exports.SyncedBlockRenderer = /*#__PURE__*/(0, _react.memo)(SyncedBlockRendererComponent);
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
1
|
+
import { convertSyncBlockJSONNodeToSyncBlockNode, SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
2
2
|
import { SyncedBlockNodeComponentRenderer } from './ui/SyncedBlockNodeComponentRenderer';
|
|
3
|
-
const
|
|
4
|
-
return
|
|
3
|
+
const getSyncBlockNodesFromContent = content => {
|
|
4
|
+
return content.map(node => convertSyncBlockJSONNodeToSyncBlockNode(node)).filter(node => node !== undefined);
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
// For rendering synced block nodes in Renderer
|
|
8
|
-
export const getSyncedBlockNodeComponent = (
|
|
7
|
+
// For rendering reference synced block nodes in Renderer
|
|
8
|
+
export const getSyncedBlockNodeComponent = ({
|
|
9
|
+
doc,
|
|
10
|
+
syncBlockProvider,
|
|
11
|
+
syncBlockRendererOptions
|
|
12
|
+
}) => {
|
|
9
13
|
const {
|
|
10
14
|
content
|
|
11
15
|
} = doc;
|
|
12
16
|
const isEmpty = !content || !Array.isArray(content) || content.length === 0;
|
|
13
|
-
const syncBlockNodes = isEmpty ? [] : content
|
|
14
|
-
const syncBlockStoreManager =
|
|
15
|
-
if (!syncBlockStoreManager) {
|
|
16
|
-
// TODO: EDITOR-2533 - returns a function that always renders error state
|
|
17
|
-
throw new Error('Data provider is not a SyncBlockDataProvider');
|
|
18
|
-
}
|
|
17
|
+
const syncBlockNodes = isEmpty ? [] : getSyncBlockNodesFromContent(content);
|
|
18
|
+
const syncBlockStoreManager = new SyncBlockStoreManager(syncBlockProvider);
|
|
19
19
|
|
|
20
20
|
// Pre-fetch sync block data
|
|
21
21
|
syncBlockStoreManager.getReferenceSyncBlockStoreManager().fetchSyncBlocksData(syncBlockNodes);
|
|
22
22
|
return props => SyncedBlockNodeComponentRenderer({
|
|
23
|
-
|
|
24
|
-
syncBlockStoreManager
|
|
23
|
+
nodeProps: props,
|
|
24
|
+
syncBlockStoreManager,
|
|
25
|
+
rendererOptions: syncBlockRendererOptions
|
|
25
26
|
});
|
|
26
27
|
};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SyncedBlockRenderer } from './ui/SyncedBlockRenderer';
|
|
3
|
+
// For rendering reference synced block nodes in Editor
|
|
3
4
|
export const getSyncedBlockRenderer = ({
|
|
4
5
|
syncBlockRendererDataProviders,
|
|
6
|
+
syncBlockRendererOptions
|
|
7
|
+
}) => ({
|
|
5
8
|
useFetchSyncBlockData
|
|
6
9
|
}) => {
|
|
7
10
|
return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
|
|
11
|
+
syncBlockRendererOptions: syncBlockRendererOptions,
|
|
8
12
|
syncBlockRendererDataProviders: syncBlockRendererDataProviders,
|
|
9
13
|
useFetchSyncBlockData: useFetchSyncBlockData
|
|
10
14
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,12 +4,33 @@ import { ReactRenderer } from '@atlaskit/renderer';
|
|
|
4
4
|
import { RendererActionsContext } from '@atlaskit/renderer/actions';
|
|
5
5
|
import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
|
|
6
6
|
import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
|
|
7
|
-
export const SyncedBlockNodeComponentRenderer =
|
|
7
|
+
export const SyncedBlockNodeComponentRenderer = ({
|
|
8
|
+
nodeProps,
|
|
9
|
+
syncBlockStoreManager,
|
|
10
|
+
rendererOptions
|
|
11
|
+
}) => {
|
|
8
12
|
const {
|
|
9
13
|
resourceId,
|
|
10
14
|
localId,
|
|
11
|
-
|
|
12
|
-
} =
|
|
15
|
+
providers
|
|
16
|
+
} = nodeProps;
|
|
17
|
+
const {
|
|
18
|
+
allowAltTextOnImages,
|
|
19
|
+
allowAnnotations,
|
|
20
|
+
allowColumnSorting,
|
|
21
|
+
allowCopyToClipboard,
|
|
22
|
+
allowCustomPanels,
|
|
23
|
+
allowHeadingAnchorLinks,
|
|
24
|
+
allowPlaceholderText,
|
|
25
|
+
allowRendererContainerStyles,
|
|
26
|
+
allowSelectAllTrap,
|
|
27
|
+
allowUgcScrubber,
|
|
28
|
+
allowWrapCodeBlock,
|
|
29
|
+
emojiResourceConfig,
|
|
30
|
+
media,
|
|
31
|
+
smartLinks,
|
|
32
|
+
stickyHeaders
|
|
33
|
+
} = rendererOptions !== null && rendererOptions !== void 0 ? rendererOptions : {};
|
|
13
34
|
const {
|
|
14
35
|
syncBlockInstance,
|
|
15
36
|
isLoading
|
|
@@ -21,7 +42,7 @@ export const SyncedBlockNodeComponentRenderer = props => {
|
|
|
21
42
|
var _syncBlockInstance$er;
|
|
22
43
|
return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
|
|
23
44
|
error: (_syncBlockInstance$er = syncBlockInstance === null || syncBlockInstance === void 0 ? void 0 : syncBlockInstance.error) !== null && _syncBlockInstance$er !== void 0 ? _syncBlockInstance$er : SyncBlockError.Errored,
|
|
24
|
-
resourceId:
|
|
45
|
+
resourceId: resourceId
|
|
25
46
|
});
|
|
26
47
|
}
|
|
27
48
|
const syncBlockDoc = {
|
|
@@ -32,13 +53,28 @@ export const SyncedBlockNodeComponentRenderer = props => {
|
|
|
32
53
|
return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
|
|
33
54
|
"data-sync-block": true,
|
|
34
55
|
"data-testid": "sync-block-renderer-wrapper",
|
|
35
|
-
"data-resource-id":
|
|
36
|
-
"data-local-id":
|
|
56
|
+
"data-resource-id": resourceId,
|
|
57
|
+
"data-local-id": localId
|
|
37
58
|
}, /*#__PURE__*/React.createElement(ReactRenderer, {
|
|
38
59
|
appearance: "full-width",
|
|
39
60
|
adfStage: "stage0",
|
|
40
61
|
document: syncBlockDoc,
|
|
41
62
|
disableHeadingIDs: true,
|
|
42
|
-
dataProviders:
|
|
63
|
+
dataProviders: providers,
|
|
64
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
65
|
+
allowAnnotations: allowAnnotations,
|
|
66
|
+
allowColumnSorting: allowColumnSorting,
|
|
67
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
68
|
+
allowCustomPanels: allowCustomPanels,
|
|
69
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
70
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
71
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
72
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
73
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
74
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
75
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
76
|
+
media: media,
|
|
77
|
+
smartLinks: smartLinks,
|
|
78
|
+
stickyHeaders: stickyHeaders
|
|
43
79
|
})));
|
|
44
80
|
};
|
|
@@ -17,7 +17,8 @@ export const convertSyncBlockRendererDataProvidersToProviderFactory = dataProvid
|
|
|
17
17
|
};
|
|
18
18
|
const SyncedBlockRendererWrapper = ({
|
|
19
19
|
fetchedData,
|
|
20
|
-
providerFactory
|
|
20
|
+
providerFactory,
|
|
21
|
+
options
|
|
21
22
|
}) => {
|
|
22
23
|
const syncBlockDoc = useMemo(() => {
|
|
23
24
|
var _fetchedData$content;
|
|
@@ -27,6 +28,23 @@ const SyncedBlockRendererWrapper = ({
|
|
|
27
28
|
type: 'doc'
|
|
28
29
|
};
|
|
29
30
|
}, [fetchedData]);
|
|
31
|
+
const {
|
|
32
|
+
allowAltTextOnImages,
|
|
33
|
+
allowAnnotations,
|
|
34
|
+
allowColumnSorting,
|
|
35
|
+
allowCopyToClipboard,
|
|
36
|
+
allowCustomPanels,
|
|
37
|
+
allowHeadingAnchorLinks,
|
|
38
|
+
allowPlaceholderText,
|
|
39
|
+
allowRendererContainerStyles,
|
|
40
|
+
allowSelectAllTrap,
|
|
41
|
+
allowUgcScrubber,
|
|
42
|
+
allowWrapCodeBlock,
|
|
43
|
+
emojiResourceConfig,
|
|
44
|
+
media,
|
|
45
|
+
smartLinks,
|
|
46
|
+
stickyHeaders
|
|
47
|
+
} = options !== null && options !== void 0 ? options : {};
|
|
30
48
|
return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
|
|
31
49
|
"data-testid": "sync-block-renderer-wrapper"
|
|
32
50
|
}, /*#__PURE__*/React.createElement(ReactRenderer, {
|
|
@@ -34,12 +52,28 @@ const SyncedBlockRendererWrapper = ({
|
|
|
34
52
|
adfStage: "stage0",
|
|
35
53
|
document: syncBlockDoc,
|
|
36
54
|
disableHeadingIDs: true,
|
|
37
|
-
dataProviders: providerFactory
|
|
55
|
+
dataProviders: providerFactory,
|
|
56
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
57
|
+
allowAnnotations: allowAnnotations,
|
|
58
|
+
allowColumnSorting: allowColumnSorting,
|
|
59
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
60
|
+
allowCustomPanels: allowCustomPanels,
|
|
61
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
62
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
63
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
64
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
65
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
66
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
67
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
68
|
+
media: media,
|
|
69
|
+
smartLinks: smartLinks,
|
|
70
|
+
stickyHeaders: stickyHeaders
|
|
38
71
|
})));
|
|
39
72
|
};
|
|
40
73
|
const SyncedBlockRendererComponent = ({
|
|
41
74
|
useFetchSyncBlockData,
|
|
42
|
-
syncBlockRendererDataProviders
|
|
75
|
+
syncBlockRendererDataProviders,
|
|
76
|
+
syncBlockRendererOptions
|
|
43
77
|
}) => {
|
|
44
78
|
const {
|
|
45
79
|
syncBlockInstance
|
|
@@ -59,7 +93,8 @@ const SyncedBlockRendererComponent = ({
|
|
|
59
93
|
}
|
|
60
94
|
return /*#__PURE__*/React.createElement(SyncedBlockRendererWrapper, {
|
|
61
95
|
fetchedData: syncBlockInstance.data,
|
|
62
|
-
providerFactory: providerFactory
|
|
96
|
+
providerFactory: providerFactory,
|
|
97
|
+
options: syncBlockRendererOptions
|
|
63
98
|
});
|
|
64
99
|
};
|
|
65
100
|
export const SyncedBlockRenderer = /*#__PURE__*/memo(SyncedBlockRendererComponent);
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
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; }
|
|
3
|
-
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; }
|
|
4
|
-
import { SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
1
|
+
import { convertSyncBlockJSONNodeToSyncBlockNode, SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
5
2
|
import { SyncedBlockNodeComponentRenderer } from './ui/SyncedBlockNodeComponentRenderer';
|
|
6
|
-
var
|
|
7
|
-
return
|
|
3
|
+
var getSyncBlockNodesFromContent = function getSyncBlockNodesFromContent(content) {
|
|
4
|
+
return content.map(function (node) {
|
|
5
|
+
return convertSyncBlockJSONNodeToSyncBlockNode(node);
|
|
6
|
+
}).filter(function (node) {
|
|
7
|
+
return node !== undefined;
|
|
8
|
+
});
|
|
8
9
|
};
|
|
9
10
|
|
|
10
|
-
// For rendering synced block nodes in Renderer
|
|
11
|
-
export var getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(
|
|
11
|
+
// For rendering reference synced block nodes in Renderer
|
|
12
|
+
export var getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(_ref) {
|
|
13
|
+
var doc = _ref.doc,
|
|
14
|
+
syncBlockProvider = _ref.syncBlockProvider,
|
|
15
|
+
syncBlockRendererOptions = _ref.syncBlockRendererOptions;
|
|
12
16
|
var content = doc.content;
|
|
13
17
|
var isEmpty = !content || !Array.isArray(content) || content.length === 0;
|
|
14
|
-
var syncBlockNodes = isEmpty ? [] : content
|
|
15
|
-
|
|
16
|
-
});
|
|
17
|
-
var syncBlockStoreManager = isSyncBlockDataProvider(dataProvider) ? new SyncBlockStoreManager(dataProvider) : undefined;
|
|
18
|
-
if (!syncBlockStoreManager) {
|
|
19
|
-
// TODO: EDITOR-2533 - returns a function that always renders error state
|
|
20
|
-
throw new Error('Data provider is not a SyncBlockDataProvider');
|
|
21
|
-
}
|
|
18
|
+
var syncBlockNodes = isEmpty ? [] : getSyncBlockNodesFromContent(content);
|
|
19
|
+
var syncBlockStoreManager = new SyncBlockStoreManager(syncBlockProvider);
|
|
22
20
|
|
|
23
21
|
// Pre-fetch sync block data
|
|
24
22
|
syncBlockStoreManager.getReferenceSyncBlockStoreManager().fetchSyncBlocksData(syncBlockNodes);
|
|
25
23
|
return function (props) {
|
|
26
|
-
return SyncedBlockNodeComponentRenderer(
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
return SyncedBlockNodeComponentRenderer({
|
|
25
|
+
nodeProps: props,
|
|
26
|
+
syncBlockStoreManager: syncBlockStoreManager,
|
|
27
|
+
rendererOptions: syncBlockRendererOptions
|
|
28
|
+
});
|
|
29
29
|
};
|
|
30
30
|
};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SyncedBlockRenderer } from './ui/SyncedBlockRenderer';
|
|
3
|
+
// For rendering reference synced block nodes in Editor
|
|
3
4
|
export var getSyncedBlockRenderer = function getSyncedBlockRenderer(_ref) {
|
|
4
5
|
var syncBlockRendererDataProviders = _ref.syncBlockRendererDataProviders,
|
|
5
|
-
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
syncBlockRendererOptions = _ref.syncBlockRendererOptions;
|
|
7
|
+
return function (_ref2) {
|
|
8
|
+
var useFetchSyncBlockData = _ref2.useFetchSyncBlockData;
|
|
9
|
+
return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
|
|
10
|
+
syncBlockRendererOptions: syncBlockRendererOptions,
|
|
11
|
+
syncBlockRendererDataProviders: syncBlockRendererDataProviders,
|
|
12
|
+
useFetchSyncBlockData: useFetchSyncBlockData
|
|
13
|
+
});
|
|
14
|
+
};
|
|
10
15
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,10 +4,29 @@ import { ReactRenderer } from '@atlaskit/renderer';
|
|
|
4
4
|
import { RendererActionsContext } from '@atlaskit/renderer/actions';
|
|
5
5
|
import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
|
|
6
6
|
import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
|
|
7
|
-
export var SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
export var SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(_ref) {
|
|
8
|
+
var nodeProps = _ref.nodeProps,
|
|
9
|
+
syncBlockStoreManager = _ref.syncBlockStoreManager,
|
|
10
|
+
rendererOptions = _ref.rendererOptions;
|
|
11
|
+
var resourceId = nodeProps.resourceId,
|
|
12
|
+
localId = nodeProps.localId,
|
|
13
|
+
providers = nodeProps.providers;
|
|
14
|
+
var _ref2 = rendererOptions !== null && rendererOptions !== void 0 ? rendererOptions : {},
|
|
15
|
+
allowAltTextOnImages = _ref2.allowAltTextOnImages,
|
|
16
|
+
allowAnnotations = _ref2.allowAnnotations,
|
|
17
|
+
allowColumnSorting = _ref2.allowColumnSorting,
|
|
18
|
+
allowCopyToClipboard = _ref2.allowCopyToClipboard,
|
|
19
|
+
allowCustomPanels = _ref2.allowCustomPanels,
|
|
20
|
+
allowHeadingAnchorLinks = _ref2.allowHeadingAnchorLinks,
|
|
21
|
+
allowPlaceholderText = _ref2.allowPlaceholderText,
|
|
22
|
+
allowRendererContainerStyles = _ref2.allowRendererContainerStyles,
|
|
23
|
+
allowSelectAllTrap = _ref2.allowSelectAllTrap,
|
|
24
|
+
allowUgcScrubber = _ref2.allowUgcScrubber,
|
|
25
|
+
allowWrapCodeBlock = _ref2.allowWrapCodeBlock,
|
|
26
|
+
emojiResourceConfig = _ref2.emojiResourceConfig,
|
|
27
|
+
media = _ref2.media,
|
|
28
|
+
smartLinks = _ref2.smartLinks,
|
|
29
|
+
stickyHeaders = _ref2.stickyHeaders;
|
|
11
30
|
var _useFetchSyncBlockDat = useFetchSyncBlockData(syncBlockStoreManager, resourceId, localId),
|
|
12
31
|
syncBlockInstance = _useFetchSyncBlockDat.syncBlockInstance,
|
|
13
32
|
isLoading = _useFetchSyncBlockDat.isLoading;
|
|
@@ -18,7 +37,7 @@ export var SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentR
|
|
|
18
37
|
var _syncBlockInstance$er;
|
|
19
38
|
return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
|
|
20
39
|
error: (_syncBlockInstance$er = syncBlockInstance === null || syncBlockInstance === void 0 ? void 0 : syncBlockInstance.error) !== null && _syncBlockInstance$er !== void 0 ? _syncBlockInstance$er : SyncBlockError.Errored,
|
|
21
|
-
resourceId:
|
|
40
|
+
resourceId: resourceId
|
|
22
41
|
});
|
|
23
42
|
}
|
|
24
43
|
var syncBlockDoc = {
|
|
@@ -29,13 +48,28 @@ export var SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentR
|
|
|
29
48
|
return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
|
|
30
49
|
"data-sync-block": true,
|
|
31
50
|
"data-testid": "sync-block-renderer-wrapper",
|
|
32
|
-
"data-resource-id":
|
|
33
|
-
"data-local-id":
|
|
51
|
+
"data-resource-id": resourceId,
|
|
52
|
+
"data-local-id": localId
|
|
34
53
|
}, /*#__PURE__*/React.createElement(ReactRenderer, {
|
|
35
54
|
appearance: "full-width",
|
|
36
55
|
adfStage: "stage0",
|
|
37
56
|
document: syncBlockDoc,
|
|
38
57
|
disableHeadingIDs: true,
|
|
39
|
-
dataProviders:
|
|
58
|
+
dataProviders: providers,
|
|
59
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
60
|
+
allowAnnotations: allowAnnotations,
|
|
61
|
+
allowColumnSorting: allowColumnSorting,
|
|
62
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
63
|
+
allowCustomPanels: allowCustomPanels,
|
|
64
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
65
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
66
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
67
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
68
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
69
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
70
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
71
|
+
media: media,
|
|
72
|
+
smartLinks: smartLinks,
|
|
73
|
+
stickyHeaders: stickyHeaders
|
|
40
74
|
})));
|
|
41
75
|
};
|
|
@@ -17,7 +17,8 @@ export var convertSyncBlockRendererDataProvidersToProviderFactory = function con
|
|
|
17
17
|
};
|
|
18
18
|
var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
19
19
|
var fetchedData = _ref.fetchedData,
|
|
20
|
-
providerFactory = _ref.providerFactory
|
|
20
|
+
providerFactory = _ref.providerFactory,
|
|
21
|
+
options = _ref.options;
|
|
21
22
|
var syncBlockDoc = useMemo(function () {
|
|
22
23
|
var _fetchedData$content;
|
|
23
24
|
return {
|
|
@@ -26,6 +27,22 @@ var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
|
26
27
|
type: 'doc'
|
|
27
28
|
};
|
|
28
29
|
}, [fetchedData]);
|
|
30
|
+
var _ref2 = options !== null && options !== void 0 ? options : {},
|
|
31
|
+
allowAltTextOnImages = _ref2.allowAltTextOnImages,
|
|
32
|
+
allowAnnotations = _ref2.allowAnnotations,
|
|
33
|
+
allowColumnSorting = _ref2.allowColumnSorting,
|
|
34
|
+
allowCopyToClipboard = _ref2.allowCopyToClipboard,
|
|
35
|
+
allowCustomPanels = _ref2.allowCustomPanels,
|
|
36
|
+
allowHeadingAnchorLinks = _ref2.allowHeadingAnchorLinks,
|
|
37
|
+
allowPlaceholderText = _ref2.allowPlaceholderText,
|
|
38
|
+
allowRendererContainerStyles = _ref2.allowRendererContainerStyles,
|
|
39
|
+
allowSelectAllTrap = _ref2.allowSelectAllTrap,
|
|
40
|
+
allowUgcScrubber = _ref2.allowUgcScrubber,
|
|
41
|
+
allowWrapCodeBlock = _ref2.allowWrapCodeBlock,
|
|
42
|
+
emojiResourceConfig = _ref2.emojiResourceConfig,
|
|
43
|
+
media = _ref2.media,
|
|
44
|
+
smartLinks = _ref2.smartLinks,
|
|
45
|
+
stickyHeaders = _ref2.stickyHeaders;
|
|
29
46
|
return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
|
|
30
47
|
"data-testid": "sync-block-renderer-wrapper"
|
|
31
48
|
}, /*#__PURE__*/React.createElement(ReactRenderer, {
|
|
@@ -33,12 +50,28 @@ var SyncedBlockRendererWrapper = function SyncedBlockRendererWrapper(_ref) {
|
|
|
33
50
|
adfStage: "stage0",
|
|
34
51
|
document: syncBlockDoc,
|
|
35
52
|
disableHeadingIDs: true,
|
|
36
|
-
dataProviders: providerFactory
|
|
53
|
+
dataProviders: providerFactory,
|
|
54
|
+
allowAltTextOnImages: allowAltTextOnImages,
|
|
55
|
+
allowAnnotations: allowAnnotations,
|
|
56
|
+
allowColumnSorting: allowColumnSorting,
|
|
57
|
+
allowCopyToClipboard: allowCopyToClipboard,
|
|
58
|
+
allowCustomPanels: allowCustomPanels,
|
|
59
|
+
allowHeadingAnchorLinks: allowHeadingAnchorLinks,
|
|
60
|
+
allowPlaceholderText: allowPlaceholderText,
|
|
61
|
+
allowRendererContainerStyles: allowRendererContainerStyles,
|
|
62
|
+
allowSelectAllTrap: allowSelectAllTrap,
|
|
63
|
+
allowUgcScrubber: allowUgcScrubber,
|
|
64
|
+
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
65
|
+
emojiResourceConfig: emojiResourceConfig,
|
|
66
|
+
media: media,
|
|
67
|
+
smartLinks: smartLinks,
|
|
68
|
+
stickyHeaders: stickyHeaders
|
|
37
69
|
})));
|
|
38
70
|
};
|
|
39
|
-
var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(
|
|
40
|
-
var useFetchSyncBlockData =
|
|
41
|
-
syncBlockRendererDataProviders =
|
|
71
|
+
var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref3) {
|
|
72
|
+
var useFetchSyncBlockData = _ref3.useFetchSyncBlockData,
|
|
73
|
+
syncBlockRendererDataProviders = _ref3.syncBlockRendererDataProviders,
|
|
74
|
+
syncBlockRendererOptions = _ref3.syncBlockRendererOptions;
|
|
42
75
|
var _useFetchSyncBlockDat = useFetchSyncBlockData(),
|
|
43
76
|
syncBlockInstance = _useFetchSyncBlockDat.syncBlockInstance;
|
|
44
77
|
var providerFactory = useMemo(function () {
|
|
@@ -56,7 +89,8 @@ var SyncedBlockRendererComponent = function SyncedBlockRendererComponent(_ref2)
|
|
|
56
89
|
}
|
|
57
90
|
return /*#__PURE__*/React.createElement(SyncedBlockRendererWrapper, {
|
|
58
91
|
fetchedData: syncBlockInstance.data,
|
|
59
|
-
providerFactory: providerFactory
|
|
92
|
+
providerFactory: providerFactory,
|
|
93
|
+
options: syncBlockRendererOptions
|
|
60
94
|
});
|
|
61
95
|
};
|
|
62
96
|
export var SyncedBlockRenderer = /*#__PURE__*/memo(SyncedBlockRendererComponent);
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { DocNode } from '@atlaskit/adf-schema';
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
2
|
+
import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
|
|
3
|
+
import type { SyncedBlockRendererOptions } from './types';
|
|
4
4
|
import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
|
|
5
|
-
|
|
5
|
+
type GetSyncedBlockNodeComponentProps = {
|
|
6
|
+
doc: DocNode;
|
|
7
|
+
syncBlockProvider: SyncedBlockProvider;
|
|
8
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare const getSyncedBlockNodeComponent: ({ doc, syncBlockProvider, syncBlockRendererOptions, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
|
11
|
+
export {};
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import type { SyncedBlockRendererDataProviders } from '@atlaskit/editor-common/provider-factory';
|
|
3
|
+
import type { SyncedBlockRendererProps } from '@atlaskit/editor-plugin-synced-block';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from './types';
|
|
5
|
+
type GetSyncedBlockRendererProps = {
|
|
6
|
+
syncBlockRendererDataProviders: SyncedBlockRendererDataProviders;
|
|
7
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
8
|
+
};
|
|
9
|
+
export declare const getSyncedBlockRenderer: ({ syncBlockRendererDataProviders, syncBlockRendererOptions }: GetSyncedBlockRendererProps) => ({ useFetchSyncBlockData }: SyncedBlockRendererProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { type RendererProps } from '@atlaskit/renderer';
|
|
2
|
+
export type SyncedBlockRendererOptions = Pick<RendererProps, 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
3
3
|
import { type NodeProps } from '@atlaskit/renderer';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from '../types';
|
|
4
5
|
export interface SyncedBlockProps {
|
|
5
6
|
localId?: string;
|
|
6
7
|
resourceId?: string;
|
|
7
8
|
}
|
|
8
9
|
export type SyncedBlockNodeProps = NodeProps<SyncedBlockProps>;
|
|
9
|
-
export
|
|
10
|
+
export type SyncedBlockNodeComponentRendererProps = {
|
|
11
|
+
nodeProps: SyncedBlockNodeProps;
|
|
12
|
+
rendererOptions: SyncedBlockRendererOptions | undefined;
|
|
10
13
|
syncBlockStoreManager: SyncBlockStoreManager;
|
|
11
|
-
}
|
|
14
|
+
};
|
|
15
|
+
export declare const SyncedBlockNodeComponentRenderer: ({ nodeProps, syncBlockStoreManager, rendererOptions, }: SyncedBlockNodeComponentRendererProps) => React.JSX.Element;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ProviderFactory, type SyncedBlockRendererDataProviders } from '@atlaskit/editor-common/provider-factory';
|
|
3
3
|
import { type UseFetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from '../types';
|
|
4
5
|
export type SyncedBlockRendererProps = {
|
|
5
6
|
syncBlockRendererDataProviders: SyncedBlockRendererDataProviders;
|
|
7
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
6
8
|
useFetchSyncBlockData: () => UseFetchSyncBlockDataResult;
|
|
7
9
|
};
|
|
8
10
|
export declare const convertSyncBlockRendererDataProvidersToProviderFactory: (dataProviders: SyncedBlockRendererDataProviders) => ProviderFactory;
|
|
9
|
-
export declare const SyncedBlockRenderer: React.MemoExoticComponent<({ useFetchSyncBlockData, syncBlockRendererDataProviders, }: SyncedBlockRendererProps) => React.JSX.Element>;
|
|
11
|
+
export declare const SyncedBlockRenderer: React.MemoExoticComponent<({ useFetchSyncBlockData, syncBlockRendererDataProviders, syncBlockRendererOptions, }: SyncedBlockRendererProps) => React.JSX.Element>;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { DocNode } from '@atlaskit/adf-schema';
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
2
|
+
import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
|
|
3
|
+
import type { SyncedBlockRendererOptions } from './types';
|
|
4
4
|
import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
|
|
5
|
-
|
|
5
|
+
type GetSyncedBlockNodeComponentProps = {
|
|
6
|
+
doc: DocNode;
|
|
7
|
+
syncBlockProvider: SyncedBlockProvider;
|
|
8
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare const getSyncedBlockNodeComponent: ({ doc, syncBlockProvider, syncBlockRendererOptions, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
|
11
|
+
export {};
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import type { SyncedBlockRendererDataProviders } from '@atlaskit/editor-common/provider-factory';
|
|
3
|
+
import type { SyncedBlockRendererProps } from '@atlaskit/editor-plugin-synced-block';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from './types';
|
|
5
|
+
type GetSyncedBlockRendererProps = {
|
|
6
|
+
syncBlockRendererDataProviders: SyncedBlockRendererDataProviders;
|
|
7
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
8
|
+
};
|
|
9
|
+
export declare const getSyncedBlockRenderer: ({ syncBlockRendererDataProviders, syncBlockRendererOptions }: GetSyncedBlockRendererProps) => ({ useFetchSyncBlockData }: SyncedBlockRendererProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { type RendererProps } from '@atlaskit/renderer';
|
|
2
|
+
export type SyncedBlockRendererOptions = Pick<RendererProps, 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SyncBlockStoreManager } from '@atlaskit/editor-synced-block-provider';
|
|
3
3
|
import { type NodeProps } from '@atlaskit/renderer';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from '../types';
|
|
4
5
|
export interface SyncedBlockProps {
|
|
5
6
|
localId?: string;
|
|
6
7
|
resourceId?: string;
|
|
7
8
|
}
|
|
8
9
|
export type SyncedBlockNodeProps = NodeProps<SyncedBlockProps>;
|
|
9
|
-
export
|
|
10
|
+
export type SyncedBlockNodeComponentRendererProps = {
|
|
11
|
+
nodeProps: SyncedBlockNodeProps;
|
|
12
|
+
rendererOptions: SyncedBlockRendererOptions | undefined;
|
|
10
13
|
syncBlockStoreManager: SyncBlockStoreManager;
|
|
11
|
-
}
|
|
14
|
+
};
|
|
15
|
+
export declare const SyncedBlockNodeComponentRenderer: ({ nodeProps, syncBlockStoreManager, rendererOptions, }: SyncedBlockNodeComponentRendererProps) => React.JSX.Element;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ProviderFactory, type SyncedBlockRendererDataProviders } from '@atlaskit/editor-common/provider-factory';
|
|
3
3
|
import { type UseFetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
|
|
4
|
+
import type { SyncedBlockRendererOptions } from '../types';
|
|
4
5
|
export type SyncedBlockRendererProps = {
|
|
5
6
|
syncBlockRendererDataProviders: SyncedBlockRendererDataProviders;
|
|
7
|
+
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
6
8
|
useFetchSyncBlockData: () => UseFetchSyncBlockDataResult;
|
|
7
9
|
};
|
|
8
10
|
export declare const convertSyncBlockRendererDataProvidersToProviderFactory: (dataProviders: SyncedBlockRendererDataProviders) => ProviderFactory;
|
|
9
|
-
export declare const SyncedBlockRenderer: React.MemoExoticComponent<({ useFetchSyncBlockData, syncBlockRendererDataProviders, }: SyncedBlockRendererProps) => React.JSX.Element>;
|
|
11
|
+
export declare const SyncedBlockRenderer: React.MemoExoticComponent<({ useFetchSyncBlockData, syncBlockRendererDataProviders, syncBlockRendererOptions, }: SyncedBlockRendererProps) => React.JSX.Element>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-synced-block-renderer",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "SyncedBlockRenderer for @atlaskit/editor-plugin-synced-block",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@atlaskit/button": "^23.5.0",
|
|
32
32
|
"@atlaskit/css": "^0.15.0",
|
|
33
|
+
"@atlaskit/editor-plugin-synced-block": "^4.1.0",
|
|
33
34
|
"@atlaskit/editor-prosemirror": "7.0.0",
|
|
34
35
|
"@atlaskit/editor-synced-block-provider": "^2.6.0",
|
|
35
36
|
"@atlaskit/heading": "^5.2.0",
|