@atlaskit/editor-plugin-track-changes 6.0.1 → 6.0.2

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-plugin-track-changes
2
2
 
3
+ ## 6.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`819348f0857f5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/819348f0857f5) -
8
+ [ux] [EDITOR-3769] added shortcut to track changes button
9
+ - Updated dependencies
10
+
3
11
  ## 6.0.1
4
12
 
5
13
  ### Patch Changes
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.keymapPlugin = keymapPlugin;
7
+ var _browser = require("@atlaskit/editor-common/browser");
8
+ var _keymaps = require("@atlaskit/editor-common/keymaps");
9
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
10
+ var _keymap = require("@atlaskit/editor-prosemirror/keymap");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
+ function keymapPlugin(api) {
13
+ var list = {};
14
+ var browser = (0, _browser.getBrowserInfo)();
15
+
16
+ // Exclude Firefox browser from keyboard shortcut
17
+ if (!browser.gecko && (0, _platformFeatureFlags.fg)('platform_editor_ai_aifc_patch_ga_blockers')) {
18
+ (0, _keymaps.bindKeymapWithCommand)(
19
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20
+ _keymaps.toggleViewChanges.common, function () {
21
+ var _api$trackChanges, _api$trackChanges2;
22
+ var isShowDiffAvailable = api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 || (_api$trackChanges = _api$trackChanges.sharedState.currentState()) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.isShowDiffAvailable;
23
+ if (!isShowDiffAvailable) {
24
+ return false;
25
+ }
26
+ var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges2 = api.trackChanges) === null || _api$trackChanges2 === void 0 ? void 0 : _api$trackChanges2.commands.toggleChanges);
27
+ return result !== null && result !== void 0 ? result : false;
28
+ }, list);
29
+ }
30
+ return new _safePlugin.SafePlugin({
31
+ props: {
32
+ handleKeyDown: function handleKeyDown(view, event) {
33
+ var keyboardEvent = (0, _keymaps.isCapsLockOnAndModifyKeyboardEvent)(event);
34
+ return (0, _keymap.keydownHandler)(list)(view, keyboardEvent);
35
+ }
36
+ }
37
+ });
38
+ }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.trackChangesPlugin = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _keymaps = require("./pm-plugins/keymaps");
9
10
  var _main = require("./pm-plugins/main");
10
11
  var _types = require("./pm-plugins/types");
11
12
  var _toolbarComponents = require("./ui/toolbar-components");
@@ -35,6 +36,11 @@ var trackChangesPlugin = exports.trackChangesPlugin = function trackChangesPlugi
35
36
  name: 'trackChanges',
36
37
  pmPlugins: function pmPlugins() {
37
38
  return [{
39
+ name: 'trackChangesKeyMap',
40
+ plugin: function plugin() {
41
+ return (0, _keymaps.keymapPlugin)(api);
42
+ }
43
+ }, {
38
44
  name: 'trackChangesPlugin',
39
45
  plugin: function plugin() {
40
46
  return (0, _main.createTrackChangesPlugin)(api);
@@ -8,9 +8,12 @@ exports.TrackChangesToolbarButton = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntlNext = require("react-intl-next");
10
10
  var _new = require("@atlaskit/button/new");
11
+ var _browser = require("@atlaskit/editor-common/browser");
11
12
  var _hooks = require("@atlaskit/editor-common/hooks");
13
+ var _keymaps = require("@atlaskit/editor-common/keymaps");
12
14
  var _messages = require("@atlaskit/editor-common/messages");
13
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
17
  var TrackChangesToolbarButton = exports.TrackChangesToolbarButton = function TrackChangesToolbarButton(_ref) {
15
18
  var api = _ref.api,
16
19
  Wrapper = _ref.wrapper;
@@ -35,9 +38,16 @@ var TrackChangesToolbarButton = exports.TrackChangesToolbarButton = function Tra
35
38
  api === null || api === void 0 || api.core.actions.focus();
36
39
  }
37
40
  }, [api, isDisplayingChanges]);
41
+ var browser = (0, _browser.getBrowserInfo)();
42
+ // Exclude Firefox browser from showing keyboard shortcut in tooltip
43
+ var showShortcut = !browser.gecko && (0, _platformFeatureFlags.fg)('platform_editor_ai_aifc_patch_ga_blockers');
44
+ var tooltipContent = showShortcut ? /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
45
+ description: formatMessage(_messages.trackChangesMessages.toolbarIconLabel),
46
+ keymap: _keymaps.toggleViewChanges
47
+ }) : formatMessage(_messages.trackChangesMessages.toolbarIconLabel);
38
48
  if (!isToolbarAIFCEnabled) {
39
49
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarTooltip, {
40
- content: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
50
+ content: tooltipContent
41
51
  }, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
42
52
  icon: _editorToolbar.HistoryIcon,
43
53
  label: formatMessage(_messages.trackChangesMessages.toolbarIconLabel),
@@ -48,7 +58,7 @@ var TrackChangesToolbarButton = exports.TrackChangesToolbarButton = function Tra
48
58
  }));
49
59
  }
50
60
  var button = /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarTooltip, {
51
- content: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
61
+ content: tooltipContent
52
62
  }, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarButton, {
53
63
  iconBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.HistoryIcon, {
54
64
  label: formatMessage(_messages.trackChangesMessages.toolbarIconLabel),
@@ -0,0 +1,32 @@
1
+ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
2
+ import { bindKeymapWithCommand, isCapsLockOnAndModifyKeyboardEvent, toggleViewChanges } from '@atlaskit/editor-common/keymaps';
3
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
4
+ import { keydownHandler } from '@atlaskit/editor-prosemirror/keymap';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
+ export function keymapPlugin(api) {
7
+ const list = {};
8
+ const browser = getBrowserInfo();
9
+
10
+ // Exclude Firefox browser from keyboard shortcut
11
+ if (!browser.gecko && fg('platform_editor_ai_aifc_patch_ga_blockers')) {
12
+ bindKeymapWithCommand(
13
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
+ toggleViewChanges.common, () => {
15
+ var _api$trackChanges, _api$trackChanges$sha, _api$trackChanges2;
16
+ const isShowDiffAvailable = api === null || api === void 0 ? void 0 : (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : (_api$trackChanges$sha = _api$trackChanges.sharedState.currentState()) === null || _api$trackChanges$sha === void 0 ? void 0 : _api$trackChanges$sha.isShowDiffAvailable;
17
+ if (!isShowDiffAvailable) {
18
+ return false;
19
+ }
20
+ const result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 ? void 0 : (_api$trackChanges2 = api.trackChanges) === null || _api$trackChanges2 === void 0 ? void 0 : _api$trackChanges2.commands.toggleChanges);
21
+ return result !== null && result !== void 0 ? result : false;
22
+ }, list);
23
+ }
24
+ return new SafePlugin({
25
+ props: {
26
+ handleKeyDown(view, event) {
27
+ const keyboardEvent = isCapsLockOnAndModifyKeyboardEvent(event);
28
+ return keydownHandler(list)(view, keyboardEvent);
29
+ }
30
+ }
31
+ });
32
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { keymapPlugin } from './pm-plugins/keymaps';
2
3
  import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
3
4
  import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
4
5
  import { getToolbarComponents } from './ui/toolbar-components';
@@ -29,6 +30,9 @@ export const trackChangesPlugin = ({
29
30
  name: 'trackChanges',
30
31
  pmPlugins() {
31
32
  return [{
33
+ name: 'trackChangesKeyMap',
34
+ plugin: () => keymapPlugin(api)
35
+ }, {
32
36
  name: 'trackChangesPlugin',
33
37
  plugin: () => createTrackChangesPlugin(api)
34
38
  }];
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import { IconButton } from '@atlaskit/button/new';
4
+ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
4
5
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
6
+ import { toggleViewChanges, ToolTipContent } from '@atlaskit/editor-common/keymaps';
5
7
  import { trackChangesMessages } from '@atlaskit/editor-common/messages';
6
8
  import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
7
10
  export const TrackChangesToolbarButton = ({
8
11
  api,
9
12
  wrapper: Wrapper
@@ -31,9 +34,16 @@ export const TrackChangesToolbarButton = ({
31
34
  api === null || api === void 0 ? void 0 : api.core.actions.focus();
32
35
  }
33
36
  }, [api, isDisplayingChanges]);
37
+ const browser = getBrowserInfo();
38
+ // Exclude Firefox browser from showing keyboard shortcut in tooltip
39
+ const showShortcut = !browser.gecko && fg('platform_editor_ai_aifc_patch_ga_blockers');
40
+ const tooltipContent = showShortcut ? /*#__PURE__*/React.createElement(ToolTipContent, {
41
+ description: formatMessage(trackChangesMessages.toolbarIconLabel),
42
+ keymap: toggleViewChanges
43
+ }) : formatMessage(trackChangesMessages.toolbarIconLabel);
34
44
  if (!isToolbarAIFCEnabled) {
35
45
  return /*#__PURE__*/React.createElement(ToolbarTooltip, {
36
- content: formatMessage(trackChangesMessages.toolbarIconLabel)
46
+ content: tooltipContent
37
47
  }, /*#__PURE__*/React.createElement(IconButton, {
38
48
  icon: HistoryIcon,
39
49
  label: formatMessage(trackChangesMessages.toolbarIconLabel),
@@ -44,7 +54,7 @@ export const TrackChangesToolbarButton = ({
44
54
  }));
45
55
  }
46
56
  const button = /*#__PURE__*/React.createElement(ToolbarTooltip, {
47
- content: formatMessage(trackChangesMessages.toolbarIconLabel)
57
+ content: tooltipContent
48
58
  }, /*#__PURE__*/React.createElement(ToolbarButton, {
49
59
  iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
50
60
  label: formatMessage(trackChangesMessages.toolbarIconLabel),
@@ -0,0 +1,32 @@
1
+ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
2
+ import { bindKeymapWithCommand, isCapsLockOnAndModifyKeyboardEvent, toggleViewChanges } from '@atlaskit/editor-common/keymaps';
3
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
4
+ import { keydownHandler } from '@atlaskit/editor-prosemirror/keymap';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
+ export function keymapPlugin(api) {
7
+ var list = {};
8
+ var browser = getBrowserInfo();
9
+
10
+ // Exclude Firefox browser from keyboard shortcut
11
+ if (!browser.gecko && fg('platform_editor_ai_aifc_patch_ga_blockers')) {
12
+ bindKeymapWithCommand(
13
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
+ toggleViewChanges.common, function () {
15
+ var _api$trackChanges, _api$trackChanges2;
16
+ var isShowDiffAvailable = api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 || (_api$trackChanges = _api$trackChanges.sharedState.currentState()) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.isShowDiffAvailable;
17
+ if (!isShowDiffAvailable) {
18
+ return false;
19
+ }
20
+ var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges2 = api.trackChanges) === null || _api$trackChanges2 === void 0 ? void 0 : _api$trackChanges2.commands.toggleChanges);
21
+ return result !== null && result !== void 0 ? result : false;
22
+ }, list);
23
+ }
24
+ return new SafePlugin({
25
+ props: {
26
+ handleKeyDown: function handleKeyDown(view, event) {
27
+ var keyboardEvent = isCapsLockOnAndModifyKeyboardEvent(event);
28
+ return keydownHandler(list)(view, keyboardEvent);
29
+ }
30
+ }
31
+ });
32
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { keymapPlugin } from './pm-plugins/keymaps';
2
3
  import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
3
4
  import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
4
5
  import { getToolbarComponents } from './ui/toolbar-components';
@@ -28,6 +29,11 @@ export var trackChangesPlugin = function trackChangesPlugin(_ref) {
28
29
  name: 'trackChanges',
29
30
  pmPlugins: function pmPlugins() {
30
31
  return [{
32
+ name: 'trackChangesKeyMap',
33
+ plugin: function plugin() {
34
+ return keymapPlugin(api);
35
+ }
36
+ }, {
31
37
  name: 'trackChangesPlugin',
32
38
  plugin: function plugin() {
33
39
  return createTrackChangesPlugin(api);
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import { IconButton } from '@atlaskit/button/new';
4
+ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
4
5
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
6
+ import { toggleViewChanges, ToolTipContent } from '@atlaskit/editor-common/keymaps';
5
7
  import { trackChangesMessages } from '@atlaskit/editor-common/messages';
6
8
  import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
7
10
  export var TrackChangesToolbarButton = function TrackChangesToolbarButton(_ref) {
8
11
  var api = _ref.api,
9
12
  Wrapper = _ref.wrapper;
@@ -28,9 +31,16 @@ export var TrackChangesToolbarButton = function TrackChangesToolbarButton(_ref)
28
31
  api === null || api === void 0 || api.core.actions.focus();
29
32
  }
30
33
  }, [api, isDisplayingChanges]);
34
+ var browser = getBrowserInfo();
35
+ // Exclude Firefox browser from showing keyboard shortcut in tooltip
36
+ var showShortcut = !browser.gecko && fg('platform_editor_ai_aifc_patch_ga_blockers');
37
+ var tooltipContent = showShortcut ? /*#__PURE__*/React.createElement(ToolTipContent, {
38
+ description: formatMessage(trackChangesMessages.toolbarIconLabel),
39
+ keymap: toggleViewChanges
40
+ }) : formatMessage(trackChangesMessages.toolbarIconLabel);
31
41
  if (!isToolbarAIFCEnabled) {
32
42
  return /*#__PURE__*/React.createElement(ToolbarTooltip, {
33
- content: formatMessage(trackChangesMessages.toolbarIconLabel)
43
+ content: tooltipContent
34
44
  }, /*#__PURE__*/React.createElement(IconButton, {
35
45
  icon: HistoryIcon,
36
46
  label: formatMessage(trackChangesMessages.toolbarIconLabel),
@@ -41,7 +51,7 @@ export var TrackChangesToolbarButton = function TrackChangesToolbarButton(_ref)
41
51
  }));
42
52
  }
43
53
  var button = /*#__PURE__*/React.createElement(ToolbarTooltip, {
44
- content: formatMessage(trackChangesMessages.toolbarIconLabel)
54
+ content: tooltipContent
45
55
  }, /*#__PURE__*/React.createElement(ToolbarButton, {
46
56
  iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
47
57
  label: formatMessage(trackChangesMessages.toolbarIconLabel),
@@ -0,0 +1,4 @@
1
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { TrackChangesPlugin } from '../trackChangesPluginType';
4
+ export declare function keymapPlugin(api?: ExtractInjectionAPI<TrackChangesPlugin>): SafePlugin;
@@ -0,0 +1,4 @@
1
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { TrackChangesPlugin } from '../trackChangesPluginType';
4
+ export declare function keymapPlugin(api?: ExtractInjectionAPI<TrackChangesPlugin>): SafePlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-track-changes",
3
- "version": "6.0.1",
3
+ "version": "6.0.2",
4
4
  "description": "ShowDiff plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -45,11 +45,15 @@
45
45
  "react": "^18.2.0"
46
46
  },
47
47
  "featureGates": [
48
- "platform_editor_toolbar_aifc_undo_redo_confluence"
48
+ "platform_editor_toolbar_aifc_undo_redo_confluence",
49
+ "platform_editor_ai_aifc_patch_ga_blockers"
49
50
  ],
50
51
  "platform-feature-flags": {
51
52
  "platform_editor_toolbar_aifc_undo_redo_confluence": {
52
53
  "type": "boolean"
54
+ },
55
+ "platform_editor_ai_aifc_patch_ga_blockers": {
56
+ "type": "boolean"
53
57
  }
54
58
  },
55
59
  "techstack": {