UNPKG

@atlaskit/editor-plugin-user-preferences

Version:

UserPreferences plugin for @atlaskit/editor-core

65 lines (64 loc) 2.17 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics'; import { logException } from '@atlaskit/editor-common/monitoring'; import { userPreferencesPluginKey } from './main'; export var overrideUserPreference = function overrideUserPreference(_ref) { var key = _ref.key, value = _ref.value; return function (_ref2) { var tr = _ref2.tr; tr.setMeta(userPreferencesPluginKey, { override: { key: key, value: value } }); return tr; }; }; export var clearOverrideUserPreference = function clearOverrideUserPreference(_ref3) { var key = _ref3.key; return function (_ref4) { var tr = _ref4.tr; tr.setMeta(userPreferencesPluginKey, { override: { key: key, value: null } }); return tr; }; }; export var updateUserPreference = function updateUserPreference(_ref5) { var key = _ref5.key, value = _ref5.value, userPreferencesProvider = _ref5.userPreferencesProvider, editorAnalyticsApi = _ref5.editorAnalyticsApi; return function (_ref6) { var tr = _ref6.tr; try { userPreferencesProvider === null || userPreferencesProvider === void 0 || userPreferencesProvider.updatePreference(key, value); } catch (error) { logException(error, { location: 'editor-plugin-user-preferences/userPreferencesPlugin' }); } // If the userPreferencesProvider is not available, // the plugin's state will be updated to operate in 'in memory' mode. tr.setMeta(userPreferencesPluginKey, { preferences: _defineProperty({}, key, value) }); if (key === 'toolbarDockingPosition') { editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({ action: ACTION.UPDATED, actionSubject: ACTION_SUBJECT.USER_PREFERENCES, actionSubjectId: ACTION_SUBJECT_ID.SELECTION_TOOLBAR_PREFERENCES, attributes: { toolbarDocking: value }, eventType: EVENT_TYPE.TRACK })(tr); } return tr; }; };