@atlaskit/editor-plugin-card 4.3.6 → 4.3.7
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 +9 -0
- package/dist/cjs/toolbar.js +25 -64
- package/dist/cjs/ui/EditLinkToolbar.js +2 -2
- package/dist/cjs/ui/EditToolbarButton/EditToolbarButtonPresentation.js +2 -2
- package/dist/cjs/ui/EditToolbarButton/index.js +2 -2
- package/dist/cjs/ui/HyperlinkToolbarAppearance.js +1 -9
- package/dist/cjs/ui/editDatasourceAction.js +31 -0
- package/dist/es2019/toolbar.js +25 -62
- package/dist/es2019/ui/EditLinkToolbar.js +1 -1
- package/dist/es2019/ui/EditToolbarButton/EditToolbarButtonPresentation.js +1 -1
- package/dist/es2019/ui/EditToolbarButton/index.js +1 -1
- package/dist/es2019/ui/HyperlinkToolbarAppearance.js +1 -9
- package/dist/es2019/ui/editDatasourceAction.js +25 -0
- package/dist/esm/toolbar.js +27 -66
- package/dist/esm/ui/EditLinkToolbar.js +1 -1
- package/dist/esm/ui/EditToolbarButton/EditToolbarButtonPresentation.js +1 -1
- package/dist/esm/ui/EditToolbarButton/index.js +1 -1
- package/dist/esm/ui/HyperlinkToolbarAppearance.js +1 -9
- package/dist/esm/ui/editDatasourceAction.js +25 -0
- package/dist/types/ui/EditLinkToolbar.d.ts +1 -1
- package/dist/types/ui/editDatasourceAction.d.ts +4 -0
- package/dist/types-ts4.5/ui/EditLinkToolbar.d.ts +1 -1
- package/dist/types-ts4.5/ui/editDatasourceAction.d.ts +4 -0
- package/package.json +3 -6
- package/dist/cjs/ui/EditDatasourceButton.js +0 -113
- package/dist/es2019/ui/EditDatasourceButton.js +0 -108
- package/dist/esm/ui/EditDatasourceButton.js +0 -106
- package/dist/types/ui/EditDatasourceButton.d.ts +0 -18
- package/dist/types-ts4.5/ui/EditDatasourceButton.d.ts +0 -18
package/dist/esm/toolbar.js
CHANGED
|
@@ -9,7 +9,6 @@ import { buildLayoutButtons, commandWithMetadata } from '@atlaskit/editor-common
|
|
|
9
9
|
import { getLinkPreferencesURLFromENV } from '@atlaskit/editor-common/link';
|
|
10
10
|
import commonMessages, { linkMessages, linkToolbarMessages, cardMessages as messages } from '@atlaskit/editor-common/messages';
|
|
11
11
|
import { FLOATING_TOOLBAR_LINKPICKER_CLASSNAME, richMediaClassName } from '@atlaskit/editor-common/styles';
|
|
12
|
-
import { SmallerEditIcon } from '@atlaskit/editor-common/ui';
|
|
13
12
|
import { canRenderDatasource } from '@atlaskit/editor-common/utils';
|
|
14
13
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
15
14
|
import { findDomRefAtPos, removeSelectedNode } from '@atlaskit/editor-prosemirror/utils';
|
|
@@ -21,17 +20,15 @@ import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
|
|
|
21
20
|
import CogIcon from '@atlaskit/icon/glyph/editor/settings';
|
|
22
21
|
import UnlinkIcon from '@atlaskit/icon/glyph/editor/unlink';
|
|
23
22
|
import OpenIcon from '@atlaskit/icon/glyph/shortcut';
|
|
24
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
25
23
|
import { changeSelectedCardToText } from './pm-plugins/doc';
|
|
26
24
|
import { pluginKey } from './pm-plugins/main';
|
|
27
25
|
import { DatasourceAppearanceButton } from './ui/DatasourceAppearanceButton';
|
|
28
|
-
import {
|
|
29
|
-
import { buildEditLinkToolbar, editLink, editLinkToolbarConfig } from './ui/EditLinkToolbar';
|
|
26
|
+
import { buildEditLinkToolbar, editLinkToolbarConfig, getEditLinkCallback } from './ui/EditLinkToolbar';
|
|
30
27
|
import { EditToolbarButton } from './ui/EditToolbarButton';
|
|
31
28
|
import { HyperlinkToolbarAppearance } from './ui/HyperlinkToolbarAppearance';
|
|
32
29
|
import { LinkToolbarAppearance } from './ui/LinkToolbarAppearance';
|
|
33
30
|
import { ToolbarViewedEvent } from './ui/ToolbarViewedEvent';
|
|
34
|
-
import { appearanceForNodeType, displayInfoForCard, findCardInfo,
|
|
31
|
+
import { appearanceForNodeType, displayInfoForCard, findCardInfo, isDatasourceNode, titleUrlPairFromNode } from './utils';
|
|
35
32
|
export var removeCard = function removeCard(editorAnalyticsApi) {
|
|
36
33
|
return commandWithMetadata(function (state, dispatch) {
|
|
37
34
|
if (!(state.selection instanceof NodeSelection)) {
|
|
@@ -182,7 +179,7 @@ var getToolbarViewedItem = function getToolbarViewedItem(url, display) {
|
|
|
182
179
|
};
|
|
183
180
|
var generateToolbarItems = function generateToolbarItems(state, intl, providerFactory, cardOptions, lpLinkPicker, linkPicker, pluginInjectionApi) {
|
|
184
181
|
return function (node) {
|
|
185
|
-
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs
|
|
182
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs;
|
|
186
183
|
var _titleUrlPairFromNode2 = titleUrlPairFromNode(node),
|
|
187
184
|
url = _titleUrlPairFromNode2.url;
|
|
188
185
|
var _ref = (_pluginInjectionApi$a = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.analytics) !== null && _pluginInjectionApi$a !== void 0 ? _pluginInjectionApi$a : {},
|
|
@@ -202,9 +199,8 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
202
199
|
var _ref2 = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$d2 = pluginInjectionApi.decorations) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {},
|
|
203
200
|
hoverDecoration = _ref2.hoverDecoration;
|
|
204
201
|
var isDatasource = isDatasourceNode(node);
|
|
205
|
-
var datasourceId = node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.datasource) === null || _node$attrs === void 0 ? void 0 : _node$attrs.id;
|
|
206
202
|
var pluginState = pluginKey.getState(state);
|
|
207
|
-
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 || (_node$
|
|
203
|
+
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.datasource) === null || _node$attrs === void 0 ? void 0 : _node$attrs.id);
|
|
208
204
|
if (pluginState !== null && pluginState !== void 0 && pluginState.showLinkingToolbar) {
|
|
209
205
|
return [buildEditLinkToolbar({
|
|
210
206
|
providerFactory: providerFactory,
|
|
@@ -217,8 +213,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
217
213
|
return getDatasourceButtonGroup(metadata, intl, editorAnalyticsApi, node, hoverDecoration, node.attrs.datasource.id, state, cardOptions, currentAppearance);
|
|
218
214
|
} else {
|
|
219
215
|
var inlineCard = state.schema.nodes.inlineCard;
|
|
220
|
-
var
|
|
221
|
-
var editItems = isEditDropdownEnabled ? [{
|
|
216
|
+
var editItems = cardOptions.allowDatasource ? [{
|
|
222
217
|
type: 'custom',
|
|
223
218
|
fallback: [],
|
|
224
219
|
render: function render(editorView) {
|
|
@@ -228,7 +223,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
228
223
|
intl: intl,
|
|
229
224
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
230
225
|
editorView: editorView,
|
|
231
|
-
onLinkEditClick:
|
|
226
|
+
onLinkEditClick: getEditLinkCallback(editorAnalyticsApi, true),
|
|
232
227
|
currentAppearance: currentAppearance
|
|
233
228
|
});
|
|
234
229
|
}
|
|
@@ -240,7 +235,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
240
235
|
title: intl.formatMessage(linkToolbarMessages.editLink),
|
|
241
236
|
showTitle: true,
|
|
242
237
|
testId: 'link-toolbar-edit-link-button',
|
|
243
|
-
onClick:
|
|
238
|
+
onClick: getEditLinkCallback(editorAnalyticsApi, true)
|
|
244
239
|
}, {
|
|
245
240
|
type: 'separator'
|
|
246
241
|
}];
|
|
@@ -333,23 +328,6 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
333
328
|
type: 'separator'
|
|
334
329
|
}]));
|
|
335
330
|
}
|
|
336
|
-
var shouldShowDatasourceEditButton = allowDatasource && !fg('platform.linking-platform.enable-datasource-edit-dropdown-toolbar');
|
|
337
|
-
if (shouldShowDatasourceEditButton) {
|
|
338
|
-
toolbarItems.unshift({
|
|
339
|
-
type: 'custom',
|
|
340
|
-
fallback: [],
|
|
341
|
-
render: function render(editorView) {
|
|
342
|
-
return /*#__PURE__*/React.createElement(EditDatasourceButton, {
|
|
343
|
-
datasourceId: datasourceId,
|
|
344
|
-
intl: intl,
|
|
345
|
-
editorAnalyticsApi: editorAnalyticsApi,
|
|
346
|
-
url: url,
|
|
347
|
-
editorView: editorView,
|
|
348
|
-
currentAppearance: currentAppearance
|
|
349
|
-
});
|
|
350
|
-
}
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
331
|
return toolbarItems;
|
|
354
332
|
}
|
|
355
333
|
};
|
|
@@ -380,22 +358,8 @@ export var getSettingsButton = function getSettingsButton(intl, editorAnalyticsA
|
|
|
380
358
|
};
|
|
381
359
|
};
|
|
382
360
|
var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl, editorAnalyticsApi, node, hoverDecoration, datasourceId, state, cardOptions, currentAppearance) {
|
|
383
|
-
var _node$
|
|
361
|
+
var _node$attrs2;
|
|
384
362
|
var toolbarItems = [];
|
|
385
|
-
if (isDatasourceConfigEditable(datasourceId) && !fg('platform.linking-platform.enable-datasource-edit-dropdown-toolbar')) {
|
|
386
|
-
toolbarItems.push({
|
|
387
|
-
id: 'editor.edit.datasource',
|
|
388
|
-
type: 'button',
|
|
389
|
-
icon: SmallerEditIcon,
|
|
390
|
-
metadata: metadata,
|
|
391
|
-
className: 'datasource-edit',
|
|
392
|
-
title: intl.formatMessage(linkToolbarMessages.editDatasource),
|
|
393
|
-
onClick: editDatasource(datasourceId, editorAnalyticsApi, 'datasource'),
|
|
394
|
-
testId: 'datasource-edit-button'
|
|
395
|
-
}, {
|
|
396
|
-
type: 'separator'
|
|
397
|
-
});
|
|
398
|
-
}
|
|
399
363
|
var canShowAppearanceSwitch = function canShowAppearanceSwitch() {
|
|
400
364
|
// we do not show smart-link or the datasource icons when the node does not have a url to resolve
|
|
401
365
|
if (!metadata.url) {
|
|
@@ -444,26 +408,24 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
444
408
|
type: 'separator'
|
|
445
409
|
});
|
|
446
410
|
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
}
|
|
466
|
-
if (node !== null && node !== void 0 && (_node$attrs3 = node.attrs) !== null && _node$attrs3 !== void 0 && _node$attrs3.url) {
|
|
411
|
+
toolbarItems.push({
|
|
412
|
+
type: 'custom',
|
|
413
|
+
fallback: [],
|
|
414
|
+
render: function render(editorView) {
|
|
415
|
+
return /*#__PURE__*/React.createElement(EditToolbarButton, {
|
|
416
|
+
datasourceId: datasourceId,
|
|
417
|
+
node: node,
|
|
418
|
+
key: "edit-toolbar-item",
|
|
419
|
+
url: metadata.url,
|
|
420
|
+
intl: intl,
|
|
421
|
+
editorAnalyticsApi: editorAnalyticsApi,
|
|
422
|
+
editorView: editorView,
|
|
423
|
+
onLinkEditClick: getEditLinkCallback(editorAnalyticsApi, false),
|
|
424
|
+
currentAppearance: "datasource"
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
if (node !== null && node !== void 0 && (_node$attrs2 = node.attrs) !== null && _node$attrs2 !== void 0 && _node$attrs2.url) {
|
|
467
429
|
toolbarItems.push({
|
|
468
430
|
id: 'editor.link.openLink',
|
|
469
431
|
type: 'button',
|
|
@@ -509,8 +471,7 @@ export var shouldRenderToolbarPulse = function shouldRenderToolbarPulse(embedEna
|
|
|
509
471
|
};
|
|
510
472
|
export var getStartingToolbarItems = function getStartingToolbarItems(options, api) {
|
|
511
473
|
return function (intl, link, onEditLink, metadata) {
|
|
512
|
-
var
|
|
513
|
-
var editLinkItem = isEditDropdownEnabled ? [{
|
|
474
|
+
var editLinkItem = options.allowDatasource ? [{
|
|
514
475
|
type: 'custom',
|
|
515
476
|
fallback: [],
|
|
516
477
|
render: function render(editorView) {
|
|
@@ -124,7 +124,7 @@ export var EditLinkToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
124
124
|
}]);
|
|
125
125
|
return EditLinkToolbar;
|
|
126
126
|
}(React.Component);
|
|
127
|
-
export var
|
|
127
|
+
export var getEditLinkCallback = function getEditLinkCallback(editorAnalyticsApi, scrollIntoView) {
|
|
128
128
|
return function (state, dispatch) {
|
|
129
129
|
var type = 'hyperlink';
|
|
130
130
|
if (state.selection instanceof NodeSelection) {
|
|
@@ -15,7 +15,7 @@ import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
|
|
|
15
15
|
import { ButtonItem } from '@atlaskit/menu';
|
|
16
16
|
import { Flex } from '@atlaskit/primitives';
|
|
17
17
|
import { focusEditorView } from '../../utils';
|
|
18
|
-
import { editDatasource } from '../
|
|
18
|
+
import { editDatasource } from '../editDatasourceAction';
|
|
19
19
|
var dropdownExpandContainer = css({
|
|
20
20
|
margin: "0px ".concat("var(--ds-space-negative-050, -4px)")
|
|
21
21
|
});
|
|
@@ -17,9 +17,9 @@ import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
|
|
|
17
17
|
import { ButtonItem } from '@atlaskit/menu';
|
|
18
18
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
19
19
|
import { Flex } from '@atlaskit/primitives';
|
|
20
|
-
import { editDatasource } from '../../ui/EditDatasourceButton';
|
|
21
20
|
import { focusEditorView, isDatasourceConfigEditable } from '../../utils';
|
|
22
21
|
import { CardContextProvider } from '../CardContextProvider';
|
|
22
|
+
import { editDatasource } from '../editDatasourceAction';
|
|
23
23
|
import { useFetchDatasourceDataInfo } from '../useFetchDatasourceDataInfo';
|
|
24
24
|
import { useFetchDatasourceInfo } from '../useFetchDatasourceInfo';
|
|
25
25
|
import EditToolbarButtonPresentation from './EditToolbarButtonPresentation';
|
|
@@ -4,10 +4,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
4
4
|
import React, { useEffect, useRef, useState } from 'react';
|
|
5
5
|
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
6
6
|
import { FloatingToolbarSeparator as Separator } from '@atlaskit/editor-common/ui';
|
|
7
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
7
|
import { Flex } from '@atlaskit/primitives';
|
|
9
8
|
import { DatasourceAppearanceButton } from './DatasourceAppearanceButton';
|
|
10
|
-
import { EditDatasourceButton } from './EditDatasourceButton';
|
|
11
9
|
import { LinkToolbarAppearance } from './LinkToolbarAppearance';
|
|
12
10
|
export function HyperlinkToolbarAppearance(props) {
|
|
13
11
|
var _props$cardOptions3;
|
|
@@ -126,13 +124,7 @@ export function HyperlinkToolbarAppearance(props) {
|
|
|
126
124
|
if (!supportedUrlsMap.get(url)) {
|
|
127
125
|
return null;
|
|
128
126
|
}
|
|
129
|
-
return /*#__PURE__*/React.createElement(Flex, null,
|
|
130
|
-
url: url,
|
|
131
|
-
intl: intl,
|
|
132
|
-
editorView: editorView,
|
|
133
|
-
editorAnalyticsApi: editorAnalyticsApi,
|
|
134
|
-
currentAppearance: "url"
|
|
135
|
-
}), /*#__PURE__*/React.createElement(LinkToolbarAppearance, {
|
|
127
|
+
return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(LinkToolbarAppearance, {
|
|
136
128
|
key: "link-appearance",
|
|
137
129
|
url: url,
|
|
138
130
|
intl: intl,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
2
|
+
import { getDatasourceType } from '@atlaskit/editor-common/utils';
|
|
3
|
+
import { showDatasourceModal } from '../pm-plugins/actions';
|
|
4
|
+
export var editDatasource = function editDatasource(datasourceId, editorAnalyticsApi, appearance, extensionKey) {
|
|
5
|
+
return function (state, dispatch) {
|
|
6
|
+
var datasourceType = getDatasourceType(datasourceId);
|
|
7
|
+
if (dispatch && datasourceType) {
|
|
8
|
+
var tr = state.tr;
|
|
9
|
+
showDatasourceModal(datasourceType)(tr);
|
|
10
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
|
|
11
|
+
action: ACTION.CLICKED,
|
|
12
|
+
actionSubject: ACTION_SUBJECT.BUTTON,
|
|
13
|
+
actionSubjectId: ACTION_SUBJECT_ID.EDIT_DATASOURCE,
|
|
14
|
+
eventType: EVENT_TYPE.UI,
|
|
15
|
+
attributes: {
|
|
16
|
+
extensionKey: extensionKey,
|
|
17
|
+
appearance: appearance
|
|
18
|
+
}
|
|
19
|
+
})(tr);
|
|
20
|
+
dispatch(tr);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -26,7 +26,7 @@ export declare class EditLinkToolbar extends React.Component<EditLinkToolbarProp
|
|
|
26
26
|
private hideLinkToolbar;
|
|
27
27
|
render(): JSX.Element;
|
|
28
28
|
}
|
|
29
|
-
export declare const
|
|
29
|
+
export declare const getEditLinkCallback: (editorAnalyticsApi: EditorAnalyticsAPI | undefined, scrollIntoView: boolean) => Command;
|
|
30
30
|
export declare const buildEditLinkToolbar: ({ providerFactory, node, pluginInjectionApi, linkPicker, lpLinkPicker, }: {
|
|
31
31
|
providerFactory: ProviderFactory;
|
|
32
32
|
node: Node;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
+
import { type Command } from '@atlaskit/editor-common/types';
|
|
3
|
+
import { type CardType } from '../types';
|
|
4
|
+
export declare const editDatasource: (datasourceId: string, editorAnalyticsApi?: EditorAnalyticsAPI, appearance?: CardType, extensionKey?: string) => Command;
|
|
@@ -26,7 +26,7 @@ export declare class EditLinkToolbar extends React.Component<EditLinkToolbarProp
|
|
|
26
26
|
private hideLinkToolbar;
|
|
27
27
|
render(): JSX.Element;
|
|
28
28
|
}
|
|
29
|
-
export declare const
|
|
29
|
+
export declare const getEditLinkCallback: (editorAnalyticsApi: EditorAnalyticsAPI | undefined, scrollIntoView: boolean) => Command;
|
|
30
30
|
export declare const buildEditLinkToolbar: ({ providerFactory, node, pluginInjectionApi, linkPicker, lpLinkPicker, }: {
|
|
31
31
|
providerFactory: ProviderFactory;
|
|
32
32
|
node: Node;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
+
import { type Command } from '@atlaskit/editor-common/types';
|
|
3
|
+
import { type CardType } from '../types';
|
|
4
|
+
export declare const editDatasource: (datasourceId: string, editorAnalyticsApi?: EditorAnalyticsAPI, appearance?: CardType, extensionKey?: string) => Command;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-card",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.7",
|
|
4
4
|
"description": "Card plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@atlaskit/adf-schema": "^42.3.1",
|
|
35
35
|
"@atlaskit/analytics-next": "^10.1.0",
|
|
36
36
|
"@atlaskit/custom-steps": "^0.8.0",
|
|
37
|
-
"@atlaskit/editor-common": "^94.
|
|
37
|
+
"@atlaskit/editor-common": "^94.2.0",
|
|
38
38
|
"@atlaskit/editor-plugin-analytics": "^1.10.0",
|
|
39
39
|
"@atlaskit/editor-plugin-decorations": "^1.3.0",
|
|
40
40
|
"@atlaskit/editor-plugin-editor-disabled": "^1.3.0",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@atlaskit/primitives": "^12.2.0",
|
|
58
58
|
"@atlaskit/smart-card": "^30.1.0",
|
|
59
59
|
"@atlaskit/theme": "^14.0.0",
|
|
60
|
-
"@atlaskit/tmp-editor-statsig": "^2.
|
|
60
|
+
"@atlaskit/tmp-editor-statsig": "^2.8.0",
|
|
61
61
|
"@atlaskit/tokens": "^2.0.0",
|
|
62
62
|
"@babel/runtime": "^7.0.0",
|
|
63
63
|
"@emotion/react": "^11.7.1",
|
|
@@ -114,9 +114,6 @@
|
|
|
114
114
|
"platform-datasources-enable-two-way-sync": {
|
|
115
115
|
"type": "boolean"
|
|
116
116
|
},
|
|
117
|
-
"platform.linking-platform.enable-datasource-edit-dropdown-toolbar": {
|
|
118
|
-
"type": "boolean"
|
|
119
|
-
},
|
|
120
117
|
"linking-platform-contenteditable-false-live-view": {
|
|
121
118
|
"type": "boolean"
|
|
122
119
|
},
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.editDatasource = exports.EditDatasourceButton = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _react2 = require("@emotion/react");
|
|
9
|
-
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
|
-
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
|
-
var _ui = require("@atlaskit/editor-common/ui");
|
|
12
|
-
var _utils = require("@atlaskit/editor-common/utils");
|
|
13
|
-
var _primitives = require("@atlaskit/primitives");
|
|
14
|
-
var _actions = require("../pm-plugins/actions");
|
|
15
|
-
var _utils2 = require("../utils");
|
|
16
|
-
var _CardContextProvider = require("./CardContextProvider");
|
|
17
|
-
var _useFetchDatasourceInfo = require("./useFetchDatasourceInfo");
|
|
18
|
-
/**
|
|
19
|
-
* @jsxRuntime classic
|
|
20
|
-
* @jsx jsx
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
24
|
-
|
|
25
|
-
var buttonStyles = (0, _react2.css)({
|
|
26
|
-
pointerEvents: 'auto'
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
// Edit button in toolbar to open datasource modal. This button is shown for inline, block, and embed cards
|
|
30
|
-
// if they can resolve into a datasource.
|
|
31
|
-
var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardContext(_ref) {
|
|
32
|
-
var cardContext = _ref.cardContext,
|
|
33
|
-
datasourceIdFromAdf = _ref.datasourceId,
|
|
34
|
-
intl = _ref.intl,
|
|
35
|
-
editorAnalyticsApi = _ref.editorAnalyticsApi,
|
|
36
|
-
url = _ref.url,
|
|
37
|
-
editorView = _ref.editorView,
|
|
38
|
-
currentAppearance = _ref.currentAppearance;
|
|
39
|
-
var _useFetchDatasourceIn = (0, _useFetchDatasourceInfo.useFetchDatasourceInfo)({
|
|
40
|
-
isRegularCardNode: true,
|
|
41
|
-
url: url,
|
|
42
|
-
cardContext: cardContext
|
|
43
|
-
}),
|
|
44
|
-
datasourceIdFromUrl = _useFetchDatasourceIn.datasourceId,
|
|
45
|
-
extensionKey = _useFetchDatasourceIn.extensionKey;
|
|
46
|
-
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
47
|
-
var onEditDatasource = (0, _react.useCallback)(function () {
|
|
48
|
-
if (editorView && datasourceId) {
|
|
49
|
-
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
50
|
-
(0, _utils2.focusEditorView)(editorView);
|
|
51
|
-
}
|
|
52
|
-
}, [currentAppearance, datasourceId, editorAnalyticsApi, editorView, extensionKey]);
|
|
53
|
-
if (!datasourceId || !(0, _utils2.isDatasourceConfigEditable)(datasourceId)) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
if (url) {
|
|
57
|
-
var _cardContext$store, _urlState$error;
|
|
58
|
-
var urlState = cardContext === null || cardContext === void 0 || (_cardContext$store = cardContext.store) === null || _cardContext$store === void 0 ? void 0 : _cardContext$store.getState()[url];
|
|
59
|
-
if ((urlState === null || urlState === void 0 || (_urlState$error = urlState.error) === null || _urlState$error === void 0 ? void 0 : _urlState$error.kind) === 'fatal') {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return (0, _react2.jsx)(_primitives.Flex, null, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
|
|
64
|
-
css: buttonStyles,
|
|
65
|
-
title: intl.formatMessage(_messages.cardMessages.datasourceTitle),
|
|
66
|
-
icon: (0, _react2.jsx)(_ui.SmallerEditIcon, null),
|
|
67
|
-
selected: false,
|
|
68
|
-
onClick: onEditDatasource,
|
|
69
|
-
testId: 'card-edit-datasource-button'
|
|
70
|
-
}), (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null));
|
|
71
|
-
};
|
|
72
|
-
var EditDatasourceButton = exports.EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
73
|
-
var datasourceId = _ref2.datasourceId,
|
|
74
|
-
intl = _ref2.intl,
|
|
75
|
-
editorAnalyticsApi = _ref2.editorAnalyticsApi,
|
|
76
|
-
url = _ref2.url,
|
|
77
|
-
editorView = _ref2.editorView,
|
|
78
|
-
currentAppearance = _ref2.currentAppearance;
|
|
79
|
-
return (0, _react2.jsx)(_CardContextProvider.CardContextProvider, null, function (_ref3) {
|
|
80
|
-
var cardContext = _ref3.cardContext;
|
|
81
|
-
return (0, _react2.jsx)(EditDatasourceButtonWithCardContext, {
|
|
82
|
-
datasourceId: datasourceId,
|
|
83
|
-
url: url,
|
|
84
|
-
intl: intl,
|
|
85
|
-
editorAnalyticsApi: editorAnalyticsApi,
|
|
86
|
-
editorView: editorView,
|
|
87
|
-
cardContext: cardContext,
|
|
88
|
-
currentAppearance: currentAppearance
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
var editDatasource = exports.editDatasource = function editDatasource(datasourceId, editorAnalyticsApi, appearance, extensionKey) {
|
|
93
|
-
return function (state, dispatch) {
|
|
94
|
-
var datasourceType = (0, _utils.getDatasourceType)(datasourceId);
|
|
95
|
-
if (dispatch && datasourceType) {
|
|
96
|
-
var tr = state.tr;
|
|
97
|
-
(0, _actions.showDatasourceModal)(datasourceType)(tr);
|
|
98
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
|
|
99
|
-
action: _analytics.ACTION.CLICKED,
|
|
100
|
-
actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
|
|
101
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.EDIT_DATASOURCE,
|
|
102
|
-
eventType: _analytics.EVENT_TYPE.UI,
|
|
103
|
-
attributes: {
|
|
104
|
-
extensionKey: extensionKey,
|
|
105
|
-
appearance: appearance
|
|
106
|
-
}
|
|
107
|
-
})(tr);
|
|
108
|
-
dispatch(tr);
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
return false;
|
|
112
|
-
};
|
|
113
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @jsxRuntime classic
|
|
3
|
-
* @jsx jsx
|
|
4
|
-
*/
|
|
5
|
-
import { useCallback } from 'react';
|
|
6
|
-
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
8
|
-
import { css, jsx } from '@emotion/react';
|
|
9
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
10
|
-
import { cardMessages as messages } from '@atlaskit/editor-common/messages';
|
|
11
|
-
import { FloatingToolbarButton as Button, FloatingToolbarSeparator as Separator, SmallerEditIcon } from '@atlaskit/editor-common/ui';
|
|
12
|
-
import { getDatasourceType } from '@atlaskit/editor-common/utils';
|
|
13
|
-
import { Flex } from '@atlaskit/primitives';
|
|
14
|
-
import { showDatasourceModal } from '../pm-plugins/actions';
|
|
15
|
-
import { focusEditorView, isDatasourceConfigEditable } from '../utils';
|
|
16
|
-
import { CardContextProvider } from './CardContextProvider';
|
|
17
|
-
import { useFetchDatasourceInfo } from './useFetchDatasourceInfo';
|
|
18
|
-
const buttonStyles = css({
|
|
19
|
-
pointerEvents: 'auto'
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
// Edit button in toolbar to open datasource modal. This button is shown for inline, block, and embed cards
|
|
23
|
-
// if they can resolve into a datasource.
|
|
24
|
-
const EditDatasourceButtonWithCardContext = ({
|
|
25
|
-
cardContext,
|
|
26
|
-
datasourceId: datasourceIdFromAdf,
|
|
27
|
-
intl,
|
|
28
|
-
editorAnalyticsApi,
|
|
29
|
-
url,
|
|
30
|
-
editorView,
|
|
31
|
-
currentAppearance
|
|
32
|
-
}) => {
|
|
33
|
-
const {
|
|
34
|
-
datasourceId: datasourceIdFromUrl,
|
|
35
|
-
extensionKey
|
|
36
|
-
} = useFetchDatasourceInfo({
|
|
37
|
-
isRegularCardNode: true,
|
|
38
|
-
url,
|
|
39
|
-
cardContext
|
|
40
|
-
});
|
|
41
|
-
const datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
42
|
-
const onEditDatasource = useCallback(() => {
|
|
43
|
-
if (editorView && datasourceId) {
|
|
44
|
-
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
45
|
-
focusEditorView(editorView);
|
|
46
|
-
}
|
|
47
|
-
}, [currentAppearance, datasourceId, editorAnalyticsApi, editorView, extensionKey]);
|
|
48
|
-
if (!datasourceId || !isDatasourceConfigEditable(datasourceId)) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
if (url) {
|
|
52
|
-
var _cardContext$store, _urlState$error;
|
|
53
|
-
const urlState = cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$store = cardContext.store) === null || _cardContext$store === void 0 ? void 0 : _cardContext$store.getState()[url];
|
|
54
|
-
if ((urlState === null || urlState === void 0 ? void 0 : (_urlState$error = urlState.error) === null || _urlState$error === void 0 ? void 0 : _urlState$error.kind) === 'fatal') {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return jsx(Flex, null, jsx(Button, {
|
|
59
|
-
css: buttonStyles,
|
|
60
|
-
title: intl.formatMessage(messages.datasourceTitle),
|
|
61
|
-
icon: jsx(SmallerEditIcon, null),
|
|
62
|
-
selected: false,
|
|
63
|
-
onClick: onEditDatasource,
|
|
64
|
-
testId: 'card-edit-datasource-button'
|
|
65
|
-
}), jsx(Separator, null));
|
|
66
|
-
};
|
|
67
|
-
export const EditDatasourceButton = ({
|
|
68
|
-
datasourceId,
|
|
69
|
-
intl,
|
|
70
|
-
editorAnalyticsApi,
|
|
71
|
-
url,
|
|
72
|
-
editorView,
|
|
73
|
-
currentAppearance
|
|
74
|
-
}) => {
|
|
75
|
-
return jsx(CardContextProvider, null, ({
|
|
76
|
-
cardContext
|
|
77
|
-
}) => jsx(EditDatasourceButtonWithCardContext, {
|
|
78
|
-
datasourceId: datasourceId,
|
|
79
|
-
url: url,
|
|
80
|
-
intl: intl,
|
|
81
|
-
editorAnalyticsApi: editorAnalyticsApi,
|
|
82
|
-
editorView: editorView,
|
|
83
|
-
cardContext: cardContext,
|
|
84
|
-
currentAppearance: currentAppearance
|
|
85
|
-
}));
|
|
86
|
-
};
|
|
87
|
-
export const editDatasource = (datasourceId, editorAnalyticsApi, appearance, extensionKey) => (state, dispatch) => {
|
|
88
|
-
const datasourceType = getDatasourceType(datasourceId);
|
|
89
|
-
if (dispatch && datasourceType) {
|
|
90
|
-
const {
|
|
91
|
-
tr
|
|
92
|
-
} = state;
|
|
93
|
-
showDatasourceModal(datasourceType)(tr);
|
|
94
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
|
|
95
|
-
action: ACTION.CLICKED,
|
|
96
|
-
actionSubject: ACTION_SUBJECT.BUTTON,
|
|
97
|
-
actionSubjectId: ACTION_SUBJECT_ID.EDIT_DATASOURCE,
|
|
98
|
-
eventType: EVENT_TYPE.UI,
|
|
99
|
-
attributes: {
|
|
100
|
-
extensionKey,
|
|
101
|
-
appearance
|
|
102
|
-
}
|
|
103
|
-
})(tr);
|
|
104
|
-
dispatch(tr);
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
return false;
|
|
108
|
-
};
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @jsxRuntime classic
|
|
3
|
-
* @jsx jsx
|
|
4
|
-
*/
|
|
5
|
-
import { useCallback } from 'react';
|
|
6
|
-
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
8
|
-
import { css, jsx } from '@emotion/react';
|
|
9
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
10
|
-
import { cardMessages as messages } from '@atlaskit/editor-common/messages';
|
|
11
|
-
import { FloatingToolbarButton as Button, FloatingToolbarSeparator as Separator, SmallerEditIcon } from '@atlaskit/editor-common/ui';
|
|
12
|
-
import { getDatasourceType } from '@atlaskit/editor-common/utils';
|
|
13
|
-
import { Flex } from '@atlaskit/primitives';
|
|
14
|
-
import { showDatasourceModal } from '../pm-plugins/actions';
|
|
15
|
-
import { focusEditorView, isDatasourceConfigEditable } from '../utils';
|
|
16
|
-
import { CardContextProvider } from './CardContextProvider';
|
|
17
|
-
import { useFetchDatasourceInfo } from './useFetchDatasourceInfo';
|
|
18
|
-
var buttonStyles = css({
|
|
19
|
-
pointerEvents: 'auto'
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
// Edit button in toolbar to open datasource modal. This button is shown for inline, block, and embed cards
|
|
23
|
-
// if they can resolve into a datasource.
|
|
24
|
-
var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardContext(_ref) {
|
|
25
|
-
var cardContext = _ref.cardContext,
|
|
26
|
-
datasourceIdFromAdf = _ref.datasourceId,
|
|
27
|
-
intl = _ref.intl,
|
|
28
|
-
editorAnalyticsApi = _ref.editorAnalyticsApi,
|
|
29
|
-
url = _ref.url,
|
|
30
|
-
editorView = _ref.editorView,
|
|
31
|
-
currentAppearance = _ref.currentAppearance;
|
|
32
|
-
var _useFetchDatasourceIn = useFetchDatasourceInfo({
|
|
33
|
-
isRegularCardNode: true,
|
|
34
|
-
url: url,
|
|
35
|
-
cardContext: cardContext
|
|
36
|
-
}),
|
|
37
|
-
datasourceIdFromUrl = _useFetchDatasourceIn.datasourceId,
|
|
38
|
-
extensionKey = _useFetchDatasourceIn.extensionKey;
|
|
39
|
-
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
40
|
-
var onEditDatasource = useCallback(function () {
|
|
41
|
-
if (editorView && datasourceId) {
|
|
42
|
-
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
43
|
-
focusEditorView(editorView);
|
|
44
|
-
}
|
|
45
|
-
}, [currentAppearance, datasourceId, editorAnalyticsApi, editorView, extensionKey]);
|
|
46
|
-
if (!datasourceId || !isDatasourceConfigEditable(datasourceId)) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
if (url) {
|
|
50
|
-
var _cardContext$store, _urlState$error;
|
|
51
|
-
var urlState = cardContext === null || cardContext === void 0 || (_cardContext$store = cardContext.store) === null || _cardContext$store === void 0 ? void 0 : _cardContext$store.getState()[url];
|
|
52
|
-
if ((urlState === null || urlState === void 0 || (_urlState$error = urlState.error) === null || _urlState$error === void 0 ? void 0 : _urlState$error.kind) === 'fatal') {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return jsx(Flex, null, jsx(Button, {
|
|
57
|
-
css: buttonStyles,
|
|
58
|
-
title: intl.formatMessage(messages.datasourceTitle),
|
|
59
|
-
icon: jsx(SmallerEditIcon, null),
|
|
60
|
-
selected: false,
|
|
61
|
-
onClick: onEditDatasource,
|
|
62
|
-
testId: 'card-edit-datasource-button'
|
|
63
|
-
}), jsx(Separator, null));
|
|
64
|
-
};
|
|
65
|
-
export var EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
66
|
-
var datasourceId = _ref2.datasourceId,
|
|
67
|
-
intl = _ref2.intl,
|
|
68
|
-
editorAnalyticsApi = _ref2.editorAnalyticsApi,
|
|
69
|
-
url = _ref2.url,
|
|
70
|
-
editorView = _ref2.editorView,
|
|
71
|
-
currentAppearance = _ref2.currentAppearance;
|
|
72
|
-
return jsx(CardContextProvider, null, function (_ref3) {
|
|
73
|
-
var cardContext = _ref3.cardContext;
|
|
74
|
-
return jsx(EditDatasourceButtonWithCardContext, {
|
|
75
|
-
datasourceId: datasourceId,
|
|
76
|
-
url: url,
|
|
77
|
-
intl: intl,
|
|
78
|
-
editorAnalyticsApi: editorAnalyticsApi,
|
|
79
|
-
editorView: editorView,
|
|
80
|
-
cardContext: cardContext,
|
|
81
|
-
currentAppearance: currentAppearance
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
export var editDatasource = function editDatasource(datasourceId, editorAnalyticsApi, appearance, extensionKey) {
|
|
86
|
-
return function (state, dispatch) {
|
|
87
|
-
var datasourceType = getDatasourceType(datasourceId);
|
|
88
|
-
if (dispatch && datasourceType) {
|
|
89
|
-
var tr = state.tr;
|
|
90
|
-
showDatasourceModal(datasourceType)(tr);
|
|
91
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
|
|
92
|
-
action: ACTION.CLICKED,
|
|
93
|
-
actionSubject: ACTION_SUBJECT.BUTTON,
|
|
94
|
-
actionSubjectId: ACTION_SUBJECT_ID.EDIT_DATASOURCE,
|
|
95
|
-
eventType: EVENT_TYPE.UI,
|
|
96
|
-
attributes: {
|
|
97
|
-
extensionKey: extensionKey,
|
|
98
|
-
appearance: appearance
|
|
99
|
-
}
|
|
100
|
-
})(tr);
|
|
101
|
-
dispatch(tr);
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
return false;
|
|
105
|
-
};
|
|
106
|
-
};
|