@atlaskit/editor-core 182.0.2 → 182.1.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/.eslintrc.js +2 -0
- package/CHANGELOG.md +46 -0
- package/README.md +20 -0
- package/architecture/0001-record-architecture-decisions.md +25 -0
- package/architecture/0002-deep-equality-check-for-getsharedstate.md +67 -0
- package/architecture/0003-explicit-plugin-dependencies.md +291 -0
- package/dist/cjs/actions/index.js +17 -6
- package/dist/cjs/analytics-api/attach-payload-into-transaction.js +2 -1
- package/dist/cjs/create-editor/ErrorBoundary.js +1 -16
- package/dist/cjs/create-editor/ReactEditorViewInternal.js +3 -3
- package/dist/cjs/editor-next/editor-internal.js +2 -1
- package/dist/cjs/editor-next/index.js +5 -1
- package/dist/cjs/editor.js +9 -5
- package/dist/cjs/keymaps/index.js +12 -0
- package/dist/cjs/labs/next/internal/hooks/use-editor/index.js +5 -7
- package/dist/cjs/labs/next/presets/default.js +1 -2
- package/dist/cjs/plugins/card/index.js +16 -5
- package/dist/cjs/plugins/card/pm-plugins/actions.js +10 -1
- package/dist/cjs/plugins/card/pm-plugins/analytics/create-analytics-queue.js +48 -0
- package/dist/cjs/plugins/card/pm-plugins/analytics/events-from-tr.js +337 -0
- package/dist/cjs/plugins/card/pm-plugins/analytics/index.js +19 -0
- package/dist/cjs/plugins/card/pm-plugins/analytics/types.js +5 -0
- package/dist/cjs/plugins/card/pm-plugins/analytics/utils.js +139 -0
- package/dist/cjs/plugins/card/pm-plugins/doc.js +99 -22
- package/dist/cjs/plugins/card/pm-plugins/main.js +16 -10
- package/dist/cjs/plugins/card/pm-plugins/reducers.js +7 -0
- package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +3 -7
- package/dist/cjs/plugins/card/toolbar.js +18 -8
- package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +12 -8
- package/dist/cjs/plugins/card/ui/EditorSmartCardEventsNext.js +202 -0
- package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +12 -4
- package/dist/cjs/plugins/card/utils.js +4 -2
- package/dist/cjs/plugins/extension/context-panel.js +3 -2
- package/dist/cjs/plugins/extension/index.js +4 -1
- package/dist/cjs/plugins/help-dialog/ui/index.js +29 -8
- package/dist/cjs/plugins/hyperlink/Toolbar.js +12 -2
- package/dist/cjs/plugins/hyperlink/commands.js +9 -5
- package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +4 -0
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +2 -2
- package/dist/cjs/plugins/index.js +0 -7
- package/dist/cjs/plugins/insert-block/index.js +5 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +25 -23
- package/dist/cjs/plugins/media/index.js +9 -5
- package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +7 -1
- package/dist/cjs/plugins/media/pm-plugins/main.js +5 -4
- package/dist/cjs/plugins/media/utils/media-single.js +1 -4
- package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +2 -1
- package/dist/cjs/plugins/paste/handlers.js +5 -5
- package/dist/cjs/plugins/paste/index.js +4 -2
- package/dist/cjs/plugins/paste/pm-plugins/main.js +6 -4
- package/dist/cjs/plugins/rule/commands.js +2 -2
- package/dist/cjs/plugins/rule/index.js +5 -4
- package/dist/cjs/plugins/rule/pm-plugins/input-rule.js +6 -8
- package/dist/cjs/plugins/rule/pm-plugins/keymap.js +2 -2
- package/dist/cjs/plugins/text-color/index.js +5 -2
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +3 -4
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +10 -0
- package/dist/cjs/ui/Appearance/FullPage/FullPage.js +2 -4
- package/dist/cjs/ui/ColorPalette/index.js +6 -0
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +15 -10
- package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +248 -17
- package/dist/cjs/ui/ConfigPanel/FormContent.js +12 -6
- package/dist/cjs/ui/ConfigPanel/utils.js +2 -12
- package/dist/cjs/ui/ContentStyles/index.js +2 -5
- package/dist/cjs/ui/MediaAndEmbedsToolbar/index.js +16 -8
- package/dist/cjs/utils/document.js +5 -3
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +10 -4
- package/dist/es2019/analytics-api/attach-payload-into-transaction.js +2 -1
- package/dist/es2019/create-editor/ErrorBoundary.js +1 -13
- package/dist/es2019/create-editor/ReactEditorViewInternal.js +2 -2
- package/dist/es2019/editor-next/editor-internal.js +2 -1
- package/dist/es2019/editor-next/index.js +5 -1
- package/dist/es2019/editor.js +5 -2
- package/dist/es2019/keymaps/index.js +1 -1
- package/dist/es2019/labs/next/internal/hooks/use-editor/index.js +4 -6
- package/dist/es2019/labs/next/presets/default.js +1 -2
- package/dist/es2019/plugins/card/index.js +15 -5
- package/dist/es2019/plugins/card/pm-plugins/actions.js +4 -0
- package/dist/es2019/plugins/card/pm-plugins/analytics/create-analytics-queue.js +38 -0
- package/dist/es2019/plugins/card/pm-plugins/analytics/events-from-tr.js +316 -0
- package/dist/es2019/plugins/card/pm-plugins/analytics/index.js +2 -0
- package/dist/es2019/plugins/card/pm-plugins/analytics/types.js +1 -0
- package/dist/es2019/plugins/card/pm-plugins/analytics/utils.js +124 -0
- package/dist/es2019/plugins/card/pm-plugins/doc.js +94 -20
- package/dist/es2019/plugins/card/pm-plugins/main.js +17 -8
- package/dist/es2019/plugins/card/pm-plugins/reducers.js +8 -0
- package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +3 -7
- package/dist/es2019/plugins/card/toolbar.js +16 -8
- package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +13 -9
- package/dist/es2019/plugins/card/ui/EditorSmartCardEventsNext.js +180 -0
- package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +11 -2
- package/dist/es2019/plugins/card/utils.js +6 -2
- package/dist/es2019/plugins/extension/context-panel.js +3 -2
- package/dist/es2019/plugins/extension/index.js +45 -41
- package/dist/es2019/plugins/help-dialog/ui/index.js +17 -1
- package/dist/es2019/plugins/hyperlink/Toolbar.js +13 -4
- package/dist/es2019/plugins/hyperlink/commands.js +9 -6
- package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +4 -0
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +2 -2
- package/dist/es2019/plugins/index.js +0 -1
- package/dist/es2019/plugins/insert-block/index.js +96 -91
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -2
- package/dist/es2019/plugins/media/index.js +202 -198
- package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +9 -1
- package/dist/es2019/plugins/media/pm-plugins/main.js +5 -4
- package/dist/es2019/plugins/media/utils/media-single.js +1 -5
- package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +3 -2
- package/dist/es2019/plugins/paste/handlers.js +6 -6
- package/dist/es2019/plugins/paste/index.js +18 -14
- package/dist/es2019/plugins/paste/pm-plugins/main.js +7 -5
- package/dist/es2019/plugins/rule/commands.js +2 -2
- package/dist/es2019/plugins/rule/index.js +49 -46
- package/dist/es2019/plugins/rule/pm-plugins/input-rule.js +6 -7
- package/dist/es2019/plugins/rule/pm-plugins/keymap.js +2 -2
- package/dist/es2019/plugins/text-color/index.js +49 -44
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +3 -3
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +10 -0
- package/dist/es2019/ui/Appearance/FullPage/FullPage.js +2 -4
- package/dist/es2019/ui/ColorPalette/index.js +2 -2
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +8 -4
- package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +3 -1
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +238 -13
- package/dist/es2019/ui/ConfigPanel/FormContent.js +12 -6
- package/dist/es2019/ui/ConfigPanel/utils.js +1 -11
- package/dist/es2019/ui/ContentStyles/index.js +2 -5
- package/dist/es2019/ui/MediaAndEmbedsToolbar/index.js +12 -10
- package/dist/es2019/utils/document.js +5 -3
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +17 -6
- package/dist/esm/analytics-api/attach-payload-into-transaction.js +2 -1
- package/dist/esm/create-editor/ErrorBoundary.js +1 -16
- package/dist/esm/create-editor/ReactEditorViewInternal.js +2 -2
- package/dist/esm/editor-next/editor-internal.js +2 -1
- package/dist/esm/editor-next/index.js +5 -1
- package/dist/esm/editor.js +9 -5
- package/dist/esm/keymaps/index.js +1 -1
- package/dist/esm/labs/next/internal/hooks/use-editor/index.js +4 -6
- package/dist/esm/labs/next/presets/default.js +1 -2
- package/dist/esm/plugins/card/index.js +13 -5
- package/dist/esm/plugins/card/pm-plugins/actions.js +8 -0
- package/dist/esm/plugins/card/pm-plugins/analytics/create-analytics-queue.js +41 -0
- package/dist/esm/plugins/card/pm-plugins/analytics/events-from-tr.js +328 -0
- package/dist/esm/plugins/card/pm-plugins/analytics/index.js +2 -0
- package/dist/esm/plugins/card/pm-plugins/analytics/types.js +1 -0
- package/dist/esm/plugins/card/pm-plugins/analytics/utils.js +124 -0
- package/dist/esm/plugins/card/pm-plugins/doc.js +98 -22
- package/dist/esm/plugins/card/pm-plugins/main.js +16 -10
- package/dist/esm/plugins/card/pm-plugins/reducers.js +7 -0
- package/dist/esm/plugins/card/pm-plugins/util/resolve.js +3 -7
- package/dist/esm/plugins/card/toolbar.js +18 -8
- package/dist/esm/plugins/card/ui/EditLinkToolbar.js +13 -9
- package/dist/esm/plugins/card/ui/EditorSmartCardEventsNext.js +191 -0
- package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +12 -4
- package/dist/esm/plugins/card/utils.js +4 -2
- package/dist/esm/plugins/extension/context-panel.js +3 -2
- package/dist/esm/plugins/extension/index.js +4 -1
- package/dist/esm/plugins/help-dialog/ui/index.js +29 -8
- package/dist/esm/plugins/hyperlink/Toolbar.js +13 -3
- package/dist/esm/plugins/hyperlink/commands.js +9 -5
- package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +4 -0
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +2 -2
- package/dist/esm/plugins/index.js +0 -1
- package/dist/esm/plugins/insert-block/index.js +5 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +25 -23
- package/dist/esm/plugins/media/index.js +9 -5
- package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +7 -1
- package/dist/esm/plugins/media/pm-plugins/main.js +5 -4
- package/dist/esm/plugins/media/utils/media-single.js +1 -4
- package/dist/esm/plugins/panel/pm-plugins/keymaps.js +3 -2
- package/dist/esm/plugins/paste/handlers.js +6 -6
- package/dist/esm/plugins/paste/index.js +4 -2
- package/dist/esm/plugins/paste/pm-plugins/main.js +7 -5
- package/dist/esm/plugins/rule/commands.js +2 -2
- package/dist/esm/plugins/rule/index.js +5 -4
- package/dist/esm/plugins/rule/pm-plugins/input-rule.js +6 -8
- package/dist/esm/plugins/rule/pm-plugins/keymap.js +2 -2
- package/dist/esm/plugins/text-color/index.js +5 -2
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +3 -4
- package/dist/esm/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +10 -0
- package/dist/esm/ui/Appearance/FullPage/FullPage.js +2 -4
- package/dist/esm/ui/ColorPalette/index.js +2 -2
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +15 -10
- package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +3 -1
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +244 -19
- package/dist/esm/ui/ConfigPanel/FormContent.js +12 -6
- package/dist/esm/ui/ConfigPanel/utils.js +0 -10
- package/dist/esm/ui/ContentStyles/index.js +2 -5
- package/dist/esm/ui/MediaAndEmbedsToolbar/index.js +16 -8
- package/dist/esm/utils/document.js +5 -3
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +3 -2
- package/dist/types/create-editor/ErrorBoundary.d.ts +2 -2
- package/dist/types/editor-next/index.d.ts +1 -0
- package/dist/types/editor.d.ts +1 -0
- package/dist/types/keymaps/index.d.ts +1 -1
- package/dist/types/labs/next/internal/hooks/use-editor/index.d.ts +2 -1
- package/dist/types/labs/next/presets/cxhtml.d.ts +1 -5
- package/dist/types/labs/next/presets/default.d.ts +2 -10
- package/dist/types/labs/next/presets/mobile.d.ts +1 -5
- package/dist/types/plugins/card/pm-plugins/actions.d.ts +2 -1
- package/dist/types/plugins/card/pm-plugins/analytics/create-analytics-queue.d.ts +10 -0
- package/dist/types/plugins/card/pm-plugins/analytics/events-from-tr.d.ts +17 -0
- package/dist/types/plugins/card/pm-plugins/analytics/index.d.ts +2 -0
- package/dist/types/plugins/card/pm-plugins/analytics/types.d.ts +10 -0
- package/dist/types/plugins/card/pm-plugins/analytics/utils.d.ts +26 -0
- package/dist/types/plugins/card/pm-plugins/doc.d.ts +8 -7
- package/dist/types/plugins/card/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -2
- package/dist/types/plugins/card/pm-plugins/util/state.d.ts +3 -0
- package/dist/types/plugins/card/types.d.ts +81 -7
- package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +2 -1
- package/dist/types/plugins/card/ui/EditorSmartCardEventsNext.d.ts +18 -0
- package/dist/types/plugins/card/utils.d.ts +1 -1
- package/dist/types/plugins/extension/context-panel.d.ts +2 -1
- package/dist/types/plugins/extension/index.d.ts +2 -0
- package/dist/types/plugins/hyperlink/commands.d.ts +3 -2
- package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/index.d.ts +2 -1
- package/dist/types/plugins/index.d.ts +0 -1
- package/dist/types/plugins/insert-block/index.d.ts +2 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +2 -1
- package/dist/types/plugins/media/index.d.ts +2 -0
- package/dist/types/plugins/media/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/media/utils/media-single.d.ts +1 -1
- package/dist/types/plugins/paste/index.d.ts +2 -0
- package/dist/types/plugins/paste/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/rule/commands.d.ts +2 -1
- package/dist/types/plugins/rule/index.d.ts +5 -1
- package/dist/types/plugins/rule/pm-plugins/input-rule.d.ts +1 -1
- package/dist/types/plugins/rule/pm-plugins/keymap.d.ts +2 -1
- package/dist/types/plugins/text-color/index.d.ts +2 -0
- package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +2 -0
- package/dist/types/plugins/text-formatting/ui/Toolbar/toolbar-messages.d.ts +10 -0
- package/dist/types/types/editor-appearance-component.d.ts +1 -1
- package/dist/types/types/editor-props.d.ts +1 -0
- package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +2 -0
- package/dist/types/ui/ColorPalette/index.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -1
- package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -1
- package/dist/types/ui/ConfigPanel/Fields/ColorPicker.d.ts +12 -1
- package/dist/types/ui/ConfigPanel/FormContent.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/types.d.ts +3 -0
- package/dist/types/ui/ConfigPanel/utils.d.ts +0 -1
- package/dist/types/ui/MediaAndEmbedsToolbar/index.d.ts +1 -1
- package/package.json +14 -13
- package/report.api.md +10 -0
- package/dist/cjs/plugins/feature-flags-context/get-enabled-feature-flag-keys.js +0 -12
- package/dist/cjs/plugins/feature-flags-context/get-feature-flags.js +0 -11
- package/dist/cjs/plugins/feature-flags-context/index.js +0 -50
- package/dist/cjs/plugins/feature-flags-context/plugin-key.js +0 -9
- package/dist/es2019/plugins/feature-flags-context/get-enabled-feature-flag-keys.js +0 -1
- package/dist/es2019/plugins/feature-flags-context/get-feature-flags.js +0 -2
- package/dist/es2019/plugins/feature-flags-context/index.js +0 -29
- package/dist/es2019/plugins/feature-flags-context/plugin-key.js +0 -2
- package/dist/esm/plugins/feature-flags-context/get-enabled-feature-flag-keys.js +0 -1
- package/dist/esm/plugins/feature-flags-context/get-feature-flags.js +0 -4
- package/dist/esm/plugins/feature-flags-context/index.js +0 -40
- package/dist/esm/plugins/feature-flags-context/plugin-key.js +0 -2
- package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +0 -1
- package/dist/types/plugins/feature-flags-context/get-feature-flags.d.ts +0 -3
- package/dist/types/plugins/feature-flags-context/index.d.ts +0 -9
- package/dist/types/plugins/feature-flags-context/plugin-key.d.ts +0 -2
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.EventsBinding = exports.EditorSmartCardEventsNext = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var _linkAnalytics = require("@atlaskit/link-analytics");
|
|
19
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
20
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
21
|
+
var _actions = require("../pm-plugins/actions");
|
|
22
|
+
var _excluded = ["url", "display"],
|
|
23
|
+
_excluded2 = ["url", "display", "previousDisplay"],
|
|
24
|
+
_excluded3 = ["url", "display"];
|
|
25
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
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); }; }
|
|
28
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
29
|
+
/**
|
|
30
|
+
* If the metadata is for a history event,
|
|
31
|
+
* returns undo/redo instead of instead of what fn(metadata) would have otherwise
|
|
32
|
+
* returned
|
|
33
|
+
*/
|
|
34
|
+
var withHistoryMethod = function withHistoryMethod(fn) {
|
|
35
|
+
return function (metadata) {
|
|
36
|
+
var isUndo = metadata.isUndo,
|
|
37
|
+
isRedo = metadata.isRedo;
|
|
38
|
+
if (isUndo) {
|
|
39
|
+
return 'undo';
|
|
40
|
+
}
|
|
41
|
+
if (isRedo) {
|
|
42
|
+
return 'redo';
|
|
43
|
+
}
|
|
44
|
+
return fn(metadata);
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
var getMethod = withHistoryMethod(function (_ref) {
|
|
48
|
+
var inputMethod = _ref.inputMethod,
|
|
49
|
+
sourceEvent = _ref.sourceEvent;
|
|
50
|
+
/**
|
|
51
|
+
* If sourceEvent is present, don't provide a custom method
|
|
52
|
+
*/
|
|
53
|
+
if (sourceEvent) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
switch (inputMethod) {
|
|
57
|
+
case _analytics.INPUT_METHOD.CLIPBOARD:
|
|
58
|
+
return 'editor_paste';
|
|
59
|
+
case _analytics.INPUT_METHOD.FLOATING_TB:
|
|
60
|
+
return 'editor_floatingToolbar';
|
|
61
|
+
case _analytics.INPUT_METHOD.AUTO_DETECT:
|
|
62
|
+
return 'editor_type';
|
|
63
|
+
default:
|
|
64
|
+
return 'unknown';
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var getUpdateType = withHistoryMethod(function (_ref2) {
|
|
68
|
+
var action = _ref2.action,
|
|
69
|
+
sourceEvent = _ref2.sourceEvent;
|
|
70
|
+
/**
|
|
71
|
+
* If sourceEvent is present, don't provide a custom method
|
|
72
|
+
*/
|
|
73
|
+
if (sourceEvent) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
switch (action) {
|
|
77
|
+
case _analytics.ACTION.CHANGED_TYPE:
|
|
78
|
+
return 'display_update';
|
|
79
|
+
case _analytics.ACTION.UPDATED:
|
|
80
|
+
return 'link_update';
|
|
81
|
+
default:
|
|
82
|
+
return 'unknown';
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
var getDeleteType = withHistoryMethod(function (_ref3) {
|
|
86
|
+
var action = _ref3.action;
|
|
87
|
+
if (action === _analytics.ACTION.UNLINK) {
|
|
88
|
+
return 'unlink';
|
|
89
|
+
}
|
|
90
|
+
return 'delete';
|
|
91
|
+
});
|
|
92
|
+
var getSourceEventFromMetadata = function getSourceEventFromMetadata(metadata) {
|
|
93
|
+
return metadata.sourceEvent instanceof _analyticsNext.UIAnalyticsEvent ? metadata.sourceEvent : null;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Set display category as `link` if not displaying the link as a smart card
|
|
98
|
+
*/
|
|
99
|
+
var displayCategoryFromDisplay = function displayCategoryFromDisplay(display) {
|
|
100
|
+
if (display === 'url') {
|
|
101
|
+
return 'link';
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Binds the @atlaskit/link-analytics callbacks
|
|
107
|
+
* to the editor card plugin state events callbacks interfaces
|
|
108
|
+
*/
|
|
109
|
+
var EventsBinding = function EventsBinding(_ref4) {
|
|
110
|
+
var editorView = _ref4.editorView;
|
|
111
|
+
/**
|
|
112
|
+
* These callbacks internally use window.requestIdleCallback/requestAnimationFrame
|
|
113
|
+
* to defer any heavy operations involving network
|
|
114
|
+
*
|
|
115
|
+
* The callbacks themselves should not be deferred, they should be called syncronously the moment
|
|
116
|
+
* the events take place.
|
|
117
|
+
*/
|
|
118
|
+
var _useSmartLinkLifecycl = (0, _linkAnalytics.useSmartLinkLifecycleAnalytics)(),
|
|
119
|
+
linkCreated = _useSmartLinkLifecycl.linkCreated,
|
|
120
|
+
linkUpdated = _useSmartLinkLifecycl.linkUpdated,
|
|
121
|
+
linkDeleted = _useSmartLinkLifecycl.linkDeleted;
|
|
122
|
+
var events = (0, _react.useMemo)(function () {
|
|
123
|
+
return {
|
|
124
|
+
created: function created(_ref5) {
|
|
125
|
+
var url = _ref5.url,
|
|
126
|
+
display = _ref5.display,
|
|
127
|
+
metadata = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
|
|
128
|
+
linkCreated({
|
|
129
|
+
url: url,
|
|
130
|
+
displayCategory: displayCategoryFromDisplay(display)
|
|
131
|
+
}, getSourceEventFromMetadata(metadata), {
|
|
132
|
+
display: display,
|
|
133
|
+
creationMethod: getMethod(metadata)
|
|
134
|
+
});
|
|
135
|
+
},
|
|
136
|
+
updated: function updated(_ref6) {
|
|
137
|
+
var url = _ref6.url,
|
|
138
|
+
display = _ref6.display,
|
|
139
|
+
previousDisplay = _ref6.previousDisplay,
|
|
140
|
+
metadata = (0, _objectWithoutProperties2.default)(_ref6, _excluded2);
|
|
141
|
+
linkUpdated({
|
|
142
|
+
url: url,
|
|
143
|
+
displayCategory: displayCategoryFromDisplay(display)
|
|
144
|
+
}, getSourceEventFromMetadata(metadata), {
|
|
145
|
+
display: display,
|
|
146
|
+
previousDisplay: previousDisplay,
|
|
147
|
+
updateMethod: getMethod(metadata),
|
|
148
|
+
updateType: getUpdateType(metadata)
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
deleted: function deleted(_ref7) {
|
|
152
|
+
var url = _ref7.url,
|
|
153
|
+
display = _ref7.display,
|
|
154
|
+
metadata = (0, _objectWithoutProperties2.default)(_ref7, _excluded3);
|
|
155
|
+
linkDeleted({
|
|
156
|
+
url: url,
|
|
157
|
+
displayCategory: displayCategoryFromDisplay(display)
|
|
158
|
+
}, getSourceEventFromMetadata(metadata), {
|
|
159
|
+
display: display,
|
|
160
|
+
deleteMethod: getMethod(metadata),
|
|
161
|
+
deleteType: getDeleteType(metadata)
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}, [linkCreated, linkUpdated, linkDeleted]);
|
|
166
|
+
(0, _react.useEffect)(function () {
|
|
167
|
+
editorView.dispatch((0, _actions.registerSmartCardEventsNext)(events)(editorView.state.tr));
|
|
168
|
+
}, [events, editorView]);
|
|
169
|
+
return null;
|
|
170
|
+
};
|
|
171
|
+
exports.EventsBinding = EventsBinding;
|
|
172
|
+
var EditorSmartCardEventsNext = /*#__PURE__*/function (_React$PureComponent) {
|
|
173
|
+
(0, _inherits2.default)(EditorSmartCardEventsNext, _React$PureComponent);
|
|
174
|
+
var _super = _createSuper(EditorSmartCardEventsNext);
|
|
175
|
+
function EditorSmartCardEventsNext() {
|
|
176
|
+
(0, _classCallCheck2.default)(this, EditorSmartCardEventsNext);
|
|
177
|
+
return _super.apply(this, arguments);
|
|
178
|
+
}
|
|
179
|
+
(0, _createClass2.default)(EditorSmartCardEventsNext, [{
|
|
180
|
+
key: "render",
|
|
181
|
+
value: function render() {
|
|
182
|
+
var cardContext = this.context.contextAdapter.card;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* The analytics hook needs to be able to communicate with the card context
|
|
186
|
+
* If we can't access it, don't mount the event bindings
|
|
187
|
+
* This effectively entirely disables all tracking behaviour
|
|
188
|
+
*/
|
|
189
|
+
if (!cardContext) {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
return /*#__PURE__*/_react.default.createElement(cardContext.Provider, {
|
|
193
|
+
value: cardContext.value
|
|
194
|
+
}, /*#__PURE__*/_react.default.createElement(EventsBinding, this.props));
|
|
195
|
+
}
|
|
196
|
+
}]);
|
|
197
|
+
return EditorSmartCardEventsNext;
|
|
198
|
+
}(_react.default.PureComponent);
|
|
199
|
+
exports.EditorSmartCardEventsNext = EditorSmartCardEventsNext;
|
|
200
|
+
(0, _defineProperty2.default)(EditorSmartCardEventsNext, "contextTypes", {
|
|
201
|
+
contextAdapter: _propTypes.default.object
|
|
202
|
+
});
|
|
@@ -12,15 +12,19 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
12
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
15
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
17
|
var _prosemirrorModel = require("prosemirror-model");
|
|
17
18
|
var _react = _interopRequireDefault(require("react"));
|
|
18
19
|
var _messages = _interopRequireDefault(require("../../../messages"));
|
|
19
20
|
var _nodes = require("../../../utils/nodes");
|
|
20
21
|
var _messages2 = require("../messages");
|
|
22
|
+
var _card = require("@atlaskit/editor-common/card");
|
|
21
23
|
var _doc = require("../pm-plugins/doc");
|
|
22
24
|
var _linkToolbarButtonGroupOptions = require("./link-toolbar-button-group-options");
|
|
23
25
|
var _LinkToolbarButtonGroup = require("./LinkToolbarButtonGroup");
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
28
|
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); }; }
|
|
25
29
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
30
|
var LinkToolbarAppearance = /*#__PURE__*/function (_React$Component) {
|
|
@@ -74,9 +78,9 @@ var LinkToolbarAppearance = /*#__PURE__*/function (_React$Component) {
|
|
|
74
78
|
};
|
|
75
79
|
var options = [{
|
|
76
80
|
title: intl.formatMessage(_messages2.messages.url),
|
|
77
|
-
onClick:
|
|
78
|
-
|
|
79
|
-
},
|
|
81
|
+
onClick: (0, _card.commandWithMetadata)((0, _doc.changeSelectedCardToLink)(url, url, true), {
|
|
82
|
+
action: _analytics.ACTION.CHANGED_TYPE
|
|
83
|
+
}),
|
|
80
84
|
selected: !currentAppearance,
|
|
81
85
|
testId: 'url-appearance'
|
|
82
86
|
}, {
|
|
@@ -102,7 +106,11 @@ var LinkToolbarAppearance = /*#__PURE__*/function (_React$Component) {
|
|
|
102
106
|
return /*#__PURE__*/_react.default.createElement(_LinkToolbarButtonGroup.LinkToolbarButtonGroup, {
|
|
103
107
|
key: "link-toolbar-button-group",
|
|
104
108
|
options: options.map(function (option) {
|
|
105
|
-
return (0, _linkToolbarButtonGroupOptions.getButtonGroupOption)(intl, dispatchCommand, option)
|
|
109
|
+
return (0, _linkToolbarButtonGroupOptions.getButtonGroupOption)(intl, dispatchCommand, _objectSpread(_objectSpread({}, option), {}, {
|
|
110
|
+
onClick: (0, _card.commandWithMetadata)(option.onClick, {
|
|
111
|
+
inputMethod: _analytics.INPUT_METHOD.FLOATING_TB
|
|
112
|
+
})
|
|
113
|
+
}));
|
|
106
114
|
})
|
|
107
115
|
});
|
|
108
116
|
});
|
|
@@ -8,7 +8,7 @@ var _prosemirrorState = require("prosemirror-state");
|
|
|
8
8
|
var _prosemirrorModel = require("prosemirror-model");
|
|
9
9
|
var _pluginKey = require("./pm-plugins/plugin-key");
|
|
10
10
|
var _slice = require("../../utils/slice");
|
|
11
|
-
var _nodes = require("
|
|
11
|
+
var _nodes = require("../../utils/nodes");
|
|
12
12
|
var appearanceForNodeType = function appearanceForNodeType(spec) {
|
|
13
13
|
if (spec.name === 'inlineCard') {
|
|
14
14
|
return 'inline';
|
|
@@ -21,7 +21,9 @@ var appearanceForNodeType = function appearanceForNodeType(spec) {
|
|
|
21
21
|
};
|
|
22
22
|
exports.appearanceForNodeType = appearanceForNodeType;
|
|
23
23
|
var selectedCardAppearance = function selectedCardAppearance(state) {
|
|
24
|
-
|
|
24
|
+
if (state.selection instanceof _prosemirrorState.NodeSelection) {
|
|
25
|
+
return appearanceForNodeType(state.selection.node.type);
|
|
26
|
+
}
|
|
25
27
|
};
|
|
26
28
|
exports.selectedCardAppearance = selectedCardAppearance;
|
|
27
29
|
var titleUrlPairFromNode = function titleUrlPairFromNode(node) {
|
|
@@ -34,7 +34,7 @@ var areParametersEqual = function areParametersEqual(firstParameters, secondPara
|
|
|
34
34
|
}
|
|
35
35
|
return firstParameters === secondParameters;
|
|
36
36
|
};
|
|
37
|
-
var getContextPanel = function getContextPanel(allowAutoSave) {
|
|
37
|
+
var getContextPanel = function getContextPanel(allowAutoSave, featureFlags) {
|
|
38
38
|
return function (state) {
|
|
39
39
|
var nodeWithPos = (0, _utils.getSelectedExtension)(state, true);
|
|
40
40
|
|
|
@@ -141,7 +141,8 @@ var getContextPanel = function getContextPanel(allowAutoSave) {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
}, _callee2, null, [[1, 6]]);
|
|
144
|
-
}))
|
|
144
|
+
})),
|
|
145
|
+
featureFlags: featureFlags
|
|
145
146
|
});
|
|
146
147
|
}
|
|
147
148
|
});
|
|
@@ -12,7 +12,10 @@ var _uniqueId = require("./pm-plugins/unique-id");
|
|
|
12
12
|
var _toolbar = require("./toolbar");
|
|
13
13
|
var _contextPanel = require("./context-panel");
|
|
14
14
|
var extensionPlugin = function extensionPlugin() {
|
|
15
|
+
var _api$dependencies, _api$dependencies$fea;
|
|
15
16
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
+
var api = arguments.length > 1 ? arguments[1] : undefined;
|
|
18
|
+
var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$fea = _api$dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
|
|
16
19
|
return {
|
|
17
20
|
name: 'extension',
|
|
18
21
|
nodes: function nodes() {
|
|
@@ -52,7 +55,7 @@ var extensionPlugin = function extensionPlugin() {
|
|
|
52
55
|
},
|
|
53
56
|
pluginsOptions: {
|
|
54
57
|
floatingToolbar: (0, _toolbar.getToolbarConfig)(options.breakoutEnabled),
|
|
55
|
-
contextPanel: (0, _contextPanel.getContextPanel)(options.allowAutoSave)
|
|
58
|
+
contextPanel: (0, _contextPanel.getContextPanel)(options.allowAutoSave, featureFlags)
|
|
56
59
|
}
|
|
57
60
|
};
|
|
58
61
|
};
|
|
@@ -79,8 +79,24 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
79
79
|
description: 'Name of a feature, which let you insert items quickly.'
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
|
-
var
|
|
82
|
+
var navigationKeymaps = function navigationKeymaps(_ref) {
|
|
83
83
|
var formatMessage = _ref.formatMessage;
|
|
84
|
+
return [{
|
|
85
|
+
name: formatMessage(_toolbarMessages.toolbarMessages.navigateToEditorToolbar),
|
|
86
|
+
type: 'navigation',
|
|
87
|
+
keymap: function keymap() {
|
|
88
|
+
return keymaps.navToEditorToolbar;
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
name: formatMessage(_toolbarMessages.toolbarMessages.navigateToFloatingToolbar),
|
|
92
|
+
type: 'navigation',
|
|
93
|
+
keymap: function keymap() {
|
|
94
|
+
return keymaps.navToFloatingToolbar;
|
|
95
|
+
}
|
|
96
|
+
}];
|
|
97
|
+
};
|
|
98
|
+
var formatting = function formatting(_ref2) {
|
|
99
|
+
var formatMessage = _ref2.formatMessage;
|
|
84
100
|
return [{
|
|
85
101
|
name: formatMessage(_toolbarMessages.toolbarMessages.bold),
|
|
86
102
|
type: 'strong',
|
|
@@ -345,8 +361,8 @@ var formatting = function formatting(_ref) {
|
|
|
345
361
|
};
|
|
346
362
|
exports.formatting = formatting;
|
|
347
363
|
var shortcutNamesWithoutKeymap = ['emoji', 'mention', 'quickInsert'];
|
|
348
|
-
var otherFormatting = function otherFormatting(
|
|
349
|
-
var formatMessage =
|
|
364
|
+
var otherFormatting = function otherFormatting(_ref3) {
|
|
365
|
+
var formatMessage = _ref3.formatMessage;
|
|
350
366
|
return [{
|
|
351
367
|
name: formatMessage(_toolbarMessages.toolbarMessages.clearFormatting),
|
|
352
368
|
type: 'clearFormatting',
|
|
@@ -388,8 +404,8 @@ var imageAutoFormat = {
|
|
|
388
404
|
}, ""));
|
|
389
405
|
}
|
|
390
406
|
};
|
|
391
|
-
var quickInsertAutoFormat = function quickInsertAutoFormat(
|
|
392
|
-
var formatMessage =
|
|
407
|
+
var quickInsertAutoFormat = function quickInsertAutoFormat(_ref4) {
|
|
408
|
+
var formatMessage = _ref4.formatMessage;
|
|
393
409
|
return {
|
|
394
410
|
name: formatMessage(messages.quickInsert),
|
|
395
411
|
type: 'quickInsert',
|
|
@@ -411,7 +427,7 @@ var getSupportedFormatting = function getSupportedFormatting(schema, intl, image
|
|
|
411
427
|
var supportedBySchema = formatting(intl).filter(function (format) {
|
|
412
428
|
return schema.nodes[format.type] || schema.marks[format.type];
|
|
413
429
|
});
|
|
414
|
-
return [].concat((0, _toConsumableArray2.default)(supportedBySchema), (0, _toConsumableArray2.default)(imageEnabled ? [imageAutoFormat] : []), (0, _toConsumableArray2.default)(quickInsertEnabled ? [quickInsertAutoFormat(intl)] : []), (0, _toConsumableArray2.default)(otherFormatting(intl)));
|
|
430
|
+
return [].concat((0, _toConsumableArray2.default)(navigationKeymaps(intl)), (0, _toConsumableArray2.default)(supportedBySchema), (0, _toConsumableArray2.default)(imageEnabled ? [imageAutoFormat] : []), (0, _toConsumableArray2.default)(quickInsertEnabled ? [quickInsertAutoFormat(intl)] : []), (0, _toConsumableArray2.default)(otherFormatting(intl)));
|
|
415
431
|
};
|
|
416
432
|
exports.getSupportedFormatting = getSupportedFormatting;
|
|
417
433
|
var getComponentFromKeymap = function getComponentFromKeymap(keymap) {
|
|
@@ -431,6 +447,11 @@ var getComponentFromKeymap = function getComponentFromKeymap(keymap) {
|
|
|
431
447
|
css: _styles.codeMd,
|
|
432
448
|
key: "".concat(keyParts, "-").concat(index)
|
|
433
449
|
}, part);
|
|
450
|
+
} else if (['f9', 'f10'].indexOf(part.toLowerCase()) >= 0) {
|
|
451
|
+
return (0, _react2.jsx)("span", {
|
|
452
|
+
css: _styles.codeLg,
|
|
453
|
+
key: "".concat(keyParts, "-").concat(index)
|
|
454
|
+
}, part);
|
|
434
455
|
}
|
|
435
456
|
return (0, _react2.jsx)("span", {
|
|
436
457
|
css: _styles.codeSm,
|
|
@@ -439,8 +460,8 @@ var getComponentFromKeymap = function getComponentFromKeymap(keymap) {
|
|
|
439
460
|
}));
|
|
440
461
|
};
|
|
441
462
|
exports.getComponentFromKeymap = getComponentFromKeymap;
|
|
442
|
-
var ModalHeader = (0, _reactIntlNext.injectIntl)(function (
|
|
443
|
-
var formatMessage =
|
|
463
|
+
var ModalHeader = (0, _reactIntlNext.injectIntl)(function (_ref5) {
|
|
464
|
+
var formatMessage = _ref5.intl.formatMessage;
|
|
444
465
|
var _useModal = (0, _modalDialog.useModal)(),
|
|
445
466
|
onClose = _useModal.onClose;
|
|
446
467
|
return (0, _react2.jsx)("div", {
|
|
@@ -11,6 +11,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
var _main = require("./pm-plugins/main");
|
|
12
12
|
var _commands = require("./commands");
|
|
13
13
|
var _HyperlinkAddToolbar = _interopRequireDefault(require("./ui/HyperlinkAddToolbar"));
|
|
14
|
+
var _card = require("@atlaskit/editor-common/card");
|
|
14
15
|
var _unlink = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/unlink"));
|
|
15
16
|
var _settings = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/settings"));
|
|
16
17
|
var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
|
|
@@ -162,7 +163,9 @@ var getToolbarConfig = function getToolbarConfig(options, featureFlags) {
|
|
|
162
163
|
}, {
|
|
163
164
|
id: 'editor.link.unlink',
|
|
164
165
|
type: 'button',
|
|
165
|
-
onClick: (0, _commands.removeLink)(pos),
|
|
166
|
+
onClick: (0, _card.commandWithMetadata)((0, _commands.removeLink)(pos), {
|
|
167
|
+
inputMethod: _analytics.INPUT_METHOD.FLOATING_TB
|
|
168
|
+
}),
|
|
166
169
|
selected: false,
|
|
167
170
|
title: labelUnlink,
|
|
168
171
|
icon: _unlink.default,
|
|
@@ -221,7 +224,14 @@ var getToolbarConfig = function getToolbarConfig(options, featureFlags) {
|
|
|
221
224
|
var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
222
225
|
var displayText = arguments.length > 2 ? arguments[2] : undefined;
|
|
223
226
|
var inputMethod = arguments.length > 3 ? arguments[3] : undefined;
|
|
224
|
-
|
|
227
|
+
var analytic = arguments.length > 4 ? arguments[4] : undefined;
|
|
228
|
+
var isEdit = isEditLink(activeLinkMark);
|
|
229
|
+
var action = isEdit ? _analytics.ACTION.UPDATED : _analytics.ACTION.INSERTED;
|
|
230
|
+
var command = isEdit ? (0, _card.commandWithMetadata)((0, _commands.updateLink)(href, displayText || title, activeLinkMark.pos), {
|
|
231
|
+
action: action,
|
|
232
|
+
sourceEvent: analytic
|
|
233
|
+
}) : (0, _commands.insertLinkWithAnalytics)(inputMethod, activeLinkMark.from, activeLinkMark.to, href, title, displayText, !!(options !== null && options !== void 0 && (_options$cardOptions = options.cardOptions) !== null && _options$cardOptions !== void 0 && _options$cardOptions.provider), analytic);
|
|
234
|
+
command(view.state, view.dispatch, view);
|
|
225
235
|
view.focus();
|
|
226
236
|
}
|
|
227
237
|
});
|
|
@@ -15,6 +15,7 @@ exports.setLinkHref = setLinkHref;
|
|
|
15
15
|
exports.showLinkToolbar = showLinkToolbar;
|
|
16
16
|
exports.updateLink = updateLink;
|
|
17
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
var _card = require("@atlaskit/editor-common/card");
|
|
18
19
|
var _utils = require("./utils");
|
|
19
20
|
var _main = require("./pm-plugins/main");
|
|
20
21
|
var _prosemirrorState = require("prosemirror-state");
|
|
@@ -101,7 +102,7 @@ function updateLink(href, text, pos, to) {
|
|
|
101
102
|
return true;
|
|
102
103
|
};
|
|
103
104
|
}
|
|
104
|
-
function insertLink(from, to, incomingHref, incomingTitle, displayText, source) {
|
|
105
|
+
function insertLink(from, to, incomingHref, incomingTitle, displayText, source, sourceEvent) {
|
|
105
106
|
return function (state, dispatch) {
|
|
106
107
|
var link = state.schema.marks.link;
|
|
107
108
|
var tr = state.tr;
|
|
@@ -125,7 +126,7 @@ function insertLink(from, to, incomingHref, incomingTitle, displayText, source)
|
|
|
125
126
|
}));
|
|
126
127
|
tr.setSelection(_prosemirrorState.Selection.near(tr.doc.resolve(markEnd)));
|
|
127
128
|
if (!displayText || displayText === incomingHref) {
|
|
128
|
-
(0, _doc.queueCardsFromChangedTr)(state, tr, source, false);
|
|
129
|
+
(0, _doc.queueCardsFromChangedTr)(state, tr, source, _analytics.ACTION.INSERTED, false, sourceEvent);
|
|
129
130
|
}
|
|
130
131
|
tr.setMeta(_main.stateKey, {
|
|
131
132
|
type: _main.LinkAction.HIDE_TOOLBAR
|
|
@@ -146,11 +147,12 @@ function insertLink(from, to, incomingHref, incomingTitle, displayText, source)
|
|
|
146
147
|
}
|
|
147
148
|
var insertLinkWithAnalytics = function insertLinkWithAnalytics(inputMethod, from, to, href, title, displayText) {
|
|
148
149
|
var cardsAvailable = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
150
|
+
var sourceEvent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : undefined;
|
|
149
151
|
// If smart cards are available, we send analytics for hyperlinks when a smart link is rejected.
|
|
150
152
|
if (cardsAvailable && !title && !displayText) {
|
|
151
|
-
return insertLink(from, to, href, title, displayText, inputMethod);
|
|
153
|
+
return insertLink(from, to, href, title, displayText, inputMethod, sourceEvent);
|
|
152
154
|
}
|
|
153
|
-
return (0, _analytics.withAnalytics)((0, _analytics2.getLinkCreationAnalyticsEvent)(inputMethod, href))(insertLink(from, to, href, title, displayText, inputMethod));
|
|
155
|
+
return (0, _analytics.withAnalytics)((0, _analytics2.getLinkCreationAnalyticsEvent)(inputMethod, href))(insertLink(from, to, href, title, displayText, inputMethod, sourceEvent));
|
|
154
156
|
};
|
|
155
157
|
exports.insertLinkWithAnalytics = insertLinkWithAnalytics;
|
|
156
158
|
var insertLinkWithAnalyticsMobileNative = function insertLinkWithAnalyticsMobileNative(inputMethod, from, to, href, title, displayText) {
|
|
@@ -158,7 +160,9 @@ var insertLinkWithAnalyticsMobileNative = function insertLinkWithAnalyticsMobile
|
|
|
158
160
|
};
|
|
159
161
|
exports.insertLinkWithAnalyticsMobileNative = insertLinkWithAnalyticsMobileNative;
|
|
160
162
|
function removeLink(pos) {
|
|
161
|
-
return setLinkHref('', pos)
|
|
163
|
+
return (0, _card.commandWithMetadata)(setLinkHref('', pos), {
|
|
164
|
+
action: _analytics.ACTION.UNLINK
|
|
165
|
+
});
|
|
162
166
|
}
|
|
163
167
|
function editInsertedLink() {
|
|
164
168
|
return function (state, dispatch) {
|
|
@@ -8,6 +8,7 @@ exports.createInputRulePlugin = createInputRulePlugin;
|
|
|
8
8
|
exports.createLinkInputRule = createLinkInputRule;
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _card = require("@atlaskit/editor-common/card");
|
|
11
12
|
var _inputRules = require("../../../utils/input-rules");
|
|
12
13
|
var _utils = require("../utils");
|
|
13
14
|
var _analytics = require("../../analytics");
|
|
@@ -48,6 +49,9 @@ function createLinkInputRule(regexp) {
|
|
|
48
49
|
if (to === end) {
|
|
49
50
|
tr.insertText(' ');
|
|
50
51
|
}
|
|
52
|
+
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
53
|
+
inputMethod: _analytics.INPUT_METHOD.AUTO_DETECT
|
|
54
|
+
});
|
|
51
55
|
if (skipAnalytics) {
|
|
52
56
|
return tr;
|
|
53
57
|
}
|
|
@@ -24,13 +24,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
24
24
|
* Wraps around the editor's onSubmit handler so that the plugin can interface with the link picker
|
|
25
25
|
*/
|
|
26
26
|
var onSubmitInterface = function onSubmitInterface(onSubmit) {
|
|
27
|
-
return function (_ref) {
|
|
27
|
+
return function (_ref, analytic) {
|
|
28
28
|
var url = _ref.url,
|
|
29
29
|
title = _ref.title,
|
|
30
30
|
displayText = _ref.displayText,
|
|
31
31
|
rawUrl = _ref.rawUrl,
|
|
32
32
|
meta = _ref.meta;
|
|
33
|
-
onSubmit(url, title !== null && title !== void 0 ? title : rawUrl, displayText || undefined, meta.inputMethod === 'manual' ? _types.INPUT_METHOD.MANUAL : _types.INPUT_METHOD.TYPEAHEAD);
|
|
33
|
+
onSubmit(url, title !== null && title !== void 0 ? title : rawUrl, displayText || undefined, meta.inputMethod === 'manual' ? _types.INPUT_METHOD.MANUAL : _types.INPUT_METHOD.TYPEAHEAD, analytic);
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
36
|
var HyperlinkAddToolbar = /*#__PURE__*/function (_React$PureComponent) {
|
|
@@ -167,12 +167,6 @@ Object.defineProperty(exports, "fakeTextCursorPlugin", {
|
|
|
167
167
|
return _fakeTextCursor.default;
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
|
-
Object.defineProperty(exports, "featureFlagsContextPlugin", {
|
|
171
|
-
enumerable: true,
|
|
172
|
-
get: function get() {
|
|
173
|
-
return _featureFlagsContext.default;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
170
|
Object.defineProperty(exports, "feedbackDialogPlugin", {
|
|
177
171
|
enumerable: true,
|
|
178
172
|
get: function get() {
|
|
@@ -470,7 +464,6 @@ var _customAutoformat = _interopRequireDefault(require("./custom-autoformat"));
|
|
|
470
464
|
var _feedbackDialog = _interopRequireDefault(require("./feedback-dialog"));
|
|
471
465
|
var _history = _interopRequireDefault(require("./history"));
|
|
472
466
|
var _caption = _interopRequireDefault(require("./caption"));
|
|
473
|
-
var _featureFlagsContext = _interopRequireDefault(require("./feature-flags-context"));
|
|
474
467
|
var _expand = _interopRequireWildcard(require("./expand"));
|
|
475
468
|
var _scrollIntoView = _interopRequireDefault(require("./scroll-into-view"));
|
|
476
469
|
var _mobileDimensions = _interopRequireDefault(require("./mobile-dimensions"));
|
|
@@ -47,7 +47,10 @@ function handleInsertBlockType(name) {
|
|
|
47
47
|
return (0, _commands.insertBlockTypesWithAnalytics)(name, _analytics.INPUT_METHOD.TOOLBAR);
|
|
48
48
|
}
|
|
49
49
|
var insertBlockPlugin = function insertBlockPlugin() {
|
|
50
|
+
var _api$dependencies, _api$dependencies$fea;
|
|
50
51
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
|
+
var api = arguments.length > 1 ? arguments[1] : undefined;
|
|
53
|
+
var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$fea = _api$dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
|
|
51
54
|
return {
|
|
52
55
|
name: 'insertBlock',
|
|
53
56
|
primaryToolbarComponent: function primaryToolbarComponent(_ref) {
|
|
@@ -129,7 +132,8 @@ var insertBlockPlugin = function insertBlockPlugin() {
|
|
|
129
132
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
130
133
|
replacePlusMenuWithElementBrowser: options.replacePlusMenuWithElementBrowser,
|
|
131
134
|
showElementBrowserLink: options.showElementBrowserLink,
|
|
132
|
-
showSeparator: !isLastItem && toolbarSize <= _types.ToolbarSize.S
|
|
135
|
+
showSeparator: !isLastItem && toolbarSize <= _types.ToolbarSize.S,
|
|
136
|
+
featureFlags: featureFlags
|
|
133
137
|
});
|
|
134
138
|
}
|
|
135
139
|
});
|
|
@@ -255,22 +255,24 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
255
255
|
};
|
|
256
256
|
});
|
|
257
257
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertHorizontalRule", function (inputMethod) {
|
|
258
|
+
var _this$props2 = _this.props,
|
|
259
|
+
_this$props2$editorVi = _this$props2.editorView,
|
|
260
|
+
state = _this$props2$editorVi.state,
|
|
261
|
+
dispatch = _this$props2$editorVi.dispatch,
|
|
262
|
+
featureFlags = _this$props2.featureFlags;
|
|
263
|
+
return (0, _commands5.insertHorizontalRule)(inputMethod, featureFlags)(state, dispatch);
|
|
264
|
+
});
|
|
265
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertExpand", function () {
|
|
258
266
|
var _this$props$editorVie2 = _this.props.editorView,
|
|
259
267
|
state = _this$props$editorVie2.state,
|
|
260
268
|
dispatch = _this$props$editorVie2.dispatch;
|
|
261
|
-
return (0, _commands5.insertHorizontalRule)(inputMethod)(state, dispatch);
|
|
262
|
-
});
|
|
263
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertExpand", function () {
|
|
264
|
-
var _this$props$editorVie3 = _this.props.editorView,
|
|
265
|
-
state = _this$props$editorVie3.state,
|
|
266
|
-
dispatch = _this$props$editorVie3.dispatch;
|
|
267
269
|
return (0, _commands3.insertExpand)(state, dispatch);
|
|
268
270
|
});
|
|
269
271
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "insertBlockType", function (itemName) {
|
|
270
272
|
return function () {
|
|
271
|
-
var _this$
|
|
272
|
-
editorView = _this$
|
|
273
|
-
onInsertBlockType = _this$
|
|
273
|
+
var _this$props3 = _this.props,
|
|
274
|
+
editorView = _this$props3.editorView,
|
|
275
|
+
onInsertBlockType = _this$props3.onInsertBlockType;
|
|
274
276
|
var state = editorView.state,
|
|
275
277
|
dispatch = editorView.dispatch;
|
|
276
278
|
onInsertBlockType(itemName)(state, dispatch);
|
|
@@ -289,11 +291,11 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
289
291
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onItemActivated", function (_ref2) {
|
|
290
292
|
var item = _ref2.item,
|
|
291
293
|
inputMethod = _ref2.inputMethod;
|
|
292
|
-
var _this$
|
|
293
|
-
editorView = _this$
|
|
294
|
-
editorActions = _this$
|
|
295
|
-
handleImageUpload = _this$
|
|
296
|
-
expandEnabled = _this$
|
|
294
|
+
var _this$props4 = _this.props,
|
|
295
|
+
editorView = _this$props4.editorView,
|
|
296
|
+
editorActions = _this$props4.editorActions,
|
|
297
|
+
handleImageUpload = _this$props4.handleImageUpload,
|
|
298
|
+
expandEnabled = _this$props4.expandEnabled;
|
|
297
299
|
|
|
298
300
|
// need to do this before inserting nodes so scrollIntoView works properly
|
|
299
301
|
if (!editorView.hasFocus()) {
|
|
@@ -409,12 +411,12 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
409
411
|
key: "renderPopup",
|
|
410
412
|
value: function renderPopup() {
|
|
411
413
|
var emojiPickerOpen = this.state.emojiPickerOpen;
|
|
412
|
-
var _this$
|
|
413
|
-
popupsMountPoint = _this$
|
|
414
|
-
popupsBoundariesElement = _this$
|
|
415
|
-
popupsScrollableElement = _this$
|
|
416
|
-
emojiProvider = _this$
|
|
417
|
-
replacePlusMenuWithElementBrowser = _this$
|
|
414
|
+
var _this$props5 = this.props,
|
|
415
|
+
popupsMountPoint = _this$props5.popupsMountPoint,
|
|
416
|
+
popupsBoundariesElement = _this$props5.popupsBoundariesElement,
|
|
417
|
+
popupsScrollableElement = _this$props5.popupsScrollableElement,
|
|
418
|
+
emojiProvider = _this$props5.emojiProvider,
|
|
419
|
+
replacePlusMenuWithElementBrowser = _this$props5.replacePlusMenuWithElementBrowser;
|
|
418
420
|
var dropdownEmoji = this.state.dropdownItems.some(function (_ref4) {
|
|
419
421
|
var name = _ref4.value.name;
|
|
420
422
|
return name === 'emoji';
|
|
@@ -450,9 +452,9 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
450
452
|
buttons = _this$state.buttons,
|
|
451
453
|
dropdownItems = _this$state.dropdownItems,
|
|
452
454
|
emojiPickerOpen = _this$state.emojiPickerOpen;
|
|
453
|
-
var _this$
|
|
454
|
-
isDisabled = _this$
|
|
455
|
-
isReducedSpacing = _this$
|
|
455
|
+
var _this$props6 = this.props,
|
|
456
|
+
isDisabled = _this$props6.isDisabled,
|
|
457
|
+
isReducedSpacing = _this$props6.isReducedSpacing;
|
|
456
458
|
if (buttons.length === 0 && dropdownItems.length === 0) {
|
|
457
459
|
return null;
|
|
458
460
|
}
|