@atlaskit/editor-plugin-synced-block 5.3.10 → 5.3.12
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/editor-commands/index.js +72 -7
- package/dist/cjs/pm-plugins/menu-and-toolbar-experiences.js +221 -81
- package/dist/cjs/syncedBlockPlugin.js +2 -2
- package/dist/cjs/types/index.js +5 -1
- package/dist/cjs/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/cjs/ui/SyncedLocationDropdown.js +32 -6
- package/dist/cjs/ui/floating-toolbar.js +8 -4
- package/dist/es2019/editor-commands/index.js +72 -7
- package/dist/es2019/pm-plugins/menu-and-toolbar-experiences.js +206 -71
- package/dist/es2019/syncedBlockPlugin.js +1 -1
- package/dist/es2019/types/index.js +5 -1
- package/dist/es2019/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/es2019/ui/SyncedLocationDropdown.js +30 -6
- package/dist/es2019/ui/floating-toolbar.js +7 -3
- package/dist/esm/editor-commands/index.js +72 -7
- package/dist/esm/pm-plugins/menu-and-toolbar-experiences.js +221 -81
- package/dist/esm/syncedBlockPlugin.js +2 -2
- package/dist/esm/types/index.js +5 -1
- package/dist/esm/ui/CreateSyncedBlockDropdownItem.js +2 -1
- package/dist/esm/ui/SyncedLocationDropdown.js +32 -6
- package/dist/esm/ui/floating-toolbar.js +8 -4
- package/dist/types/editor-commands/index.d.ts +3 -2
- 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/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 +13 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-synced-block
|
|
2
2
|
|
|
3
|
+
## 5.3.12
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`011b84236ffaa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/011b84236ffaa) -
|
|
8
|
+
EDITOR-4175 add analytics events for the synced block toolbar buttons
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 5.3.11
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 5.3.10
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -98,23 +98,36 @@ var createSyncedBlock = exports.createSyncedBlock = function createSyncedBlock(_
|
|
|
98
98
|
// see filterTransaction for more details
|
|
99
99
|
return tr;
|
|
100
100
|
};
|
|
101
|
-
var copySyncedBlockReferenceToClipboardEditorCommand = exports.copySyncedBlockReferenceToClipboardEditorCommand = function copySyncedBlockReferenceToClipboardEditorCommand(syncBlockStore, api) {
|
|
101
|
+
var copySyncedBlockReferenceToClipboardEditorCommand = exports.copySyncedBlockReferenceToClipboardEditorCommand = function copySyncedBlockReferenceToClipboardEditorCommand(syncBlockStore, inputMethod, api) {
|
|
102
102
|
return function (_ref2) {
|
|
103
103
|
var tr = _ref2.tr;
|
|
104
|
-
if (copySyncedBlockReferenceToClipboardInternal(tr.doc.type.schema, tr.selection, syncBlockStore, api)) {
|
|
104
|
+
if (copySyncedBlockReferenceToClipboardInternal(tr.doc.type.schema, tr.selection, syncBlockStore, inputMethod, api)) {
|
|
105
105
|
return tr;
|
|
106
106
|
}
|
|
107
107
|
return null;
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
|
-
var copySyncedBlockReferenceToClipboard = exports.copySyncedBlockReferenceToClipboard = function copySyncedBlockReferenceToClipboard(syncBlockStore, api) {
|
|
110
|
+
var copySyncedBlockReferenceToClipboard = exports.copySyncedBlockReferenceToClipboard = function copySyncedBlockReferenceToClipboard(syncBlockStore, inputMethod, api) {
|
|
111
111
|
return function (state, _dispatch, _view) {
|
|
112
|
-
return copySyncedBlockReferenceToClipboardInternal(state.tr.doc.type.schema, state.tr.selection, syncBlockStore, api);
|
|
112
|
+
return copySyncedBlockReferenceToClipboardInternal(state.tr.doc.type.schema, state.tr.selection, syncBlockStore, inputMethod, api);
|
|
113
113
|
};
|
|
114
114
|
};
|
|
115
|
-
var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockReferenceToClipboardInternal(schema, selection, syncBlockStore, api) {
|
|
115
|
+
var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockReferenceToClipboardInternal(schema, selection, syncBlockStore, inputMethod, api) {
|
|
116
116
|
var syncBlockFindResult = (0, _utils2.findSyncBlockOrBodiedSyncBlock)(schema, selection);
|
|
117
117
|
if (!syncBlockFindResult) {
|
|
118
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
119
|
+
var _api$analytics;
|
|
120
|
+
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({
|
|
121
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
122
|
+
action: _analytics.ACTION.ERROR,
|
|
123
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
124
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
125
|
+
attributes: {
|
|
126
|
+
error: 'No sync block found in selection',
|
|
127
|
+
inputMethod: inputMethod
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
118
131
|
return false;
|
|
119
132
|
}
|
|
120
133
|
var isBodiedSyncBlock = (0, _utils2.isBodiedSyncBlockNode)(syncBlockFindResult.node, schema.nodes.bodiedSyncBlock);
|
|
@@ -127,12 +140,39 @@ var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockRefere
|
|
|
127
140
|
resourceId: syncBlockStore.referenceManager.generateResourceIdForReference(syncBlockFindResult.node.attrs.resourceId)
|
|
128
141
|
});
|
|
129
142
|
if (!referenceSyncBlockNode) {
|
|
143
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
144
|
+
var _api$analytics2;
|
|
145
|
+
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({
|
|
146
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
147
|
+
action: _analytics.ACTION.ERROR,
|
|
148
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
149
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
150
|
+
attributes: {
|
|
151
|
+
error: 'Failed to create reference sync block node',
|
|
152
|
+
resourceId: syncBlockFindResult.node.attrs.resourceId,
|
|
153
|
+
inputMethod: inputMethod
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
130
157
|
return false;
|
|
131
158
|
}
|
|
132
159
|
} else {
|
|
133
160
|
referenceSyncBlockNode = syncBlockFindResult.node;
|
|
134
161
|
}
|
|
135
162
|
if (!referenceSyncBlockNode) {
|
|
163
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
164
|
+
var _api$analytics3;
|
|
165
|
+
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({
|
|
166
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
167
|
+
action: _analytics.ACTION.ERROR,
|
|
168
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
169
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
170
|
+
attributes: {
|
|
171
|
+
error: 'No reference sync block node available',
|
|
172
|
+
inputMethod: inputMethod
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
136
176
|
return false;
|
|
137
177
|
}
|
|
138
178
|
var domNode = (0, _copyButton.toDOM)(referenceSyncBlockNode, schema);
|
|
@@ -142,6 +182,19 @@ var copySyncedBlockReferenceToClipboardInternal = function copySyncedBlockRefere
|
|
|
142
182
|
setTimeout(function () {
|
|
143
183
|
api === null || api === void 0 || api.core.actions.execute(function (_ref3) {
|
|
144
184
|
var tr = _ref3.tr;
|
|
185
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
186
|
+
var _api$analytics4;
|
|
187
|
+
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({
|
|
188
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
189
|
+
action: _analytics.ACTION.COPIED,
|
|
190
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
191
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_COPY,
|
|
192
|
+
attributes: {
|
|
193
|
+
resourceId: referenceSyncBlockNode.attrs.resourceId,
|
|
194
|
+
inputMethod: inputMethod
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
145
198
|
return tr.setMeta(_main.syncedBlockPluginKey, {
|
|
146
199
|
activeFlag: {
|
|
147
200
|
id: _types.FLAG_ID.SYNC_BLOCK_COPIED
|
|
@@ -161,11 +214,23 @@ var editSyncedBlockSource = exports.editSyncedBlockSource = function editSyncedB
|
|
|
161
214
|
}
|
|
162
215
|
var syncBlockURL = syncBlockStore.referenceManager.getSyncBlockURL(resourceId);
|
|
163
216
|
if (syncBlockURL) {
|
|
217
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
218
|
+
var _api$analytics5;
|
|
219
|
+
api === null || api === void 0 || (_api$analytics5 = api.analytics) === null || _api$analytics5 === void 0 || _api$analytics5.actions.fireAnalyticsEvent({
|
|
220
|
+
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
221
|
+
action: _analytics.ACTION.SYNCED_BLOCK_EDIT_SOURCE,
|
|
222
|
+
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
223
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_SOURCE_URL,
|
|
224
|
+
attributes: {
|
|
225
|
+
resourceId: resourceId
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
164
229
|
window.open(syncBlockURL, '_blank');
|
|
165
230
|
} else {
|
|
166
|
-
var _api$
|
|
231
|
+
var _api$analytics6;
|
|
167
232
|
var tr = state.tr;
|
|
168
|
-
api === null || api === void 0 || (_api$
|
|
233
|
+
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
234
|
eventType: _analytics.EVENT_TYPE.OPERATIONAL,
|
|
170
235
|
action: _analytics.ACTION.ERROR,
|
|
171
236
|
actionSubject: _analytics.ACTION_SUBJECT.SYNCED_BLOCK,
|
|
@@ -11,6 +11,7 @@ var _analytics = require("@atlaskit/editor-common/analytics");
|
|
|
11
11
|
var _experiences = require("@atlaskit/editor-common/experiences");
|
|
12
12
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
13
13
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
14
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
15
|
var _types = require("../types");
|
|
15
16
|
var TIMEOUT_DURATION = 30000;
|
|
16
17
|
var pluginKey = new _state.PluginKey('syncedBlockMenuAndToolbarExperience');
|
|
@@ -28,22 +29,76 @@ var getMenuAndToolbarExperiencesPlugin = exports.getMenuAndToolbarExperiencesPlu
|
|
|
28
29
|
}
|
|
29
30
|
return popupsTargetEl;
|
|
30
31
|
};
|
|
31
|
-
var createSourcePrimaryToolbarExperience =
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
var createSourcePrimaryToolbarExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
33
|
+
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
34
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.PRIMARY_TOOLBAR,
|
|
35
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
36
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
37
|
+
durationMs: TIMEOUT_DURATION
|
|
38
|
+
}), syncedBlockAddedToDomCheck(refs)]
|
|
34
39
|
});
|
|
35
|
-
var createSourceBlockMenuExperience =
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
var createSourceBlockMenuExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.MENU_ACTION, {
|
|
41
|
+
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
42
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BLOCK_MENU,
|
|
43
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
44
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
45
|
+
durationMs: TIMEOUT_DURATION
|
|
46
|
+
}), syncedBlockAddedToDomCheck(refs)]
|
|
38
47
|
});
|
|
39
|
-
var createSourceQuickInsertMenuExperience =
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
var createSourceQuickInsertMenuExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.MENU_ACTION, {
|
|
49
|
+
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
50
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.QUICK_INSERT,
|
|
51
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
52
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
53
|
+
durationMs: TIMEOUT_DURATION
|
|
54
|
+
}), syncedBlockAddedToDomCheck(refs)]
|
|
42
55
|
});
|
|
43
|
-
var deleteReferenceSyncedBlockExperience =
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
var deleteReferenceSyncedBlockExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
57
|
+
action: _analytics.ACTION.REFERENCE_SYNCED_BLOCK_DELETE,
|
|
58
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
59
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
60
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
61
|
+
durationMs: TIMEOUT_DURATION
|
|
62
|
+
}), referenceSyncBlockRemovedFromDomCheck(refs)]
|
|
46
63
|
});
|
|
64
|
+
var unsyncReferenceSyncedBlockExperience;
|
|
65
|
+
var unsyncSourceSyncedBlockExperience;
|
|
66
|
+
var deleteSourceSyncedBlockExperience;
|
|
67
|
+
var syncedLocationsExperience;
|
|
68
|
+
if ((0, _platformFeatureFlags.fg)('platform_synced_block_patch_1')) {
|
|
69
|
+
unsyncReferenceSyncedBlockExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
70
|
+
action: _analytics.ACTION.REFERENCE_SYNCED_BLOCK_UNSYNC,
|
|
71
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
72
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
73
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
74
|
+
durationMs: TIMEOUT_DURATION
|
|
75
|
+
}), referenceSyncBlockRemovedFromDomCheck(refs)]
|
|
76
|
+
});
|
|
77
|
+
unsyncSourceSyncedBlockExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
78
|
+
action: _analytics.ACTION.SYNCED_BLOCK_UNSYNC,
|
|
79
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
80
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
81
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
82
|
+
durationMs: TIMEOUT_DURATION
|
|
83
|
+
}), syncBlockDeleteConfirmationModalAddedCheck(refs)]
|
|
84
|
+
});
|
|
85
|
+
deleteSourceSyncedBlockExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
86
|
+
action: _analytics.ACTION.SYNCED_BLOCK_DELETE,
|
|
87
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
88
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
89
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
90
|
+
durationMs: TIMEOUT_DURATION
|
|
91
|
+
}), syncBlockDeleteConfirmationModalAddedCheck(refs)]
|
|
92
|
+
});
|
|
93
|
+
syncedLocationsExperience = new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
94
|
+
action: _analytics.ACTION.SYNCED_BLOCK_VIEW_SYNCED_LOCATIONS,
|
|
95
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
96
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
97
|
+
checks: [new _experiences.ExperienceCheckTimeout({
|
|
98
|
+
durationMs: TIMEOUT_DURATION
|
|
99
|
+
}), syncedLocationsDropdownOpenedCheck(refs)]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
47
102
|
var unbindClickListener = (0, _bindEventListener.bind)(document, {
|
|
48
103
|
type: 'click',
|
|
49
104
|
listener: function listener(event) {
|
|
@@ -59,13 +114,24 @@ var getMenuAndToolbarExperiencesPlugin = exports.getMenuAndToolbarExperiencesPlu
|
|
|
59
114
|
if (!isSyncedBlockButtonId(testId)) {
|
|
60
115
|
return;
|
|
61
116
|
}
|
|
117
|
+
if (button.disabled) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
62
120
|
handleButtonClick({
|
|
63
121
|
testId: testId,
|
|
122
|
+
button: button,
|
|
64
123
|
createSourcePrimaryToolbarExperience: createSourcePrimaryToolbarExperience,
|
|
65
124
|
createSourceBlockMenuExperience: createSourceBlockMenuExperience,
|
|
66
125
|
createSourceQuickInsertMenuExperience: createSourceQuickInsertMenuExperience,
|
|
67
|
-
deleteReferenceSyncedBlockExperience: deleteReferenceSyncedBlockExperience
|
|
126
|
+
deleteReferenceSyncedBlockExperience: deleteReferenceSyncedBlockExperience,
|
|
127
|
+
unsyncReferenceSyncedBlockExperience: unsyncReferenceSyncedBlockExperience,
|
|
128
|
+
unsyncSourceSyncedBlockExperience: unsyncSourceSyncedBlockExperience,
|
|
129
|
+
deleteSourceSyncedBlockExperience: deleteSourceSyncedBlockExperience,
|
|
130
|
+
syncedLocationsExperience: syncedLocationsExperience
|
|
68
131
|
});
|
|
132
|
+
},
|
|
133
|
+
options: {
|
|
134
|
+
capture: true
|
|
69
135
|
}
|
|
70
136
|
});
|
|
71
137
|
var unbindKeydownListener = (0, _bindEventListener.bind)(document, {
|
|
@@ -96,6 +162,7 @@ var getMenuAndToolbarExperiencesPlugin = exports.getMenuAndToolbarExperiencesPlu
|
|
|
96
162
|
editorViewEl = editorView.dom;
|
|
97
163
|
return {
|
|
98
164
|
destroy: function destroy() {
|
|
165
|
+
var _deleteSourceSyncedBl, _unsyncReferenceSynce, _unsyncSourceSyncedBl, _syncedLocationsExper;
|
|
99
166
|
createSourcePrimaryToolbarExperience.abort({
|
|
100
167
|
reason: 'editorDestroyed'
|
|
101
168
|
});
|
|
@@ -108,6 +175,18 @@ var getMenuAndToolbarExperiencesPlugin = exports.getMenuAndToolbarExperiencesPlu
|
|
|
108
175
|
deleteReferenceSyncedBlockExperience.abort({
|
|
109
176
|
reason: 'editorDestroyed'
|
|
110
177
|
});
|
|
178
|
+
(_deleteSourceSyncedBl = deleteSourceSyncedBlockExperience) === null || _deleteSourceSyncedBl === void 0 || _deleteSourceSyncedBl.abort({
|
|
179
|
+
reason: 'editorDestroyed'
|
|
180
|
+
});
|
|
181
|
+
(_unsyncReferenceSynce = unsyncReferenceSyncedBlockExperience) === null || _unsyncReferenceSynce === void 0 || _unsyncReferenceSynce.abort({
|
|
182
|
+
reason: 'editorDestroyed'
|
|
183
|
+
});
|
|
184
|
+
(_unsyncSourceSyncedBl = unsyncSourceSyncedBlockExperience) === null || _unsyncSourceSyncedBl === void 0 || _unsyncSourceSyncedBl.abort({
|
|
185
|
+
reason: 'editorDestroyed'
|
|
186
|
+
});
|
|
187
|
+
(_syncedLocationsExper = syncedLocationsExperience) === null || _syncedLocationsExper === void 0 || _syncedLocationsExper.abort({
|
|
188
|
+
reason: 'editorDestroyed'
|
|
189
|
+
});
|
|
111
190
|
unbindClickListener();
|
|
112
191
|
unbindKeydownListener();
|
|
113
192
|
}
|
|
@@ -115,75 +194,63 @@ var getMenuAndToolbarExperiencesPlugin = exports.getMenuAndToolbarExperiencesPlu
|
|
|
115
194
|
}
|
|
116
195
|
});
|
|
117
196
|
};
|
|
118
|
-
var getCreateSourcePrimaryToolbarExperience = function getCreateSourcePrimaryToolbarExperience(_ref2) {
|
|
119
|
-
var refs = _ref2.refs,
|
|
120
|
-
dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent;
|
|
121
|
-
return new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
122
|
-
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
123
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.PRIMARY_TOOLBAR,
|
|
124
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
125
|
-
checks: [new _experiences.ExperienceCheckTimeout({
|
|
126
|
-
durationMs: TIMEOUT_DURATION
|
|
127
|
-
}), syncedBlockAddedToDomCheck(refs)]
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
var getCreateSourceBlockMenuExperience = function getCreateSourceBlockMenuExperience(_ref3) {
|
|
131
|
-
var refs = _ref3.refs,
|
|
132
|
-
dispatchAnalyticsEvent = _ref3.dispatchAnalyticsEvent;
|
|
133
|
-
return new _experiences.Experience(_experiences.EXPERIENCE_ID.MENU_ACTION, {
|
|
134
|
-
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
135
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BLOCK_MENU,
|
|
136
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
137
|
-
checks: [new _experiences.ExperienceCheckTimeout({
|
|
138
|
-
durationMs: TIMEOUT_DURATION
|
|
139
|
-
}), syncedBlockAddedToDomCheck(refs)]
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
var getCreateSourceQuickInsertMenuExperience = function getCreateSourceQuickInsertMenuExperience(_ref4) {
|
|
143
|
-
var refs = _ref4.refs,
|
|
144
|
-
dispatchAnalyticsEvent = _ref4.dispatchAnalyticsEvent;
|
|
145
|
-
return new _experiences.Experience(_experiences.EXPERIENCE_ID.MENU_ACTION, {
|
|
146
|
-
action: _analytics.ACTION.SYNCED_BLOCK_CREATE,
|
|
147
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.QUICK_INSERT,
|
|
148
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
149
|
-
checks: [new _experiences.ExperienceCheckTimeout({
|
|
150
|
-
durationMs: TIMEOUT_DURATION
|
|
151
|
-
}), syncedBlockAddedToDomCheck(refs)]
|
|
152
|
-
});
|
|
153
|
-
};
|
|
154
|
-
var getDeleteReferenceSyncedBlockToolbarExperience = function getDeleteReferenceSyncedBlockToolbarExperience(_ref5) {
|
|
155
|
-
var refs = _ref5.refs,
|
|
156
|
-
dispatchAnalyticsEvent = _ref5.dispatchAnalyticsEvent;
|
|
157
|
-
return new _experiences.Experience(_experiences.EXPERIENCE_ID.TOOLBAR_ACTION, {
|
|
158
|
-
action: _analytics.ACTION.REFERENCE_SYNCED_BLOCK_DELETE,
|
|
159
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SYNCED_BLOCK_TOOLBAR,
|
|
160
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
161
|
-
checks: [new _experiences.ExperienceCheckTimeout({
|
|
162
|
-
durationMs: TIMEOUT_DURATION
|
|
163
|
-
}), referenceSyncBlockRemovedFromDomCheck(refs)]
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
197
|
var isSyncedBlockButtonId = function isSyncedBlockButtonId(value) {
|
|
167
198
|
return !!value && syncedBlockButtonIds.has(value);
|
|
168
199
|
};
|
|
169
|
-
var handleButtonClick = function handleButtonClick(
|
|
170
|
-
var testId =
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
200
|
+
var handleButtonClick = function handleButtonClick(_ref2) {
|
|
201
|
+
var testId = _ref2.testId,
|
|
202
|
+
button = _ref2.button,
|
|
203
|
+
createSourcePrimaryToolbarExperience = _ref2.createSourcePrimaryToolbarExperience,
|
|
204
|
+
createSourceBlockMenuExperience = _ref2.createSourceBlockMenuExperience,
|
|
205
|
+
createSourceQuickInsertMenuExperience = _ref2.createSourceQuickInsertMenuExperience,
|
|
206
|
+
deleteReferenceSyncedBlockExperience = _ref2.deleteReferenceSyncedBlockExperience,
|
|
207
|
+
unsyncReferenceSyncedBlockExperience = _ref2.unsyncReferenceSyncedBlockExperience,
|
|
208
|
+
unsyncSourceSyncedBlockExperience = _ref2.unsyncSourceSyncedBlockExperience,
|
|
209
|
+
deleteSourceSyncedBlockExperience = _ref2.deleteSourceSyncedBlockExperience,
|
|
210
|
+
syncedLocationsExperience = _ref2.syncedLocationsExperience;
|
|
175
211
|
switch (testId) {
|
|
176
212
|
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.primaryToolbarCreate:
|
|
177
|
-
createSourcePrimaryToolbarExperience.start(
|
|
213
|
+
createSourcePrimaryToolbarExperience.start({
|
|
214
|
+
forceRestart: true
|
|
215
|
+
});
|
|
178
216
|
break;
|
|
179
217
|
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.blockMenuCreate:
|
|
180
|
-
createSourceBlockMenuExperience.start(
|
|
218
|
+
createSourceBlockMenuExperience.start({
|
|
219
|
+
forceRestart: true
|
|
220
|
+
});
|
|
181
221
|
break;
|
|
182
222
|
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.quickInsertCreate:
|
|
183
|
-
createSourceQuickInsertMenuExperience.start(
|
|
223
|
+
createSourceQuickInsertMenuExperience.start({
|
|
224
|
+
forceRestart: true
|
|
225
|
+
});
|
|
184
226
|
break;
|
|
185
227
|
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.syncedBlockToolbarReferenceDelete:
|
|
186
|
-
deleteReferenceSyncedBlockExperience.start(
|
|
228
|
+
deleteReferenceSyncedBlockExperience.start({
|
|
229
|
+
forceRestart: true
|
|
230
|
+
});
|
|
231
|
+
break;
|
|
232
|
+
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.syncedBlockToolbarReferenceUnsync:
|
|
233
|
+
unsyncReferenceSyncedBlockExperience === null || unsyncReferenceSyncedBlockExperience === void 0 || unsyncReferenceSyncedBlockExperience.start({
|
|
234
|
+
forceRestart: true
|
|
235
|
+
});
|
|
236
|
+
break;
|
|
237
|
+
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.syncedBlockToolbarSourceUnsync:
|
|
238
|
+
unsyncSourceSyncedBlockExperience === null || unsyncSourceSyncedBlockExperience === void 0 || unsyncSourceSyncedBlockExperience.start({
|
|
239
|
+
forceRestart: true
|
|
240
|
+
});
|
|
241
|
+
break;
|
|
242
|
+
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.syncedBlockToolbarSourceDelete:
|
|
243
|
+
deleteSourceSyncedBlockExperience === null || deleteSourceSyncedBlockExperience === void 0 || deleteSourceSyncedBlockExperience.start({
|
|
244
|
+
forceRestart: true
|
|
245
|
+
});
|
|
246
|
+
break;
|
|
247
|
+
case _types.SYNCED_BLOCK_BUTTON_TEST_ID.syncedBlockToolbarSyncedLocationsTrigger:
|
|
248
|
+
// Only track when opening the dropdown
|
|
249
|
+
if (button.getAttribute('aria-pressed') === 'false') {
|
|
250
|
+
syncedLocationsExperience === null || syncedLocationsExperience === void 0 || syncedLocationsExperience.start({
|
|
251
|
+
forceRestart: true
|
|
252
|
+
});
|
|
253
|
+
}
|
|
187
254
|
break;
|
|
188
255
|
default:
|
|
189
256
|
{
|
|
@@ -209,8 +276,8 @@ var getTarget = function getTarget(containerElement) {
|
|
|
209
276
|
};
|
|
210
277
|
var syncedBlockAddedToDomCheck = function syncedBlockAddedToDomCheck(refs) {
|
|
211
278
|
return new _experiences.ExperienceCheckDomMutation({
|
|
212
|
-
onDomMutation: function onDomMutation(
|
|
213
|
-
var mutations =
|
|
279
|
+
onDomMutation: function onDomMutation(_ref3) {
|
|
280
|
+
var mutations = _ref3.mutations;
|
|
214
281
|
if (mutations.some(isBodiedSyncBlockAddedInMutation)) {
|
|
215
282
|
return {
|
|
216
283
|
status: 'success'
|
|
@@ -228,9 +295,9 @@ var syncedBlockAddedToDomCheck = function syncedBlockAddedToDomCheck(refs) {
|
|
|
228
295
|
}
|
|
229
296
|
});
|
|
230
297
|
};
|
|
231
|
-
var isBodiedSyncBlockAddedInMutation = function isBodiedSyncBlockAddedInMutation(
|
|
232
|
-
var type =
|
|
233
|
-
addedNodes =
|
|
298
|
+
var isBodiedSyncBlockAddedInMutation = function isBodiedSyncBlockAddedInMutation(_ref4) {
|
|
299
|
+
var type = _ref4.type,
|
|
300
|
+
addedNodes = _ref4.addedNodes;
|
|
234
301
|
return type === 'childList' && (0, _toConsumableArray2.default)(addedNodes).some(isBodiedSyncBlockWithinNode);
|
|
235
302
|
};
|
|
236
303
|
var isBodiedSyncBlockWithinNode = function isBodiedSyncBlockWithinNode(node) {
|
|
@@ -238,8 +305,8 @@ var isBodiedSyncBlockWithinNode = function isBodiedSyncBlockWithinNode(node) {
|
|
|
238
305
|
};
|
|
239
306
|
var referenceSyncBlockRemovedFromDomCheck = function referenceSyncBlockRemovedFromDomCheck(refs) {
|
|
240
307
|
return new _experiences.ExperienceCheckDomMutation({
|
|
241
|
-
onDomMutation: function onDomMutation(
|
|
242
|
-
var mutations =
|
|
308
|
+
onDomMutation: function onDomMutation(_ref5) {
|
|
309
|
+
var mutations = _ref5.mutations;
|
|
243
310
|
if (mutations.some(isSyncBlockRemovedInMutation)) {
|
|
244
311
|
return {
|
|
245
312
|
status: 'success'
|
|
@@ -257,11 +324,84 @@ var referenceSyncBlockRemovedFromDomCheck = function referenceSyncBlockRemovedFr
|
|
|
257
324
|
}
|
|
258
325
|
});
|
|
259
326
|
};
|
|
260
|
-
var isSyncBlockRemovedInMutation = function isSyncBlockRemovedInMutation(
|
|
261
|
-
var type =
|
|
262
|
-
removedNodes =
|
|
327
|
+
var isSyncBlockRemovedInMutation = function isSyncBlockRemovedInMutation(_ref6) {
|
|
328
|
+
var type = _ref6.type,
|
|
329
|
+
removedNodes = _ref6.removedNodes;
|
|
263
330
|
return type === 'childList' && (0, _toConsumableArray2.default)(removedNodes).some(isSyncBlockWithinNode);
|
|
264
331
|
};
|
|
265
332
|
var isSyncBlockWithinNode = function isSyncBlockWithinNode(node) {
|
|
266
333
|
return (0, _experiences.getNodeQuery)('[data-prosemirror-node-name="syncBlock"]')(node);
|
|
334
|
+
};
|
|
335
|
+
var syncBlockDeleteConfirmationModalAddedCheck = function syncBlockDeleteConfirmationModalAddedCheck(refs) {
|
|
336
|
+
return new _experiences.ExperienceCheckDomMutation({
|
|
337
|
+
onDomMutation: function onDomMutation(_ref7) {
|
|
338
|
+
var mutations = _ref7.mutations;
|
|
339
|
+
if (mutations.some(isDeleteConfirmationModalAddedInMutation)) {
|
|
340
|
+
return {
|
|
341
|
+
status: 'success'
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
return undefined;
|
|
345
|
+
},
|
|
346
|
+
observeConfig: function observeConfig() {
|
|
347
|
+
return {
|
|
348
|
+
target: document.body,
|
|
349
|
+
options: {
|
|
350
|
+
childList: true,
|
|
351
|
+
subtree: true
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
var isDeleteConfirmationModalAddedInMutation = function isDeleteConfirmationModalAddedInMutation(_ref8) {
|
|
358
|
+
var type = _ref8.type,
|
|
359
|
+
addedNodes = _ref8.addedNodes;
|
|
360
|
+
return type === 'childList' && (0, _toConsumableArray2.default)(addedNodes).some(isDeleteConfirmationModalWithinNode);
|
|
361
|
+
};
|
|
362
|
+
var isDeleteConfirmationModalWithinNode = function isDeleteConfirmationModalWithinNode(node) {
|
|
363
|
+
return (0, _experiences.getNodeQuery)('[data-testid="sync-block-delete-confirmation"]')(node);
|
|
364
|
+
};
|
|
365
|
+
var syncedLocationsDropdownOpenedCheck = function syncedLocationsDropdownOpenedCheck(refs) {
|
|
366
|
+
return new _experiences.ExperienceCheckDomMutation({
|
|
367
|
+
onDomMutation: function onDomMutation(_ref9) {
|
|
368
|
+
var mutations = _ref9.mutations;
|
|
369
|
+
if (mutations.some(isSyncedLocationsDropdownErrorInMutation)) {
|
|
370
|
+
return {
|
|
371
|
+
status: 'failure'
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
if (mutations.some(isSyncedLocationsDropdownAddedInMutation)) {
|
|
375
|
+
return {
|
|
376
|
+
status: 'success'
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
return undefined;
|
|
380
|
+
},
|
|
381
|
+
observeConfig: function observeConfig() {
|
|
382
|
+
return {
|
|
383
|
+
target: document.body,
|
|
384
|
+
options: {
|
|
385
|
+
childList: true,
|
|
386
|
+
subtree: true
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
};
|
|
392
|
+
var isSyncedLocationsDropdownAddedInMutation = function isSyncedLocationsDropdownAddedInMutation(_ref0) {
|
|
393
|
+
var type = _ref0.type,
|
|
394
|
+
addedNodes = _ref0.addedNodes;
|
|
395
|
+
return type === 'childList' && (0, _toConsumableArray2.default)(addedNodes).some(isSyncedLocationsDropdownWithinNode);
|
|
396
|
+
};
|
|
397
|
+
var isSyncedLocationsDropdownErrorInMutation = function isSyncedLocationsDropdownErrorInMutation(_ref1) {
|
|
398
|
+
var type = _ref1.type,
|
|
399
|
+
addedNodes = _ref1.addedNodes;
|
|
400
|
+
return type === 'childList' && (0, _toConsumableArray2.default)(addedNodes).some(isSyncedLocationsDropdownErrorWithinNode);
|
|
401
|
+
};
|
|
402
|
+
var isSyncedLocationsDropdownWithinNode = function isSyncedLocationsDropdownWithinNode(node) {
|
|
403
|
+
return !!((0, _experiences.getNodeQuery)('[data-testid="synced-locations-dropdown-content"]')(node) || (0, _experiences.getNodeQuery)('[data-testid="synced-locations-dropdown-content-no-results"]')(node));
|
|
404
|
+
};
|
|
405
|
+
var isSyncedLocationsDropdownErrorWithinNode = function isSyncedLocationsDropdownErrorWithinNode(node) {
|
|
406
|
+
return !!(0, _experiences.getNodeQuery)('[data-testid="synced-locations-dropdown-content-error"]')(node);
|
|
267
407
|
};
|
|
@@ -64,8 +64,8 @@ var syncedBlockPlugin = exports.syncedBlockPlugin = function syncedBlockPlugin(_
|
|
|
64
64
|
}] : []));
|
|
65
65
|
},
|
|
66
66
|
commands: {
|
|
67
|
-
copySyncedBlockReferenceToClipboard: function copySyncedBlockReferenceToClipboard() {
|
|
68
|
-
return (0, _editorCommands.copySyncedBlockReferenceToClipboardEditorCommand)(syncBlockStore, api);
|
|
67
|
+
copySyncedBlockReferenceToClipboard: function copySyncedBlockReferenceToClipboard(inputMethod) {
|
|
68
|
+
return (0, _editorCommands.copySyncedBlockReferenceToClipboardEditorCommand)(syncBlockStore, inputMethod, api);
|
|
69
69
|
},
|
|
70
70
|
insertSyncedBlock: function insertSyncedBlock() {
|
|
71
71
|
return function (_ref2) {
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -17,5 +17,9 @@ var SYNCED_BLOCK_BUTTON_TEST_ID = exports.SYNCED_BLOCK_BUTTON_TEST_ID = {
|
|
|
17
17
|
primaryToolbarCreate: 'create-synced-block-toolbar-btn',
|
|
18
18
|
blockMenuCreate: 'create-synced-block-block-menu-btn',
|
|
19
19
|
quickInsertCreate: 'create-synced-block-quick-insert-btn',
|
|
20
|
-
syncedBlockToolbarReferenceDelete: 'reference-synced-block-delete-btn'
|
|
20
|
+
syncedBlockToolbarReferenceDelete: 'reference-synced-block-delete-btn',
|
|
21
|
+
syncedBlockToolbarSourceDelete: 'source-synced-block-delete-btn',
|
|
22
|
+
syncedBlockToolbarReferenceUnsync: 'reference-synced-block-unsync-btn',
|
|
23
|
+
syncedBlockToolbarSourceUnsync: 'source-synced-block-unsync-btn',
|
|
24
|
+
syncedBlockToolbarSyncedLocationsTrigger: 'synced-block-synced-locations-dropdown--trigger'
|
|
21
25
|
};
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.CreateOrCopySyncedBlockDropdownItem = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntlNext = require("react-intl-next");
|
|
11
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
12
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
12
13
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
13
14
|
var _editorPluginConnectivity = require("@atlaskit/editor-plugin-connectivity");
|
|
@@ -71,7 +72,7 @@ var CopySyncedBlockDropdownItem = function CopySyncedBlockDropdownItem(_ref2) {
|
|
|
71
72
|
mode = _useSharedPluginState2.mode;
|
|
72
73
|
var onClick = function onClick() {
|
|
73
74
|
var _api$core3, _api$core4, _api$blockControls2;
|
|
74
|
-
api === null || api === void 0 || (_api$core3 = api.core) === null || _api$core3 === void 0 || _api$core3.actions.execute(api === null || api === void 0 ? void 0 : api.syncedBlock.commands.copySyncedBlockReferenceToClipboard());
|
|
75
|
+
api === null || api === void 0 || (_api$core3 = api.core) === null || _api$core3 === void 0 || _api$core3.actions.execute(api === null || api === void 0 ? void 0 : api.syncedBlock.commands.copySyncedBlockReferenceToClipboard(_analytics.INPUT_METHOD.BLOCK_MENU));
|
|
75
76
|
api === null || api === void 0 || (_api$core4 = api.core) === null || _api$core4 === void 0 || _api$core4.actions.execute(api === null || api === void 0 || (_api$blockControls2 = api.blockControls) === null || _api$blockControls2 === void 0 || (_api$blockControls2 = _api$blockControls2.commands) === null || _api$blockControls2 === void 0 ? void 0 : _api$blockControls2.toggleBlockMenu({
|
|
76
77
|
closeMenu: true
|
|
77
78
|
}));
|