@atlaskit/editor-plugin-card 2.0.6 → 2.0.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 +8 -0
- package/dist/cjs/plugin.js +3 -3
- package/dist/cjs/pm-plugins/doc.js +1 -109
- package/dist/cjs/toolbar.js +92 -6
- package/dist/cjs/ui/EditDatasourceButton.js +50 -25
- package/dist/cjs/ui/EditToolbarButton.js +30 -29
- package/dist/cjs/ui/HyperlinkToolbarAppearance.js +2 -2
- package/dist/cjs/ui/useFetchDatasourceInfo.js +13 -6
- package/dist/cjs/utils.js +11 -1
- package/dist/es2019/plugin.js +2 -2
- package/dist/es2019/pm-plugins/doc.js +2 -106
- package/dist/es2019/toolbar.js +88 -6
- package/dist/es2019/ui/EditDatasourceButton.js +41 -14
- package/dist/es2019/ui/EditToolbarButton.js +24 -22
- package/dist/es2019/ui/HyperlinkToolbarAppearance.js +2 -2
- package/dist/es2019/ui/useFetchDatasourceInfo.js +5 -1
- package/dist/es2019/utils.js +10 -0
- package/dist/esm/plugin.js +2 -2
- package/dist/esm/pm-plugins/doc.js +2 -110
- package/dist/esm/toolbar.js +92 -6
- package/dist/esm/ui/EditDatasourceButton.js +41 -16
- package/dist/esm/ui/EditToolbarButton.js +31 -28
- package/dist/esm/ui/HyperlinkToolbarAppearance.js +2 -2
- package/dist/esm/ui/useFetchDatasourceInfo.js +13 -6
- package/dist/esm/utils.js +10 -0
- package/dist/types/pm-plugins/doc.d.ts +3 -11
- package/dist/types/toolbar.d.ts +7 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/ui/EditDatasourceButton.d.ts +6 -5
- package/dist/types/ui/EditLinkToolbar.d.ts +1 -1
- package/dist/types/ui/EditToolbarButton.d.ts +3 -1
- package/dist/types/ui/useFetchDatasourceInfo.d.ts +1 -0
- package/dist/types/utils.d.ts +6 -0
- package/dist/types-ts4.5/pm-plugins/doc.d.ts +3 -11
- package/dist/types-ts4.5/toolbar.d.ts +7 -0
- package/dist/types-ts4.5/types.d.ts +1 -0
- package/dist/types-ts4.5/ui/EditDatasourceButton.d.ts +6 -5
- package/dist/types-ts4.5/ui/EditLinkToolbar.d.ts +1 -1
- package/dist/types-ts4.5/ui/EditToolbarButton.d.ts +3 -1
- package/dist/types-ts4.5/ui/useFetchDatasourceInfo.d.ts +1 -0
- package/dist/types-ts4.5/utils.d.ts +6 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-card
|
|
2
2
|
|
|
3
|
+
## 2.0.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#111799](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/111799)
|
|
8
|
+
[`8da4e04d627d5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/8da4e04d627d5) -
|
|
9
|
+
Adds analytic events for toolbar edit dropdown for datasources
|
|
10
|
+
|
|
3
11
|
## 2.0.6
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -13,9 +13,9 @@ var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
|
13
13
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
14
14
|
var _linkDatasource = require("@atlaskit/link-datasource");
|
|
15
15
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
|
+
var _doc = require("../src/pm-plugins/doc");
|
|
16
17
|
var _createEventsQueue = require("./analytics/create-events-queue");
|
|
17
18
|
var _actions = require("./pm-plugins/actions");
|
|
18
|
-
var _doc = require("./pm-plugins/doc");
|
|
19
19
|
var _keymap = require("./pm-plugins/keymap");
|
|
20
20
|
var _main = require("./pm-plugins/main");
|
|
21
21
|
var _pluginKey = require("./pm-plugins/plugin-key");
|
|
@@ -112,8 +112,8 @@ var cardPlugin = exports.cardPlugin = function cardPlugin(_ref) {
|
|
|
112
112
|
actions: {
|
|
113
113
|
hideLinkToolbar: _actions.hideLinkToolbar,
|
|
114
114
|
queueCardsFromChangedTr: _doc.queueCardsFromChangedTr,
|
|
115
|
-
getStartingToolbarItems: (0,
|
|
116
|
-
getEndingToolbarItems: (0,
|
|
115
|
+
getStartingToolbarItems: (0, _toolbar.getStartingToolbarItems)(options, api),
|
|
116
|
+
getEndingToolbarItems: (0, _toolbar.getEndingToolbarItems)(options, api)
|
|
117
117
|
},
|
|
118
118
|
pluginsOptions: {
|
|
119
119
|
floatingToolbar: (0, _toolbar.floatingToolbar)(options, (_options$lpLinkPicker = options.lpLinkPicker) !== null && _options$lpLinkPicker !== void 0 ? _options$lpLinkPicker : false, options.platform, options.linkPicker, api, options.disableFloatingToolbar),
|
|
@@ -4,23 +4,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.updateCardViaDatasource = exports.updateCard = exports.setSelectedCardAppearance = exports.replaceQueuedUrlWithCard = exports.queueCardsFromChangedTr = exports.queueCardFromChangedTr = exports.insertDatasource = exports.handleFallbackWithAnalytics = exports.
|
|
7
|
+
exports.updateCardViaDatasource = exports.updateCard = exports.setSelectedCardAppearance = exports.replaceQueuedUrlWithCard = exports.queueCardsFromChangedTr = exports.queueCardFromChangedTr = exports.insertDatasource = exports.handleFallbackWithAnalytics = exports.getLinkNodeType = exports.getAttrsForAppearance = exports.convertHyperlinkToSmartCard = exports.changeSelectedCardToText = exports.changeSelectedCardToLinkFallback = exports.changeSelectedCardToLink = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
10
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
12
11
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
13
12
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
14
13
|
var _card = require("@atlaskit/editor-common/card");
|
|
15
|
-
var _messages = require("@atlaskit/editor-common/messages");
|
|
16
14
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
17
15
|
var _history = require("@atlaskit/editor-prosemirror/history");
|
|
18
16
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
19
17
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
20
|
-
var _toolbar = require("../toolbar");
|
|
21
|
-
var _EditToolbarButton = require("../ui/EditToolbarButton");
|
|
22
|
-
var _HyperlinkToolbarAppearance = require("../ui/HyperlinkToolbarAppearance");
|
|
23
|
-
var _ToolbarViewedEvent = require("../ui/ToolbarViewedEvent");
|
|
24
18
|
var _utils2 = require("../utils");
|
|
25
19
|
var _actions = require("./actions");
|
|
26
20
|
var _pluginKey = require("./plugin-key");
|
|
@@ -573,106 +567,4 @@ var updateDatasourceStash = function updateDatasourceStash(tr, selectedNode) {
|
|
|
573
567
|
}
|
|
574
568
|
}
|
|
575
569
|
}
|
|
576
|
-
};
|
|
577
|
-
var editDatasource = exports.editDatasource = function editDatasource(datasourceId, editorAnalyticsApi) {
|
|
578
|
-
return function (state, dispatch) {
|
|
579
|
-
var datasourceType = (0, _utils.getDatasourceType)(datasourceId);
|
|
580
|
-
if (dispatch && datasourceType) {
|
|
581
|
-
var tr = state.tr;
|
|
582
|
-
(0, _actions.showDatasourceModal)(datasourceType)(tr);
|
|
583
|
-
// editorAnalyticsApi?.attachAnalyticsEvent(
|
|
584
|
-
// buildEditLinkPayload(
|
|
585
|
-
// type as
|
|
586
|
-
// | ACTION_SUBJECT_ID.CARD_INLINE
|
|
587
|
-
// | ACTION_SUBJECT_ID.CARD_BLOCK
|
|
588
|
-
// | ACTION_SUBJECT_ID.EMBEDS,
|
|
589
|
-
// ),
|
|
590
|
-
// )(tr);
|
|
591
|
-
dispatch(tr);
|
|
592
|
-
return true;
|
|
593
|
-
}
|
|
594
|
-
return false;
|
|
595
|
-
};
|
|
596
|
-
};
|
|
597
|
-
var getStartingToolbarItems = exports.getStartingToolbarItems = function getStartingToolbarItems(options, api) {
|
|
598
|
-
return function (intl, link, providerFactory, onEditLink, metadata) {
|
|
599
|
-
var isEditDropdownEnabled = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar') && options.platform !== 'mobile' && options.allowDatasource;
|
|
600
|
-
var editLinkItem = isEditDropdownEnabled ? [{
|
|
601
|
-
type: 'custom',
|
|
602
|
-
fallback: [],
|
|
603
|
-
render: function render(editorView) {
|
|
604
|
-
var _api$analytics;
|
|
605
|
-
if (!editorView) {
|
|
606
|
-
return null;
|
|
607
|
-
}
|
|
608
|
-
return /*#__PURE__*/_react.default.createElement(_EditToolbarButton.EditToolbarButton, {
|
|
609
|
-
key: "edit-toolbar-button",
|
|
610
|
-
intl: intl,
|
|
611
|
-
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions,
|
|
612
|
-
url: link,
|
|
613
|
-
editorView: editorView,
|
|
614
|
-
onLinkEditClick: onEditLink
|
|
615
|
-
});
|
|
616
|
-
}
|
|
617
|
-
}] : [{
|
|
618
|
-
id: 'editor.link.edit',
|
|
619
|
-
testId: 'editor.link.edit',
|
|
620
|
-
type: 'button',
|
|
621
|
-
onClick: onEditLink,
|
|
622
|
-
title: intl.formatMessage(_messages.linkToolbarMessages.editLink),
|
|
623
|
-
showTitle: true,
|
|
624
|
-
metadata: metadata
|
|
625
|
-
}, {
|
|
626
|
-
type: 'separator'
|
|
627
|
-
}];
|
|
628
|
-
return [{
|
|
629
|
-
type: 'custom',
|
|
630
|
-
fallback: [],
|
|
631
|
-
render: function render(editorView) {
|
|
632
|
-
return /*#__PURE__*/_react.default.createElement(_ToolbarViewedEvent.ToolbarViewedEvent, {
|
|
633
|
-
key: "edit.link.menu.viewed",
|
|
634
|
-
url: link,
|
|
635
|
-
display: "url",
|
|
636
|
-
editorView: editorView
|
|
637
|
-
});
|
|
638
|
-
}
|
|
639
|
-
}, {
|
|
640
|
-
type: 'custom',
|
|
641
|
-
fallback: [],
|
|
642
|
-
render: function render(editorView) {
|
|
643
|
-
var _api$analytics2;
|
|
644
|
-
if (!editorView) {
|
|
645
|
-
return null;
|
|
646
|
-
}
|
|
647
|
-
return /*#__PURE__*/_react.default.createElement(_HyperlinkToolbarAppearance.HyperlinkToolbarAppearance, {
|
|
648
|
-
key: "link-appearance",
|
|
649
|
-
url: link,
|
|
650
|
-
intl: intl,
|
|
651
|
-
editorView: editorView,
|
|
652
|
-
editorState: editorView.state,
|
|
653
|
-
cardOptions: options,
|
|
654
|
-
providerFactory: providerFactory,
|
|
655
|
-
platform: options === null || options === void 0 ? void 0 : options.platform,
|
|
656
|
-
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions
|
|
657
|
-
});
|
|
658
|
-
}
|
|
659
|
-
}].concat(editLinkItem);
|
|
660
|
-
};
|
|
661
|
-
};
|
|
662
|
-
var getEndingToolbarItems = exports.getEndingToolbarItems = function getEndingToolbarItems(options, api) {
|
|
663
|
-
return function (intl, link) {
|
|
664
|
-
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.card.inject-settings-button')) {
|
|
665
|
-
/**
|
|
666
|
-
* Require either provider to be supplied (controls link preferences)
|
|
667
|
-
* Or explicit user preferences config in order to enable button
|
|
668
|
-
*/
|
|
669
|
-
if (options.provider || options.userPreferencesLink) {
|
|
670
|
-
var _api$analytics3;
|
|
671
|
-
return [{
|
|
672
|
-
type: 'separator'
|
|
673
|
-
}, (0, _toolbar.getHyperlinkToolbarSettingsButton)(intl, api === null || api === void 0 || (_api$analytics3 = api.analytics) === null || _api$analytics3 === void 0 ? void 0 : _api$analytics3.actions, options.userPreferencesLink)];
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
return [];
|
|
677
|
-
};
|
|
678
570
|
};
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.visitCardLink = exports.shouldRenderToolbarPulse = exports.removeCard = exports.openLinkSettings = exports.getSettingsButtonGroup = exports.getSettingsButton = exports.getHyperlinkToolbarSettingsButton = exports.floatingToolbar = void 0;
|
|
8
|
+
exports.visitCardLink = exports.shouldRenderToolbarPulse = exports.removeCard = exports.openLinkSettings = exports.getStartingToolbarItems = exports.getSettingsButtonGroup = exports.getSettingsButton = exports.getHyperlinkToolbarSettingsButton = exports.getEndingToolbarItems = exports.floatingToolbar = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -24,12 +24,13 @@ var _settings = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/sett
|
|
|
24
24
|
var _unlink = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/unlink"));
|
|
25
25
|
var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
|
|
26
26
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
27
|
-
var _doc = require("
|
|
27
|
+
var _doc = require("../src/pm-plugins/doc");
|
|
28
28
|
var _main = require("./pm-plugins/main");
|
|
29
29
|
var _DatasourceAppearanceButton = require("./ui/DatasourceAppearanceButton");
|
|
30
30
|
var _EditDatasourceButton = require("./ui/EditDatasourceButton");
|
|
31
31
|
var _EditLinkToolbar = require("./ui/EditLinkToolbar");
|
|
32
32
|
var _EditToolbarButton = require("./ui/EditToolbarButton");
|
|
33
|
+
var _HyperlinkToolbarAppearance = require("./ui/HyperlinkToolbarAppearance");
|
|
33
34
|
var _LinkToolbarAppearance = require("./ui/LinkToolbarAppearance");
|
|
34
35
|
var _ToolbarViewedEvent = require("./ui/ToolbarViewedEvent");
|
|
35
36
|
var _utils3 = require("./utils");
|
|
@@ -236,7 +237,8 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
236
237
|
intl: intl,
|
|
237
238
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
238
239
|
editorView: editorView,
|
|
239
|
-
onLinkEditClick: (0, _EditLinkToolbar.editLink)(editorAnalyticsApi, true)
|
|
240
|
+
onLinkEditClick: (0, _EditLinkToolbar.editLink)(editorAnalyticsApi, true),
|
|
241
|
+
currentAppearance: currentAppearance
|
|
240
242
|
});
|
|
241
243
|
}
|
|
242
244
|
}] : [{
|
|
@@ -348,7 +350,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
348
350
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
349
351
|
url: url,
|
|
350
352
|
editorView: editorView,
|
|
351
|
-
|
|
353
|
+
currentAppearance: currentAppearance
|
|
352
354
|
});
|
|
353
355
|
}
|
|
354
356
|
});
|
|
@@ -405,7 +407,7 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
405
407
|
metadata: metadata,
|
|
406
408
|
className: 'datasource-edit',
|
|
407
409
|
title: intl.formatMessage(_messages.linkToolbarMessages.editDatasource),
|
|
408
|
-
onClick: (0,
|
|
410
|
+
onClick: (0, _EditDatasourceButton.editDatasource)(datasourceId, editorAnalyticsApi, 'datasource'),
|
|
409
411
|
testId: 'datasource-edit-button'
|
|
410
412
|
}, {
|
|
411
413
|
type: 'separator'
|
|
@@ -479,7 +481,8 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
479
481
|
intl: intl,
|
|
480
482
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
481
483
|
editorView: editorView,
|
|
482
|
-
onLinkEditClick: (0, _EditLinkToolbar.editLink)(editorAnalyticsApi, false)
|
|
484
|
+
onLinkEditClick: (0, _EditLinkToolbar.editLink)(editorAnalyticsApi, false),
|
|
485
|
+
currentAppearance: "datasource"
|
|
483
486
|
});
|
|
484
487
|
}
|
|
485
488
|
});
|
|
@@ -524,4 +527,87 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
524
527
|
};
|
|
525
528
|
var shouldRenderToolbarPulse = exports.shouldRenderToolbarPulse = function shouldRenderToolbarPulse(embedEnabled, appearance, status, isDiscoverabilityEnabled) {
|
|
526
529
|
return embedEnabled && appearance === 'inline' && status === 'resolved' && isDiscoverabilityEnabled;
|
|
530
|
+
};
|
|
531
|
+
var getStartingToolbarItems = exports.getStartingToolbarItems = function getStartingToolbarItems(options, api) {
|
|
532
|
+
return function (intl, link, providerFactory, onEditLink, metadata) {
|
|
533
|
+
var isEditDropdownEnabled = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar') && options.platform !== 'mobile' && options.allowDatasource;
|
|
534
|
+
var editLinkItem = isEditDropdownEnabled ? [{
|
|
535
|
+
type: 'custom',
|
|
536
|
+
fallback: [],
|
|
537
|
+
render: function render(editorView) {
|
|
538
|
+
var _api$analytics;
|
|
539
|
+
if (!editorView) {
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
return /*#__PURE__*/_react.default.createElement(_EditToolbarButton.EditToolbarButton, {
|
|
543
|
+
key: "edit-toolbar-button",
|
|
544
|
+
intl: intl,
|
|
545
|
+
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions,
|
|
546
|
+
url: link,
|
|
547
|
+
editorView: editorView,
|
|
548
|
+
onLinkEditClick: onEditLink,
|
|
549
|
+
currentAppearance: "url"
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
}] : [{
|
|
553
|
+
id: 'editor.link.edit',
|
|
554
|
+
testId: 'editor.link.edit',
|
|
555
|
+
type: 'button',
|
|
556
|
+
onClick: onEditLink,
|
|
557
|
+
title: intl.formatMessage(_messages.linkToolbarMessages.editLink),
|
|
558
|
+
showTitle: true,
|
|
559
|
+
metadata: metadata
|
|
560
|
+
}, {
|
|
561
|
+
type: 'separator'
|
|
562
|
+
}];
|
|
563
|
+
return [{
|
|
564
|
+
type: 'custom',
|
|
565
|
+
fallback: [],
|
|
566
|
+
render: function render(editorView) {
|
|
567
|
+
return /*#__PURE__*/_react.default.createElement(_ToolbarViewedEvent.ToolbarViewedEvent, {
|
|
568
|
+
key: "edit.link.menu.viewed",
|
|
569
|
+
url: link,
|
|
570
|
+
display: "url",
|
|
571
|
+
editorView: editorView
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
}, {
|
|
575
|
+
type: 'custom',
|
|
576
|
+
fallback: [],
|
|
577
|
+
render: function render(editorView) {
|
|
578
|
+
var _api$analytics2;
|
|
579
|
+
if (!editorView) {
|
|
580
|
+
return null;
|
|
581
|
+
}
|
|
582
|
+
return /*#__PURE__*/_react.default.createElement(_HyperlinkToolbarAppearance.HyperlinkToolbarAppearance, {
|
|
583
|
+
key: "link-appearance",
|
|
584
|
+
url: link,
|
|
585
|
+
intl: intl,
|
|
586
|
+
editorView: editorView,
|
|
587
|
+
editorState: editorView.state,
|
|
588
|
+
cardOptions: options,
|
|
589
|
+
providerFactory: providerFactory,
|
|
590
|
+
platform: options === null || options === void 0 ? void 0 : options.platform,
|
|
591
|
+
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
}].concat(editLinkItem);
|
|
595
|
+
};
|
|
596
|
+
};
|
|
597
|
+
var getEndingToolbarItems = exports.getEndingToolbarItems = function getEndingToolbarItems(options, api) {
|
|
598
|
+
return function (intl, link) {
|
|
599
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.card.inject-settings-button')) {
|
|
600
|
+
/**
|
|
601
|
+
* Require either provider to be supplied (controls link preferences)
|
|
602
|
+
* Or explicit user preferences config in order to enable button
|
|
603
|
+
*/
|
|
604
|
+
if (options.provider || options.userPreferencesLink) {
|
|
605
|
+
var _api$analytics3;
|
|
606
|
+
return [{
|
|
607
|
+
type: 'separator'
|
|
608
|
+
}, getHyperlinkToolbarSettingsButton(intl, api === null || api === void 0 || (_api$analytics3 = api.analytics) === null || _api$analytics3 === void 0 ? void 0 : _api$analytics3.actions, options.userPreferencesLink)];
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
return [];
|
|
612
|
+
};
|
|
527
613
|
};
|
|
@@ -3,19 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.EditDatasourceButton = void 0;
|
|
7
|
-
var _react = require("
|
|
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");
|
|
8
10
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
9
11
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
12
|
+
var _utils = require("@atlaskit/editor-common/utils");
|
|
10
13
|
var _primitives = require("@atlaskit/primitives");
|
|
11
|
-
var
|
|
12
|
-
var
|
|
14
|
+
var _actions = require("../pm-plugins/actions");
|
|
15
|
+
var _utils2 = require("../utils");
|
|
13
16
|
var _CardContextProvider = require("./CardContextProvider");
|
|
14
17
|
var _useFetchDatasourceInfo = require("./useFetchDatasourceInfo");
|
|
15
18
|
/** @jsx jsx */
|
|
19
|
+
|
|
16
20
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
17
21
|
|
|
18
|
-
var buttonStyles = (0,
|
|
22
|
+
var buttonStyles = (0, _react2.css)({
|
|
19
23
|
pointerEvents: 'auto'
|
|
20
24
|
});
|
|
21
25
|
|
|
@@ -27,14 +31,21 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
27
31
|
editorAnalyticsApi = _ref.editorAnalyticsApi,
|
|
28
32
|
url = _ref.url,
|
|
29
33
|
editorView = _ref.editorView,
|
|
30
|
-
|
|
34
|
+
currentAppearance = _ref.currentAppearance;
|
|
31
35
|
var _useFetchDatasourceIn = (0, _useFetchDatasourceInfo.useFetchDatasourceInfo)({
|
|
32
36
|
isRegularCardNode: true,
|
|
33
37
|
url: url,
|
|
34
38
|
cardContext: cardContext
|
|
35
39
|
}),
|
|
36
|
-
datasourceId = _useFetchDatasourceIn.datasourceId
|
|
37
|
-
|
|
40
|
+
datasourceId = _useFetchDatasourceIn.datasourceId,
|
|
41
|
+
extensionKey = _useFetchDatasourceIn.extensionKey;
|
|
42
|
+
var onEditDatasource = (0, _react.useCallback)(function () {
|
|
43
|
+
if (editorView && datasourceId) {
|
|
44
|
+
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
45
|
+
(0, _utils2.focusEditorView)(editorView);
|
|
46
|
+
}
|
|
47
|
+
}, [currentAppearance, datasourceId, editorAnalyticsApi, editorView, extensionKey]);
|
|
48
|
+
if (!datasourceId || !(0, _utils2.isDatasourceConfigEditable)(datasourceId)) {
|
|
38
49
|
return null;
|
|
39
50
|
}
|
|
40
51
|
if (url) {
|
|
@@ -44,38 +55,52 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
44
55
|
return null;
|
|
45
56
|
}
|
|
46
57
|
}
|
|
47
|
-
|
|
48
|
-
fn && fn(editorState, editorView && editorView.dispatch);
|
|
49
|
-
if (editorView && !editorView.hasFocus()) {
|
|
50
|
-
editorView.focus();
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
return (0, _react.jsx)(_primitives.Flex, null, (0, _react.jsx)(_ui.FloatingToolbarButton, {
|
|
58
|
+
return (0, _react2.jsx)(_primitives.Flex, null, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
|
|
54
59
|
css: buttonStyles,
|
|
55
60
|
title: intl.formatMessage(_messages.cardMessages.datasourceTitle),
|
|
56
|
-
icon: (0,
|
|
61
|
+
icon: (0, _react2.jsx)(_ui.SmallerEditIcon, null),
|
|
57
62
|
selected: false,
|
|
58
|
-
onClick:
|
|
59
|
-
return dispatchCommand((0, _doc.editDatasource)(datasourceId, editorAnalyticsApi));
|
|
60
|
-
},
|
|
63
|
+
onClick: onEditDatasource,
|
|
61
64
|
testId: 'card-edit-datasource-button'
|
|
62
|
-
}), (0,
|
|
65
|
+
}), (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null));
|
|
63
66
|
};
|
|
64
67
|
var EditDatasourceButton = exports.EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
65
68
|
var intl = _ref2.intl,
|
|
66
69
|
editorAnalyticsApi = _ref2.editorAnalyticsApi,
|
|
67
70
|
url = _ref2.url,
|
|
68
71
|
editorView = _ref2.editorView,
|
|
69
|
-
|
|
70
|
-
return (0,
|
|
72
|
+
currentAppearance = _ref2.currentAppearance;
|
|
73
|
+
return (0, _react2.jsx)(_CardContextProvider.CardContextProvider, null, function (_ref3) {
|
|
71
74
|
var cardContext = _ref3.cardContext;
|
|
72
|
-
return (0,
|
|
75
|
+
return (0, _react2.jsx)(EditDatasourceButtonWithCardContext, {
|
|
73
76
|
url: url,
|
|
74
77
|
intl: intl,
|
|
75
78
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
76
79
|
editorView: editorView,
|
|
77
|
-
|
|
78
|
-
|
|
80
|
+
cardContext: cardContext,
|
|
81
|
+
currentAppearance: currentAppearance
|
|
79
82
|
});
|
|
80
83
|
});
|
|
84
|
+
};
|
|
85
|
+
var editDatasource = exports.editDatasource = function editDatasource(datasourceId, editorAnalyticsApi, appearance, extensionKey) {
|
|
86
|
+
return function (state, dispatch) {
|
|
87
|
+
var datasourceType = (0, _utils.getDatasourceType)(datasourceId);
|
|
88
|
+
if (dispatch && datasourceType) {
|
|
89
|
+
var tr = state.tr;
|
|
90
|
+
(0, _actions.showDatasourceModal)(datasourceType)(tr);
|
|
91
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
|
|
92
|
+
action: _analytics.ACTION.CLICKED,
|
|
93
|
+
actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
|
|
94
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.EDIT_DATASOURCE,
|
|
95
|
+
eventType: _analytics.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
|
+
};
|
|
81
106
|
};
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.EditToolbarButton = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
10
|
var _react = require("react");
|
|
10
11
|
var _react2 = require("@emotion/react");
|
|
11
12
|
var _reactIntlNext = require("react-intl-next");
|
|
@@ -15,30 +16,32 @@ var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
|
15
16
|
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
|
|
16
17
|
var _menu = require("@atlaskit/menu");
|
|
17
18
|
var _primitives = require("@atlaskit/primitives");
|
|
18
|
-
var
|
|
19
|
+
var _EditDatasourceButton = require("../ui/EditDatasourceButton");
|
|
19
20
|
var _utils = require("../utils");
|
|
20
21
|
var _CardContextProvider = require("./CardContextProvider");
|
|
21
22
|
var _useFetchDatasourceInfo = require("./useFetchDatasourceInfo");
|
|
23
|
+
var _excluded = ["extensionKey"];
|
|
22
24
|
/** @jsx jsx */
|
|
23
|
-
|
|
24
25
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
25
|
-
|
|
26
26
|
var dropdownExpandContainer = (0, _react2.css)({
|
|
27
27
|
margin: "0px ".concat("var(--ds-space-negative-050, -4px)")
|
|
28
28
|
});
|
|
29
29
|
var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext(props) {
|
|
30
30
|
var _response$datasourceI;
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
intl = props.intl,
|
|
31
|
+
var cardContext = props.cardContext,
|
|
32
|
+
currentAppearance = props.currentAppearance,
|
|
34
33
|
editorAnalyticsApi = props.editorAnalyticsApi,
|
|
35
34
|
editorView = props.editorView,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
intl = props.intl,
|
|
36
|
+
onLinkEditClick = props.onLinkEditClick,
|
|
37
|
+
url = props.url;
|
|
38
|
+
var _useFetchDatasourceIn = (0, _useFetchDatasourceInfo.useFetchDatasourceInfo)({
|
|
39
|
+
isRegularCardNode: true,
|
|
40
|
+
url: url,
|
|
41
|
+
cardContext: cardContext
|
|
42
|
+
}),
|
|
43
|
+
extensionKey = _useFetchDatasourceIn.extensionKey,
|
|
44
|
+
response = (0, _objectWithoutProperties2.default)(_useFetchDatasourceIn, _excluded);
|
|
42
45
|
var datasourceId = (_response$datasourceI = response.datasourceId) !== null && _response$datasourceI !== void 0 ? _response$datasourceI : props.datasourceId;
|
|
43
46
|
var _useState = (0, _react.useState)(false),
|
|
44
47
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -53,17 +56,12 @@ var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext
|
|
|
53
56
|
var onClose = function onClose() {
|
|
54
57
|
return setIsOpen(false);
|
|
55
58
|
};
|
|
56
|
-
var
|
|
59
|
+
var onEditLink = (0, _react.useCallback)(function () {
|
|
57
60
|
if (editorView) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
editorView.focus();
|
|
61
|
-
}
|
|
61
|
+
onLinkEditClick(editorView.state, editorView.dispatch);
|
|
62
|
+
(0, _utils.focusEditorView)(editorView);
|
|
62
63
|
}
|
|
63
|
-
}, [editorView]);
|
|
64
|
-
var onEditLink = (0, _react.useCallback)(function () {
|
|
65
|
-
dispatchCommand(onLinkEditClick);
|
|
66
|
-
}, [dispatchCommand, onLinkEditClick]);
|
|
64
|
+
}, [editorView, onLinkEditClick]);
|
|
67
65
|
var editVariant = (0, _react.useMemo)(function () {
|
|
68
66
|
var hasUrl = url !== null && url !== undefined;
|
|
69
67
|
if (!datasourceId || !(0, _utils.isDatasourceConfigEditable)(datasourceId)) {
|
|
@@ -84,10 +82,11 @@ var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext
|
|
|
84
82
|
}
|
|
85
83
|
}, [cardContext === null || cardContext === void 0 ? void 0 : cardContext.store, datasourceId, url]);
|
|
86
84
|
var onEditDatasource = (0, _react.useCallback)(function () {
|
|
87
|
-
if (datasourceId) {
|
|
88
|
-
|
|
85
|
+
if (editorView && datasourceId) {
|
|
86
|
+
(0, _EditDatasourceButton.editDatasource)(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
87
|
+
(0, _utils.focusEditorView)(editorView);
|
|
89
88
|
}
|
|
90
|
-
}, [
|
|
89
|
+
}, [currentAppearance, datasourceId, editorAnalyticsApi, editorView, extensionKey]);
|
|
91
90
|
switch (editVariant) {
|
|
92
91
|
case 'edit-link':
|
|
93
92
|
{
|
|
@@ -152,12 +151,13 @@ var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext
|
|
|
152
151
|
}
|
|
153
152
|
};
|
|
154
153
|
var EditToolbarButton = exports.EditToolbarButton = function EditToolbarButton(props) {
|
|
155
|
-
var
|
|
156
|
-
|
|
154
|
+
var currentAppearance = props.currentAppearance,
|
|
155
|
+
datasourceId = props.datasourceId,
|
|
157
156
|
editorAnalyticsApi = props.editorAnalyticsApi,
|
|
158
|
-
url = props.url,
|
|
159
157
|
editorView = props.editorView,
|
|
160
|
-
|
|
158
|
+
intl = props.intl,
|
|
159
|
+
onLinkEditClick = props.onLinkEditClick,
|
|
160
|
+
url = props.url;
|
|
161
161
|
return (0, _react2.jsx)(_CardContextProvider.CardContextProvider, null, function (_ref) {
|
|
162
162
|
var cardContext = _ref.cardContext;
|
|
163
163
|
return (0, _react2.jsx)(EditToolbarButtonWithCardContext, {
|
|
@@ -167,7 +167,8 @@ var EditToolbarButton = exports.EditToolbarButton = function EditToolbarButton(p
|
|
|
167
167
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
168
168
|
editorView: editorView,
|
|
169
169
|
cardContext: cardContext,
|
|
170
|
-
onLinkEditClick: onLinkEditClick
|
|
170
|
+
onLinkEditClick: onLinkEditClick,
|
|
171
|
+
currentAppearance: currentAppearance
|
|
171
172
|
});
|
|
172
173
|
});
|
|
173
174
|
};
|
|
@@ -164,9 +164,9 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
164
164
|
return /*#__PURE__*/_react.default.createElement(_primitives.Flex, null, !(0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar') && /*#__PURE__*/_react.default.createElement(_EditDatasourceButton.EditDatasourceButton, {
|
|
165
165
|
url: url,
|
|
166
166
|
intl: intl,
|
|
167
|
-
editorState: editorState,
|
|
168
167
|
editorView: editorView,
|
|
169
|
-
editorAnalyticsApi: editorAnalyticsApi
|
|
168
|
+
editorAnalyticsApi: editorAnalyticsApi,
|
|
169
|
+
currentAppearance: "url"
|
|
170
170
|
}), /*#__PURE__*/_react.default.createElement(_LinkToolbarAppearance.LinkToolbarAppearance, {
|
|
171
171
|
key: "link-appearance",
|
|
172
172
|
url: url,
|
|
@@ -30,6 +30,10 @@ var useFetchDatasourceInfo = exports.useFetchDatasourceInfo = function useFetchD
|
|
|
30
30
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
31
31
|
ready = _useState6[0],
|
|
32
32
|
setReady = _useState6[1];
|
|
33
|
+
var _useState7 = (0, _react.useState)(undefined),
|
|
34
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
35
|
+
extensionKey = _useState8[0],
|
|
36
|
+
setExtensionKey = _useState8[1];
|
|
33
37
|
(0, _react.useEffect)(function () {
|
|
34
38
|
var fetchDatasource = /*#__PURE__*/function () {
|
|
35
39
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
@@ -51,24 +55,26 @@ var useFetchDatasourceInfo = exports.useFetchDatasourceInfo = function useFetchD
|
|
|
51
55
|
case 6:
|
|
52
56
|
response = _context.sent;
|
|
53
57
|
datasources = response && response.datasources || [];
|
|
58
|
+
setExtensionKey(response === null || response === void 0 ? void 0 : response.meta.key);
|
|
54
59
|
setDatasourceId((_datasources$ = datasources[0]) === null || _datasources$ === void 0 ? void 0 : _datasources$.id);
|
|
55
60
|
setParameters((_datasources$2 = datasources[0]) === null || _datasources$2 === void 0 ? void 0 : _datasources$2.parameters);
|
|
56
61
|
setReady(true);
|
|
57
|
-
_context.next =
|
|
62
|
+
_context.next = 20;
|
|
58
63
|
break;
|
|
59
|
-
case
|
|
60
|
-
_context.prev =
|
|
64
|
+
case 14:
|
|
65
|
+
_context.prev = 14;
|
|
61
66
|
_context.t0 = _context["catch"](0);
|
|
62
67
|
setDatasourceId(undefined);
|
|
63
68
|
setParameters(undefined);
|
|
69
|
+
setExtensionKey(undefined);
|
|
64
70
|
// If fetch somehow errors, still set ready as true so we don't block the rendering of the modal.
|
|
65
71
|
// It will just open with empty params.
|
|
66
72
|
setReady(true);
|
|
67
|
-
case
|
|
73
|
+
case 20:
|
|
68
74
|
case "end":
|
|
69
75
|
return _context.stop();
|
|
70
76
|
}
|
|
71
|
-
}, _callee, null, [[0,
|
|
77
|
+
}, _callee, null, [[0, 14]]);
|
|
72
78
|
}));
|
|
73
79
|
return function fetchDatasource() {
|
|
74
80
|
return _ref2.apply(this, arguments);
|
|
@@ -81,6 +87,7 @@ var useFetchDatasourceInfo = exports.useFetchDatasourceInfo = function useFetchD
|
|
|
81
87
|
return {
|
|
82
88
|
datasourceId: datasourceId,
|
|
83
89
|
parameters: parameters,
|
|
84
|
-
ready: ready
|
|
90
|
+
ready: ready,
|
|
91
|
+
extensionKey: extensionKey
|
|
85
92
|
};
|
|
86
93
|
};
|
package/dist/cjs/utils.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.titleUrlPairFromNode = exports.selectedCardAppearance = exports.mergeCardInfo = exports.isEmbedSupportedAtPosition = exports.isDatasourceNode = exports.isDatasourceConfigEditable = exports.isDatasourceAdfAttributes = exports.isBlockSupportedAtPosition = exports.getResolvedAttributesFromStore = exports.findCardInfo = exports.displayInfoForCard = exports.appearanceForNodeType = void 0;
|
|
7
|
+
exports.titleUrlPairFromNode = exports.selectedCardAppearance = exports.mergeCardInfo = exports.isEmbedSupportedAtPosition = exports.isDatasourceNode = exports.isDatasourceConfigEditable = exports.isDatasourceAdfAttributes = exports.isBlockSupportedAtPosition = exports.getResolvedAttributesFromStore = exports.focusEditorView = exports.findCardInfo = exports.displayInfoForCard = exports.appearanceForNodeType = void 0;
|
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
9
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
10
10
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
@@ -122,4 +122,14 @@ var isDatasourceNode = exports.isDatasourceNode = function isDatasourceNode(node
|
|
|
122
122
|
return false;
|
|
123
123
|
}
|
|
124
124
|
return node.type.name === 'blockCard' && isDatasourceAdfAttributes(node.attrs);
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Focuses the editorView if it's not already focused.
|
|
129
|
+
* @param editorView The editor view to focus.
|
|
130
|
+
*/
|
|
131
|
+
var focusEditorView = exports.focusEditorView = function focusEditorView(editorView) {
|
|
132
|
+
if (!editorView.hasFocus()) {
|
|
133
|
+
editorView.focus();
|
|
134
|
+
}
|
|
125
135
|
};
|