@atlaskit/editor-plugin-track-changes 2.6.4 → 2.7.1
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 +18 -0
- package/afm-cc/tsconfig.json +12 -0
- package/afm-dev-agents/tsconfig.json +12 -0
- package/afm-jira/tsconfig.json +12 -0
- package/afm-passionfruit/tsconfig.json +12 -0
- package/afm-post-office/tsconfig.json +12 -0
- package/afm-rovo-extension/tsconfig.json +12 -0
- package/afm-townsquare/tsconfig.json +12 -0
- package/dist/cjs/trackChangesPlugin.js +12 -5
- package/dist/cjs/ui/TrackChangesButtonNew.js +45 -0
- package/dist/cjs/ui/toolbar-components.js +42 -0
- package/dist/es2019/trackChangesPlugin.js +12 -5
- package/dist/es2019/ui/TrackChangesButtonNew.js +41 -0
- package/dist/es2019/ui/toolbar-components.js +33 -0
- package/dist/esm/trackChangesPlugin.js +12 -5
- package/dist/esm/ui/TrackChangesButtonNew.js +38 -0
- package/dist/esm/ui/toolbar-components.js +35 -0
- package/dist/types/trackChangesPluginType.d.ts +3 -1
- package/dist/types/ui/TrackChangesButtonNew.d.ts +8 -0
- package/dist/types/ui/toolbar-components.d.ts +4 -0
- package/dist/types-ts4.5/trackChangesPluginType.d.ts +3 -1
- package/dist/types-ts4.5/ui/TrackChangesButtonNew.d.ts +8 -0
- package/dist/types-ts4.5/ui/toolbar-components.d.ts +4 -0
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-track-changes
|
|
2
2
|
|
|
3
|
+
## 2.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 2.7.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`f78a34afab8d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f78a34afab8d4) -
|
|
14
|
+
[ux] ED-28961 register undo redo and track changes buttons to new toolbar behind
|
|
15
|
+
platform_editor_toolbar_aifc. adds ai buttons into comment toolbar.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
|
|
3
21
|
## 2.6.4
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-cc/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-cc/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-cc/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-cc/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-cc/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-cc/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-cc/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-dev-agents/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-dev-agents/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-dev-agents/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-dev-agents/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-dev-agents/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-dev-agents/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-dev-agents/tsconfig.json"
|
|
42
54
|
}
|
package/afm-jira/tsconfig.json
CHANGED
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-jira/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-jira/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-jira/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-jira/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-jira/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-jira/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-jira/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-passionfruit/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-passionfruit/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-passionfruit/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-passionfruit/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-passionfruit/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-passionfruit/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-passionfruit/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-post-office/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-post-office/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-post-office/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-post-office/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-post-office/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-post-office/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-post-office/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-rovo-extension/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-rovo-extension/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-rovo-extension/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-rovo-extension/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-rovo-extension/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-rovo-extension/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-rovo-extension/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -34,9 +34,21 @@
|
|
|
34
34
|
{
|
|
35
35
|
"path": "../../editor-plugin-show-diff/afm-townsquare/tsconfig.json"
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
"path": "../../editor-plugin-toolbar/afm-townsquare/tsconfig.json"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "../../editor-toolbar/afm-townsquare/tsconfig.json"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../../editor-toolbar-model/afm-townsquare/tsconfig.json"
|
|
45
|
+
},
|
|
37
46
|
{
|
|
38
47
|
"path": "../../../design-system/icon-lab/afm-townsquare/tsconfig.json"
|
|
39
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"path": "../../tmp-editor-statsig/afm-townsquare/tsconfig.json"
|
|
51
|
+
},
|
|
40
52
|
{
|
|
41
53
|
"path": "../../editor-common/afm-townsquare/tsconfig.json"
|
|
42
54
|
}
|
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.trackChangesPlugin = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
9
10
|
var _main = require("./pm-plugins/main");
|
|
10
11
|
var _types = require("./pm-plugins/types");
|
|
12
|
+
var _toolbarComponents = require("./ui/toolbar-components");
|
|
11
13
|
var _TrackChangesToolbarButton = require("./ui/TrackChangesToolbarButton");
|
|
12
14
|
var trackChangesPlugin = exports.trackChangesPlugin = function trackChangesPlugin(_ref) {
|
|
13
15
|
var api = _ref.api,
|
|
@@ -18,11 +20,16 @@ var trackChangesPlugin = exports.trackChangesPlugin = function trackChangesPlugi
|
|
|
18
20
|
});
|
|
19
21
|
};
|
|
20
22
|
if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true)) {
|
|
24
|
+
var _api$toolbar;
|
|
25
|
+
api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents((0, _toolbarComponents.getToolbarComponents)(api));
|
|
26
|
+
} else {
|
|
27
|
+
var _api$primaryToolbar;
|
|
28
|
+
api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
|
|
29
|
+
name: 'trackChanges',
|
|
30
|
+
component: primaryToolbarComponent
|
|
31
|
+
});
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
return {
|
|
28
35
|
name: 'trackChanges',
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TrackChangesButtonNew = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactIntlNext = require("react-intl-next");
|
|
10
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
11
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
12
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
13
|
+
var TrackChangesButtonNew = exports.TrackChangesButtonNew = function TrackChangesButtonNew(_ref) {
|
|
14
|
+
var api = _ref.api;
|
|
15
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['trackChanges'], function (states) {
|
|
16
|
+
var _states$trackChangesS, _states$trackChangesS2;
|
|
17
|
+
return {
|
|
18
|
+
isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
|
|
19
|
+
isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
|
|
20
|
+
};
|
|
21
|
+
}),
|
|
22
|
+
isDisplayingChanges = _useSharedPluginState.isDisplayingChanges,
|
|
23
|
+
isShowDiffAvailable = _useSharedPluginState.isShowDiffAvailable;
|
|
24
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
25
|
+
formatMessage = _useIntl.formatMessage;
|
|
26
|
+
var handleClick = _react.default.useCallback(function () {
|
|
27
|
+
var _api$trackChanges;
|
|
28
|
+
var wasShowingDiffSelected = isDisplayingChanges;
|
|
29
|
+
var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
|
|
30
|
+
// On de-selection - focus back on the editor
|
|
31
|
+
if (result && wasShowingDiffSelected) {
|
|
32
|
+
api === null || api === void 0 || api.core.actions.focus();
|
|
33
|
+
}
|
|
34
|
+
}, [api, isDisplayingChanges]);
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarTooltip, {
|
|
36
|
+
content: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarButton, {
|
|
38
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.HistoryIcon, {
|
|
39
|
+
label: formatMessage(_messages.trackChangesMessages.toolbarIconLabel)
|
|
40
|
+
}),
|
|
41
|
+
onClick: handleClick,
|
|
42
|
+
isDisabled: !isShowDiffAvailable,
|
|
43
|
+
isSelected: isDisplayingChanges
|
|
44
|
+
}));
|
|
45
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getToolbarComponents = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _toolbar = require("@atlaskit/editor-common/toolbar");
|
|
10
|
+
var _TrackChangesButtonNew = require("./TrackChangesButtonNew");
|
|
11
|
+
var getToolbarComponents = exports.getToolbarComponents = function getToolbarComponents(api) {
|
|
12
|
+
return [{
|
|
13
|
+
type: _toolbar.TRACK_CHANGES_SECTION.type,
|
|
14
|
+
key: _toolbar.TRACK_CHANGES_SECTION.key,
|
|
15
|
+
parents: [{
|
|
16
|
+
type: 'toolbar',
|
|
17
|
+
key: _toolbar.TOOLBARS.PRIMARY_TOOLBAR,
|
|
18
|
+
rank: _toolbar.TOOLBAR_RANK[_toolbar.TRACK_CHANGES_SECTION.key]
|
|
19
|
+
}]
|
|
20
|
+
}, {
|
|
21
|
+
type: _toolbar.TRACK_CHANGES_GROUP.type,
|
|
22
|
+
key: _toolbar.TRACK_CHANGES_GROUP.key,
|
|
23
|
+
parents: [{
|
|
24
|
+
type: _toolbar.TRACK_CHANGES_SECTION.type,
|
|
25
|
+
key: _toolbar.TRACK_CHANGES_SECTION.key,
|
|
26
|
+
rank: _toolbar.TRACK_CHANGES_SECTION_RANK[_toolbar.TRACK_CHANGES_GROUP.key]
|
|
27
|
+
}]
|
|
28
|
+
}, {
|
|
29
|
+
type: _toolbar.TRACK_CHANGES_BUTTON.type,
|
|
30
|
+
key: _toolbar.TRACK_CHANGES_BUTTON.key,
|
|
31
|
+
parents: [{
|
|
32
|
+
type: _toolbar.TRACK_CHANGES_GROUP.type,
|
|
33
|
+
key: _toolbar.TRACK_CHANGES_GROUP.key,
|
|
34
|
+
rank: _toolbar.TRACK_CHANGES_GROUP_RANK[_toolbar.TRACK_CHANGES_BUTTON.key]
|
|
35
|
+
}],
|
|
36
|
+
component: function component() {
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_TrackChangesButtonNew.TrackChangesButtonNew, {
|
|
38
|
+
api: api
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}];
|
|
42
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
2
3
|
import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
|
|
3
4
|
import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
|
|
5
|
+
import { getToolbarComponents } from './ui/toolbar-components';
|
|
4
6
|
import { TrackChangesToolbarButton } from './ui/TrackChangesToolbarButton';
|
|
5
7
|
export const trackChangesPlugin = ({
|
|
6
8
|
api,
|
|
@@ -12,11 +14,16 @@ export const trackChangesPlugin = ({
|
|
|
12
14
|
});
|
|
13
15
|
};
|
|
14
16
|
if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
if (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true)) {
|
|
18
|
+
var _api$toolbar;
|
|
19
|
+
api === null || api === void 0 ? void 0 : (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 ? void 0 : _api$toolbar.actions.registerComponents(getToolbarComponents(api));
|
|
20
|
+
} else {
|
|
21
|
+
var _api$primaryToolbar, _api$primaryToolbar$a;
|
|
22
|
+
api === null || api === void 0 ? void 0 : (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 ? void 0 : (_api$primaryToolbar$a = _api$primaryToolbar.actions) === null || _api$primaryToolbar$a === void 0 ? void 0 : _api$primaryToolbar$a.registerComponent({
|
|
23
|
+
name: 'trackChanges',
|
|
24
|
+
component: primaryToolbarComponent
|
|
25
|
+
});
|
|
26
|
+
}
|
|
20
27
|
}
|
|
21
28
|
return {
|
|
22
29
|
name: 'trackChanges',
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl-next';
|
|
3
|
+
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
|
|
4
|
+
import { trackChangesMessages } from '@atlaskit/editor-common/messages';
|
|
5
|
+
import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
|
|
6
|
+
export const TrackChangesButtonNew = ({
|
|
7
|
+
api
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
10
|
+
isDisplayingChanges,
|
|
11
|
+
isShowDiffAvailable
|
|
12
|
+
} = useSharedPluginStateWithSelector(api, ['trackChanges'], states => {
|
|
13
|
+
var _states$trackChangesS, _states$trackChangesS2;
|
|
14
|
+
return {
|
|
15
|
+
isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
|
|
16
|
+
isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
const {
|
|
20
|
+
formatMessage
|
|
21
|
+
} = useIntl();
|
|
22
|
+
const handleClick = React.useCallback(() => {
|
|
23
|
+
var _api$trackChanges;
|
|
24
|
+
const wasShowingDiffSelected = isDisplayingChanges;
|
|
25
|
+
const result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 ? void 0 : (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
|
|
26
|
+
// On de-selection - focus back on the editor
|
|
27
|
+
if (result && wasShowingDiffSelected) {
|
|
28
|
+
api === null || api === void 0 ? void 0 : api.core.actions.focus();
|
|
29
|
+
}
|
|
30
|
+
}, [api, isDisplayingChanges]);
|
|
31
|
+
return /*#__PURE__*/React.createElement(ToolbarTooltip, {
|
|
32
|
+
content: formatMessage(trackChangesMessages.toolbarIconLabel)
|
|
33
|
+
}, /*#__PURE__*/React.createElement(ToolbarButton, {
|
|
34
|
+
iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
|
|
35
|
+
label: formatMessage(trackChangesMessages.toolbarIconLabel)
|
|
36
|
+
}),
|
|
37
|
+
onClick: handleClick,
|
|
38
|
+
isDisabled: !isShowDiffAvailable,
|
|
39
|
+
isSelected: isDisplayingChanges
|
|
40
|
+
}));
|
|
41
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TOOLBAR_RANK, TOOLBARS, TRACK_CHANGES_BUTTON, TRACK_CHANGES_GROUP, TRACK_CHANGES_GROUP_RANK, TRACK_CHANGES_SECTION, TRACK_CHANGES_SECTION_RANK } from "@atlaskit/editor-common/toolbar";
|
|
3
|
+
import { TrackChangesButtonNew } from "./TrackChangesButtonNew";
|
|
4
|
+
export const getToolbarComponents = api => {
|
|
5
|
+
return [{
|
|
6
|
+
type: TRACK_CHANGES_SECTION.type,
|
|
7
|
+
key: TRACK_CHANGES_SECTION.key,
|
|
8
|
+
parents: [{
|
|
9
|
+
type: 'toolbar',
|
|
10
|
+
key: TOOLBARS.PRIMARY_TOOLBAR,
|
|
11
|
+
rank: TOOLBAR_RANK[TRACK_CHANGES_SECTION.key]
|
|
12
|
+
}]
|
|
13
|
+
}, {
|
|
14
|
+
type: TRACK_CHANGES_GROUP.type,
|
|
15
|
+
key: TRACK_CHANGES_GROUP.key,
|
|
16
|
+
parents: [{
|
|
17
|
+
type: TRACK_CHANGES_SECTION.type,
|
|
18
|
+
key: TRACK_CHANGES_SECTION.key,
|
|
19
|
+
rank: TRACK_CHANGES_SECTION_RANK[TRACK_CHANGES_GROUP.key]
|
|
20
|
+
}]
|
|
21
|
+
}, {
|
|
22
|
+
type: TRACK_CHANGES_BUTTON.type,
|
|
23
|
+
key: TRACK_CHANGES_BUTTON.key,
|
|
24
|
+
parents: [{
|
|
25
|
+
type: TRACK_CHANGES_GROUP.type,
|
|
26
|
+
key: TRACK_CHANGES_GROUP.key,
|
|
27
|
+
rank: TRACK_CHANGES_GROUP_RANK[TRACK_CHANGES_BUTTON.key]
|
|
28
|
+
}],
|
|
29
|
+
component: () => /*#__PURE__*/React.createElement(TrackChangesButtonNew, {
|
|
30
|
+
api: api
|
|
31
|
+
})
|
|
32
|
+
}];
|
|
33
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
2
3
|
import { createTrackChangesPlugin, trackChangesPluginKey } from './pm-plugins/main';
|
|
3
4
|
import { TOGGLE_TRACK_CHANGES_ACTION as ACTION } from './pm-plugins/types';
|
|
5
|
+
import { getToolbarComponents } from './ui/toolbar-components';
|
|
4
6
|
import { TrackChangesToolbarButton } from './ui/TrackChangesToolbarButton';
|
|
5
7
|
export var trackChangesPlugin = function trackChangesPlugin(_ref) {
|
|
6
8
|
var api = _ref.api,
|
|
@@ -11,11 +13,16 @@ export var trackChangesPlugin = function trackChangesPlugin(_ref) {
|
|
|
11
13
|
});
|
|
12
14
|
};
|
|
13
15
|
if ((options === null || options === void 0 ? void 0 : options.showOnToolbar) === true) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
if (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true)) {
|
|
17
|
+
var _api$toolbar;
|
|
18
|
+
api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents(getToolbarComponents(api));
|
|
19
|
+
} else {
|
|
20
|
+
var _api$primaryToolbar;
|
|
21
|
+
api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || (_api$primaryToolbar = _api$primaryToolbar.actions) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.registerComponent({
|
|
22
|
+
name: 'trackChanges',
|
|
23
|
+
component: primaryToolbarComponent
|
|
24
|
+
});
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
27
|
return {
|
|
21
28
|
name: 'trackChanges',
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl-next';
|
|
3
|
+
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
|
|
4
|
+
import { trackChangesMessages } from '@atlaskit/editor-common/messages';
|
|
5
|
+
import { ToolbarButton, ToolbarTooltip, HistoryIcon } from '@atlaskit/editor-toolbar';
|
|
6
|
+
export var TrackChangesButtonNew = function TrackChangesButtonNew(_ref) {
|
|
7
|
+
var api = _ref.api;
|
|
8
|
+
var _useSharedPluginState = useSharedPluginStateWithSelector(api, ['trackChanges'], function (states) {
|
|
9
|
+
var _states$trackChangesS, _states$trackChangesS2;
|
|
10
|
+
return {
|
|
11
|
+
isDisplayingChanges: (_states$trackChangesS = states.trackChangesState) === null || _states$trackChangesS === void 0 ? void 0 : _states$trackChangesS.isDisplayingChanges,
|
|
12
|
+
isShowDiffAvailable: (_states$trackChangesS2 = states.trackChangesState) === null || _states$trackChangesS2 === void 0 ? void 0 : _states$trackChangesS2.isShowDiffAvailable
|
|
13
|
+
};
|
|
14
|
+
}),
|
|
15
|
+
isDisplayingChanges = _useSharedPluginState.isDisplayingChanges,
|
|
16
|
+
isShowDiffAvailable = _useSharedPluginState.isShowDiffAvailable;
|
|
17
|
+
var _useIntl = useIntl(),
|
|
18
|
+
formatMessage = _useIntl.formatMessage;
|
|
19
|
+
var handleClick = React.useCallback(function () {
|
|
20
|
+
var _api$trackChanges;
|
|
21
|
+
var wasShowingDiffSelected = isDisplayingChanges;
|
|
22
|
+
var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.commands.toggleChanges);
|
|
23
|
+
// On de-selection - focus back on the editor
|
|
24
|
+
if (result && wasShowingDiffSelected) {
|
|
25
|
+
api === null || api === void 0 || api.core.actions.focus();
|
|
26
|
+
}
|
|
27
|
+
}, [api, isDisplayingChanges]);
|
|
28
|
+
return /*#__PURE__*/React.createElement(ToolbarTooltip, {
|
|
29
|
+
content: formatMessage(trackChangesMessages.toolbarIconLabel)
|
|
30
|
+
}, /*#__PURE__*/React.createElement(ToolbarButton, {
|
|
31
|
+
iconBefore: /*#__PURE__*/React.createElement(HistoryIcon, {
|
|
32
|
+
label: formatMessage(trackChangesMessages.toolbarIconLabel)
|
|
33
|
+
}),
|
|
34
|
+
onClick: handleClick,
|
|
35
|
+
isDisabled: !isShowDiffAvailable,
|
|
36
|
+
isSelected: isDisplayingChanges
|
|
37
|
+
}));
|
|
38
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TOOLBAR_RANK, TOOLBARS, TRACK_CHANGES_BUTTON, TRACK_CHANGES_GROUP, TRACK_CHANGES_GROUP_RANK, TRACK_CHANGES_SECTION, TRACK_CHANGES_SECTION_RANK } from "@atlaskit/editor-common/toolbar";
|
|
3
|
+
import { TrackChangesButtonNew } from "./TrackChangesButtonNew";
|
|
4
|
+
export var getToolbarComponents = function getToolbarComponents(api) {
|
|
5
|
+
return [{
|
|
6
|
+
type: TRACK_CHANGES_SECTION.type,
|
|
7
|
+
key: TRACK_CHANGES_SECTION.key,
|
|
8
|
+
parents: [{
|
|
9
|
+
type: 'toolbar',
|
|
10
|
+
key: TOOLBARS.PRIMARY_TOOLBAR,
|
|
11
|
+
rank: TOOLBAR_RANK[TRACK_CHANGES_SECTION.key]
|
|
12
|
+
}]
|
|
13
|
+
}, {
|
|
14
|
+
type: TRACK_CHANGES_GROUP.type,
|
|
15
|
+
key: TRACK_CHANGES_GROUP.key,
|
|
16
|
+
parents: [{
|
|
17
|
+
type: TRACK_CHANGES_SECTION.type,
|
|
18
|
+
key: TRACK_CHANGES_SECTION.key,
|
|
19
|
+
rank: TRACK_CHANGES_SECTION_RANK[TRACK_CHANGES_GROUP.key]
|
|
20
|
+
}]
|
|
21
|
+
}, {
|
|
22
|
+
type: TRACK_CHANGES_BUTTON.type,
|
|
23
|
+
key: TRACK_CHANGES_BUTTON.key,
|
|
24
|
+
parents: [{
|
|
25
|
+
type: TRACK_CHANGES_GROUP.type,
|
|
26
|
+
key: TRACK_CHANGES_GROUP.key,
|
|
27
|
+
rank: TRACK_CHANGES_GROUP_RANK[TRACK_CHANGES_BUTTON.key]
|
|
28
|
+
}],
|
|
29
|
+
component: function component() {
|
|
30
|
+
return /*#__PURE__*/React.createElement(TrackChangesButtonNew, {
|
|
31
|
+
api: api
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}];
|
|
35
|
+
};
|
|
@@ -2,6 +2,7 @@ import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/
|
|
|
2
2
|
import type { HistoryPlugin } from '@atlaskit/editor-plugin-history';
|
|
3
3
|
import { type PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
|
|
4
4
|
import type { ShowDiffPlugin } from '@atlaskit/editor-plugin-show-diff';
|
|
5
|
+
import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
|
|
5
6
|
export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
|
|
6
7
|
commands: {
|
|
7
8
|
/**
|
|
@@ -25,7 +26,8 @@ export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
|
|
|
25
26
|
/**
|
|
26
27
|
* Show diff plugin for showing the changes in a diff view.
|
|
27
28
|
*/
|
|
28
|
-
ShowDiffPlugin
|
|
29
|
+
ShowDiffPlugin,
|
|
30
|
+
OptionalPlugin<ToolbarPlugin>
|
|
29
31
|
];
|
|
30
32
|
pluginConfiguration?: {
|
|
31
33
|
/**
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
3
|
+
import { type TrackChangesPlugin } from '../trackChangesPluginType';
|
|
4
|
+
type TrackChangesButtonNewProps = {
|
|
5
|
+
api?: ExtractInjectionAPI<TrackChangesPlugin>;
|
|
6
|
+
};
|
|
7
|
+
export declare const TrackChangesButtonNew: ({ api }: TrackChangesButtonNewProps) => React.JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ExtractInjectionAPI } from "@atlaskit/editor-common/types";
|
|
2
|
+
import type { RegisterComponent } from "@atlaskit/editor-toolbar-model";
|
|
3
|
+
import type { TrackChangesPlugin } from "../trackChangesPluginType";
|
|
4
|
+
export declare const getToolbarComponents: (api?: ExtractInjectionAPI<TrackChangesPlugin>) => RegisterComponent[];
|
|
@@ -2,6 +2,7 @@ import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/
|
|
|
2
2
|
import type { HistoryPlugin } from '@atlaskit/editor-plugin-history';
|
|
3
3
|
import { type PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
|
|
4
4
|
import type { ShowDiffPlugin } from '@atlaskit/editor-plugin-show-diff';
|
|
5
|
+
import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
|
|
5
6
|
export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
|
|
6
7
|
commands: {
|
|
7
8
|
/**
|
|
@@ -25,7 +26,8 @@ export type TrackChangesPlugin = NextEditorPlugin<'trackChanges', {
|
|
|
25
26
|
/**
|
|
26
27
|
* Show diff plugin for showing the changes in a diff view.
|
|
27
28
|
*/
|
|
28
|
-
ShowDiffPlugin
|
|
29
|
+
ShowDiffPlugin,
|
|
30
|
+
OptionalPlugin<ToolbarPlugin>
|
|
29
31
|
];
|
|
30
32
|
pluginConfiguration?: {
|
|
31
33
|
/**
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
3
|
+
import { type TrackChangesPlugin } from '../trackChangesPluginType';
|
|
4
|
+
type TrackChangesButtonNewProps = {
|
|
5
|
+
api?: ExtractInjectionAPI<TrackChangesPlugin>;
|
|
6
|
+
};
|
|
7
|
+
export declare const TrackChangesButtonNew: ({ api }: TrackChangesButtonNewProps) => React.JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ExtractInjectionAPI } from "@atlaskit/editor-common/types";
|
|
2
|
+
import type { RegisterComponent } from "@atlaskit/editor-toolbar-model";
|
|
3
|
+
import type { TrackChangesPlugin } from "../trackChangesPluginType";
|
|
4
|
+
export declare const getToolbarComponents: (api?: ExtractInjectionAPI<TrackChangesPlugin>) => RegisterComponent[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-track-changes",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.1",
|
|
4
4
|
"description": "ShowDiff plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -35,13 +35,17 @@
|
|
|
35
35
|
"@atlaskit/editor-plugin-history": "3.1.0",
|
|
36
36
|
"@atlaskit/editor-plugin-primary-toolbar": "^4.1.0",
|
|
37
37
|
"@atlaskit/editor-plugin-show-diff": "0.1.3",
|
|
38
|
+
"@atlaskit/editor-plugin-toolbar": "^0.3.0",
|
|
38
39
|
"@atlaskit/editor-prosemirror": "7.0.0",
|
|
40
|
+
"@atlaskit/editor-toolbar": "^0.3.0",
|
|
41
|
+
"@atlaskit/editor-toolbar-model": "^0.1.0",
|
|
39
42
|
"@atlaskit/icon-lab": "^5.6.0",
|
|
43
|
+
"@atlaskit/tmp-editor-statsig": "^11.3.0",
|
|
40
44
|
"@babel/runtime": "^7.0.0",
|
|
41
45
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
42
46
|
},
|
|
43
47
|
"peerDependencies": {
|
|
44
|
-
"@atlaskit/editor-common": "^107.
|
|
48
|
+
"@atlaskit/editor-common": "^107.26.0",
|
|
45
49
|
"react": "^18.2.0"
|
|
46
50
|
},
|
|
47
51
|
"techstack": {
|