@atlaskit/renderer 115.0.2 → 115.0.4
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 +16 -0
- package/dist/cjs/ui/Renderer/index.js +1 -1
- package/dist/cjs/ui/annotations/contexts/AnnotationManagerContext.js +421 -0
- package/dist/cjs/ui/annotations/draft/component.js +13 -1
- package/dist/cjs/ui/annotations/element/index.js +38 -6
- package/dist/cjs/ui/annotations/element/mark.js +16 -0
- package/dist/cjs/ui/annotations/hooks/use-events.js +77 -27
- package/dist/cjs/ui/annotations/hooks/use-load-annotations.js +18 -2
- package/dist/cjs/ui/annotations/index.js +49 -12
- package/dist/cjs/ui/annotations/selection/mounter.js +177 -4
- package/dist/es2019/ui/Renderer/index.js +1 -1
- package/dist/es2019/ui/annotations/contexts/AnnotationManagerContext.js +416 -0
- package/dist/es2019/ui/annotations/draft/component.js +15 -3
- package/dist/es2019/ui/annotations/element/index.js +39 -6
- package/dist/es2019/ui/annotations/element/mark.js +18 -0
- package/dist/es2019/ui/annotations/hooks/use-events.js +85 -28
- package/dist/es2019/ui/annotations/hooks/use-load-annotations.js +19 -2
- package/dist/es2019/ui/annotations/index.js +47 -10
- package/dist/es2019/ui/annotations/selection/mounter.js +177 -6
- package/dist/esm/ui/Renderer/index.js +1 -1
- package/dist/esm/ui/annotations/contexts/AnnotationManagerContext.js +411 -0
- package/dist/esm/ui/annotations/draft/component.js +14 -3
- package/dist/esm/ui/annotations/element/index.js +38 -6
- package/dist/esm/ui/annotations/element/mark.js +16 -0
- package/dist/esm/ui/annotations/hooks/use-events.js +78 -28
- package/dist/esm/ui/annotations/hooks/use-load-annotations.js +18 -2
- package/dist/esm/ui/annotations/index.js +45 -10
- package/dist/esm/ui/annotations/selection/mounter.js +179 -6
- package/dist/types/ui/annotations/contexts/AnnotationManagerContext.d.ts +71 -0
- package/dist/types/ui/annotations/draft/component.d.ts +5 -1
- package/dist/types/ui/annotations/element/mark.d.ts +6 -0
- package/dist/types/ui/annotations/index.d.ts +1 -0
- package/dist/types-ts4.5/ui/annotations/contexts/AnnotationManagerContext.d.ts +71 -0
- package/dist/types-ts4.5/ui/annotations/draft/component.d.ts +5 -1
- package/dist/types-ts4.5/ui/annotations/element/mark.d.ts +6 -0
- package/dist/types-ts4.5/ui/annotations/index.d.ts +1 -0
- package/package.json +13 -5
|
@@ -12,6 +12,8 @@ var _types = require("@atlaskit/editor-common/types");
|
|
|
12
12
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
13
13
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
14
14
|
var _types2 = require("@atlaskit/analytics-listeners/types");
|
|
15
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
|
+
var _AnnotationManagerContext = require("../contexts/AnnotationManagerContext");
|
|
15
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
19
|
var useAnnotationStateByTypeEvent = exports.useAnnotationStateByTypeEvent = function useAnnotationStateByTypeEvent(_ref) {
|
|
@@ -21,6 +23,10 @@ var useAnnotationStateByTypeEvent = exports.useAnnotationStateByTypeEvent = func
|
|
|
21
23
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
24
|
states = _useState2[0],
|
|
23
25
|
setStates = _useState2[1];
|
|
26
|
+
var _useAnnotationManager = (0, _AnnotationManagerContext.useAnnotationManagerDispatch)(),
|
|
27
|
+
dispatch = _useAnnotationManager.dispatch;
|
|
28
|
+
var _useAnnotationManager2 = (0, _AnnotationManagerContext.useAnnotationManagerState)(),
|
|
29
|
+
annotations = _useAnnotationManager2.annotations;
|
|
24
30
|
(0, _react.useLayoutEffect)(function () {
|
|
25
31
|
if (!updateSubscriber) {
|
|
26
32
|
return;
|
|
@@ -39,12 +45,23 @@ var useAnnotationStateByTypeEvent = exports.useAnnotationStateByTypeEvent = func
|
|
|
39
45
|
}, {});
|
|
40
46
|
setStates(_objectSpread(_objectSpread({}, states), nextStates));
|
|
41
47
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
if (!(0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
49
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.SET_ANNOTATION_STATE, cb);
|
|
50
|
+
return function () {
|
|
51
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.SET_ANNOTATION_STATE, cb);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}, [states, type, updateSubscriber, dispatch]);
|
|
55
|
+
var annotationMarkStates = (0, _react.useMemo)(function () {
|
|
56
|
+
return Object.values(annotations).reduce(function (acc, curr) {
|
|
57
|
+
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, curr.id, curr.markState));
|
|
58
|
+
}, {});
|
|
59
|
+
}, [annotations]);
|
|
60
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
61
|
+
return annotationMarkStates;
|
|
62
|
+
} else {
|
|
63
|
+
return states;
|
|
64
|
+
}
|
|
48
65
|
};
|
|
49
66
|
var useHasFocusEvent = exports.useHasFocusEvent = function useHasFocusEvent(_ref2) {
|
|
50
67
|
var id = _ref2.id,
|
|
@@ -57,6 +74,9 @@ var useHasFocusEvent = exports.useHasFocusEvent = function useHasFocusEvent(_ref
|
|
|
57
74
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
58
75
|
isHovered = _useState6[0],
|
|
59
76
|
setIsHovered = _useState6[1];
|
|
77
|
+
var _useAnnotationManager3 = (0, _AnnotationManagerContext.useAnnotationManagerState)(),
|
|
78
|
+
currentSelectedAnnotationId = _useAnnotationManager3.currentSelectedAnnotationId,
|
|
79
|
+
currentHoveredAnnotationId = _useAnnotationManager3.currentHoveredAnnotationId;
|
|
60
80
|
(0, _react.useLayoutEffect)(function () {
|
|
61
81
|
if (!updateSubscriber) {
|
|
62
82
|
return;
|
|
@@ -79,21 +99,30 @@ var useHasFocusEvent = exports.useHasFocusEvent = function useHasFocusEvent(_ref
|
|
|
79
99
|
document.activeElement.blur();
|
|
80
100
|
}
|
|
81
101
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
102
|
+
if (!(0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
103
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.SET_ANNOTATION_FOCUS, cb);
|
|
104
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.SET_ANNOTATION_HOVERED, callbackForHoveredAnnotation);
|
|
105
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.REMOVE_ANNOTATION_FOCUS, removeFocus);
|
|
106
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.REMOVE_ANNOTATION_HOVERED, removeHoverEffect);
|
|
107
|
+
return function () {
|
|
108
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.SET_ANNOTATION_FOCUS, cb);
|
|
109
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.SET_ANNOTATION_HOVERED, callbackForHoveredAnnotation);
|
|
110
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.REMOVE_ANNOTATION_FOCUS, removeFocus);
|
|
111
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.SET_ANNOTATION_HOVERED, removeHoverEffect);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
92
114
|
}, [id, updateSubscriber]);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
115
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
116
|
+
return {
|
|
117
|
+
hasFocus: currentSelectedAnnotationId === id,
|
|
118
|
+
isHovered: currentHoveredAnnotationId === id
|
|
119
|
+
};
|
|
120
|
+
} else {
|
|
121
|
+
return {
|
|
122
|
+
hasFocus: hasFocus,
|
|
123
|
+
isHovered: isHovered
|
|
124
|
+
};
|
|
125
|
+
}
|
|
97
126
|
};
|
|
98
127
|
var useAnnotationClickEvent = exports.useAnnotationClickEvent = function useAnnotationClickEvent(props) {
|
|
99
128
|
var _useState7 = (0, _react.useState)(null),
|
|
@@ -103,6 +132,21 @@ var useAnnotationClickEvent = exports.useAnnotationClickEvent = function useAnno
|
|
|
103
132
|
var updateSubscriber = props.updateSubscriber,
|
|
104
133
|
createAnalyticsEvent = props.createAnalyticsEvent,
|
|
105
134
|
isNestedRender = props.isNestedRender;
|
|
135
|
+
var _useAnnotationManager4 = (0, _AnnotationManagerContext.useAnnotationManagerState)(),
|
|
136
|
+
currentSelectedAnnotationId = _useAnnotationManager4.currentSelectedAnnotationId,
|
|
137
|
+
currentSelectedMarkRef = _useAnnotationManager4.currentSelectedMarkRef;
|
|
138
|
+
var selectedAnnotation = (0, _react.useMemo)(function () {
|
|
139
|
+
return currentSelectedAnnotationId && currentSelectedMarkRef ? {
|
|
140
|
+
annotations: [{
|
|
141
|
+
id: currentSelectedAnnotationId,
|
|
142
|
+
type: _adfSchema.AnnotationTypes.INLINE_COMMENT
|
|
143
|
+
}],
|
|
144
|
+
clickElementTarget: currentSelectedMarkRef
|
|
145
|
+
} : {
|
|
146
|
+
annotations: [],
|
|
147
|
+
clickElementTarget: undefined
|
|
148
|
+
};
|
|
149
|
+
}, [currentSelectedAnnotationId, currentSelectedMarkRef]);
|
|
106
150
|
(0, _react.useLayoutEffect)(function () {
|
|
107
151
|
if (!updateSubscriber || isNestedRender) {
|
|
108
152
|
return;
|
|
@@ -147,12 +191,18 @@ var useAnnotationClickEvent = exports.useAnnotationClickEvent = function useAnno
|
|
|
147
191
|
document.activeElement.blur();
|
|
148
192
|
}
|
|
149
193
|
};
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
194
|
+
if (!(0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
195
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.ON_ANNOTATION_CLICK, clickCb);
|
|
196
|
+
updateSubscriber.on(_types.AnnotationUpdateEvent.DESELECT_ANNOTATIONS, deselectCb);
|
|
197
|
+
return function () {
|
|
198
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.ON_ANNOTATION_CLICK, clickCb);
|
|
199
|
+
updateSubscriber.off(_types.AnnotationUpdateEvent.DESELECT_ANNOTATIONS, deselectCb);
|
|
200
|
+
};
|
|
201
|
+
}
|
|
156
202
|
}, [updateSubscriber, createAnalyticsEvent, isNestedRender]);
|
|
157
|
-
|
|
203
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
204
|
+
return selectedAnnotation;
|
|
205
|
+
} else {
|
|
206
|
+
return annotationClickEvent;
|
|
207
|
+
}
|
|
158
208
|
};
|
|
@@ -11,6 +11,7 @@ var _types = require("@atlaskit/editor-common/types");
|
|
|
11
11
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
12
|
var _context = require("../context");
|
|
13
13
|
var _RendererActionsContext = require("../../RendererActionsContext");
|
|
14
|
+
var _AnnotationManagerContext = require("../contexts/AnnotationManagerContext");
|
|
14
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
17
|
var useLoadAnnotations = exports.useLoadAnnotations = function useLoadAnnotations(_ref) {
|
|
@@ -19,6 +20,8 @@ var useLoadAnnotations = exports.useLoadAnnotations = function useLoadAnnotation
|
|
|
19
20
|
onLoadComplete = _ref.onLoadComplete;
|
|
20
21
|
var actions = (0, _react.useContext)(_RendererActionsContext.RendererContext);
|
|
21
22
|
var providers = (0, _react.useContext)(_context.ProvidersContext);
|
|
23
|
+
var _useAnnotationManager = (0, _AnnotationManagerContext.useAnnotationManagerDispatch)(),
|
|
24
|
+
dispatch = _useAnnotationManager.dispatch;
|
|
22
25
|
(0, _react.useEffect)(function () {
|
|
23
26
|
if (!providers) {
|
|
24
27
|
return;
|
|
@@ -48,7 +51,20 @@ var useLoadAnnotations = exports.useLoadAnnotations = function useLoadAnnotation
|
|
|
48
51
|
var payload = data.reduce(function (acc, value) {
|
|
49
52
|
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, value.id, value));
|
|
50
53
|
}, {});
|
|
51
|
-
|
|
54
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
55
|
+
dispatch({
|
|
56
|
+
type: 'loadAnnotation',
|
|
57
|
+
data: Object.keys(payload).map(function (id) {
|
|
58
|
+
var _payload$id$state;
|
|
59
|
+
return {
|
|
60
|
+
id: id,
|
|
61
|
+
markState: (_payload$id$state = payload[id].state) !== null && _payload$id$state !== void 0 ? _payload$id$state : undefined
|
|
62
|
+
};
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
} else {
|
|
66
|
+
updateSubscriberInlineComment.emit(_types.AnnotationUpdateEvent.SET_ANNOTATION_STATE, payload);
|
|
67
|
+
}
|
|
52
68
|
onLoadComplete && onLoadComplete({
|
|
53
69
|
numberOfUnresolvedInlineComments: data.filter(function (data) {
|
|
54
70
|
return data.state === 'active';
|
|
@@ -56,5 +72,5 @@ var useLoadAnnotations = exports.useLoadAnnotations = function useLoadAnnotation
|
|
|
56
72
|
});
|
|
57
73
|
};
|
|
58
74
|
inlineCommentGetState(ids, isNestedRender).then(cb);
|
|
59
|
-
}, [actions, providers, adfDocument, isNestedRender, onLoadComplete]);
|
|
75
|
+
}, [actions, providers, adfDocument, isNestedRender, onLoadComplete, dispatch]);
|
|
60
76
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.AnnotationsWrapper = exports.AnnotationsPositionContext = void 0;
|
|
8
|
-
var _react =
|
|
7
|
+
exports.AnnotationsWrapperInner = exports.AnnotationsWrapper = exports.AnnotationsPositionContext = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
10
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
10
11
|
var _view = require("./view");
|
|
11
12
|
var _wrapper = require("./wrapper");
|
|
12
13
|
var _context = require("./context");
|
|
@@ -15,6 +16,9 @@ var _useEvents = require("./hooks/use-events");
|
|
|
15
16
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
16
17
|
var _AnnotationRangeContext = require("./contexts/AnnotationRangeContext");
|
|
17
18
|
var _AnnotationHoverContext = require("./contexts/AnnotationHoverContext");
|
|
19
|
+
var _AnnotationManagerContext = require("./contexts/AnnotationManagerContext");
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
22
|
var LoadAnnotations = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
19
23
|
var adfDocument = _ref.adfDocument,
|
|
20
24
|
isNestedRender = _ref.isNestedRender,
|
|
@@ -34,27 +38,25 @@ var LoadAnnotations = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
34
38
|
var AnnotationsPositionContext = exports.AnnotationsPositionContext = /*#__PURE__*/_react.default.createContext({
|
|
35
39
|
startPos: 1
|
|
36
40
|
});
|
|
37
|
-
var
|
|
38
|
-
var
|
|
41
|
+
var AnnotationsWrapperInner = exports.AnnotationsWrapperInner = function AnnotationsWrapperInner(props) {
|
|
42
|
+
var _providers$inlineComm, _providers$inlineComm2;
|
|
39
43
|
var children = props.children,
|
|
40
|
-
annotationProvider = props.annotationProvider,
|
|
41
44
|
rendererRef = props.rendererRef,
|
|
42
45
|
adfDocument = props.adfDocument,
|
|
43
46
|
isNestedRender = props.isNestedRender,
|
|
44
47
|
onLoadComplete = props.onLoadComplete;
|
|
45
|
-
var
|
|
48
|
+
var providers = (0, _react.useContext)(_context.ProvidersContext);
|
|
49
|
+
var updateSubscriber = providers && providers.inlineComment && providers.inlineComment.updateSubscriber;
|
|
46
50
|
var inlineCommentAnnotationsState = (0, _useEvents.useAnnotationStateByTypeEvent)({
|
|
47
51
|
type: _adfSchema.AnnotationTypes.INLINE_COMMENT,
|
|
48
52
|
updateSubscriber: updateSubscriber || null
|
|
49
53
|
});
|
|
50
54
|
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
51
55
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(_context.
|
|
53
|
-
value: annotationProvider
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(_context.InlineCommentsStateContext.Provider, {
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement(_context.InlineCommentsStateContext.Provider, {
|
|
55
57
|
value: inlineCommentAnnotationsState
|
|
56
58
|
}, /*#__PURE__*/_react.default.createElement(_AnnotationRangeContext.AnnotationRangeProvider, {
|
|
57
|
-
allowCommentsOnMedia: (
|
|
59
|
+
allowCommentsOnMedia: (_providers$inlineComm = providers === null || providers === void 0 || (_providers$inlineComm2 = providers.inlineComment) === null || _providers$inlineComm2 === void 0 ? void 0 : _providers$inlineComm2.allowCommentsOnMedia) !== null && _providers$inlineComm !== void 0 ? _providers$inlineComm : false
|
|
58
60
|
}, /*#__PURE__*/_react.default.createElement(_AnnotationHoverContext.AnnotationHoverContext, null, /*#__PURE__*/_react.default.createElement(_wrapper.AnnotationsContextWrapper, {
|
|
59
61
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
60
62
|
rendererRef: rendererRef,
|
|
@@ -66,5 +68,40 @@ var AnnotationsWrapper = exports.AnnotationsWrapper = function AnnotationsWrappe
|
|
|
66
68
|
}), /*#__PURE__*/_react.default.createElement(_view.AnnotationView, {
|
|
67
69
|
isNestedRender: isNestedRender,
|
|
68
70
|
createAnalyticsEvent: createAnalyticsEvent
|
|
69
|
-
}), children))))
|
|
71
|
+
}), children))));
|
|
72
|
+
};
|
|
73
|
+
var AnnotationsWrapper = exports.AnnotationsWrapper = function AnnotationsWrapper(props) {
|
|
74
|
+
var children = props.children,
|
|
75
|
+
annotationProvider = props.annotationProvider,
|
|
76
|
+
rendererRef = props.rendererRef,
|
|
77
|
+
adfDocument = props.adfDocument,
|
|
78
|
+
isNestedRender = props.isNestedRender,
|
|
79
|
+
onLoadComplete = props.onLoadComplete;
|
|
80
|
+
if (!isNestedRender && (0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
81
|
+
var _annotationProvider$i, _annotationProvider$i2;
|
|
82
|
+
// We need to ensure there is a single instance of the annotation manager for the whole document
|
|
83
|
+
// and that it is the same instance for all annotations.
|
|
84
|
+
// This is because the annotation manager is responsible for managing the state of ALL annotations.
|
|
85
|
+
// This includes annotations inside extensions.
|
|
86
|
+
return /*#__PURE__*/_react.default.createElement(_context.ProvidersContext.Provider, {
|
|
87
|
+
value: annotationProvider
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement(_AnnotationManagerContext.AnnotationManagerProvider, {
|
|
89
|
+
annotationManager: annotationProvider === null || annotationProvider === void 0 ? void 0 : annotationProvider.annotationManager,
|
|
90
|
+
updateSubscriber: (_annotationProvider$i = annotationProvider === null || annotationProvider === void 0 || (_annotationProvider$i2 = annotationProvider.inlineComment) === null || _annotationProvider$i2 === void 0 ? void 0 : _annotationProvider$i2.updateSubscriber) !== null && _annotationProvider$i !== void 0 ? _annotationProvider$i : undefined
|
|
91
|
+
}, /*#__PURE__*/_react.default.createElement(AnnotationsWrapperInner, {
|
|
92
|
+
rendererRef: rendererRef,
|
|
93
|
+
adfDocument: adfDocument,
|
|
94
|
+
isNestedRender: isNestedRender,
|
|
95
|
+
onLoadComplete: onLoadComplete
|
|
96
|
+
}, children)));
|
|
97
|
+
} else {
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(_context.ProvidersContext.Provider, {
|
|
99
|
+
value: annotationProvider
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(AnnotationsWrapperInner, {
|
|
101
|
+
rendererRef: rendererRef,
|
|
102
|
+
adfDocument: adfDocument,
|
|
103
|
+
isNestedRender: isNestedRender,
|
|
104
|
+
onLoadComplete: onLoadComplete
|
|
105
|
+
}, children));
|
|
106
|
+
}
|
|
70
107
|
};
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.SelectionInlineCommentMounter = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
11
12
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
12
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
14
|
var _dom = require("../draft/dom");
|
|
@@ -15,6 +16,7 @@ var _types = require("@atlaskit/analytics-listeners/types");
|
|
|
15
16
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
16
17
|
var _getRendererRangeInlineNodeNames = require("../../../actions/get-renderer-range-inline-node-names");
|
|
17
18
|
var _RendererActionsContext = require("../../RendererActionsContext");
|
|
19
|
+
var _AnnotationManagerContext = require("../contexts/AnnotationManagerContext");
|
|
18
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
22
|
var SelectionInlineCommentMounter = exports.SelectionInlineCommentMounter = /*#__PURE__*/_react.default.memo(function (props) {
|
|
@@ -35,6 +37,12 @@ var SelectionInlineCommentMounter = exports.SelectionInlineCommentMounter = /*#_
|
|
|
35
37
|
draftDocumentPosition = _useState2[0],
|
|
36
38
|
setDraftDocumentPosition = _useState2[1];
|
|
37
39
|
var actions = (0, _react.useContext)(_RendererActionsContext.RendererContext);
|
|
40
|
+
var _useAnnotationManager = (0, _AnnotationManagerContext.useAnnotationManagerState)(),
|
|
41
|
+
isDrafting = _useAnnotationManager.isDrafting,
|
|
42
|
+
draftId = _useAnnotationManager.draftId;
|
|
43
|
+
var _useAnnotationManager2 = (0, _AnnotationManagerContext.useAnnotationManagerDispatch)(),
|
|
44
|
+
annotationManager = _useAnnotationManager2.annotationManager,
|
|
45
|
+
dispatch = _useAnnotationManager2.dispatch;
|
|
38
46
|
var inlineNodeTypes = (0, _react.useMemo)(function () {
|
|
39
47
|
if ((0, _platformFeatureFlags.fg)('annotations_defensive_node_name_calculations')) {
|
|
40
48
|
if (!actions.isRangeAnnotatable(range)) {
|
|
@@ -187,6 +195,171 @@ var SelectionInlineCommentMounter = exports.SelectionInlineCommentMounter = /*#_
|
|
|
187
195
|
removeDraftModeCallback();
|
|
188
196
|
onCloseProps();
|
|
189
197
|
}, [onCloseProps, removeDraftModeCallback, createAnalyticsEvent, inlineNodeTypes]);
|
|
198
|
+
(0, _react.useEffect)(function () {
|
|
199
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
200
|
+
var allowAnnotation = function allowAnnotation() {
|
|
201
|
+
if (isDrafting) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
return isAnnotationAllowed;
|
|
205
|
+
};
|
|
206
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.hook('allowAnnotation', allowAnnotation);
|
|
207
|
+
return function () {
|
|
208
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.unhook('allowAnnotation', allowAnnotation);
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}, [annotationManager, isAnnotationAllowed, isDrafting]);
|
|
212
|
+
(0, _react.useEffect)(function () {
|
|
213
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
214
|
+
var startDraft = function startDraft() {
|
|
215
|
+
var _result$inlineNodeTyp;
|
|
216
|
+
if (isDrafting) {
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
reason: 'draft-in-progress'
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
if (!actions.isValidAnnotationRange(range)) {
|
|
223
|
+
return {
|
|
224
|
+
success: false,
|
|
225
|
+
reason: 'invalid-range'
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
var id = (0, _v.default)();
|
|
229
|
+
var result = applyDraftModeCallback({
|
|
230
|
+
annotationId: id,
|
|
231
|
+
keepNativeSelection: false
|
|
232
|
+
});
|
|
233
|
+
if (!result) {
|
|
234
|
+
return {
|
|
235
|
+
success: false,
|
|
236
|
+
reason: 'invalid-range'
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
dispatch({
|
|
240
|
+
type: 'setDrafting',
|
|
241
|
+
data: {
|
|
242
|
+
isDrafting: true,
|
|
243
|
+
draftId: id,
|
|
244
|
+
draftActionResult: result
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
dispatch({
|
|
248
|
+
type: 'resetSelectedAnnotation'
|
|
249
|
+
});
|
|
250
|
+
return {
|
|
251
|
+
success: true,
|
|
252
|
+
// We cannot get a ref to the target element here
|
|
253
|
+
// because the draft is not yet applied to the DOM
|
|
254
|
+
targetElement: undefined,
|
|
255
|
+
inlineNodeTypes: (_result$inlineNodeTyp = result.inlineNodeTypes) !== null && _result$inlineNodeTyp !== void 0 ? _result$inlineNodeTyp : [],
|
|
256
|
+
actionResult: {
|
|
257
|
+
step: result.step,
|
|
258
|
+
doc: result.doc,
|
|
259
|
+
inlineNodeTypes: result.inlineNodeTypes,
|
|
260
|
+
targetNodeType: result.targetNodeType,
|
|
261
|
+
originalSelection: result.originalSelection,
|
|
262
|
+
numMatches: result.numMatches,
|
|
263
|
+
matchIndex: result.matchIndex,
|
|
264
|
+
pos: result.pos
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.hook('startDraft', startDraft);
|
|
269
|
+
return function () {
|
|
270
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.unhook('startDraft', startDraft);
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
}, [annotationManager, isDrafting, applyDraftModeCallback, actions, range, dispatch]);
|
|
274
|
+
(0, _react.useEffect)(function () {
|
|
275
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
276
|
+
var clearDraft = function clearDraft() {
|
|
277
|
+
if (!isDrafting) {
|
|
278
|
+
return {
|
|
279
|
+
success: false,
|
|
280
|
+
reason: 'draft-not-started'
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
dispatch({
|
|
284
|
+
type: 'setDrafting',
|
|
285
|
+
data: {
|
|
286
|
+
isDrafting: false,
|
|
287
|
+
draftId: undefined,
|
|
288
|
+
draftActionResult: undefined
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
onCloseCallback();
|
|
292
|
+
return {
|
|
293
|
+
success: true
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.hook('clearDraft', clearDraft);
|
|
297
|
+
return function () {
|
|
298
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.unhook('clearDraft', clearDraft);
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
}, [annotationManager, onCloseCallback, isDrafting, dispatch]);
|
|
302
|
+
(0, _react.useEffect)(function () {
|
|
303
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager')) {
|
|
304
|
+
var applyDraft = function applyDraft(id) {
|
|
305
|
+
if (!isDrafting || !draftId) {
|
|
306
|
+
return {
|
|
307
|
+
success: false,
|
|
308
|
+
reason: 'draft-not-started'
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
var result = onCreateCallback(id);
|
|
312
|
+
if (!result) {
|
|
313
|
+
return {
|
|
314
|
+
success: false,
|
|
315
|
+
reason: 'range-no-longer-exists'
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
onCloseCallback();
|
|
319
|
+
dispatch({
|
|
320
|
+
type: 'setDrafting',
|
|
321
|
+
data: {
|
|
322
|
+
isDrafting: false,
|
|
323
|
+
draftId: undefined,
|
|
324
|
+
draftActionResult: undefined
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
dispatch({
|
|
328
|
+
type: 'updateAnnotation',
|
|
329
|
+
data: {
|
|
330
|
+
id: id,
|
|
331
|
+
selected: true,
|
|
332
|
+
markState: _adfSchema.AnnotationMarkStates.ACTIVE
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
return {
|
|
336
|
+
success: true,
|
|
337
|
+
targetElement: undefined,
|
|
338
|
+
actionResult: id !== draftId ? {
|
|
339
|
+
step: result.step,
|
|
340
|
+
doc: result.doc,
|
|
341
|
+
inlineNodeTypes: result.inlineNodeTypes,
|
|
342
|
+
targetNodeType: result.targetNodeType,
|
|
343
|
+
originalSelection: result.originalSelection,
|
|
344
|
+
numMatches: result.numMatches,
|
|
345
|
+
matchIndex: result.matchIndex,
|
|
346
|
+
pos: result.pos
|
|
347
|
+
} : undefined
|
|
348
|
+
};
|
|
349
|
+
};
|
|
350
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.hook('applyDraft', applyDraft);
|
|
351
|
+
return function () {
|
|
352
|
+
annotationManager === null || annotationManager === void 0 || annotationManager.unhook('applyDraft', applyDraft);
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
}, [annotationManager, onCreateCallback, onCloseCallback, isDrafting, draftId, dispatch]);
|
|
356
|
+
|
|
357
|
+
// Please remove this NOP function when the flag platform_editor_comments_api_manager is removed.
|
|
358
|
+
var nop = (0, _react.useMemo)(function () {
|
|
359
|
+
return function () {
|
|
360
|
+
return false;
|
|
361
|
+
};
|
|
362
|
+
}, []);
|
|
190
363
|
return /*#__PURE__*/_react.default.createElement(Component, {
|
|
191
364
|
range: range,
|
|
192
365
|
draftRange: draftRange
|
|
@@ -195,11 +368,11 @@ var SelectionInlineCommentMounter = exports.SelectionInlineCommentMounter = /*#_
|
|
|
195
368
|
,
|
|
196
369
|
wrapperDOM: wrapperDOM.current,
|
|
197
370
|
isAnnotationAllowed: isAnnotationAllowed,
|
|
198
|
-
onClose: onCloseCallback,
|
|
199
|
-
onCreate: onCreateCallback,
|
|
371
|
+
onClose: (0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager') ? nop : onCloseCallback,
|
|
372
|
+
onCreate: (0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager') ? nop : onCreateCallback,
|
|
200
373
|
getAnnotationIndexMatch: createIndexCallback,
|
|
201
|
-
applyDraftMode: applyDraftModeCallback,
|
|
202
|
-
removeDraftMode: removeDraftModeCallback,
|
|
374
|
+
applyDraftMode: (0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager') ? nop : applyDraftModeCallback,
|
|
375
|
+
removeDraftMode: (0, _platformFeatureFlags.fg)('platform_editor_comments_api_manager') ? nop : removeDraftModeCallback,
|
|
203
376
|
inlineNodeTypes: inlineNodeTypes
|
|
204
377
|
});
|
|
205
378
|
});
|
|
@@ -47,7 +47,7 @@ import { useMemoFromPropsDerivative } from './useMemoFromPropsDerivative';
|
|
|
47
47
|
export const NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
48
48
|
export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
49
49
|
const packageName = "@atlaskit/renderer";
|
|
50
|
-
const packageVersion = "115.0.
|
|
50
|
+
const packageVersion = "115.0.4";
|
|
51
51
|
const setAsQueryContainerStyles = css({
|
|
52
52
|
containerName: 'ak-renderer-wrapper',
|
|
53
53
|
containerType: 'inline-size',
|