@atlaskit/editor-plugin-selection-toolbar
Version:
@atlaskit/editor-plugin-selection-toolbar for @atlaskit/editor-core
56 lines (55 loc) • 2.96 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getPinOptionToolbarConfig = void 0;
var _react = _interopRequireDefault(require("react"));
var _messages = require("@atlaskit/editor-common/messages");
var _editorPluginConnectivity = require("@atlaskit/editor-plugin-connectivity");
var _pin = _interopRequireDefault(require("@atlaskit/icon/core/pin"));
var _pinFilled = _interopRequireDefault(require("@atlaskit/icon/core/pin-filled"));
var getPinOptionToolbarConfig = exports.getPinOptionToolbarConfig = function getPinOptionToolbarConfig(_ref) {
var _api$connectivity;
var api = _ref.api,
toolbarDocking = _ref.toolbarDocking,
intl = _ref.intl;
var isOffline = (0, _editorPluginConnectivity.isOfflineMode)(api === null || api === void 0 || (_api$connectivity = api.connectivity) === null || _api$connectivity === void 0 || (_api$connectivity = _api$connectivity.sharedState.currentState()) === null || _api$connectivity === void 0 ? void 0 : _api$connectivity.mode);
var pinButton = {
disabled: isOffline,
id: 'editor.toolbar.unpined',
icon: function icon() {
return /*#__PURE__*/_react.default.createElement(_pin.default, {
label: ""
});
},
onClick: function onClick() {
var _api$core$actions$exe, _api$userPreferences;
return (_api$core$actions$exe = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$userPreferences = api.userPreferences) === null || _api$userPreferences === void 0 ? void 0 : _api$userPreferences.actions.updateUserPreference('toolbarDockingPosition', 'top'))) !== null && _api$core$actions$exe !== void 0 ? _api$core$actions$exe : false;
},
title: intl.formatMessage(_messages.selectionToolbarMessages.toolbarPositionUnpined),
type: 'button'
};
var isDockedToTop = toolbarDocking === 'top';
if (isDockedToTop) {
pinButton = {
disabled: isOffline,
id: 'editor.toolbar.pinedToTop',
icon: function icon() {
return /*#__PURE__*/_react.default.createElement(_pinFilled.default, {
label: ""
});
},
onClick: function onClick() {
var _api$core$actions$exe2, _api$userPreferences2;
return (_api$core$actions$exe2 = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$userPreferences2 = api.userPreferences) === null || _api$userPreferences2 === void 0 ? void 0 : _api$userPreferences2.actions.updateUserPreference('toolbarDockingPosition', 'none'))) !== null && _api$core$actions$exe2 !== void 0 ? _api$core$actions$exe2 : false;
},
type: 'button',
title: intl.formatMessage(_messages.selectionToolbarMessages.toolbarPositionPinedAtTop)
};
}
return [{
type: 'separator',
fullHeight: true
}, pinButton];
};