UNPKG

@atlaskit/editor-plugin-selection-extension

Version:

editor-plugin-selection-extension plugin for @atlaskit/editor-core

68 lines (67 loc) 3.47 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectionExtensionNestedDropdownMenu = void 0; var _react = _interopRequireDefault(require("react")); var _analytics = require("@atlaskit/editor-common/analytics"); var _blockMenu = require("@atlaskit/editor-common/block-menu"); var _editorToolbar = require("@atlaskit/editor-toolbar"); var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right")); var _platformFeatureFlags = require("@atlaskit/platform-feature-flags"); var _SelectionExtensionComponentContext = require("../SelectionExtensionComponentContext"); var _SelectionExtensionDropdownItem = require("./SelectionExtensionDropdownItem"); var ChildItems = function ChildItems(_ref) { var nestedDropdownMenu = _ref.nestedDropdownMenu; var childItems = nestedDropdownMenu.getMenuItems(); return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, childItems.map(function (dropdownItem) { return /*#__PURE__*/_react.default.createElement(_SelectionExtensionDropdownItem.SelectionExtensionDropdownItem, { key: dropdownItem.key || dropdownItem.label, dropdownItem: dropdownItem }); })); }; var SelectionExtensionNestedDropdownMenu = exports.SelectionExtensionNestedDropdownMenu = function SelectionExtensionNestedDropdownMenu(_ref2) { var nestedDropdownMenu = _ref2.nestedDropdownMenu; var IconComponent = nestedDropdownMenu.icon; var _useSelectionExtensio = (0, _SelectionExtensionComponentContext.useSelectionExtensionComponentContext)(), api = _useSelectionExtensio.api, extensionKey = _useSelectionExtensio.extensionKey, extensionSource = _useSelectionExtensio.extensionSource, extensionLocation = _useSelectionExtensio.extensionLocation; var handleClick = function handleClick() { var _api$analytics; (_api$analytics = api.analytics) === null || _api$analytics === void 0 || _api$analytics.actions.fireAnalyticsEvent({ action: _analytics.ACTION.CLICKED, actionSubject: _analytics.ACTION_SUBJECT.BUTTON, actionSubjectId: _analytics.ACTION_SUBJECT_ID.EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN, eventType: _analytics.EVENT_TYPE.TRACK, attributes: { extensionKey: extensionKey, extensionSource: extensionSource, extensionLocation: extensionLocation, extensionElement: 'nested-dropdown', extensionItemKey: nestedDropdownMenu.key } }); }; return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarNestedDropdownMenu, { testId: _blockMenu.EXTENSION_MENU_ITEM_TEST_ID, text: nestedDropdownMenu.label, elemBefore: IconComponent ? /*#__PURE__*/_react.default.createElement(IconComponent, { label: "", size: "small" }) : undefined, elemAfter: /*#__PURE__*/_react.default.createElement(_chevronRight.default, { label: "", size: "small" }), onClick: handleClick, dropdownTestId: "editor-selection-extension-menu", shouldTitleWrap: (0, _platformFeatureFlags.fg)('platform_editor_block_menu_v2_patch_2') ? false : undefined, tooltipContent: (0, _platformFeatureFlags.fg)('platform_editor_block_menu_v2_patch_2') ? nestedDropdownMenu.label : undefined }, /*#__PURE__*/_react.default.createElement(ChildItems, { nestedDropdownMenu: nestedDropdownMenu })); };