@atlaskit/editor-plugin-synced-block 5.3.11 → 5.3.13
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 +16 -0
- package/afm-cc/tsconfig.json +0 -3
- package/afm-jira/tsconfig.json +0 -3
- package/afm-products/tsconfig.json +0 -3
- package/dist/cjs/editor-commands/index.js +99 -40
- package/dist/cjs/nodeviews/bodiedSyncedBlock.js +2 -7
- package/dist/cjs/nodeviews/syncedBlock.js +4 -18
- package/dist/cjs/pm-plugins/main.js +34 -43
- package/dist/cjs/pm-plugins/menu-and-toolbar-experiences.js +221 -81
- package/dist/cjs/pm-plugins/utils/track-sync-blocks.js +1 -2
- package/dist/cjs/pm-plugins/utils/utils.js +1 -46
- package/dist/cjs/syncedBlockPlugin.js +5 -7
- package/dist/cjs/types/index.js +5 -1
- package/dist/cjs/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/cjs/ui/DeleteConfirmationModal.js +4 -20
- package/dist/cjs/ui/SyncBlockLabel.js +4 -10
- package/dist/cjs/ui/SyncBlockRefresher.js +7 -9
- package/dist/cjs/ui/SyncedLocationDropdown.js +32 -6
- package/dist/cjs/ui/floating-toolbar.js +11 -7
- package/dist/es2019/editor-commands/index.js +99 -40
- package/dist/es2019/nodeviews/bodiedSyncedBlock.js +2 -7
- package/dist/es2019/nodeviews/syncedBlock.js +4 -15
- package/dist/es2019/pm-plugins/main.js +33 -42
- package/dist/es2019/pm-plugins/menu-and-toolbar-experiences.js +206 -71
- package/dist/es2019/pm-plugins/utils/track-sync-blocks.js +1 -2
- package/dist/es2019/pm-plugins/utils/utils.js +0 -47
- package/dist/es2019/syncedBlockPlugin.js +4 -5
- package/dist/es2019/types/index.js +5 -1
- package/dist/es2019/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/es2019/ui/DeleteConfirmationModal.js +4 -20
- package/dist/es2019/ui/SyncBlockLabel.js +4 -10
- package/dist/es2019/ui/SyncBlockRefresher.js +7 -9
- package/dist/es2019/ui/SyncedLocationDropdown.js +30 -6
- package/dist/es2019/ui/floating-toolbar.js +10 -6
- package/dist/esm/editor-commands/index.js +99 -40
- package/dist/esm/nodeviews/bodiedSyncedBlock.js +2 -7
- package/dist/esm/nodeviews/syncedBlock.js +4 -18
- package/dist/esm/pm-plugins/main.js +34 -43
- package/dist/esm/pm-plugins/menu-and-toolbar-experiences.js +221 -81
- package/dist/esm/pm-plugins/utils/track-sync-blocks.js +1 -2
- package/dist/esm/pm-plugins/utils/utils.js +0 -45
- package/dist/esm/syncedBlockPlugin.js +5 -7
- package/dist/esm/types/index.js +5 -1
- package/dist/esm/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/esm/ui/DeleteConfirmationModal.js +4 -20
- package/dist/esm/ui/SyncBlockLabel.js +4 -10
- package/dist/esm/ui/SyncBlockRefresher.js +7 -9
- package/dist/esm/ui/SyncedLocationDropdown.js +32 -6
- package/dist/esm/ui/floating-toolbar.js +11 -7
- package/dist/types/editor-commands/index.d.ts +3 -2
- package/dist/types/pm-plugins/utils/handle-bodied-sync-block-removal.d.ts +1 -1
- package/dist/types/pm-plugins/utils/utils.d.ts +1 -3
- package/dist/types/syncedBlockPluginType.d.ts +2 -1
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/ui/SyncedLocationDropdown.d.ts +4 -1
- package/dist/types-ts4.5/editor-commands/index.d.ts +3 -2
- package/dist/types-ts4.5/pm-plugins/utils/handle-bodied-sync-block-removal.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/utils/utils.d.ts +1 -3
- package/dist/types-ts4.5/syncedBlockPluginType.d.ts +2 -1
- package/dist/types-ts4.5/types/index.d.ts +4 -0
- package/dist/types-ts4.5/ui/SyncedLocationDropdown.d.ts +4 -1
- package/package.json +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-synced-block
|
|
2
2
|
|
|
3
|
+
## 5.3.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`7ba3979b92b42`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7ba3979b92b42) -
|
|
8
|
+
Remove platform_synced_block_dogfooding feature gate
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 5.3.12
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`011b84236ffaa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/011b84236ffaa) -
|
|
16
|
+
EDITOR-4175 add analytics events for the synced block toolbar buttons
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
3
19
|
## 5.3.11
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
package/afm-jira/tsconfig.json
CHANGED
|
@@ -30,17 +30,15 @@ var createSyncedBlock = exports.createSyncedBlock = function createSyncedBlock(_
|
|
|
30
30
|
var paragraphNode = paragraph.createAndFill({});
|
|
31
31
|
var newBodiedSyncBlockNode = bodiedSyncBlock.createAndFill(attrs, paragraphNode ? [paragraphNode] : []);
|
|
32
32
|
if (!newBodiedSyncBlockNode) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
43
|
-
}
|
|
33
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent({
|
|
34
|
+
action: _analytics.ACTION.ERROR,
|
|
35
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
36
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_CREATE,
|
|
37
|
+
attributes: {
|
|
38
|
+
error: 'Create and fill for empty content failed'
|
|
39
|
+
},
|
|
40
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
41
|
+
});
|
|
44
42
|
return false;
|
|
45
43
|
}
|
|
46
44
|
|
|
@@ -55,33 +53,29 @@ var createSyncedBlock = exports.createSyncedBlock = function createSyncedBlock(_
|
|
|
55
53
|
} else {
|
|
56
54
|
var conversionInfo = (0, _utils2.canBeConvertedToSyncBlock)(tr.selection);
|
|
57
55
|
if (!conversionInfo) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
}
|
|
56
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent({
|
|
57
|
+
action: _analytics.ACTION.ERROR,
|
|
58
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
59
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_CREATE,
|
|
60
|
+
attributes: {
|
|
61
|
+
error: 'Content cannot be converted to sync block'
|
|
62
|
+
},
|
|
63
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
64
|
+
});
|
|
69
65
|
return false;
|
|
70
66
|
}
|
|
71
67
|
var _attrs = syncBlockStore.sourceManager.generateBodiedSyncBlockAttrs();
|
|
72
68
|
var _newBodiedSyncBlockNode = bodiedSyncBlock.createAndFill(_attrs, conversionInfo.contentToInclude);
|
|
73
69
|
if (!_newBodiedSyncBlockNode) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
84
|
-
}
|
|
70
|
+
fireAnalyticsEvent === null || fireAnalyticsEvent === void 0 || fireAnalyticsEvent({
|
|
71
|
+
action: _analytics.ACTION.ERROR,
|
|
72
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
73
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_CREATE,
|
|
74
|
+
attributes: {
|
|
75
|
+
error: 'Create and fill for content failed'
|
|
76
|
+
},
|
|
77
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
78
|
+
});
|
|
85
79
|
return false;
|
|
86
80
|
}
|
|
87
81
|
|
|
@@ -98,23 +92,36 @@ var createSyncedBlock = exports.createSyncedBlock = function createSyncedBlock(_
|
|
|
98
92
|
// see filterTransaction for more details
|
|
99
93
|
return tr;
|
|
100
94
|
};
|
|
101
|
-
var copySyncedBlockReferenceToClipboardEditorCommand = exports.copySyncedBlockReferenceToClipboardEditorCommand = function copySyncedBlockReferenceToClipboardEditorCommand(syncBlockStore, api) {
|
|
95
|
+
var copySyncedBlockReferenceToClipboardEditorCommand = exports.copySyncedBlockReferenceToClipboardEditorCommand = function copySyncedBlockReferenceToClipboardEditorCommand(syncBlockStore, inputMethod, api) {
|
|
102
96
|
return function (_ref2) {
|
|
103
97
|
var tr = _ref2.tr;
|
|
104
|
-
if (copySyncedBlockReferenceToClipboardInternal(tr.doc.type.schema, tr.selection, syncBlockStore, api)) {
|
|
98
|
+
if (copySyncedBlockReferenceToClipboardInternal(tr.doc.type.schema, tr.selection, syncBlockStore, inputMethod, api)) {
|
|
105
99
|
return tr;
|
|
106
100
|
}
|
|
107
101
|
return null;
|
|
108
102
|
};
|
|
109
103
|
};
|
|
110
|
-
var copySyncedBlockReferenceToClipboard = exports.copySyncedBlockReferenceToClipboard = function copySyncedBlockReferenceToClipboard(syncBlockStore, api) {
|
|
104
|
+
var copySyncedBlockReferenceToClipboard = exports.copySyncedBlockReferenceToClipboard = function copySyncedBlockReferenceToClipboard(syncBlockStore, inputMethod, api) {
|
|
111
105
|
return function (state, _dispatch, _view) {
|
|
112
|
-
return copySyncedBlockReferenceToClipboardInternal(state.tr.doc.type.schema, state.tr.selection, syncBlockStore, api);
|
|
106
|
+
return copySyncedBlockReferenceToClipboardInternal(state.tr.doc.type.schema, state.tr.selection, syncBlockStore, inputMethod, api);
|
|
113
107
|
};
|
|
114
108
|
};
|
|
115
|
-
var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockReferenceToClipboardInternal(schema, selection, syncBlockStore, api) {
|
|
109
|
+
var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockReferenceToClipboardInternal(schema, selection, syncBlockStore, inputMethod, api) {
|
|
116
110
|
var syncBlockFindResult = (0, _utils2.findSyncBlockOrBodiedSyncBlock)(schema, selection);
|
|
117
111
|
if (!syncBlockFindResult) {
|
|
112
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
113
|
+
var _api$analytics;
|
|
114
|
+
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || _api$analytics.fireAnalyticsEvent({
|
|
115
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
116
|
+
action: _analytics.ACTION.ERROR,
|
|
117
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
118
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
119
|
+
attributes: {
|
|
120
|
+
error: 'No sync block found in selection',
|
|
121
|
+
inputMethod: inputMethod
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
118
125
|
return false;
|
|
119
126
|
}
|
|
120
127
|
var isBodiedSyncBlock = (0, _utils2.isBodiedSyncBlockNode)(syncBlockFindResult.node, schema.nodes.bodiedSyncBlock);
|
|
@@ -127,12 +134,39 @@ var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockRefere
|
|
|
127
134
|
resourceId: syncBlockStore.referenceManager.generateResourceIdForReference(syncBlockFindResult.node.attrs.resourceId)
|
|
128
135
|
});
|
|
129
136
|
if (!referenceSyncBlockNode) {
|
|
137
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
138
|
+
var _api$analytics2;
|
|
139
|
+
api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || (_api$analytics2 = _api$analytics2.actions) === null || _api$analytics2 === void 0 || _api$analytics2.fireAnalyticsEvent({
|
|
140
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
141
|
+
action: _analytics.ACTION.ERROR,
|
|
142
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
143
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
144
|
+
attributes: {
|
|
145
|
+
error: 'Failed to create reference sync block node',
|
|
146
|
+
resourceId: syncBlockFindResult.node.attrs.resourceId,
|
|
147
|
+
inputMethod: inputMethod
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
130
151
|
return false;
|
|
131
152
|
}
|
|
132
153
|
} else {
|
|
133
154
|
referenceSyncBlockNode = syncBlockFindResult.node;
|
|
134
155
|
}
|
|
135
156
|
if (!referenceSyncBlockNode) {
|
|
157
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
158
|
+
var _api$analytics3;
|
|
159
|
+
api === null || api === void 0 || (_api$analytics3 = api.analytics) === null || _api$analytics3 === void 0 || (_api$analytics3 = _api$analytics3.actions) === null || _api$analytics3 === void 0 || _api$analytics3.fireAnalyticsEvent({
|
|
160
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
161
|
+
action: _analytics.ACTION.ERROR,
|
|
162
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
163
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
164
|
+
attributes: {
|
|
165
|
+
error: 'No reference sync block node available',
|
|
166
|
+
inputMethod: inputMethod
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
136
170
|
return false;
|
|
137
171
|
}
|
|
138
172
|
var domNode = (0, _copyButton.toDOM)(referenceSyncBlockNode, schema);
|
|
@@ -142,6 +176,19 @@ var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockRefere
|
|
|
142
176
|
setTimeout(function () {
|
|
143
177
|
api === null || api === void 0 || api.core.actions.execute(function (_ref3) {
|
|
144
178
|
var tr = _ref3.tr;
|
|
179
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
180
|
+
var _api$analytics4;
|
|
181
|
+
api === null || api === void 0 || (_api$analytics4 = api.analytics) === null || _api$analytics4 === void 0 || (_api$analytics4 = _api$analytics4.actions) === null || _api$analytics4 === void 0 || _api$analytics4.fireAnalyticsEvent({
|
|
182
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
183
|
+
action: _analytics.ACTION.COPIED,
|
|
184
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
185
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
186
|
+
attributes: {
|
|
187
|
+
resourceId: referenceSyncBlockNode.attrs.resourceId,
|
|
188
|
+
inputMethod: inputMethod
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
145
192
|
return tr.setMeta(_main.syncedBlockPluginKey, {
|
|
146
193
|
activeFlag: {
|
|
147
194
|
id: _types.FLAG_ID.SYNC_BLOCK_COPIED
|
|
@@ -161,11 +208,23 @@ var editSyncedBlockSource = exports.editSyncedBlockSource = function editSyncedB
|
|
|
161
208
|
}
|
|
162
209
|
var syncBlockURL = syncBlockStore.referenceManager.getSyncBlockURL(resourceId);
|
|
163
210
|
if (syncBlockURL) {
|
|
211
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
212
|
+
var _api$analytics5;
|
|
213
|
+
api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 || _api$analytics5.actions.fireAnalyticsEvent({
|
|
214
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
215
|
+
action: _analytics.ACTION.SYNCED_BLOCK_EDIT_SOURCE,
|
|
216
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
217
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_SOURCE_URL,
|
|
218
|
+
attributes: {
|
|
219
|
+
resourceId: resourceId
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
}
|
|
164
223
|
window.open(syncBlockURL, '_blank');
|
|
165
224
|
} else {
|
|
166
|
-
var _api$
|
|
225
|
+
var _api$analytics6;
|
|
167
226
|
var tr = state.tr;
|
|
168
|
-
api === null || api === void 0 || (_api$
|
|
227
|
+
api === null || api === void 0 || (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 || (_api$analytics6 = _api$analytics6.actions) === null || _api$analytics6 === void 0 || _api$analytics6.attachAnalyticsEvent({
|
|
169
228
|
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
170
229
|
action: _analytics.ACTION.ERROR,
|
|
171
230
|
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
@@ -17,7 +17,6 @@ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/rea
|
|
|
17
17
|
var _syncBlock = require("@atlaskit/editor-common/sync-block");
|
|
18
18
|
var _editorPluginConnectivity = require("@atlaskit/editor-plugin-connectivity");
|
|
19
19
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
20
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
21
20
|
var _BodiedSyncBlockWrapper = require("../ui/BodiedSyncBlockWrapper");
|
|
22
21
|
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
22
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
@@ -97,7 +96,7 @@ var BodiedSyncBlock = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
97
96
|
if (!syncBlockStore) {
|
|
98
97
|
return null;
|
|
99
98
|
}
|
|
100
|
-
return
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement(_errorBoundary.ErrorBoundary, {
|
|
101
100
|
component: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
102
101
|
dispatchAnalyticsEvent: (_this$api6 = this.api) === null || _this$api6 === void 0 || (_this$api6 = _this$api6.analytics) === null || _this$api6 === void 0 ? void 0 : _this$api6.actions.fireAnalyticsEvent,
|
|
103
102
|
fallbackComponent: null
|
|
@@ -105,11 +104,7 @@ var BodiedSyncBlock = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
105
104
|
ref: forwardRef,
|
|
106
105
|
syncBlockStore: syncBlockStore,
|
|
107
106
|
node: this.node
|
|
108
|
-
}))
|
|
109
|
-
ref: forwardRef,
|
|
110
|
-
syncBlockStore: syncBlockStore,
|
|
111
|
-
node: this.node
|
|
112
|
-
});
|
|
107
|
+
}));
|
|
113
108
|
}
|
|
114
109
|
}, {
|
|
115
110
|
key: "getContentDOM",
|
|
@@ -17,7 +17,6 @@ var _errorBoundary = require("@atlaskit/editor-common/error-boundary");
|
|
|
17
17
|
var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
|
|
18
18
|
var _syncBlock = require("@atlaskit/editor-common/sync-block");
|
|
19
19
|
var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
|
|
20
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
21
20
|
var _editorCommands = require("../editor-commands");
|
|
22
21
|
var _SyncBlockRendererWrapper = require("../ui/SyncBlockRendererWrapper");
|
|
23
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)); }
|
|
@@ -49,8 +48,7 @@ var SyncBlock = exports.SyncBlock = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
49
48
|
_this$api,
|
|
50
49
|
_this$api2,
|
|
51
50
|
_this2 = this,
|
|
52
|
-
_this$options2
|
|
53
|
-
_this$options3;
|
|
51
|
+
_this$options2;
|
|
54
52
|
var getPos = _ref.getPos;
|
|
55
53
|
if (!((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.syncedBlockRenderer)) {
|
|
56
54
|
return null;
|
|
@@ -61,14 +59,13 @@ var SyncBlock = exports.SyncBlock = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
61
59
|
if (!resourceId || !localId) {
|
|
62
60
|
return null;
|
|
63
61
|
}
|
|
64
|
-
var
|
|
65
|
-
var syncBlockStore = (_this$api$syncedBlock = (_this$api = this.api) === null || _this$api === void 0 || (_this$api = _this$api.syncedBlock) === null || _this$api === void 0 || (_this$api = _this$api.sharedState.currentState()) === null || _this$api === void 0 ? void 0 : _this$api.syncBlockStore) !== null && _this$api$syncedBlock !== void 0 ? _this$api$syncedBlock : initialSyncBlockStore;
|
|
62
|
+
var syncBlockStore = (_this$api$syncedBlock = (_this$api = this.api) === null || _this$api === void 0 || (_this$api = _this$api.syncedBlock) === null || _this$api === void 0 || (_this$api = _this$api.sharedState.currentState()) === null || _this$api === void 0 ? void 0 : _this$api.syncBlockStore) !== null && _this$api$syncedBlock !== void 0 ? _this$api$syncedBlock : this.syncBlockStore;
|
|
66
63
|
if (!syncBlockStore) {
|
|
67
64
|
return null;
|
|
68
65
|
}
|
|
69
66
|
|
|
70
67
|
// get document node from data provider
|
|
71
|
-
return
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement(_errorBoundary.ErrorBoundary, {
|
|
72
69
|
component: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
73
70
|
dispatchAnalyticsEvent: (_this$api2 = this.api) === null || _this$api2 === void 0 || (_this$api2 = _this$api2.analytics) === null || _this$api2 === void 0 ? void 0 : _this$api2.actions.fireAnalyticsEvent,
|
|
74
71
|
fallbackComponent: null
|
|
@@ -93,18 +90,7 @@ var SyncBlock = exports.SyncBlock = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
93
90
|
return (0, _editorSyncedBlockProvider.useFetchSyncBlockData)(syncBlockStore, resourceId, localId, (_this2$api = _this2.api) === null || _this2$api === void 0 || (_this2$api = _this2$api.analytics) === null || _this2$api === void 0 || (_this2$api = _this2$api.actions) === null || _this2$api === void 0 ? void 0 : _this2$api.fireAnalyticsEvent);
|
|
94
91
|
},
|
|
95
92
|
api: this.api
|
|
96
|
-
})))
|
|
97
|
-
localId: this.node.attrs.localId,
|
|
98
|
-
syncedBlockRenderer: (_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.syncedBlockRenderer,
|
|
99
|
-
useFetchSyncBlockTitle: function useFetchSyncBlockTitle() {
|
|
100
|
-
return (0, _editorSyncedBlockProvider.useFetchSyncBlockTitle)(syncBlockStore, _this2.node);
|
|
101
|
-
},
|
|
102
|
-
useFetchSyncBlockData: function useFetchSyncBlockData() {
|
|
103
|
-
var _this2$api2;
|
|
104
|
-
return (0, _editorSyncedBlockProvider.useFetchSyncBlockData)(syncBlockStore, resourceId, localId, (_this2$api2 = _this2.api) === null || _this2$api2 === void 0 || (_this2$api2 = _this2$api2.analytics) === null || _this2$api2 === void 0 || (_this2$api2 = _this2$api2.actions) === null || _this2$api2 === void 0 ? void 0 : _this2$api2.fireAnalyticsEvent);
|
|
105
|
-
},
|
|
106
|
-
api: this.api
|
|
107
|
-
});
|
|
93
|
+
})));
|
|
108
94
|
}
|
|
109
95
|
}, {
|
|
110
96
|
key: "destroy",
|
|
@@ -15,9 +15,7 @@ var _editorPluginConnectivity = require("@atlaskit/editor-plugin-connectivity");
|
|
|
15
15
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
16
16
|
var _view = require("@atlaskit/editor-prosemirror/view");
|
|
17
17
|
var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
|
|
18
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
19
18
|
var _bodiedLazySyncedBlock = require("../nodeviews/bodiedLazySyncedBlock");
|
|
20
|
-
var _lazySyncedBlock = require("../nodeviews/lazySyncedBlock");
|
|
21
19
|
var _syncedBlock = require("../nodeviews/syncedBlock");
|
|
22
20
|
var _types = require("../types");
|
|
23
21
|
var _handleBodiedSyncBlockRemoval = require("./utils/handle-bodied-sync-block-removal");
|
|
@@ -64,7 +62,7 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pmPlugi
|
|
|
64
62
|
var unpublishedFlagShown = new Set();
|
|
65
63
|
|
|
66
64
|
// Set up callback to detect unpublished sync blocks when they're fetched
|
|
67
|
-
|
|
65
|
+
syncBlockStore.referenceManager.setOnUnpublishedSyncBlockDetected(function (resourceId) {
|
|
68
66
|
// Only show the flag once per sync block
|
|
69
67
|
if (!unpublishedFlagShown.has(resourceId)) {
|
|
70
68
|
unpublishedFlagShown.add(resourceId);
|
|
@@ -115,7 +113,7 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pmPlugi
|
|
|
115
113
|
},
|
|
116
114
|
props: {
|
|
117
115
|
nodeViews: {
|
|
118
|
-
syncBlock:
|
|
116
|
+
syncBlock: function syncBlock(node, view, getPos, _decorations) {
|
|
119
117
|
// To support SSR, pass `syncBlockStore` here
|
|
120
118
|
// and do not use lazy loading.
|
|
121
119
|
// We cannot start rendering and then load `syncBlockStore` asynchronously,
|
|
@@ -130,11 +128,7 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pmPlugi
|
|
|
130
128
|
eventDispatcher: pmPluginFactoryParams.eventDispatcher,
|
|
131
129
|
syncBlockStore: syncBlockStore
|
|
132
130
|
}).init();
|
|
133
|
-
}
|
|
134
|
-
options: options,
|
|
135
|
-
pmPluginFactoryParams: pmPluginFactoryParams,
|
|
136
|
-
api: api
|
|
137
|
-
}),
|
|
131
|
+
},
|
|
138
132
|
bodiedSyncBlock: (0, _bodiedLazySyncedBlock.lazyBodiedSyncBlockView)({
|
|
139
133
|
pluginOptions: options,
|
|
140
134
|
pmPluginFactoryParams: pmPluginFactoryParams,
|
|
@@ -224,7 +218,7 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pmPlugi
|
|
|
224
218
|
var isConfirmedSyncBlockDeletion = Boolean(tr.getMeta('isConfirmedSyncBlockDeletion'));
|
|
225
219
|
|
|
226
220
|
// Track newly added reference sync blocks before processing the transaction
|
|
227
|
-
if (tr.docChanged && !tr.getMeta('isRemote')
|
|
221
|
+
if (tr.docChanged && !tr.getMeta('isRemote')) {
|
|
228
222
|
var _trackSyncBlocks = (0, _trackSyncBlocks6.trackSyncBlocks)(function (node) {
|
|
229
223
|
return node.type.name === 'syncBlock';
|
|
230
224
|
}, tr, state),
|
|
@@ -249,43 +243,40 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pmPlugi
|
|
|
249
243
|
bodiedSyncBlockRemoved = _trackSyncBlocks2.removed,
|
|
250
244
|
bodiedSyncBlockAdded = _trackSyncBlocks2.added;
|
|
251
245
|
if (!isOffline) {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
269
|
-
});
|
|
246
|
+
var _trackSyncBlocks3 = (0, _trackSyncBlocks6.trackSyncBlocks)(function (node) {
|
|
247
|
+
return node.type.name === 'syncBlock';
|
|
248
|
+
}, tr, state),
|
|
249
|
+
syncBlockRemoved = _trackSyncBlocks3.removed,
|
|
250
|
+
syncBlockAdded = _trackSyncBlocks3.added;
|
|
251
|
+
syncBlockRemoved.forEach(function (syncBlock) {
|
|
252
|
+
var _api$analytics;
|
|
253
|
+
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || _api$analytics.fireAnalyticsEvent({
|
|
254
|
+
action: _analytics.ACTION.DELETED,
|
|
255
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
256
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.REFERENCE_SYNCED_BLOCK_DELETE,
|
|
257
|
+
attributes: {
|
|
258
|
+
resourceId: syncBlock.attrs.resourceId,
|
|
259
|
+
blockInstanceId: syncBlock.attrs.localId
|
|
260
|
+
},
|
|
261
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
270
262
|
});
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
263
|
+
});
|
|
264
|
+
syncBlockAdded.forEach(function (syncBlock) {
|
|
265
|
+
var _api$analytics2;
|
|
266
|
+
api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || (_api$analytics2 = _api$analytics2.actions) === null || _api$analytics2 === void 0 || _api$analytics2.fireAnalyticsEvent({
|
|
267
|
+
action: _analytics.ACTION.INSERTED,
|
|
268
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
269
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.REFERENCE_SYNCED_BLOCK_CREATE,
|
|
270
|
+
attributes: {
|
|
271
|
+
resourceId: syncBlock.attrs.resourceId,
|
|
272
|
+
blockInstanceId: syncBlock.attrs.localId
|
|
273
|
+
},
|
|
274
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL
|
|
283
275
|
});
|
|
284
|
-
}
|
|
285
|
-
;
|
|
276
|
+
});
|
|
286
277
|
if (bodiedSyncBlockRemoved.length > 0) {
|
|
287
278
|
confirmationTransactionRef.current = tr;
|
|
288
|
-
return (0, _handleBodiedSyncBlockRemoval.handleBodiedSyncBlockRemoval)(bodiedSyncBlockRemoved, syncBlockStore, api, confirmationTransactionRef,
|
|
279
|
+
return (0, _handleBodiedSyncBlockRemoval.handleBodiedSyncBlockRemoval)(bodiedSyncBlockRemoved, syncBlockStore, api, confirmationTransactionRef, getDeleteReason(tr));
|
|
289
280
|
}
|
|
290
281
|
if (bodiedSyncBlockAdded.length > 0) {
|
|
291
282
|
if (Boolean(tr.getMeta(_utils.pmHistoryPluginKey))) {
|