@atlaskit/editor-plugin-card 2.13.4 → 2.14.0
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 +19 -0
- package/dist/cjs/nodeviews/datasource.js +6 -0
- package/dist/cjs/plugin.js +38 -2
- package/dist/cjs/pm-plugins/main.js +4 -2
- package/dist/cjs/toolbar.js +2 -1
- package/dist/cjs/ui/HyperlinkToolbarAppearance.js +211 -68
- package/dist/es2019/nodeviews/datasource.js +6 -0
- package/dist/es2019/plugin.js +14 -1
- package/dist/es2019/pm-plugins/main.js +4 -2
- package/dist/es2019/toolbar.js +2 -1
- package/dist/es2019/ui/HyperlinkToolbarAppearance.js +94 -13
- package/dist/esm/nodeviews/datasource.js +6 -0
- package/dist/esm/plugin.js +39 -3
- package/dist/esm/pm-plugins/main.js +4 -2
- package/dist/esm/toolbar.js +2 -1
- package/dist/esm/ui/HyperlinkToolbarAppearance.js +214 -71
- package/dist/types/ui/HyperlinkToolbarAppearance.d.ts +6 -11
- package/dist/types-ts4.5/ui/HyperlinkToolbarAppearance.d.ts +6 -11
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-card
|
|
2
2
|
|
|
3
|
+
## 2.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`c4d2eb3f9f965`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c4d2eb3f9f965) -
|
|
8
|
+
[ux] Fix issue with card provider not updating asynchronously
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
14
|
+
## 2.13.5
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [#134243](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/134243)
|
|
19
|
+
[`f80ad43fc6eea`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f80ad43fc6eea) -
|
|
20
|
+
Fix text selection inside datasource table input
|
|
21
|
+
|
|
3
22
|
## 2.13.4
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -303,6 +303,12 @@ var Datasource = exports.Datasource = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
303
303
|
value: function render() {
|
|
304
304
|
var _attrs$datasource;
|
|
305
305
|
var attrs = this.node.attrs;
|
|
306
|
+
if ((0, _platformFeatureFlags.fg)('platform-datasources-enable-two-way-sync')) {
|
|
307
|
+
var _this$domRef;
|
|
308
|
+
// EDM-10607: Workaround to remove datasource table draggable attribute
|
|
309
|
+
// @ts-ignore TS2341: Property domRef is private
|
|
310
|
+
(_this$domRef = this.domRef) === null || _this$domRef === void 0 || _this$domRef.setAttribute('draggable', 'false');
|
|
311
|
+
}
|
|
306
312
|
return (0, _react2.jsx)(_datasourceErrorBoundary.DatasourceErrorBoundary, {
|
|
307
313
|
unsupportedComponent: _ui.UnsupportedInline,
|
|
308
314
|
view: this.view,
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.cardPlugin = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
var _react = _interopRequireDefault(require("react"));
|
|
10
12
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
@@ -32,6 +34,7 @@ var cardPlugin = exports.cardPlugin = function cardPlugin(_ref) {
|
|
|
32
34
|
var _options$lpLinkPicker;
|
|
33
35
|
var options = _ref.config,
|
|
34
36
|
api = _ref.api;
|
|
37
|
+
var previousCardProvider;
|
|
35
38
|
var cardPluginEvents = (0, _createEventsQueue.createEventsQueue)();
|
|
36
39
|
return {
|
|
37
40
|
name: 'card',
|
|
@@ -111,6 +114,39 @@ var cardPlugin = exports.cardPlugin = function cardPlugin(_ref) {
|
|
|
111
114
|
}));
|
|
112
115
|
},
|
|
113
116
|
actions: {
|
|
117
|
+
setProvider: function () {
|
|
118
|
+
var _setProvider2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(providerPromise) {
|
|
119
|
+
var _api$core$actions$exe;
|
|
120
|
+
var provider;
|
|
121
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
122
|
+
while (1) switch (_context.prev = _context.next) {
|
|
123
|
+
case 0:
|
|
124
|
+
_context.next = 2;
|
|
125
|
+
return providerPromise;
|
|
126
|
+
case 2:
|
|
127
|
+
provider = _context.sent;
|
|
128
|
+
if (!(previousCardProvider === provider)) {
|
|
129
|
+
_context.next = 5;
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
return _context.abrupt("return", false);
|
|
133
|
+
case 5:
|
|
134
|
+
previousCardProvider = provider;
|
|
135
|
+
return _context.abrupt("return", (_api$core$actions$exe = api === null || api === void 0 ? void 0 : api.core.actions.execute(function (_ref4) {
|
|
136
|
+
var tr = _ref4.tr;
|
|
137
|
+
return (0, _actions.setProvider)(provider)(tr);
|
|
138
|
+
})) !== null && _api$core$actions$exe !== void 0 ? _api$core$actions$exe : false);
|
|
139
|
+
case 7:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context.stop();
|
|
142
|
+
}
|
|
143
|
+
}, _callee);
|
|
144
|
+
}));
|
|
145
|
+
function setProvider(_x) {
|
|
146
|
+
return _setProvider2.apply(this, arguments);
|
|
147
|
+
}
|
|
148
|
+
return setProvider;
|
|
149
|
+
}(),
|
|
114
150
|
hideLinkToolbar: _actions.hideLinkToolbar,
|
|
115
151
|
queueCardsFromChangedTr: _doc.queueCardsFromChangedTr,
|
|
116
152
|
getStartingToolbarItems: (0, _toolbar.getStartingToolbarItems)(options, api),
|
|
@@ -118,8 +154,8 @@ var cardPlugin = exports.cardPlugin = function cardPlugin(_ref) {
|
|
|
118
154
|
},
|
|
119
155
|
pluginsOptions: {
|
|
120
156
|
floatingToolbar: (0, _toolbar.floatingToolbar)(options, (_options$lpLinkPicker = options.lpLinkPicker) !== null && _options$lpLinkPicker !== void 0 ? _options$lpLinkPicker : false, options.platform, options.linkPicker, api, options.disableFloatingToolbar),
|
|
121
|
-
quickInsert: function quickInsert(
|
|
122
|
-
var formatMessage =
|
|
157
|
+
quickInsert: function quickInsert(_ref5) {
|
|
158
|
+
var formatMessage = _ref5.formatMessage;
|
|
123
159
|
var quickInsertArray = [];
|
|
124
160
|
if (!options.allowDatasource) {
|
|
125
161
|
return quickInsertArray;
|
|
@@ -167,8 +167,10 @@ var createPlugin = exports.createPlugin = function createPlugin(options, pluginI
|
|
|
167
167
|
};
|
|
168
168
|
var domAtPos = _view.domAtPos.bind(_view);
|
|
169
169
|
var rafCancellationCallbacks = [];
|
|
170
|
-
if (
|
|
171
|
-
|
|
170
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_get_card_provider_from_config')) {
|
|
171
|
+
if (options.provider) {
|
|
172
|
+
(0, _resolve.handleProvider)('cardProvider', options.provider, _view);
|
|
173
|
+
}
|
|
172
174
|
} else {
|
|
173
175
|
pmPluginFactoryParams.providerFactory.subscribe('cardProvider', subscriptionHandler);
|
|
174
176
|
}
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -589,7 +589,8 @@ var getStartingToolbarItems = exports.getStartingToolbarItems = function getStar
|
|
|
589
589
|
cardOptions: options,
|
|
590
590
|
providerFactory: providerFactory,
|
|
591
591
|
platform: options === null || options === void 0 ? void 0 : options.platform,
|
|
592
|
-
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions
|
|
592
|
+
editorAnalyticsApi: api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions,
|
|
593
|
+
editorPluginApi: api
|
|
593
594
|
});
|
|
594
595
|
}
|
|
595
596
|
}].concat(editLinkItem);
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.HyperlinkToolbarAppearance = void 0;
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
12
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -15,6 +14,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
15
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
19
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
20
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
20
21
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
@@ -27,13 +28,157 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
27
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
29
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
29
30
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
31
|
+
function HyperlinkToolbarAppearanceFunctional(props) {
|
|
32
|
+
var _props$cardOptions3;
|
|
33
|
+
var _useState = (0, _react.useState)(new Map()),
|
|
34
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
35
|
+
supportedUrlsMap = _useState2[0],
|
|
36
|
+
setSupportedUrlsMap = _useState2[1];
|
|
37
|
+
var cardProvider = (0, _react.useRef)(undefined);
|
|
38
|
+
var url = props.url,
|
|
39
|
+
intl = props.intl,
|
|
40
|
+
editorView = props.editorView,
|
|
41
|
+
editorState = props.editorState,
|
|
42
|
+
cardOptions = props.cardOptions,
|
|
43
|
+
platform = props.platform,
|
|
44
|
+
editorAnalyticsApi = props.editorAnalyticsApi;
|
|
45
|
+
var getProvider = /*#__PURE__*/function () {
|
|
46
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
47
|
+
var _props$cardOptions;
|
|
48
|
+
var _props$cardOptions2;
|
|
49
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
50
|
+
while (1) switch (_context.prev = _context.next) {
|
|
51
|
+
case 0:
|
|
52
|
+
if (!((_props$cardOptions = props.cardOptions) !== null && _props$cardOptions !== void 0 && _props$cardOptions.provider)) {
|
|
53
|
+
_context.next = 2;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
return _context.abrupt("return", (_props$cardOptions2 = props.cardOptions) === null || _props$cardOptions2 === void 0 ? void 0 : _props$cardOptions2.provider);
|
|
57
|
+
case 2:
|
|
58
|
+
if (!cardProvider.current) {
|
|
59
|
+
_context.next = 4;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
return _context.abrupt("return", cardProvider.current);
|
|
63
|
+
case 4:
|
|
64
|
+
return _context.abrupt("return", new Promise(function (resolve) {
|
|
65
|
+
var _props$editorPluginAp;
|
|
66
|
+
var cardProvider = (_props$editorPluginAp = props.editorPluginApi) === null || _props$editorPluginAp === void 0 || (_props$editorPluginAp = _props$editorPluginAp.card) === null || _props$editorPluginAp === void 0 || (_props$editorPluginAp = _props$editorPluginAp.sharedState) === null || _props$editorPluginAp === void 0 || (_props$editorPluginAp = _props$editorPluginAp.currentState()) === null || _props$editorPluginAp === void 0 ? void 0 : _props$editorPluginAp.provider;
|
|
67
|
+
if (cardProvider) {
|
|
68
|
+
resolve(cardProvider);
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
71
|
+
case 5:
|
|
72
|
+
case "end":
|
|
73
|
+
return _context.stop();
|
|
74
|
+
}
|
|
75
|
+
}, _callee);
|
|
76
|
+
}));
|
|
77
|
+
return function getProvider() {
|
|
78
|
+
return _ref.apply(this, arguments);
|
|
79
|
+
};
|
|
80
|
+
}();
|
|
81
|
+
var resolveUrl = /*#__PURE__*/function () {
|
|
82
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
|
|
83
|
+
var isUrlSupported, _yield$provider$findP, provider, newMap;
|
|
84
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
85
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
if (!supportedUrlsMap.has(url)) {
|
|
88
|
+
_context2.next = 2;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
return _context2.abrupt("return");
|
|
92
|
+
case 2:
|
|
93
|
+
isUrlSupported = false;
|
|
94
|
+
_context2.prev = 3;
|
|
95
|
+
_context2.next = 6;
|
|
96
|
+
return getProvider();
|
|
97
|
+
case 6:
|
|
98
|
+
provider = _context2.sent;
|
|
99
|
+
_context2.next = 9;
|
|
100
|
+
return provider === null || provider === void 0 ? void 0 : provider.findPattern(url);
|
|
101
|
+
case 9:
|
|
102
|
+
_context2.t1 = _yield$provider$findP = _context2.sent;
|
|
103
|
+
_context2.t0 = _context2.t1 !== null;
|
|
104
|
+
if (!_context2.t0) {
|
|
105
|
+
_context2.next = 13;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
_context2.t0 = _yield$provider$findP !== void 0;
|
|
109
|
+
case 13:
|
|
110
|
+
if (!_context2.t0) {
|
|
111
|
+
_context2.next = 17;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
_context2.t2 = _yield$provider$findP;
|
|
115
|
+
_context2.next = 18;
|
|
116
|
+
break;
|
|
117
|
+
case 17:
|
|
118
|
+
_context2.t2 = false;
|
|
119
|
+
case 18:
|
|
120
|
+
isUrlSupported = _context2.t2;
|
|
121
|
+
_context2.next = 24;
|
|
122
|
+
break;
|
|
123
|
+
case 21:
|
|
124
|
+
_context2.prev = 21;
|
|
125
|
+
_context2.t3 = _context2["catch"](3);
|
|
126
|
+
isUrlSupported = false;
|
|
127
|
+
case 24:
|
|
128
|
+
newMap = new Map(supportedUrlsMap);
|
|
129
|
+
newMap.set(url, isUrlSupported);
|
|
130
|
+
setSupportedUrlsMap(newMap);
|
|
131
|
+
case 27:
|
|
132
|
+
case "end":
|
|
133
|
+
return _context2.stop();
|
|
134
|
+
}
|
|
135
|
+
}, _callee2, null, [[3, 21]]);
|
|
136
|
+
}));
|
|
137
|
+
return function resolveUrl(_x) {
|
|
138
|
+
return _ref2.apply(this, arguments);
|
|
139
|
+
};
|
|
140
|
+
}();
|
|
141
|
+
(0, _react.useEffect)(function () {
|
|
142
|
+
resolveUrl(url);
|
|
143
|
+
// before migrating from a class to a functional component, we were only reacting to changes in the url
|
|
144
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
145
|
+
}, [url, (_props$cardOptions3 = props.cardOptions) === null || _props$cardOptions3 === void 0 ? void 0 : _props$cardOptions3.provider, props.editorPluginApi]);
|
|
146
|
+
if (!supportedUrlsMap.get(url)) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.Flex, null, !(0, _platformFeatureFlags.fg)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar') && /*#__PURE__*/_react.default.createElement(_EditDatasourceButton.EditDatasourceButton, {
|
|
150
|
+
url: url,
|
|
151
|
+
intl: intl,
|
|
152
|
+
editorView: editorView,
|
|
153
|
+
editorAnalyticsApi: editorAnalyticsApi,
|
|
154
|
+
currentAppearance: "url"
|
|
155
|
+
}), /*#__PURE__*/_react.default.createElement(_LinkToolbarAppearance.LinkToolbarAppearance, {
|
|
156
|
+
key: "link-appearance",
|
|
157
|
+
url: url,
|
|
158
|
+
intl: intl,
|
|
159
|
+
editorView: editorView,
|
|
160
|
+
editorState: editorState,
|
|
161
|
+
allowEmbeds: cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowEmbeds,
|
|
162
|
+
allowBlockCards: cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowBlockCards,
|
|
163
|
+
platform: platform,
|
|
164
|
+
editorAnalyticsApi: editorAnalyticsApi
|
|
165
|
+
}), (cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowDatasource) && (0, _platformFeatureFlags.fg)('platform.linking-platform.enable-datasource-appearance-toolbar') && /*#__PURE__*/_react.default.createElement(_DatasourceAppearanceButton.DatasourceAppearanceButton, {
|
|
166
|
+
intl: intl,
|
|
167
|
+
url: url,
|
|
168
|
+
editorState: editorState,
|
|
169
|
+
editorView: editorView,
|
|
170
|
+
editorAnalyticsApi: editorAnalyticsApi,
|
|
171
|
+
inputMethod: _analytics.INPUT_METHOD.FLOATING_TB
|
|
172
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarSeparator, null));
|
|
173
|
+
}
|
|
174
|
+
|
|
30
175
|
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
31
|
-
var
|
|
32
|
-
(0, _inherits2.default)(
|
|
33
|
-
var _super = _createSuper(
|
|
34
|
-
function
|
|
176
|
+
var HyperlinkToolbarAppearanceClass = /*#__PURE__*/function (_Component) {
|
|
177
|
+
(0, _inherits2.default)(HyperlinkToolbarAppearanceClass, _Component);
|
|
178
|
+
var _super = _createSuper(HyperlinkToolbarAppearanceClass);
|
|
179
|
+
function HyperlinkToolbarAppearanceClass() {
|
|
35
180
|
var _this;
|
|
36
|
-
(0, _classCallCheck2.default)(this,
|
|
181
|
+
(0, _classCallCheck2.default)(this, HyperlinkToolbarAppearanceClass);
|
|
37
182
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
38
183
|
args[_key] = arguments[_key];
|
|
39
184
|
}
|
|
@@ -41,105 +186,97 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
41
186
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
42
187
|
supportedUrlsMap: new Map()
|
|
43
188
|
});
|
|
44
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getProvider", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
48
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
189
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getProvider", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
190
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
191
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
49
192
|
case 0:
|
|
50
|
-
if (!((_this$props$cardOptio = _this.props.cardOptions) !== null && _this$props$cardOptio !== void 0 && _this$props$cardOptio.provider && (0, _platformFeatureFlags.fg)('platform_editor_get_card_provider_from_config'))) {
|
|
51
|
-
_context2.next = 2;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
return _context2.abrupt("return", (_this$props$cardOptio2 = _this.props.cardOptions) === null || _this$props$cardOptio2 === void 0 ? void 0 : _this$props$cardOptio2.provider);
|
|
55
|
-
case 2:
|
|
56
193
|
if (!_this.cardProvider) {
|
|
57
|
-
|
|
194
|
+
_context4.next = 2;
|
|
58
195
|
break;
|
|
59
196
|
}
|
|
60
|
-
return
|
|
61
|
-
case
|
|
62
|
-
return
|
|
197
|
+
return _context4.abrupt("return", _this.cardProvider);
|
|
198
|
+
case 2:
|
|
199
|
+
return _context4.abrupt("return", new Promise(function (resolve) {
|
|
63
200
|
var providerFactory = _this.props.providerFactory;
|
|
64
201
|
providerFactory.subscribe('cardProvider', /*#__PURE__*/function () {
|
|
65
|
-
var
|
|
66
|
-
return _regenerator.default.wrap(function
|
|
67
|
-
while (1) switch (
|
|
202
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_, cardProvider) {
|
|
203
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
204
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
68
205
|
case 0:
|
|
69
206
|
if (cardProvider) {
|
|
70
|
-
|
|
207
|
+
_context3.next = 2;
|
|
71
208
|
break;
|
|
72
209
|
}
|
|
73
|
-
return
|
|
210
|
+
return _context3.abrupt("return");
|
|
74
211
|
case 2:
|
|
75
|
-
|
|
212
|
+
_context3.next = 4;
|
|
76
213
|
return cardProvider;
|
|
77
214
|
case 4:
|
|
78
|
-
_this.cardProvider =
|
|
215
|
+
_this.cardProvider = _context3.sent;
|
|
79
216
|
resolve(_this.cardProvider);
|
|
80
217
|
case 6:
|
|
81
218
|
case "end":
|
|
82
|
-
return
|
|
219
|
+
return _context3.stop();
|
|
83
220
|
}
|
|
84
|
-
},
|
|
221
|
+
}, _callee3);
|
|
85
222
|
}));
|
|
86
|
-
return function (
|
|
87
|
-
return
|
|
223
|
+
return function (_x2, _x3) {
|
|
224
|
+
return _ref4.apply(this, arguments);
|
|
88
225
|
};
|
|
89
226
|
}());
|
|
90
227
|
}));
|
|
91
|
-
case
|
|
228
|
+
case 3:
|
|
92
229
|
case "end":
|
|
93
|
-
return
|
|
230
|
+
return _context4.stop();
|
|
94
231
|
}
|
|
95
|
-
},
|
|
232
|
+
}, _callee4);
|
|
96
233
|
})));
|
|
97
234
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resolveUrl", /*#__PURE__*/function () {
|
|
98
|
-
var
|
|
99
|
-
var supportedUrlsMap, isUrlSupported, _yield$provider$
|
|
100
|
-
return _regenerator.default.wrap(function
|
|
101
|
-
while (1) switch (
|
|
235
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(url) {
|
|
236
|
+
var supportedUrlsMap, isUrlSupported, _yield$provider$findP2, provider, newMap;
|
|
237
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
238
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
102
239
|
case 0:
|
|
103
240
|
supportedUrlsMap = _this.state.supportedUrlsMap;
|
|
104
241
|
if (!supportedUrlsMap.has(url)) {
|
|
105
|
-
|
|
242
|
+
_context5.next = 3;
|
|
106
243
|
break;
|
|
107
244
|
}
|
|
108
|
-
return
|
|
245
|
+
return _context5.abrupt("return");
|
|
109
246
|
case 3:
|
|
110
247
|
isUrlSupported = false;
|
|
111
|
-
|
|
112
|
-
|
|
248
|
+
_context5.prev = 4;
|
|
249
|
+
_context5.next = 7;
|
|
113
250
|
return _this.getProvider();
|
|
114
251
|
case 7:
|
|
115
|
-
provider =
|
|
116
|
-
|
|
252
|
+
provider = _context5.sent;
|
|
253
|
+
_context5.next = 10;
|
|
117
254
|
return provider === null || provider === void 0 ? void 0 : provider.findPattern(url);
|
|
118
255
|
case 10:
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (!
|
|
122
|
-
|
|
256
|
+
_context5.t1 = _yield$provider$findP2 = _context5.sent;
|
|
257
|
+
_context5.t0 = _context5.t1 !== null;
|
|
258
|
+
if (!_context5.t0) {
|
|
259
|
+
_context5.next = 14;
|
|
123
260
|
break;
|
|
124
261
|
}
|
|
125
|
-
|
|
262
|
+
_context5.t0 = _yield$provider$findP2 !== void 0;
|
|
126
263
|
case 14:
|
|
127
|
-
if (!
|
|
128
|
-
|
|
264
|
+
if (!_context5.t0) {
|
|
265
|
+
_context5.next = 18;
|
|
129
266
|
break;
|
|
130
267
|
}
|
|
131
|
-
|
|
132
|
-
|
|
268
|
+
_context5.t2 = _yield$provider$findP2;
|
|
269
|
+
_context5.next = 19;
|
|
133
270
|
break;
|
|
134
271
|
case 18:
|
|
135
|
-
|
|
272
|
+
_context5.t2 = false;
|
|
136
273
|
case 19:
|
|
137
|
-
isUrlSupported =
|
|
138
|
-
|
|
274
|
+
isUrlSupported = _context5.t2;
|
|
275
|
+
_context5.next = 25;
|
|
139
276
|
break;
|
|
140
277
|
case 22:
|
|
141
|
-
|
|
142
|
-
|
|
278
|
+
_context5.prev = 22;
|
|
279
|
+
_context5.t3 = _context5["catch"](4);
|
|
143
280
|
isUrlSupported = false;
|
|
144
281
|
case 25:
|
|
145
282
|
newMap = new Map(supportedUrlsMap);
|
|
@@ -149,12 +286,12 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
149
286
|
});
|
|
150
287
|
case 28:
|
|
151
288
|
case "end":
|
|
152
|
-
return
|
|
289
|
+
return _context5.stop();
|
|
153
290
|
}
|
|
154
|
-
},
|
|
291
|
+
}, _callee5, null, [[4, 22]]);
|
|
155
292
|
}));
|
|
156
|
-
return function (
|
|
157
|
-
return
|
|
293
|
+
return function (_x4) {
|
|
294
|
+
return _ref5.apply(this, arguments);
|
|
158
295
|
};
|
|
159
296
|
}());
|
|
160
297
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "componentDidMount", function () {
|
|
@@ -162,7 +299,7 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
162
299
|
});
|
|
163
300
|
return _this;
|
|
164
301
|
}
|
|
165
|
-
(0, _createClass2.default)(
|
|
302
|
+
(0, _createClass2.default)(HyperlinkToolbarAppearanceClass, [{
|
|
166
303
|
key: "UNSAFE_componentWillReceiveProps",
|
|
167
304
|
value:
|
|
168
305
|
// needed so we display the right state on the Toolbar while the same Toolbar
|
|
@@ -187,7 +324,7 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
187
324
|
if (!supportedUrlsMap.get(url)) {
|
|
188
325
|
return null;
|
|
189
326
|
}
|
|
190
|
-
return /*#__PURE__*/_react.default.createElement(_primitives.Flex, null, !(0, _platformFeatureFlags.
|
|
327
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.Flex, null, !(0, _platformFeatureFlags.fg)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar') && /*#__PURE__*/_react.default.createElement(_EditDatasourceButton.EditDatasourceButton, {
|
|
191
328
|
url: url,
|
|
192
329
|
intl: intl,
|
|
193
330
|
editorView: editorView,
|
|
@@ -203,7 +340,7 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
203
340
|
allowBlockCards: cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowBlockCards,
|
|
204
341
|
platform: platform,
|
|
205
342
|
editorAnalyticsApi: editorAnalyticsApi
|
|
206
|
-
}), (
|
|
343
|
+
}), (cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowDatasource) && (0, _platformFeatureFlags.fg)('platform.linking-platform.enable-datasource-appearance-toolbar') && /*#__PURE__*/_react.default.createElement(_DatasourceAppearanceButton.DatasourceAppearanceButton, {
|
|
207
344
|
intl: intl,
|
|
208
345
|
url: url,
|
|
209
346
|
editorState: editorState,
|
|
@@ -213,5 +350,11 @@ var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = /*#__PURE_
|
|
|
213
350
|
}), /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarSeparator, null));
|
|
214
351
|
}
|
|
215
352
|
}]);
|
|
216
|
-
return
|
|
217
|
-
}(_react.Component);
|
|
353
|
+
return HyperlinkToolbarAppearanceClass;
|
|
354
|
+
}(_react.Component);
|
|
355
|
+
var HyperlinkToolbarAppearance = exports.HyperlinkToolbarAppearance = function HyperlinkToolbarAppearance(props) {
|
|
356
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_get_card_provider_from_config')) {
|
|
357
|
+
return /*#__PURE__*/_react.default.createElement(HyperlinkToolbarAppearanceFunctional, props);
|
|
358
|
+
}
|
|
359
|
+
return /*#__PURE__*/_react.default.createElement(HyperlinkToolbarAppearanceClass, props);
|
|
360
|
+
};
|
|
@@ -249,6 +249,12 @@ export class Datasource extends ReactNodeView {
|
|
|
249
249
|
const {
|
|
250
250
|
attrs
|
|
251
251
|
} = this.node;
|
|
252
|
+
if (fg('platform-datasources-enable-two-way-sync')) {
|
|
253
|
+
var _this$domRef;
|
|
254
|
+
// EDM-10607: Workaround to remove datasource table draggable attribute
|
|
255
|
+
// @ts-ignore TS2341: Property domRef is private
|
|
256
|
+
(_this$domRef = this.domRef) === null || _this$domRef === void 0 ? void 0 : _this$domRef.setAttribute('draggable', 'false');
|
|
257
|
+
}
|
|
252
258
|
return jsx(DatasourceErrorBoundary, {
|
|
253
259
|
unsupportedComponent: UnsupportedInline,
|
|
254
260
|
view: this.view,
|
package/dist/es2019/plugin.js
CHANGED
|
@@ -5,7 +5,7 @@ import { IconDatasourceAssetsObjects, IconDatasourceConfluenceSearch, IconDataso
|
|
|
5
5
|
import { canRenderDatasource } from '@atlaskit/editor-common/utils';
|
|
6
6
|
import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID, CONFLUENCE_SEARCH_DATASOURCE_ID } from '@atlaskit/link-datasource';
|
|
7
7
|
import { createEventsQueue } from './analytics/create-events-queue';
|
|
8
|
-
import { hideLinkToolbar, showDatasourceModal } from './pm-plugins/actions';
|
|
8
|
+
import { hideLinkToolbar, setProvider, showDatasourceModal } from './pm-plugins/actions';
|
|
9
9
|
import { queueCardsFromChangedTr } from './pm-plugins/doc';
|
|
10
10
|
import { cardKeymap } from './pm-plugins/keymap';
|
|
11
11
|
import { createPlugin } from './pm-plugins/main';
|
|
@@ -23,6 +23,7 @@ export const cardPlugin = ({
|
|
|
23
23
|
api
|
|
24
24
|
}) => {
|
|
25
25
|
var _options$lpLinkPicker;
|
|
26
|
+
let previousCardProvider;
|
|
26
27
|
const cardPluginEvents = createEventsQueue();
|
|
27
28
|
return {
|
|
28
29
|
name: 'card',
|
|
@@ -105,6 +106,18 @@ export const cardPlugin = ({
|
|
|
105
106
|
}));
|
|
106
107
|
},
|
|
107
108
|
actions: {
|
|
109
|
+
setProvider: async providerPromise => {
|
|
110
|
+
var _api$core$actions$exe;
|
|
111
|
+
const provider = await providerPromise;
|
|
112
|
+
// Prevent someone trying to set the exact same provider twice for performance reasons
|
|
113
|
+
if (previousCardProvider === provider) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
previousCardProvider = provider;
|
|
117
|
+
return (_api$core$actions$exe = api === null || api === void 0 ? void 0 : api.core.actions.execute(({
|
|
118
|
+
tr
|
|
119
|
+
}) => setProvider(provider)(tr))) !== null && _api$core$actions$exe !== void 0 ? _api$core$actions$exe : false;
|
|
120
|
+
},
|
|
108
121
|
hideLinkToolbar,
|
|
109
122
|
queueCardsFromChangedTr,
|
|
110
123
|
getStartingToolbarItems: getStartingToolbarItems(options, api),
|
|
@@ -152,8 +152,10 @@ export const createPlugin = (options, pluginInjectionApi) => pmPluginFactoryPara
|
|
|
152
152
|
const subscriptionHandler = (name, provider) => handleProvider(name, provider, view);
|
|
153
153
|
const domAtPos = view.domAtPos.bind(view);
|
|
154
154
|
const rafCancellationCallbacks = [];
|
|
155
|
-
if (
|
|
156
|
-
|
|
155
|
+
if (fg('platform_editor_get_card_provider_from_config')) {
|
|
156
|
+
if (options.provider) {
|
|
157
|
+
handleProvider('cardProvider', options.provider, view);
|
|
158
|
+
}
|
|
157
159
|
} else {
|
|
158
160
|
pmPluginFactoryParams.providerFactory.subscribe('cardProvider', subscriptionHandler);
|
|
159
161
|
}
|
package/dist/es2019/toolbar.js
CHANGED
|
@@ -574,7 +574,8 @@ export const getStartingToolbarItems = (options, api) => {
|
|
|
574
574
|
cardOptions: options,
|
|
575
575
|
providerFactory: providerFactory,
|
|
576
576
|
platform: options === null || options === void 0 ? void 0 : options.platform,
|
|
577
|
-
editorAnalyticsApi: api === null || api === void 0 ? void 0 : (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions
|
|
577
|
+
editorAnalyticsApi: api === null || api === void 0 ? void 0 : (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions,
|
|
578
|
+
editorPluginApi: api
|
|
578
579
|
});
|
|
579
580
|
}
|
|
580
581
|
}, ...editLinkItem];
|