@ckeditor/ckeditor5-comments 39.0.1 → 40.0.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 +2 -2
- package/LICENSE.md +6 -6
- package/README.md +14 -14
- package/build/comments.js +1 -1
- package/build/translations/fa.js +1 -1
- package/build/translations/pt-br.js +1 -1
- package/lang/translations/af.po +1 -0
- package/lang/translations/ar.po +1 -0
- package/lang/translations/bg.po +1 -0
- package/lang/translations/bn.po +1 -0
- package/lang/translations/bs.po +1 -0
- package/lang/translations/ca.po +1 -0
- package/lang/translations/cs.po +1 -0
- package/lang/translations/da.po +1 -0
- package/lang/translations/de-ch.po +1 -0
- package/lang/translations/de.po +1 -0
- package/lang/translations/el.po +1 -0
- package/lang/translations/en-au.po +1 -0
- package/lang/translations/en.po +1 -0
- package/lang/translations/es-co.po +1 -0
- package/lang/translations/es.po +1 -0
- package/lang/translations/et.po +1 -0
- package/lang/translations/fa.po +10 -9
- package/lang/translations/fi.po +1 -0
- package/lang/translations/fr.po +1 -0
- package/lang/translations/gl.po +1 -0
- package/lang/translations/he.po +1 -0
- package/lang/translations/hi.po +1 -0
- package/lang/translations/hr.po +1 -0
- package/lang/translations/hu.po +1 -0
- package/lang/translations/id.po +1 -0
- package/lang/translations/it.po +1 -0
- package/lang/translations/ja.po +1 -0
- package/lang/translations/jv.po +1 -0
- package/lang/translations/ko.po +1 -0
- package/lang/translations/lt.po +1 -0
- package/lang/translations/lv.po +1 -0
- package/lang/translations/ms.po +1 -0
- package/lang/translations/nl.po +1 -0
- package/lang/translations/no.po +1 -0
- package/lang/translations/pl.po +1 -0
- package/lang/translations/pt-br.po +4 -3
- package/lang/translations/pt.po +1 -0
- package/lang/translations/ro.po +1 -0
- package/lang/translations/ru.po +1 -0
- package/lang/translations/sk.po +1 -0
- package/lang/translations/sq.po +1 -0
- package/lang/translations/sr-latn.po +1 -0
- package/lang/translations/sr.po +1 -0
- package/lang/translations/sv.po +1 -0
- package/lang/translations/th.po +1 -0
- package/lang/translations/tk.po +1 -0
- package/lang/translations/tr.po +1 -0
- package/lang/translations/tt.po +1 -0
- package/lang/translations/ug.po +1 -0
- package/lang/translations/uk.po +1 -0
- package/lang/translations/ur.po +1 -0
- package/lang/translations/vi.po +1 -0
- package/lang/translations/zh-cn.po +1 -0
- package/lang/translations/zh.po +1 -0
- package/package.json +3 -7
- package/src/annotations/annotation.d.ts +90 -90
- package/src/annotations/annotation.js +1 -1
- package/src/annotations/annotationcollection.d.ts +98 -98
- package/src/annotations/annotationcollection.js +1 -1
- package/src/annotations/annotations.d.ts +154 -154
- package/src/annotations/annotations.js +1 -1
- package/src/annotations/annotationsuis.d.ts +232 -232
- package/src/annotations/annotationsuis.js +1 -1
- package/src/annotations/editorannotations.d.ts +67 -67
- package/src/annotations/editorannotations.js +1 -1
- package/src/annotations/inlineannotations.d.ts +90 -90
- package/src/annotations/inlineannotations.js +1 -1
- package/src/annotations/narrowsidebar.d.ts +85 -85
- package/src/annotations/narrowsidebar.js +1 -1
- package/src/annotations/sidebar.d.ts +100 -100
- package/src/annotations/sidebar.js +1 -1
- package/src/annotations/view/annotationcounterbuttonview.d.ts +29 -29
- package/src/annotations/view/annotationcounterbuttonview.js +1 -1
- package/src/annotations/view/annotationview.d.ts +90 -90
- package/src/annotations/view/annotationview.js +1 -1
- package/src/annotations/view/sidebaritemview.d.ts +55 -55
- package/src/annotations/view/sidebaritemview.js +1 -1
- package/src/annotations/view/sidebarview.d.ts +32 -32
- package/src/annotations/view/sidebarview.js +1 -1
- package/src/annotations/widesidebar.d.ts +77 -77
- package/src/annotations/widesidebar.js +1 -1
- package/src/augmentation.d.ts +52 -52
- package/src/comments/addcommentthreadcommand.d.ts +35 -35
- package/src/comments/addcommentthreadcommand.js +1 -1
- package/src/comments/commentsarchive.d.ts +31 -31
- package/src/comments/commentsarchive.js +1 -1
- package/src/comments/commentsarchiveui.d.ts +38 -38
- package/src/comments/commentsarchiveui.js +1 -1
- package/src/comments/commentsediting.d.ts +79 -79
- package/src/comments/commentsediting.js +1 -1
- package/src/comments/commentsrepository.d.ts +1129 -1105
- package/src/comments/commentsrepository.js +1 -1
- package/src/comments/commentsui.d.ts +33 -33
- package/src/comments/commentsui.js +1 -1
- package/src/comments/integrations/commentsrestrictededitingmode.d.ts +17 -17
- package/src/comments/integrations/commentsrestrictededitingmode.js +1 -1
- package/src/comments/integrations/importword.d.ts +21 -21
- package/src/comments/integrations/importword.js +1 -1
- package/src/comments/ui/commenteditor/commenteditor.d.ts +36 -36
- package/src/comments/ui/commenteditor/commenteditor.js +1 -1
- package/src/comments/ui/commenteditor/commenteditorui.d.ts +31 -31
- package/src/comments/ui/commenteditor/commenteditorui.js +1 -1
- package/src/comments/ui/commenteditor/commenteditoruiview.d.ts +36 -36
- package/src/comments/ui/commenteditor/commenteditoruiview.js +1 -1
- package/src/comments/ui/commentthreadcontroller.d.ts +64 -64
- package/src/comments/ui/commentthreadcontroller.js +1 -1
- package/src/comments/ui/view/basecommentthreadview.d.ts +119 -112
- package/src/comments/ui/view/basecommentthreadview.js +1 -1
- package/src/comments/ui/view/basecommentview.d.ts +112 -112
- package/src/comments/ui/view/basecommentview.js +1 -1
- package/src/comments/ui/view/collapsedcommentsview.d.ts +13 -13
- package/src/comments/ui/view/collapsedcommentsview.js +1 -1
- package/src/comments/ui/view/commentcontentview.d.ts +14 -14
- package/src/comments/ui/view/commentcontentview.js +1 -1
- package/src/comments/ui/view/commentinputview.d.ts +86 -86
- package/src/comments/ui/view/commentinputview.js +1 -1
- package/src/comments/ui/view/commentsarchiveview.d.ts +38 -38
- package/src/comments/ui/view/commentsarchiveview.js +1 -1
- package/src/comments/ui/view/commentslistview.d.ts +100 -100
- package/src/comments/ui/view/commentslistview.js +1 -1
- package/src/comments/ui/view/commentthreadheaderview.d.ts +50 -50
- package/src/comments/ui/view/commentthreadheaderview.js +1 -1
- package/src/comments/ui/view/commentthreadinputview.d.ts +41 -41
- package/src/comments/ui/view/commentthreadinputview.js +1 -1
- package/src/comments/ui/view/commentthreadview.d.ts +118 -117
- package/src/comments/ui/view/commentthreadview.js +1 -1
- package/src/comments/ui/view/commentview.d.ts +243 -243
- package/src/comments/ui/view/commentview.js +1 -1
- package/src/comments.d.ts +35 -35
- package/src/comments.js +1 -1
- package/src/commentsonly.d.ts +33 -33
- package/src/commentsonly.js +1 -1
- package/src/config.d.ts +176 -176
- package/src/index.d.ts +24 -24
- package/src/utils/common-translations.d.ts +9 -9
- package/src/utils/common-translations.js +1 -1
- package/src/utils/createmutationobserver.d.ts +14 -14
- package/src/utils/createmutationobserver.js +1 -1
- package/theme/annotation-inline.css +2 -1
- package/theme/annotation.css +2 -3
- package/theme/comment.css +39 -38
- package/theme/commentinput.css +2 -1
- package/theme/commentmarker.css +7 -6
- package/theme/commentsarchive.css +2 -1
- package/theme/commentthread.css +68 -57
- package/theme/icons/add-comment.svg +1 -1
- package/theme/icons/comments-archive.svg +1 -1
- package/theme/icons/edit-comment.svg +1 -1
- package/theme/icons/remove-comment.svg +1 -1
- package/theme/sidebar-narrow.css +4 -3
- package/theme/sidebar.css +13 -12
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module comments/annotations/editorannotations
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import Annotations from './annotations';
|
|
11
|
-
import type Annotation from './annotation';
|
|
12
|
-
import type AnnotationCollection from './annotationcollection';
|
|
13
|
-
/**
|
|
14
|
-
* Integrates {@link module:comments/annotations/annotations~Annotations annotations} with the editor to provide proper behavior
|
|
15
|
-
* for annotations created through the editor features.
|
|
16
|
-
*
|
|
17
|
-
* *Note: The API of this class might change in the near future.*
|
|
18
|
-
*
|
|
19
|
-
* Collects all types of the annotations created through the editor features and their markers and decides which annotation is currently
|
|
20
|
-
* selected by the selection.
|
|
21
|
-
*
|
|
22
|
-
* Every editor plugin that adds an annotation should also
|
|
23
|
-
* {@link module:comments/annotations/editorannotations~EditorAnnotations#addSourceCollector register a callback}
|
|
24
|
-
* in which it will check whether given annotation should be marked as selected.
|
|
25
|
-
*/
|
|
26
|
-
export default class EditorAnnotations extends Plugin {
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
static get requires(): readonly [typeof Annotations];
|
|
31
|
-
/**
|
|
32
|
-
* @inheritDoc
|
|
33
|
-
*/
|
|
34
|
-
static get pluginName(): "EditorAnnotations";
|
|
35
|
-
/**
|
|
36
|
-
* @inheritDoc
|
|
37
|
-
*/
|
|
38
|
-
constructor(editor: Editor);
|
|
39
|
-
/**
|
|
40
|
-
* @inheritDoc
|
|
41
|
-
*/
|
|
42
|
-
init(): void;
|
|
43
|
-
/**
|
|
44
|
-
* Registers given annotation as an editor annotation, that is an annotation that is linked with a target inside the editor content.
|
|
45
|
-
*/
|
|
46
|
-
registerAnnotation(annotation: Annotation): void;
|
|
47
|
-
hasDomSelection(): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Registers a callback that collects annotations and their markers.
|
|
50
|
-
*/
|
|
51
|
-
addSourceCollector(callback: Function): void;
|
|
52
|
-
/**
|
|
53
|
-
* Finds all annotations selected by the editor selection and marks the most inner one as the active annotation.
|
|
54
|
-
*/
|
|
55
|
-
refreshSelectedViews(): void;
|
|
56
|
-
/**
|
|
57
|
-
* Finds all annotations for selected markers in order from the most inner marker to the most outer marker.
|
|
58
|
-
*
|
|
59
|
-
* @param options.annotations The collection of annotations for given UI.
|
|
60
|
-
* @param options.activeAnnotation The given UI active annotation.
|
|
61
|
-
* It is used to determine the order if the selection contains the active annotation's marker.
|
|
62
|
-
*/
|
|
63
|
-
getOrderedSelectedAnnotations({ activeAnnotation, annotations }: {
|
|
64
|
-
activeAnnotation: Annotation | null;
|
|
65
|
-
annotations: AnnotationCollection;
|
|
66
|
-
}): Array<Annotation>;
|
|
67
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module comments/annotations/editorannotations
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import Annotations from './annotations';
|
|
11
|
+
import type Annotation from './annotation';
|
|
12
|
+
import type AnnotationCollection from './annotationcollection';
|
|
13
|
+
/**
|
|
14
|
+
* Integrates {@link module:comments/annotations/annotations~Annotations annotations} with the editor to provide proper behavior
|
|
15
|
+
* for annotations created through the editor features.
|
|
16
|
+
*
|
|
17
|
+
* *Note: The API of this class might change in the near future.*
|
|
18
|
+
*
|
|
19
|
+
* Collects all types of the annotations created through the editor features and their markers and decides which annotation is currently
|
|
20
|
+
* selected by the selection.
|
|
21
|
+
*
|
|
22
|
+
* Every editor plugin that adds an annotation should also
|
|
23
|
+
* {@link module:comments/annotations/editorannotations~EditorAnnotations#addSourceCollector register a callback}
|
|
24
|
+
* in which it will check whether given annotation should be marked as selected.
|
|
25
|
+
*/
|
|
26
|
+
export default class EditorAnnotations extends Plugin {
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
static get requires(): readonly [typeof Annotations];
|
|
31
|
+
/**
|
|
32
|
+
* @inheritDoc
|
|
33
|
+
*/
|
|
34
|
+
static get pluginName(): "EditorAnnotations";
|
|
35
|
+
/**
|
|
36
|
+
* @inheritDoc
|
|
37
|
+
*/
|
|
38
|
+
constructor(editor: Editor);
|
|
39
|
+
/**
|
|
40
|
+
* @inheritDoc
|
|
41
|
+
*/
|
|
42
|
+
init(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Registers given annotation as an editor annotation, that is an annotation that is linked with a target inside the editor content.
|
|
45
|
+
*/
|
|
46
|
+
registerAnnotation(annotation: Annotation): void;
|
|
47
|
+
hasDomSelection(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Registers a callback that collects annotations and their markers.
|
|
50
|
+
*/
|
|
51
|
+
addSourceCollector(callback: Function): void;
|
|
52
|
+
/**
|
|
53
|
+
* Finds all annotations selected by the editor selection and marks the most inner one as the active annotation.
|
|
54
|
+
*/
|
|
55
|
+
refreshSelectedViews(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Finds all annotations for selected markers in order from the most inner marker to the most outer marker.
|
|
58
|
+
*
|
|
59
|
+
* @param options.annotations The collection of annotations for given UI.
|
|
60
|
+
* @param options.activeAnnotation The given UI active annotation.
|
|
61
|
+
* It is used to determine the order if the selection contains the active annotation's marker.
|
|
62
|
+
*/
|
|
63
|
+
getOrderedSelectedAnnotations({ activeAnnotation, annotations }: {
|
|
64
|
+
activeAnnotation: Annotation | null;
|
|
65
|
+
annotations: AnnotationCollection;
|
|
66
|
+
}): Array<Annotation>;
|
|
67
|
+
}
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0xeda8=['uiUpdate','listenTo','getRanges','getByInnerView','isEqual','model','remove','element','change:isFocused','set','get','editor','selection','function','document','focusTracker','getOrderedSelectedAnnotations','containsRange','from','editorannotations-invalid-source-callback','isReadOnly','add','update','hasDomSelection','innerView','_editorAnnotationsData','editing','addSourceCollector','annotation','change:range','range','sort','fire','_dataCollectors','directChange','view','isCollapsed','_editorAnnotations','has','refreshSelectedViews','pluginName','cancel','refresh','delete','init'];(function(_0x2aeee9,_0xeda806){const _0x441843=function(_0x47c21f){while(--_0x47c21f){_0x2aeee9['push'](_0x2aeee9['shift']());}};_0x441843(++_0xeda806);}(_0xeda8,0x118));const _0x4418=function(_0x2aeee9,_0xeda806){_0x2aeee9=_0x2aeee9-0x0;let _0x441843=_0xeda8[_0x2aeee9];return _0x441843;};import{Plugin as _0x4670bd}from'ckeditor5/src/core';import{CKEditorError as _0x2c57d6}from'ckeditor5/src/utils';import{debounce as _0x316b7a}from'lodash-es';import _0x12fac9 from'./annotations';export default class k extends _0x4670bd{static get['requires'](){return[_0x12fac9];}static get[_0x4418('0x1e')](){return'EditorAnnotations';}constructor(_0xcd596){super(_0xcd596),this[_0x4418('0x17')]=new Set(),this['_editorAnnotations']=new Set();}[_0x4418('0x22')](){const _0x533508=this[_0x4418('0x1')],_0x3015b2=_0x533508[_0x4418('0x28')][_0x4418('0x4')][_0x4418('0x2')],_0x3c0822=_0x316b7a(()=>this[_0x4418('0x1d')](),0xa);_0x3015b2['on'](_0x4418('0x13'),(_0xf0add8,_0x38b5fd)=>{_0x38b5fd[_0x4418('0x18')]&&(_0x3c0822[_0x4418('0x1f')](),this[_0x4418('0x1d')]());}),this['listenTo'](_0x533508['editing']['view']['document'],_0x4418('0x2b'),(_0x2f42f6,_0x11b22c,_0x3be201)=>{_0x3be201&&_0x3c0822();}),this[_0x4418('0x24')](_0x533508['ui']['focusTracker'],_0x4418('0x2b'),(_0x361cf9,_0x40d41b,_0x830a29)=>{_0x830a29||_0x533508[_0x4418('0xa')]||this[_0x4418('0x16')]('blur',{'isAnnotationTracked':_0x376dd9=>this[_0x4418('0xf')]['has'](_0x376dd9[_0x4418('0xe')])});}),this['listenTo'](this[_0x4418('0x1')]['ui'],_0x4418('0xc'),()=>this['fire'](_0x4418('0x23')));}['registerAnnotation'](_0x559e56){if(this[_0x4418('0x1b')][_0x4418('0x1c')](_0x559e56[_0x4418('0x19')]))return;this[_0x4418('0x1b')][_0x4418('0xb')](_0x559e56[_0x4418('0x19')]),this[_0x4418('0x1')]['ui']['focusTracker']['add'](_0x559e56['view'][_0x4418('0x2a')]);const _0x2621b4=this[_0x4418('0x1')]['plugins'][_0x4418('0x0')](_0x12fac9);this[_0x4418('0x24')](_0x2621b4['collection'],_0x4418('0x29'),(_0x14c784,_0x1efd03)=>{this[_0x4418('0x1')]['ui'][_0x4418('0x5')]['remove'](_0x1efd03['view']['element']),this[_0x4418('0x1b')][_0x4418('0x21')](_0x1efd03[_0x4418('0x19')]);});}['hasDomSelection'](){return this[_0x4418('0x1')][_0x4418('0x10')][_0x4418('0x19')][_0x4418('0xd')];}[_0x4418('0x11')](_0x22d208){if(_0x4418('0x3')!=typeof _0x22d208)throw new _0x2c57d6(_0x4418('0x9'));this['_dataCollectors']['add'](_0x22d208);}[_0x4418('0x1d')](){this[_0x4418('0x16')](_0x4418('0x20'));}[_0x4418('0x6')]({activeAnnotation:_0x4ab116,annotations:_0x3a0e06}){const _0x26f0fe=[],_0x512a16=this[_0x4418('0x1')][_0x4418('0x28')][_0x4418('0x4')][_0x4418('0x2')],_0x5579ab=Array[_0x4418('0x8')](_0x512a16[_0x4418('0x25')]());for(const [_0x47ad5d,_0x21470e]of this[_0x4418('0xf')]){const _0x26d454=_0x58fc04(_0x21470e),_0x19130a=_0x3a0e06[_0x4418('0x26')](_0x47ad5d);_0x26d454&&_0x19130a&&_0x26f0fe['push']({'annotation':_0x19130a,'range':_0x26d454});}function _0x58fc04(_0x409381){for(const _0x1a65fd of _0x409381)for(const _0x5839fc of _0x5579ab)if(_0x1a65fd['containsRange'](_0x5839fc,!_0x512a16[_0x4418('0x1a')]))return _0x1a65fd;return null;}return _0x26f0fe[_0x4418('0x15')]((_0x593b4a,_0x2f003c)=>{const _0x4b0f9f=_0x593b4a['range'],_0x11ae03=_0x2f003c[_0x4418('0x14')];if(!_0x4b0f9f[_0x4418('0x27')](_0x11ae03)){if(_0x4b0f9f[_0x4418('0x7')](_0x11ae03,!0x0))return 0x1;if(_0x11ae03[_0x4418('0x7')](_0x4b0f9f,!0x0))return-0x1;}return _0x593b4a['annotation']==_0x4ab116?-0x1:_0x2f003c[_0x4418('0x12')]==_0x4ab116?0x1:0x0;})['map'](_0x33ed29=>_0x33ed29[_0x4418('0x12')]);}get[_0x4418('0xf')](){const _0x5e9f72=new Map();for(const _0x2c159b of Array[_0x4418('0x8')](this[_0x4418('0x17')]))for(const [_0x2d1f5c,_0x503274]of _0x2c159b())_0x5e9f72[_0x4418('0x2c')](_0x2d1f5c,_0x503274);return _0x5e9f72;}}
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module comments/annotations/inlineannotations
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import AnnotationsUIs, { type AnnotationsUI } from './annotationsuis';
|
|
11
|
-
import EditorAnnotations from './editorannotations';
|
|
12
|
-
import { ContextualBalloon } from 'ckeditor5/src/ui';
|
|
13
|
-
import './../../theme/annotation-inline.css';
|
|
14
|
-
import type Annotation from './annotation';
|
|
15
|
-
import type AnnotationCollection from './annotationcollection';
|
|
16
|
-
/**
|
|
17
|
-
* The popup-style UI for displaying annotations next to editor target elements.
|
|
18
|
-
*
|
|
19
|
-
* It displays {@link module:comments/annotations/annotation~Annotation annotations} in the
|
|
20
|
-
* {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon balloon} where the current
|
|
21
|
-
* {@link module:comments/annotations/inlineannotations~InlineAnnotations#activeAnnotation} is the displayed one.
|
|
22
|
-
*
|
|
23
|
-
* Note: this UI type works only with {@link module:core/editor/editor~Editor the Editor} and cannot be used in integrations where
|
|
24
|
-
* there is only {@link module:core/context~Context context} without any editor.
|
|
25
|
-
*
|
|
26
|
-
* This UI is intended for narrow screens.
|
|
27
|
-
*
|
|
28
|
-
* To activate this UI use one of the following:
|
|
29
|
-
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* editor.plugins.get( 'AnnotationsUIs' ).switchTo( 'inline' );
|
|
32
|
-
* editor.plugins.get( 'AnnotationsUIs' ).activate( 'inline', filter );
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* See {@link module:comments/annotations/annotationsuis~AnnotationsUIs}.
|
|
36
|
-
*/
|
|
37
|
-
export default class InlineAnnotations extends Plugin implements AnnotationsUI<Plugin> {
|
|
38
|
-
/**
|
|
39
|
-
* An active annotation tracked by this UI.
|
|
40
|
-
*
|
|
41
|
-
* @observable
|
|
42
|
-
*/
|
|
43
|
-
activeAnnotation: Annotation | null;
|
|
44
|
-
isAttached: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* A collection of annotations controlled by this UI.
|
|
47
|
-
*
|
|
48
|
-
* This property is readonly and should not be operated on directly. Use it only to read which annotations are added to this UI.
|
|
49
|
-
*
|
|
50
|
-
* It is set to `null` if `InlineAnnotations` is not
|
|
51
|
-
* {@link module:comments/annotations/inlineannotations~InlineAnnotations#attach attached}.
|
|
52
|
-
*/
|
|
53
|
-
annotations: AnnotationCollection | null;
|
|
54
|
-
/**
|
|
55
|
-
* @inheritDoc
|
|
56
|
-
*/
|
|
57
|
-
static get requires(): readonly [typeof EditorAnnotations, typeof ContextualBalloon, typeof AnnotationsUIs];
|
|
58
|
-
/**
|
|
59
|
-
* @inheritDoc
|
|
60
|
-
*/
|
|
61
|
-
static get pluginName(): "InlineAnnotations";
|
|
62
|
-
/**
|
|
63
|
-
* @inheritDoc
|
|
64
|
-
*/
|
|
65
|
-
constructor(editor: Editor);
|
|
66
|
-
/**
|
|
67
|
-
* @inheritDoc
|
|
68
|
-
*/
|
|
69
|
-
init(): void;
|
|
70
|
-
/**
|
|
71
|
-
* @inheritDoc
|
|
72
|
-
*/
|
|
73
|
-
afterInit(): void;
|
|
74
|
-
/**
|
|
75
|
-
* Sets the active annotation for this UI.
|
|
76
|
-
*/
|
|
77
|
-
setActiveAnnotation(annotation: Annotation | null): void;
|
|
78
|
-
/**
|
|
79
|
-
* @inheritDoc
|
|
80
|
-
*/
|
|
81
|
-
attach(annotations: AnnotationCollection): void;
|
|
82
|
-
/**
|
|
83
|
-
* @inheritDoc
|
|
84
|
-
*/
|
|
85
|
-
detach(): void;
|
|
86
|
-
/**
|
|
87
|
-
* @inheritDoc
|
|
88
|
-
*/
|
|
89
|
-
destroy(): void;
|
|
90
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module comments/annotations/inlineannotations
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import AnnotationsUIs, { type AnnotationsUI } from './annotationsuis';
|
|
11
|
+
import EditorAnnotations from './editorannotations';
|
|
12
|
+
import { ContextualBalloon } from 'ckeditor5/src/ui';
|
|
13
|
+
import './../../theme/annotation-inline.css';
|
|
14
|
+
import type Annotation from './annotation';
|
|
15
|
+
import type AnnotationCollection from './annotationcollection';
|
|
16
|
+
/**
|
|
17
|
+
* The popup-style UI for displaying annotations next to editor target elements.
|
|
18
|
+
*
|
|
19
|
+
* It displays {@link module:comments/annotations/annotation~Annotation annotations} in the
|
|
20
|
+
* {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon balloon} where the current
|
|
21
|
+
* {@link module:comments/annotations/inlineannotations~InlineAnnotations#activeAnnotation} is the displayed one.
|
|
22
|
+
*
|
|
23
|
+
* Note: this UI type works only with {@link module:core/editor/editor~Editor the Editor} and cannot be used in integrations where
|
|
24
|
+
* there is only {@link module:core/context~Context context} without any editor.
|
|
25
|
+
*
|
|
26
|
+
* This UI is intended for narrow screens.
|
|
27
|
+
*
|
|
28
|
+
* To activate this UI use one of the following:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* editor.plugins.get( 'AnnotationsUIs' ).switchTo( 'inline' );
|
|
32
|
+
* editor.plugins.get( 'AnnotationsUIs' ).activate( 'inline', filter );
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* See {@link module:comments/annotations/annotationsuis~AnnotationsUIs}.
|
|
36
|
+
*/
|
|
37
|
+
export default class InlineAnnotations extends Plugin implements AnnotationsUI<Plugin> {
|
|
38
|
+
/**
|
|
39
|
+
* An active annotation tracked by this UI.
|
|
40
|
+
*
|
|
41
|
+
* @observable
|
|
42
|
+
*/
|
|
43
|
+
activeAnnotation: Annotation | null;
|
|
44
|
+
isAttached: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* A collection of annotations controlled by this UI.
|
|
47
|
+
*
|
|
48
|
+
* This property is readonly and should not be operated on directly. Use it only to read which annotations are added to this UI.
|
|
49
|
+
*
|
|
50
|
+
* It is set to `null` if `InlineAnnotations` is not
|
|
51
|
+
* {@link module:comments/annotations/inlineannotations~InlineAnnotations#attach attached}.
|
|
52
|
+
*/
|
|
53
|
+
annotations: AnnotationCollection | null;
|
|
54
|
+
/**
|
|
55
|
+
* @inheritDoc
|
|
56
|
+
*/
|
|
57
|
+
static get requires(): readonly [typeof EditorAnnotations, typeof ContextualBalloon, typeof AnnotationsUIs];
|
|
58
|
+
/**
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
*/
|
|
61
|
+
static get pluginName(): "InlineAnnotations";
|
|
62
|
+
/**
|
|
63
|
+
* @inheritDoc
|
|
64
|
+
*/
|
|
65
|
+
constructor(editor: Editor);
|
|
66
|
+
/**
|
|
67
|
+
* @inheritDoc
|
|
68
|
+
*/
|
|
69
|
+
init(): void;
|
|
70
|
+
/**
|
|
71
|
+
* @inheritDoc
|
|
72
|
+
*/
|
|
73
|
+
afterInit(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Sets the active annotation for this UI.
|
|
76
|
+
*/
|
|
77
|
+
setActiveAnnotation(annotation: Annotation | null): void;
|
|
78
|
+
/**
|
|
79
|
+
* @inheritDoc
|
|
80
|
+
*/
|
|
81
|
+
attach(annotations: AnnotationCollection): void;
|
|
82
|
+
/**
|
|
83
|
+
* @inheritDoc
|
|
84
|
+
*/
|
|
85
|
+
detach(): void;
|
|
86
|
+
/**
|
|
87
|
+
* @inheritDoc
|
|
88
|
+
*/
|
|
89
|
+
destroy(): void;
|
|
90
|
+
}
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x419b=['fromRect','editableElement','right','annotations','focusTracker','bottom','_removeAnnotationFromBalloon','push','clear','focus','plugins','top','inlineannotations-not-allowed-with-context','visibleView','stopListening','hasActive','update','afterInit','context','getOrderedSelectedAnnotations','remove','mousedown','view','get','editor','length','every','inline','updatePosition','selection','keystrokes','_addedAnnotations','isAttached','register','showStack','_manuallyClosed','listenTo','targetRect','isFocused','attach','_getBalloonTargetForAnnotation','addObserver','requires','set','inlineannotations-detach-not-attached','has','getByView','activeAnnotation','_setSelectedAnnotations','from','collapse','setActiveAnnotation','InlineAnnotations','_selectedAnnotations','_closeAnnotation','getFirstRange','pluginName','isActive','document','_balloon','Esc','add','left','destroy','includes','change:visibleView','hasView','getClientRects','editing','_forceRefresh','viewRangeToDom'];(function(_0x5a6457,_0x419b81){const _0x575775=function(_0x2c4f48){while(--_0x2c4f48){_0x5a6457['push'](_0x5a6457['shift']());}};_0x575775(++_0x419b81);}(_0x419b,0x1e0));const _0x5757=function(_0x5a6457,_0x419b81){_0x5a6457=_0x5a6457-0x0;let _0x575775=_0x419b[_0x5a6457];return _0x575775;};import{Plugin as _0x17a5a1}from'ckeditor5/src/core';import _0xa15a8a from'./annotationsuis';import _0x5b7ead from'./editorannotations';import{ContextualBalloon as _0x255486}from'ckeditor5/src/ui';import{MouseObserver as _0x3de05e}from'ckeditor5/src/engine';import{CKEditorError as _0x5e91dd,Rect as _0x45a20c}from'ckeditor5/src/utils';import'./../../theme/annotation-inline.css';export default class c extends _0x17a5a1{static get[_0x5757('0x3b')](){return[_0x5b7ead,_0x255486,_0xa15a8a];}static get[_0x5757('0x2')](){return _0x5757('0x45');}constructor(_0x470fbe){super(_0x470fbe),_0x470fbe[_0x5757('0xe')]['view'][_0x5757('0x3a')](_0x3de05e),this['isAttached']=!0x1,this[_0x5757('0x3c')](_0x5757('0x40'),null),this[_0x5757('0x14')]=null,this['_manuallyClosed']=new Set(),this[_0x5757('0x5')]=_0x470fbe[_0x5757('0x1b')][_0x5757('0x28')](_0x255486),this[_0x5757('0x30')]=new Set(),this['_selectedAnnotations']=[],this[_0x5757('0xf')]=!0x1;}['init'](){const _0x453efb=this['editor'][_0x5757('0x1b')][_0x5757('0x28')](_0xa15a8a);_0x453efb[_0x5757('0x23')]===this['editor']&&(_0x453efb[_0x5757('0x32')](_0x5757('0x2c'),this),this[_0x5757('0x29')][_0x5757('0x2f')][_0x5757('0x3c')](_0x5757('0x6'),(_0x188e06,_0x52182d)=>{const _0x336260=this[_0x5757('0x5')];if(this[_0x5757('0x31')]&&_0x336260[_0x5757('0x1e')]){const _0x1c0840=this['annotations']['getByView'](_0x336260[_0x5757('0x1e')]);_0x1c0840&&this[_0x5757('0x0')](_0x1c0840),_0x52182d();}}));}[_0x5757('0x22')](){const _0x1a7974=this[_0x5757('0x29')]['plugins'][_0x5757('0x28')](_0xa15a8a);_0x1a7974[_0x5757('0x23')]===this[_0x5757('0x29')]&&(_0x1a7974[_0x5757('0x20')]()||_0x1a7974['switchTo'](_0x5757('0x2c')));}['setActiveAnnotation'](_0x4f2335){_0x4f2335!==this[_0x5757('0x40')]&&(this[_0x5757('0x40')]&&(this[_0x5757('0x40')][_0x5757('0x3')]=!0x1),_0x4f2335&&this[_0x5757('0x29')]['ui'][_0x5757('0x15')]['isFocused']&&(this['annotations'][_0x5757('0x3e')](_0x4f2335)&&this['_addAnnotationToBalloon'](_0x4f2335,!0x0),_0x4f2335['isActive']=!0x0),_0x4f2335||this['_setSelectedAnnotations']([]),this['activeAnnotation']=_0x4f2335);}[_0x5757('0x38')](_0x7dc318){this[_0x5757('0x14')]=_0x7dc318;const _0x1e144d=this[_0x5757('0x29')]['plugins'][_0x5757('0x28')](_0xa15a8a),_0x1b927f=this['_balloon'];if(this[_0x5757('0x31')])throw new _0x5e91dd('inlineannotations-attach-already-attached',this);if(_0x1e144d['context']!==this[_0x5757('0x29')])throw new _0x5e91dd(_0x5757('0x1d'),this);const _0x3a3bc9=this['editor'][_0x5757('0x1b')][_0x5757('0x28')](_0x5b7ead);this[_0x5757('0x35')](_0x3a3bc9,'refresh',()=>{const _0x4c9d9e=_0x3a3bc9[_0x5757('0x24')]({'annotations':this['annotations'],'activeAnnotation':this[_0x5757('0x40')]});var _0x2ebe1d,_0x3993a7;!this['_forceRefresh']&&(_0x2ebe1d=_0x4c9d9e,_0x3993a7=this['_selectedAnnotations'],_0x2ebe1d[_0x5757('0x2a')]===_0x3993a7[_0x5757('0x2a')]&&_0x2ebe1d[_0x5757('0x2b')](_0x46cd23=>_0x3993a7['includes'](_0x46cd23)))||(this[_0x5757('0xf')]=!0x1,this[_0x5757('0x41')](_0x4c9d9e),this[_0x5757('0x44')](_0x4c9d9e[0x0]||null));}),this['listenTo'](_0x3a3bc9,'blur',(_0x4ce402,{isAnnotationTracked:_0x57c86c})=>{this[_0x5757('0x40')]&&_0x57c86c(this[_0x5757('0x40')])&&(this[_0x5757('0x41')]([]),this['setActiveAnnotation'](null));}),this['listenTo'](this['editor']['ui'][_0x5757('0x15')],'change:isFocused',(_0x3057bd,_0x24a3b6,_0x39e926)=>{_0x39e926||this['setActiveAnnotation'](null);}),this['listenTo'](_0x7dc318,_0x5757('0x25'),(_0x4c7d23,_0x519cd2)=>{this['_removeAnnotationFromBalloon'](_0x519cd2),_0x519cd2===this[_0x5757('0x40')]&&this['setActiveAnnotation'](null);}),this[_0x5757('0x35')](_0x1b927f,_0x5757('0xb'),(_0x51fbd1,_0x4c0b94,_0x53233e,_0x5a5c8c)=>{_0x5a5c8c&&this['stopListening'](_0x5a5c8c);const _0x5734a6=_0x7dc318[_0x5757('0x3f')](_0x53233e);_0x53233e&&_0x5734a6&&(this[_0x5757('0x35')](_0x53233e,'change:height',()=>{_0x1b927f[_0x5757('0x2d')]();}),this[_0x5757('0x35')](_0x53233e,_0x5757('0x6'),()=>{this[_0x5757('0x0')](_0x5734a6),this[_0x5757('0x29')][_0x5757('0xe')][_0x5757('0x27')][_0x5757('0x1a')]();}),this['activeAnnotation']!==_0x5734a6&&this[_0x5757('0x44')](_0x5734a6));}),this[_0x5757('0x35')](this[_0x5757('0x29')]['ui'],_0x5757('0x21'),()=>{_0x1b927f[_0x5757('0x1e')]&&(_0x7dc318[_0x5757('0x3f')](_0x1b927f['visibleView'])&&_0x1b927f[_0x5757('0x2d')]());}),this[_0x5757('0x35')](this[_0x5757('0x29')]['editing'][_0x5757('0x27')]['document'],_0x5757('0x26'),()=>{this[_0x5757('0xf')]=!0x0,this[_0x5757('0x34')][_0x5757('0x19')]();}),this['editor'][_0x5757('0xe')]['view'][_0x5757('0x4')][_0x5757('0x2e')][_0x5757('0x12')]&&this['editor'][_0x5757('0xe')][_0x5757('0x27')][_0x5757('0x1a')](),this[_0x5757('0x31')]=!0x0;}['detach'](){if(!this[_0x5757('0x31')])throw new _0x5e91dd(_0x5757('0x3d'),this);this[_0x5757('0x44')](null);for(const _0x5078d8 of this[_0x5757('0x30')])this[_0x5757('0x17')](_0x5078d8);this[_0x5757('0x1f')](),this['isAttached']=!0x1,this[_0x5757('0x14')]=null;}[_0x5757('0x9')](){this[_0x5757('0x31')]&&this['detach']();}[_0x5757('0x41')](_0x221564){for(const _0x51fc8a of this[_0x5757('0x46')])_0x221564[_0x5757('0xa')](_0x51fc8a)||this[_0x5757('0x34')]['delete'](_0x51fc8a);for(const _0x4ea874 of this[_0x5757('0x14')])_0x221564[_0x5757('0xa')](_0x4ea874)||this[_0x5757('0x17')](_0x4ea874);if(this['editor']['ui'][_0x5757('0x15')][_0x5757('0x37')])for(const _0x8ee7d3 of _0x221564)this['_addAnnotationToBalloon'](_0x8ee7d3);this['_selectedAnnotations']=_0x221564;}['_addAnnotationToBalloon'](_0x4e1c30,_0x41f1f9=!0x1){this[_0x5757('0x34')][_0x5757('0x3e')](_0x4e1c30)||(this[_0x5757('0x30')][_0x5757('0x3e')](_0x4e1c30)||this[_0x5757('0x5')]['hasView'](_0x4e1c30[_0x5757('0x27')])||(this[_0x5757('0x30')][_0x5757('0x7')](_0x4e1c30),this[_0x5757('0x5')][_0x5757('0x7')]({'stackId':_0x4e1c30[_0x5757('0x27')]['id'],'view':_0x4e1c30[_0x5757('0x27')],'position':{'target':()=>this['_getBalloonTargetForAnnotation'](_0x4e1c30)}})),_0x41f1f9&&this[_0x5757('0x5')][_0x5757('0x33')](_0x4e1c30[_0x5757('0x27')]['id']));}[_0x5757('0x39')](_0x2a6c38){const _0x1ef052=_0x2a6c38['target'],_0x486cca=this[_0x5757('0x29')][_0x5757('0xe')][_0x5757('0x27')],_0x2c77c4=_0x486cca[_0x5757('0x4')][_0x5757('0x2e')][_0x5757('0x1')](),_0x1bf54e=_0x486cca['domConverter'][_0x5757('0x10')](_0x2c77c4);if(_0x1bf54e[_0x5757('0x43')](!0x0),_0x1ef052){if(_0x1ef052 instanceof _0x45a20c)return _0x1ef052;let _0x2d497d=[];for(const _0x1c80a9 of _0x1ef052)_0x2d497d[_0x5757('0x18')](...(_0x536a15=_0x1c80a9[_0x5757('0xd')](),Array[_0x5757('0x42')](_0x536a15)['map'](DOMRect[_0x5757('0x11')])));_0x2d497d=function(_0x57df40){const _0x38e0b1=[];let _0x1b7b99=_0x57df40[0x0];for(let _0x3b031b=0x1;_0x3b031b<_0x57df40[_0x5757('0x2a')];_0x3b031b++)F(_0x1b7b99,_0x57df40[_0x3b031b])?_0x1b7b99['width']+=_0x57df40[_0x3b031b]['width']:(_0x38e0b1['push'](_0x1b7b99),_0x1b7b99=_0x57df40[_0x3b031b]);return _0x38e0b1[_0x5757('0x18')](_0x1b7b99),_0x38e0b1;}(_0x2d497d);const _0x14f210=_0x1bf54e['getBoundingClientRect']();return _0x2d497d['find'](_0x1d1793=>_0x1d1793[_0x5757('0x1c')]<=_0x14f210[_0x5757('0x1c')]&&_0x1d1793['bottom']>=_0x14f210[_0x5757('0x16')]&&_0x1d1793['left']<=_0x14f210[_0x5757('0x8')]&&_0x1d1793[_0x5757('0x13')]>=_0x14f210[_0x5757('0x13')])||_0x2d497d[0x0];}var _0x536a15;return _0x2a6c38[_0x5757('0x36')]||_0x1bf54e;}[_0x5757('0x17')](_0x3f9817){this[_0x5757('0x30')][_0x5757('0x3e')](_0x3f9817)&&this[_0x5757('0x5')][_0x5757('0xc')](_0x3f9817[_0x5757('0x27')])&&(this['_addedAnnotations']['delete'](_0x3f9817),this[_0x5757('0x5')][_0x5757('0x25')](_0x3f9817[_0x5757('0x27')]));}[_0x5757('0x0')](_0x4ef1c9){this[_0x5757('0x34')][_0x5757('0x7')](_0x4ef1c9),this[_0x5757('0x17')](_0x4ef1c9);}}function F(_0x222783,_0xa4d1da){return _0x222783['top']===_0xa4d1da['top']&&_0x222783[_0x5757('0x16')]===_0xa4d1da[_0x5757('0x16')]&&_0x222783[_0x5757('0x13')]===_0xa4d1da[_0x5757('0x8')];}
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module comments/annotations/narrowsidebar
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { ContextPlugin, Context, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import AnnotationsUIs, { type AnnotationsUI } from './annotationsuis';
|
|
11
|
-
import Sidebar from './sidebar';
|
|
12
|
-
import { BalloonPanelView, BodyCollection } from 'ckeditor5/src/ui';
|
|
13
|
-
import '../../theme/sidebar-narrow.css';
|
|
14
|
-
import type Annotation from './annotation';
|
|
15
|
-
import type { default as AnnotationCollection } from './annotationcollection';
|
|
16
|
-
/**
|
|
17
|
-
* The narrow sidebar UI for displaying annotations.
|
|
18
|
-
*
|
|
19
|
-
* Binds {@link module:comments/annotations/annotations~Annotations} plugin with
|
|
20
|
-
* {@link module:comments/annotations/sidebar~Sidebar} plugin to display annotations in the sidebar as
|
|
21
|
-
* {@link module:comments/annotations/view/annotationcounterbuttonview~AnnotationCounterButtonView small icons}.
|
|
22
|
-
*
|
|
23
|
-
* After selecting an annotation the {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView} with an
|
|
24
|
-
* {@link module:comments/annotations/view/annotationview~AnnotationView} appears attached to the sidebar item.
|
|
25
|
-
*
|
|
26
|
-
* This UI is intended for medium-sized viewports.
|
|
27
|
-
*
|
|
28
|
-
* To activate this UI use one of the following:
|
|
29
|
-
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* editor.plugins.get( 'AnnotationsUIs' ).switchTo( 'narrowSidebar' );
|
|
32
|
-
* editor.plugins.get( 'AnnotationsUIs' ).activate( 'narrowSidebar', filter );
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* See {@link module:comments/annotations/annotationsuis~AnnotationsUIs}.
|
|
36
|
-
*/
|
|
37
|
-
export default class NarrowSidebar extends ContextPlugin implements AnnotationsUI<ContextPlugin> {
|
|
38
|
-
/**
|
|
39
|
-
* An active annotation tracked by this UI.
|
|
40
|
-
*/
|
|
41
|
-
activeAnnotation: Annotation | null;
|
|
42
|
-
bodyCollection: BodyCollection;
|
|
43
|
-
balloonPanelView: BalloonPanelView;
|
|
44
|
-
isAttached: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* A collection of annotations controlled by this UI.
|
|
47
|
-
*
|
|
48
|
-
* This property is readonly and should not be operated on directly. Use it only to read which annotations are added to this UI.
|
|
49
|
-
*
|
|
50
|
-
* It is set to `null` if `NarrowSidebar` is not {@link module:comments/annotations/narrowsidebar~NarrowSidebar#attach attached}.
|
|
51
|
-
*/
|
|
52
|
-
annotations: AnnotationCollection | null;
|
|
53
|
-
/**
|
|
54
|
-
* @inheritDoc
|
|
55
|
-
*/
|
|
56
|
-
static get requires(): readonly [typeof Sidebar, typeof AnnotationsUIs];
|
|
57
|
-
/**
|
|
58
|
-
* @inheritDoc
|
|
59
|
-
*/
|
|
60
|
-
static get pluginName(): "NarrowSidebar";
|
|
61
|
-
/**
|
|
62
|
-
* @inheritDoc
|
|
63
|
-
*/
|
|
64
|
-
constructor(context: Context | Editor);
|
|
65
|
-
/**
|
|
66
|
-
* @inheritDoc
|
|
67
|
-
*/
|
|
68
|
-
init(): void;
|
|
69
|
-
/**
|
|
70
|
-
* @inheritDoc
|
|
71
|
-
*/
|
|
72
|
-
attach(annotations: AnnotationCollection): void;
|
|
73
|
-
/**
|
|
74
|
-
* Sets the active annotation for this UI.
|
|
75
|
-
*/
|
|
76
|
-
setActiveAnnotation(annotation: Annotation | null): void;
|
|
77
|
-
/**
|
|
78
|
-
* @inheritDoc
|
|
79
|
-
*/
|
|
80
|
-
detach(): void;
|
|
81
|
-
/**
|
|
82
|
-
* @inheritDoc
|
|
83
|
-
*/
|
|
84
|
-
destroy(): void;
|
|
85
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module comments/annotations/narrowsidebar
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { ContextPlugin, Context, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import AnnotationsUIs, { type AnnotationsUI } from './annotationsuis';
|
|
11
|
+
import Sidebar from './sidebar';
|
|
12
|
+
import { BalloonPanelView, BodyCollection } from 'ckeditor5/src/ui';
|
|
13
|
+
import '../../theme/sidebar-narrow.css';
|
|
14
|
+
import type Annotation from './annotation';
|
|
15
|
+
import type { default as AnnotationCollection } from './annotationcollection';
|
|
16
|
+
/**
|
|
17
|
+
* The narrow sidebar UI for displaying annotations.
|
|
18
|
+
*
|
|
19
|
+
* Binds {@link module:comments/annotations/annotations~Annotations} plugin with
|
|
20
|
+
* {@link module:comments/annotations/sidebar~Sidebar} plugin to display annotations in the sidebar as
|
|
21
|
+
* {@link module:comments/annotations/view/annotationcounterbuttonview~AnnotationCounterButtonView small icons}.
|
|
22
|
+
*
|
|
23
|
+
* After selecting an annotation the {@link module:ui/panel/balloon/balloonpanelview~BalloonPanelView} with an
|
|
24
|
+
* {@link module:comments/annotations/view/annotationview~AnnotationView} appears attached to the sidebar item.
|
|
25
|
+
*
|
|
26
|
+
* This UI is intended for medium-sized viewports.
|
|
27
|
+
*
|
|
28
|
+
* To activate this UI use one of the following:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* editor.plugins.get( 'AnnotationsUIs' ).switchTo( 'narrowSidebar' );
|
|
32
|
+
* editor.plugins.get( 'AnnotationsUIs' ).activate( 'narrowSidebar', filter );
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* See {@link module:comments/annotations/annotationsuis~AnnotationsUIs}.
|
|
36
|
+
*/
|
|
37
|
+
export default class NarrowSidebar extends ContextPlugin implements AnnotationsUI<ContextPlugin> {
|
|
38
|
+
/**
|
|
39
|
+
* An active annotation tracked by this UI.
|
|
40
|
+
*/
|
|
41
|
+
activeAnnotation: Annotation | null;
|
|
42
|
+
bodyCollection: BodyCollection;
|
|
43
|
+
balloonPanelView: BalloonPanelView;
|
|
44
|
+
isAttached: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* A collection of annotations controlled by this UI.
|
|
47
|
+
*
|
|
48
|
+
* This property is readonly and should not be operated on directly. Use it only to read which annotations are added to this UI.
|
|
49
|
+
*
|
|
50
|
+
* It is set to `null` if `NarrowSidebar` is not {@link module:comments/annotations/narrowsidebar~NarrowSidebar#attach attached}.
|
|
51
|
+
*/
|
|
52
|
+
annotations: AnnotationCollection | null;
|
|
53
|
+
/**
|
|
54
|
+
* @inheritDoc
|
|
55
|
+
*/
|
|
56
|
+
static get requires(): readonly [typeof Sidebar, typeof AnnotationsUIs];
|
|
57
|
+
/**
|
|
58
|
+
* @inheritDoc
|
|
59
|
+
*/
|
|
60
|
+
static get pluginName(): "NarrowSidebar";
|
|
61
|
+
/**
|
|
62
|
+
* @inheritDoc
|
|
63
|
+
*/
|
|
64
|
+
constructor(context: Context | Editor);
|
|
65
|
+
/**
|
|
66
|
+
* @inheritDoc
|
|
67
|
+
*/
|
|
68
|
+
init(): void;
|
|
69
|
+
/**
|
|
70
|
+
* @inheritDoc
|
|
71
|
+
*/
|
|
72
|
+
attach(annotations: AnnotationCollection): void;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the active annotation for this UI.
|
|
75
|
+
*/
|
|
76
|
+
setActiveAnnotation(annotation: Annotation | null): void;
|
|
77
|
+
/**
|
|
78
|
+
* @inheritDoc
|
|
79
|
+
*/
|
|
80
|
+
detach(): void;
|
|
81
|
+
/**
|
|
82
|
+
* @inheritDoc
|
|
83
|
+
*/
|
|
84
|
+
destroy(): void;
|
|
85
|
+
}
|