@atlaskit/editor-plugin-track-changes 2.6.4 → 2.7.0
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 +12 -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,17 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-track-changes
|
|
2
2
|
|
|
3
|
+
## 2.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`f78a34afab8d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f78a34afab8d4) -
|
|
8
|
+
[ux] ED-28961 register undo redo and track changes buttons to new toolbar behind
|
|
9
|
+
platform_editor_toolbar_aifc. adds ai buttons into comment toolbar.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 2.6.4
|
|
4
16
|
|
|
5
17
|
### 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.0",
|
|
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.2.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": {
|