@ckeditor/ckeditor5-comments 36.0.1 → 37.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/build/comments.js +2 -2
- package/build/translations/af.js +1 -1
- package/build/translations/ar.js +1 -1
- package/build/translations/bg.js +1 -1
- package/build/translations/bn.js +1 -1
- package/build/translations/bs.js +1 -1
- package/build/translations/ca.js +1 -1
- package/build/translations/cs.js +1 -1
- package/build/translations/da.js +1 -1
- package/build/translations/de-ch.js +1 -1
- package/build/translations/de.js +1 -1
- package/build/translations/el.js +1 -1
- package/build/translations/en-au.js +1 -1
- package/build/translations/es-co.js +1 -1
- package/build/translations/es.js +1 -1
- package/build/translations/et.js +1 -1
- package/build/translations/fa.js +1 -1
- package/build/translations/fi.js +1 -1
- package/build/translations/fr.js +1 -1
- package/build/translations/gl.js +1 -1
- package/build/translations/he.js +1 -1
- package/build/translations/hi.js +1 -1
- package/build/translations/hr.js +1 -1
- package/build/translations/hu.js +1 -1
- package/build/translations/id.js +1 -1
- package/build/translations/it.js +1 -1
- package/build/translations/ja.js +1 -1
- package/build/translations/jv.js +1 -1
- package/build/translations/ko.js +1 -1
- package/build/translations/lt.js +1 -1
- package/build/translations/lv.js +1 -1
- package/build/translations/ms.js +1 -1
- package/build/translations/nl.js +1 -1
- package/build/translations/no.js +1 -1
- package/build/translations/pl.js +1 -1
- package/build/translations/pt-br.js +1 -1
- package/build/translations/pt.js +1 -1
- package/build/translations/ro.js +1 -1
- package/build/translations/ru.js +1 -1
- package/build/translations/sk.js +1 -1
- package/build/translations/sr-latn.js +1 -1
- package/build/translations/sr.js +1 -1
- package/build/translations/sv.js +1 -1
- package/build/translations/th.js +1 -1
- package/build/translations/tk.js +1 -1
- package/build/translations/tr.js +1 -1
- package/build/translations/tt.js +1 -1
- package/build/translations/ug.js +1 -1
- package/build/translations/uk.js +1 -1
- package/build/translations/ur.js +1 -1
- package/build/translations/vi.js +1 -1
- package/build/translations/zh-cn.js +1 -1
- package/build/translations/zh.js +1 -1
- package/lang/contexts.json +8 -1
- package/lang/translations/af.po +28 -0
- package/lang/translations/ar.po +28 -0
- package/lang/translations/bg.po +28 -0
- package/lang/translations/bn.po +28 -0
- package/lang/translations/bs.po +28 -0
- package/lang/translations/ca.po +28 -0
- package/lang/translations/cs.po +28 -0
- package/lang/translations/da.po +28 -0
- package/lang/translations/de-ch.po +28 -0
- package/lang/translations/de.po +28 -0
- package/lang/translations/el.po +28 -0
- package/lang/translations/en-au.po +28 -0
- package/lang/translations/en.po +28 -0
- package/lang/translations/es-co.po +28 -0
- package/lang/translations/es.po +28 -0
- package/lang/translations/et.po +28 -0
- package/lang/translations/fa.po +28 -0
- package/lang/translations/fi.po +28 -0
- package/lang/translations/fr.po +28 -0
- package/lang/translations/gl.po +28 -0
- package/lang/translations/he.po +28 -0
- package/lang/translations/hi.po +28 -0
- package/lang/translations/hr.po +28 -0
- package/lang/translations/hu.po +28 -0
- package/lang/translations/id.po +28 -0
- package/lang/translations/it.po +28 -0
- package/lang/translations/ja.po +28 -0
- package/lang/translations/jv.po +28 -0
- package/lang/translations/ko.po +28 -0
- package/lang/translations/lt.po +28 -0
- package/lang/translations/lv.po +28 -0
- package/lang/translations/ms.po +28 -0
- package/lang/translations/nl.po +28 -0
- package/lang/translations/no.po +28 -0
- package/lang/translations/pl.po +28 -0
- package/lang/translations/pt-br.po +28 -0
- package/lang/translations/pt.po +28 -0
- package/lang/translations/ro.po +28 -0
- package/lang/translations/ru.po +28 -0
- package/lang/translations/sk.po +28 -0
- package/lang/translations/sr-latn.po +28 -0
- package/lang/translations/sr.po +29 -1
- package/lang/translations/sv.po +28 -0
- package/lang/translations/th.po +28 -0
- package/lang/translations/tk.po +28 -0
- package/lang/translations/tr.po +28 -0
- package/lang/translations/tt.po +28 -0
- package/lang/translations/ug.po +28 -0
- package/lang/translations/uk.po +28 -0
- package/lang/translations/ur.po +28 -0
- package/lang/translations/vi.po +28 -0
- package/lang/translations/zh-cn.po +28 -0
- package/lang/translations/zh.po +28 -0
- package/package.json +19 -3
- package/src/annotations/annotation.d.ts +86 -0
- package/src/annotations/annotation.js +1 -1
- package/src/annotations/annotationcollection.d.ts +94 -0
- package/src/annotations/annotationcollection.js +1 -1
- package/src/annotations/annotations.d.ts +150 -0
- package/src/annotations/annotations.js +1 -1
- package/src/annotations/annotationsuis.d.ts +227 -0
- package/src/annotations/annotationsuis.js +1 -1
- package/src/annotations/editorannotations.d.ts +62 -0
- package/src/annotations/editorannotations.js +1 -1
- package/src/annotations/inlineannotations.d.ts +84 -0
- package/src/annotations/inlineannotations.js +1 -1
- package/src/annotations/narrowsidebar.d.ts +80 -0
- package/src/annotations/narrowsidebar.js +1 -1
- package/src/annotations/sidebar.d.ts +96 -0
- package/src/annotations/sidebar.js +1 -1
- package/src/annotations/view/annotationcounterbuttonview.d.ts +25 -0
- package/src/annotations/view/annotationcounterbuttonview.js +1 -1
- package/src/annotations/view/annotationview.d.ts +86 -0
- package/src/annotations/view/annotationview.js +1 -1
- package/src/annotations/view/sidebaritemview.d.ts +51 -0
- package/src/annotations/view/sidebaritemview.js +1 -1
- package/src/annotations/view/sidebarview.d.ts +28 -0
- package/src/annotations/view/sidebarview.js +1 -1
- package/src/annotations/widesidebar.d.ts +72 -0
- package/src/annotations/widesidebar.js +1 -1
- package/src/augmentation.d.ts +54 -0
- package/src/augmentation.js +23 -0
- package/src/comments/addcommentthreadcommand.d.ts +31 -0
- package/src/comments/addcommentthreadcommand.js +1 -1
- package/src/comments/commentsarchive.d.ts +25 -0
- package/src/comments/commentsarchive.js +23 -0
- package/src/comments/commentsarchiveui.d.ts +32 -0
- package/src/comments/commentsarchiveui.js +23 -0
- package/src/comments/commentsediting.d.ts +71 -0
- package/src/comments/commentsediting.js +1 -1
- package/src/comments/commentsrepository.d.ts +1009 -0
- package/src/comments/commentsrepository.js +1 -1
- package/src/comments/commentsui.d.ts +25 -0
- package/src/comments/commentsui.js +1 -1
- package/src/comments/integrations/commentsrestrictededitingmode.d.ts +13 -0
- package/src/comments/integrations/commentsrestrictededitingmode.js +1 -1
- package/src/comments/integrations/importword.d.ts +17 -0
- package/src/comments/integrations/importword.js +1 -1
- package/src/comments/ui/commenteditor/commenteditor.d.ts +32 -0
- package/src/comments/ui/commenteditor/commenteditor.js +1 -1
- package/src/comments/ui/commenteditor/commenteditorui.d.ts +27 -0
- package/src/comments/ui/commenteditor/commenteditorui.js +1 -1
- package/src/comments/ui/commenteditor/commenteditoruiview.d.ts +32 -0
- package/src/comments/ui/commenteditor/commenteditoruiview.js +1 -1
- package/src/comments/ui/commentthreadcontroller.d.ts +64 -0
- package/src/comments/ui/commentthreadcontroller.js +1 -1
- package/src/comments/ui/view/basecommentthreadview.d.ts +108 -0
- package/src/comments/ui/view/basecommentthreadview.js +1 -1
- package/src/comments/ui/view/basecommentview.d.ts +108 -0
- package/src/comments/ui/view/basecommentview.js +1 -1
- package/src/comments/ui/view/collapsedcommentsview.d.ts +9 -0
- package/src/comments/ui/view/collapsedcommentsview.js +1 -1
- package/src/comments/ui/view/commentcontentview.d.ts +10 -0
- package/src/comments/ui/view/commentcontentview.js +1 -1
- package/src/comments/ui/view/commentinputview.d.ts +76 -0
- package/src/comments/ui/view/commentinputview.js +1 -1
- package/src/comments/ui/view/commentsarchiveview.d.ts +34 -0
- package/src/comments/ui/view/commentsarchiveview.js +23 -0
- package/src/comments/ui/view/commentslistview.d.ts +96 -0
- package/src/comments/ui/view/commentslistview.js +1 -1
- package/src/comments/ui/view/commentthreadheaderview.d.ts +46 -0
- package/src/comments/ui/view/commentthreadheaderview.js +23 -0
- package/src/comments/ui/view/commentthreadinputview.d.ts +37 -0
- package/src/comments/ui/view/commentthreadinputview.js +1 -1
- package/src/comments/ui/view/commentthreadview.d.ts +108 -0
- package/src/comments/ui/view/commentthreadview.js +1 -1
- package/src/comments/ui/view/commentview.d.ts +231 -0
- package/src/comments/ui/view/commentview.js +1 -1
- package/src/comments.d.ts +22 -0
- package/src/comments.js +1 -1
- package/src/commentsonly.d.ts +28 -0
- package/src/commentsonly.js +1 -1
- package/src/config.d.ts +172 -0
- package/src/config.js +23 -0
- package/src/index.d.ts +19 -0
- package/src/index.js +1 -1
- package/src/utils/common-translations.d.ts +5 -0
- package/src/utils/common-translations.js +1 -1
- package/src/utils/createmutationobserver.d.ts +13 -0
- package/src/utils/createmutationobserver.js +1 -1
- package/theme/annotation.css +1 -0
- package/theme/comment.css +31 -0
- package/theme/commentsarchive.css +40 -0
- package/theme/commentthread.css +68 -1
- package/theme/icons/add-comment.svg +1 -1
- package/theme/icons/comments-archive.svg +11 -0
- package/theme/icons/undo.svg +1 -0
- package/theme/sidebar.css +4 -0
package/lang/translations/uk.po
CHANGED
|
@@ -36,14 +36,30 @@ msgctxt "The placeholder for the reply field."
|
|
|
36
36
|
msgid "Reply..."
|
|
37
37
|
msgstr "Відповісти..."
|
|
38
38
|
|
|
39
|
+
msgctxt "The placeholder for the reply field when the comment thread is resolved."
|
|
40
|
+
msgid "Reply to reopen discussion..."
|
|
41
|
+
msgstr "Відповісти, щоб відновити обговорення..."
|
|
42
|
+
|
|
39
43
|
msgctxt "The placeholder for the new commend field."
|
|
40
44
|
msgid "Write a comment..."
|
|
41
45
|
msgstr "Написати коментар..."
|
|
42
46
|
|
|
47
|
+
msgctxt "The information that comment was made on element and has no context"
|
|
48
|
+
msgid "Comment was made on an element"
|
|
49
|
+
msgstr "Було зроблено коментар до елемента"
|
|
50
|
+
|
|
43
51
|
msgctxt "The label for the button that enables editing a comment."
|
|
44
52
|
msgid "Edit"
|
|
45
53
|
msgstr "Редагувати"
|
|
46
54
|
|
|
55
|
+
msgctxt "The label for the button that resolves a comment thread."
|
|
56
|
+
msgid "Resolve"
|
|
57
|
+
msgstr "Вирішити"
|
|
58
|
+
|
|
59
|
+
msgctxt "The label for the button that reopens a resolved comment thread."
|
|
60
|
+
msgid "Reopen"
|
|
61
|
+
msgstr "Відновити"
|
|
62
|
+
|
|
47
63
|
msgctxt "The label for the button that deletes a comment."
|
|
48
64
|
msgid "Remove"
|
|
49
65
|
msgstr "Видалити"
|
|
@@ -60,6 +76,10 @@ msgctxt "The confirmation message shown after pressing the delete comment thread
|
|
|
60
76
|
msgid "Delete comment thread?"
|
|
61
77
|
msgstr "Видати ланцюжок коментарів?"
|
|
62
78
|
|
|
79
|
+
msgctxt "A message informing that the comment has been resolved"
|
|
80
|
+
msgid "Marked as resolved"
|
|
81
|
+
msgstr "Позначено як вирішене"
|
|
82
|
+
|
|
63
83
|
msgctxt "The tooltip for the comment toolbar button."
|
|
64
84
|
msgid "Comment"
|
|
65
85
|
msgstr "Коментар"
|
|
@@ -83,3 +103,11 @@ msgstr "Показане ім'я автора походить із зовніш
|
|
|
83
103
|
msgctxt "The additional information that displayed author name comes from imported Word file."
|
|
84
104
|
msgid "EXTERNAL_IMPORT_WORD_AVATAR"
|
|
85
105
|
msgstr "Показане ім'я автора походить із документу Word імпортованого %0"
|
|
106
|
+
|
|
107
|
+
msgctxt "The label for the comments archive dropdown UI."
|
|
108
|
+
msgid "COMMENTS_ARCHIVE"
|
|
109
|
+
msgstr "Архів коментарів"
|
|
110
|
+
|
|
111
|
+
msgctxt "The information that comments archive is empty."
|
|
112
|
+
msgid "EMPTY_COMMENTS_ARCHIVE"
|
|
113
|
+
msgstr "Немає архівних гілок коментарів."
|
package/lang/translations/ur.po
CHANGED
|
@@ -34,14 +34,30 @@ msgctxt "The placeholder for the reply field."
|
|
|
34
34
|
msgid "Reply..."
|
|
35
35
|
msgstr "جواب۔۔۔"
|
|
36
36
|
|
|
37
|
+
msgctxt "The placeholder for the reply field when the comment thread is resolved."
|
|
38
|
+
msgid "Reply to reopen discussion..."
|
|
39
|
+
msgstr ""
|
|
40
|
+
|
|
37
41
|
msgctxt "The placeholder for the new commend field."
|
|
38
42
|
msgid "Write a comment..."
|
|
39
43
|
msgstr "تبصرہ کریں۔۔۔"
|
|
40
44
|
|
|
45
|
+
msgctxt "The information that comment was made on element and has no context"
|
|
46
|
+
msgid "Comment was made on an element"
|
|
47
|
+
msgstr ""
|
|
48
|
+
|
|
41
49
|
msgctxt "The label for the button that enables editing a comment."
|
|
42
50
|
msgid "Edit"
|
|
43
51
|
msgstr "ترمیم"
|
|
44
52
|
|
|
53
|
+
msgctxt "The label for the button that resolves a comment thread."
|
|
54
|
+
msgid "Resolve"
|
|
55
|
+
msgstr ""
|
|
56
|
+
|
|
57
|
+
msgctxt "The label for the button that reopens a resolved comment thread."
|
|
58
|
+
msgid "Reopen"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
45
61
|
msgctxt "The label for the button that deletes a comment."
|
|
46
62
|
msgid "Remove"
|
|
47
63
|
msgstr "حذف کریں"
|
|
@@ -58,6 +74,10 @@ msgctxt "The confirmation message shown after pressing the delete comment thread
|
|
|
58
74
|
msgid "Delete comment thread?"
|
|
59
75
|
msgstr "تبصرے کا دھاگہ حذف کریں؟"
|
|
60
76
|
|
|
77
|
+
msgctxt "A message informing that the comment has been resolved"
|
|
78
|
+
msgid "Marked as resolved"
|
|
79
|
+
msgstr ""
|
|
80
|
+
|
|
61
81
|
msgctxt "The tooltip for the comment toolbar button."
|
|
62
82
|
msgid "Comment"
|
|
63
83
|
msgstr "تبصرہ"
|
|
@@ -81,3 +101,11 @@ msgstr ""
|
|
|
81
101
|
msgctxt "The additional information that displayed author name comes from imported Word file."
|
|
82
102
|
msgid "EXTERNAL_IMPORT_WORD_AVATAR"
|
|
83
103
|
msgstr ""
|
|
104
|
+
|
|
105
|
+
msgctxt "The label for the comments archive dropdown UI."
|
|
106
|
+
msgid "COMMENTS_ARCHIVE"
|
|
107
|
+
msgstr ""
|
|
108
|
+
|
|
109
|
+
msgctxt "The information that comments archive is empty."
|
|
110
|
+
msgid "EMPTY_COMMENTS_ARCHIVE"
|
|
111
|
+
msgstr ""
|
package/lang/translations/vi.po
CHANGED
|
@@ -33,14 +33,30 @@ msgctxt "The placeholder for the reply field."
|
|
|
33
33
|
msgid "Reply..."
|
|
34
34
|
msgstr "Trả lời..."
|
|
35
35
|
|
|
36
|
+
msgctxt "The placeholder for the reply field when the comment thread is resolved."
|
|
37
|
+
msgid "Reply to reopen discussion..."
|
|
38
|
+
msgstr "Trả lời để mở lại cuộc thảo luận..."
|
|
39
|
+
|
|
36
40
|
msgctxt "The placeholder for the new commend field."
|
|
37
41
|
msgid "Write a comment..."
|
|
38
42
|
msgstr "Viết bình luận..."
|
|
39
43
|
|
|
44
|
+
msgctxt "The information that comment was made on element and has no context"
|
|
45
|
+
msgid "Comment was made on an element"
|
|
46
|
+
msgstr "Bình luận được tạo trên một yếu tố"
|
|
47
|
+
|
|
40
48
|
msgctxt "The label for the button that enables editing a comment."
|
|
41
49
|
msgid "Edit"
|
|
42
50
|
msgstr "Chỉnh sửa"
|
|
43
51
|
|
|
52
|
+
msgctxt "The label for the button that resolves a comment thread."
|
|
53
|
+
msgid "Resolve"
|
|
54
|
+
msgstr "Xử lí"
|
|
55
|
+
|
|
56
|
+
msgctxt "The label for the button that reopens a resolved comment thread."
|
|
57
|
+
msgid "Reopen"
|
|
58
|
+
msgstr "Mở lại"
|
|
59
|
+
|
|
44
60
|
msgctxt "The label for the button that deletes a comment."
|
|
45
61
|
msgid "Remove"
|
|
46
62
|
msgstr "Xóa"
|
|
@@ -57,6 +73,10 @@ msgctxt "The confirmation message shown after pressing the delete comment thread
|
|
|
57
73
|
msgid "Delete comment thread?"
|
|
58
74
|
msgstr "Xóa chuỗi bình luận?"
|
|
59
75
|
|
|
76
|
+
msgctxt "A message informing that the comment has been resolved"
|
|
77
|
+
msgid "Marked as resolved"
|
|
78
|
+
msgstr "Đánh dấu là đã xử lí"
|
|
79
|
+
|
|
60
80
|
msgctxt "The tooltip for the comment toolbar button."
|
|
61
81
|
msgid "Comment"
|
|
62
82
|
msgstr "Bình luận"
|
|
@@ -80,3 +100,11 @@ msgstr "Tên tác giả được hiển thị đến từ nguồn bên ngoài (
|
|
|
80
100
|
msgctxt "The additional information that displayed author name comes from imported Word file."
|
|
81
101
|
msgid "EXTERNAL_IMPORT_WORD_AVATAR"
|
|
82
102
|
msgstr "Tên tác giả được hiển thị đến từ một tài liệu Word do %0 nhập"
|
|
103
|
+
|
|
104
|
+
msgctxt "The label for the comments archive dropdown UI."
|
|
105
|
+
msgid "COMMENTS_ARCHIVE"
|
|
106
|
+
msgstr "Kho lưu trữ bình luận"
|
|
107
|
+
|
|
108
|
+
msgctxt "The information that comments archive is empty."
|
|
109
|
+
msgid "EMPTY_COMMENTS_ARCHIVE"
|
|
110
|
+
msgstr "Không có chủ đề bình luận nào được lưu trữ."
|
|
@@ -33,14 +33,30 @@ msgctxt "The placeholder for the reply field."
|
|
|
33
33
|
msgid "Reply..."
|
|
34
34
|
msgstr "回复..."
|
|
35
35
|
|
|
36
|
+
msgctxt "The placeholder for the reply field when the comment thread is resolved."
|
|
37
|
+
msgid "Reply to reopen discussion..."
|
|
38
|
+
msgstr "回复以重新开启讨论……"
|
|
39
|
+
|
|
36
40
|
msgctxt "The placeholder for the new commend field."
|
|
37
41
|
msgid "Write a comment..."
|
|
38
42
|
msgstr "编写评论..."
|
|
39
43
|
|
|
44
|
+
msgctxt "The information that comment was made on element and has no context"
|
|
45
|
+
msgid "Comment was made on an element"
|
|
46
|
+
msgstr "对元素进行了评论"
|
|
47
|
+
|
|
40
48
|
msgctxt "The label for the button that enables editing a comment."
|
|
41
49
|
msgid "Edit"
|
|
42
50
|
msgstr "编辑"
|
|
43
51
|
|
|
52
|
+
msgctxt "The label for the button that resolves a comment thread."
|
|
53
|
+
msgid "Resolve"
|
|
54
|
+
msgstr "解决"
|
|
55
|
+
|
|
56
|
+
msgctxt "The label for the button that reopens a resolved comment thread."
|
|
57
|
+
msgid "Reopen"
|
|
58
|
+
msgstr "重新开启"
|
|
59
|
+
|
|
44
60
|
msgctxt "The label for the button that deletes a comment."
|
|
45
61
|
msgid "Remove"
|
|
46
62
|
msgstr "删除"
|
|
@@ -57,6 +73,10 @@ msgctxt "The confirmation message shown after pressing the delete comment thread
|
|
|
57
73
|
msgid "Delete comment thread?"
|
|
58
74
|
msgstr "删除这组评论?"
|
|
59
75
|
|
|
76
|
+
msgctxt "A message informing that the comment has been resolved"
|
|
77
|
+
msgid "Marked as resolved"
|
|
78
|
+
msgstr "标记为已解决"
|
|
79
|
+
|
|
60
80
|
msgctxt "The tooltip for the comment toolbar button."
|
|
61
81
|
msgid "Comment"
|
|
62
82
|
msgstr "评论"
|
|
@@ -80,3 +100,11 @@ msgstr "显示的作者名来自(%0 添加的)外部来源"
|
|
|
80
100
|
msgctxt "The additional information that displayed author name comes from imported Word file."
|
|
81
101
|
msgid "EXTERNAL_IMPORT_WORD_AVATAR"
|
|
82
102
|
msgstr "显示的作者名来自 %0 导入的 Word 文件"
|
|
103
|
+
|
|
104
|
+
msgctxt "The label for the comments archive dropdown UI."
|
|
105
|
+
msgid "COMMENTS_ARCHIVE"
|
|
106
|
+
msgstr "评论存档"
|
|
107
|
+
|
|
108
|
+
msgctxt "The information that comments archive is empty."
|
|
109
|
+
msgid "EMPTY_COMMENTS_ARCHIVE"
|
|
110
|
+
msgstr "没有已存档的评论。"
|
package/lang/translations/zh.po
CHANGED
|
@@ -33,14 +33,30 @@ msgctxt "The placeholder for the reply field."
|
|
|
33
33
|
msgid "Reply..."
|
|
34
34
|
msgstr "回覆..."
|
|
35
35
|
|
|
36
|
+
msgctxt "The placeholder for the reply field when the comment thread is resolved."
|
|
37
|
+
msgid "Reply to reopen discussion..."
|
|
38
|
+
msgstr "回覆以重新開啟討論..."
|
|
39
|
+
|
|
36
40
|
msgctxt "The placeholder for the new commend field."
|
|
37
41
|
msgid "Write a comment..."
|
|
38
42
|
msgstr "撰寫留言..."
|
|
39
43
|
|
|
44
|
+
msgctxt "The information that comment was made on element and has no context"
|
|
45
|
+
msgid "Comment was made on an element"
|
|
46
|
+
msgstr "對元件進行的留言"
|
|
47
|
+
|
|
40
48
|
msgctxt "The label for the button that enables editing a comment."
|
|
41
49
|
msgid "Edit"
|
|
42
50
|
msgstr "編輯"
|
|
43
51
|
|
|
52
|
+
msgctxt "The label for the button that resolves a comment thread."
|
|
53
|
+
msgid "Resolve"
|
|
54
|
+
msgstr "解決"
|
|
55
|
+
|
|
56
|
+
msgctxt "The label for the button that reopens a resolved comment thread."
|
|
57
|
+
msgid "Reopen"
|
|
58
|
+
msgstr "重新開啟"
|
|
59
|
+
|
|
44
60
|
msgctxt "The label for the button that deletes a comment."
|
|
45
61
|
msgid "Remove"
|
|
46
62
|
msgstr "刪除"
|
|
@@ -57,6 +73,10 @@ msgctxt "The confirmation message shown after pressing the delete comment thread
|
|
|
57
73
|
msgid "Delete comment thread?"
|
|
58
74
|
msgstr "刪除討論串?"
|
|
59
75
|
|
|
76
|
+
msgctxt "A message informing that the comment has been resolved"
|
|
77
|
+
msgid "Marked as resolved"
|
|
78
|
+
msgstr "已標記為解決"
|
|
79
|
+
|
|
60
80
|
msgctxt "The tooltip for the comment toolbar button."
|
|
61
81
|
msgid "Comment"
|
|
62
82
|
msgstr "留言"
|
|
@@ -80,3 +100,11 @@ msgstr "顯示的作者名稱來自外部來源(由 %0 新增)"
|
|
|
80
100
|
msgctxt "The additional information that displayed author name comes from imported Word file."
|
|
81
101
|
msgid "EXTERNAL_IMPORT_WORD_AVATAR"
|
|
82
102
|
msgstr "顯示的作者名稱來自由 %0 匯入的 Word 文件"
|
|
103
|
+
|
|
104
|
+
msgctxt "The label for the comments archive dropdown UI."
|
|
105
|
+
msgid "COMMENTS_ARCHIVE"
|
|
106
|
+
msgstr "留言封存紀錄"
|
|
107
|
+
|
|
108
|
+
msgctxt "The information that comments archive is empty."
|
|
109
|
+
msgid "EMPTY_COMMENTS_ARCHIVE"
|
|
110
|
+
msgstr "無封存的留言串。"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-comments",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "37.0.0",
|
|
4
4
|
"description": "Collaborative comments feature for CKEditor 5.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "CKSource (http://cksource.com/)",
|
|
@@ -30,9 +30,25 @@
|
|
|
30
30
|
"discussions"
|
|
31
31
|
],
|
|
32
32
|
"main": "src/index.js",
|
|
33
|
+
"files": [
|
|
34
|
+
"build",
|
|
35
|
+
"lang",
|
|
36
|
+
"src/**/*.js",
|
|
37
|
+
"src/**/*.d.ts",
|
|
38
|
+
"theme",
|
|
39
|
+
"ckeditor5-metadata.json",
|
|
40
|
+
"CHANGELOG.md"
|
|
41
|
+
],
|
|
42
|
+
"scripts": {
|
|
43
|
+
"dll:build": "webpack",
|
|
44
|
+
"build": "tsc -p ./tsconfig.json",
|
|
45
|
+
"postversion": "npm run build"
|
|
46
|
+
},
|
|
33
47
|
"dependencies": {
|
|
34
|
-
"ckeditor5": "^
|
|
48
|
+
"ckeditor5": "^37.0.0",
|
|
35
49
|
"ckeditor5-collaboration": "^36.0.1",
|
|
36
50
|
"lodash-es": "^4.17.11"
|
|
37
|
-
}
|
|
51
|
+
},
|
|
52
|
+
"types": "src/index.d.ts",
|
|
53
|
+
"obfuscated": true
|
|
38
54
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module comments/annotations/annotation
|
|
3
|
+
* @publicApi
|
|
4
|
+
*/
|
|
5
|
+
import { Rect, Collection } from 'ckeditor5/src/utils';
|
|
6
|
+
import type { View } from 'ckeditor5/src/ui';
|
|
7
|
+
import type AnnotationView from './view/annotationview';
|
|
8
|
+
import type { AnnotationOptions } from './annotations';
|
|
9
|
+
declare const Annotation_base: {
|
|
10
|
+
new (): import("ckeditor5/src/utils").Observable;
|
|
11
|
+
prototype: import("ckeditor5/src/utils").Observable;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Represents an annotation.
|
|
15
|
+
*
|
|
16
|
+
* Annotation is an entity that combines an {@link module:comments/annotations/view/annotationview~AnnotationView}
|
|
17
|
+
* and an annotation target (a DOM element or a {@link module:utils/dom/rect~Rect}) to which the annotation is bound.
|
|
18
|
+
*/
|
|
19
|
+
export default class Annotation extends Annotation_base {
|
|
20
|
+
/**
|
|
21
|
+
* The visibility of the annotation. Annotations that are not visible, are filtered from Annotation UI collections.
|
|
22
|
+
*
|
|
23
|
+
* @observable
|
|
24
|
+
*/
|
|
25
|
+
isVisible: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The annotation view.
|
|
28
|
+
*/
|
|
29
|
+
view: AnnotationView;
|
|
30
|
+
/**
|
|
31
|
+
* A collection of DOM elements which, when focused, make the annotation active.
|
|
32
|
+
*
|
|
33
|
+
* By default, this collection only contains the annotation view element.
|
|
34
|
+
* It can be extended with custom targets that will be tracked by the annotation focus tracking system.
|
|
35
|
+
*/
|
|
36
|
+
focusableElements: Collection<HTMLElement>;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an instance of the {@link module:comments/annotations/annotation~Annotation}.
|
|
39
|
+
*/
|
|
40
|
+
constructor({ view, target, type, isVisible }: AnnotationOptions);
|
|
41
|
+
/**
|
|
42
|
+
* The type of the annotation.
|
|
43
|
+
*/
|
|
44
|
+
get type(): string;
|
|
45
|
+
/**
|
|
46
|
+
* The annotation inner view.
|
|
47
|
+
*
|
|
48
|
+
* It is the view that is wrapped by the annotation view.*
|
|
49
|
+
*/
|
|
50
|
+
get innerView(): View;
|
|
51
|
+
/**
|
|
52
|
+
* The annotation target to which the annotation view should be pinned.
|
|
53
|
+
*
|
|
54
|
+
* It can be an array of DOM elements or {@link module:utils/dom/rect~Rect a rect instance} or `null`.
|
|
55
|
+
*/
|
|
56
|
+
get target(): Rect | Array<HTMLElement> | null;
|
|
57
|
+
/**
|
|
58
|
+
* The position and dimensions of the annotation target to which the annotation is bound.
|
|
59
|
+
*/
|
|
60
|
+
get targetRect(): Rect | null;
|
|
61
|
+
/**
|
|
62
|
+
* The state of the annotation.
|
|
63
|
+
*/
|
|
64
|
+
get isActive(): boolean;
|
|
65
|
+
set isActive(value: boolean);
|
|
66
|
+
/**
|
|
67
|
+
* Updates the target rect in the annotation view instance.
|
|
68
|
+
*/
|
|
69
|
+
updateTargetRect(): void;
|
|
70
|
+
/**
|
|
71
|
+
* Clears all event listeners and internal collections.
|
|
72
|
+
*/
|
|
73
|
+
destroy(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Refreshes the visibility of the annotation based on the visibility of the annotation target.
|
|
76
|
+
*
|
|
77
|
+
* It sets the {@link #isVisible} property when the target is not attached to DOM or if the target or its descendant has
|
|
78
|
+
* set the `display` attribute to `none`.
|
|
79
|
+
*
|
|
80
|
+
* This method only updates an annotation if the annotation target is an HTML Element.
|
|
81
|
+
*/
|
|
82
|
+
refreshVisibility(): void;
|
|
83
|
+
}
|
|
84
|
+
type Target = Rect | HTMLElement | null;
|
|
85
|
+
export type AnnotationTarget = Target | (() => Target | Array<Target>);
|
|
86
|
+
export {};
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x4219=['filter','item','mainView','targetRect','function','focusableElements','getClientRects','set','isActive','element','updateTargetRect','focusTracker','destroy','target','_assertCorrectTarget','annotation-invalid-target','_target','clear','_getNormalizedTarget','add','offsetParent','_type','isVisible','view','stopListening','remove','length','every','refreshVisibility','nodeType','innerView'];(function(_0xc09e6e,_0x421957){const _0x2f3c02=function(_0x581287){while(--_0x581287){_0xc09e6e['push'](_0xc09e6e['shift']());}};_0x2f3c02(++_0x421957);}(_0x4219,0x96));const _0x2f3c=function(_0xc09e6e,_0x421957){_0xc09e6e=_0xc09e6e-0x0;let _0x2f3c02=_0x4219[_0xc09e6e];return _0x2f3c02;};import{CKEditorError as _0x39190c,Rect as _0x100afd,Collection as _0x13ddaf,ObservableMixin as _0x146ec4}from'ckeditor5/src/utils';export default class d extends _0x146ec4(){constructor({view:_0x551cab,target:_0x3d17d9,type:_0x111136,isVisible:_0x272e01=!0x0}){super(),this['view']=_0x551cab,this[_0x2f3c('0x1c')][_0x2f3c('0xe')]||this[_0x2f3c('0x1c')]['render'](),this[_0x2f3c('0x1a')]=_0x111136,this[_0x2f3c('0x15')]=_0x3d17d9,d[_0x2f3c('0x13')](this[_0x2f3c('0x17')]()),this['focusableElements']=new _0x13ddaf([this['view'][_0x2f3c('0xe')]],{'idProperty':'_id'}),this[_0x2f3c('0xa')]['on'](_0x2f3c('0x18'),(_0x4ae4b9,_0x381d9d)=>{this[_0x2f3c('0x1c')][_0x2f3c('0x10')][_0x2f3c('0x18')](_0x381d9d);}),this[_0x2f3c('0xa')]['on'](_0x2f3c('0x1e'),(_0x206f6c,_0x2217ca)=>{this[_0x2f3c('0x1c')][_0x2f3c('0x10')][_0x2f3c('0x1e')](_0x2217ca);}),this[_0x2f3c('0xc')](_0x2f3c('0x1b'),_0x272e01);}get['type'](){return'function'==typeof this[_0x2f3c('0x1a')]?this[_0x2f3c('0x1a')]():this[_0x2f3c('0x1a')];}get[_0x2f3c('0x4')](){return this[_0x2f3c('0x1c')][_0x2f3c('0x7')];}get[_0x2f3c('0x12')](){const _0x3c2670=this[_0x2f3c('0x17')]();return d[_0x2f3c('0x13')](_0x3c2670),_0x3c2670;}get['targetRect'](){const _0x5c73aa=this['target'];if(null===_0x5c73aa)return null;if(_0x5c73aa instanceof _0x100afd)return _0x5c73aa;const _0x32fc63=_0x5c73aa[_0x2f3c('0x5')](_0x8239df=>function(_0x928fc9){const _0x3fd192=_0x928fc9[_0x2f3c('0x19')];if(_0x3fd192)return!0x0;const _0x2417d5=_0x928fc9['getClientRects']()[_0x2f3c('0x6')](0x0);return!!_0x2417d5;}(_0x8239df));return 0x0===_0x32fc63[_0x2f3c('0x0')]?null:new _0x100afd(_0x32fc63[0x0][_0x2f3c('0xb')]()[_0x2f3c('0x6')](0x0));}get[_0x2f3c('0xd')](){return this[_0x2f3c('0x1c')][_0x2f3c('0xd')];}set[_0x2f3c('0xd')](_0x1078e0){this['view']['isActive']=_0x1078e0,this[_0x2f3c('0x1c')][_0x2f3c('0x7')]['isActive']=_0x1078e0;}[_0x2f3c('0xf')](){this[_0x2f3c('0x1c')][_0x2f3c('0x8')]=this[_0x2f3c('0x8')];}[_0x2f3c('0x11')](){this['focusableElements'][_0x2f3c('0x1d')](),this[_0x2f3c('0xa')][_0x2f3c('0x16')](),this[_0x2f3c('0x1d')]();}[_0x2f3c('0x2')](){this['isVisible']=!!this['targetRect'];}static[_0x2f3c('0x13')](_0x184f4b){if(!(null===_0x184f4b||_0x184f4b instanceof _0x100afd||Array['isArray'](_0x184f4b)&&_0x184f4b[_0x2f3c('0x1')](_0x29490f=>y(_0x29490f))))throw new _0x39190c(_0x2f3c('0x14'),null,{'target':_0x184f4b});}['_getNormalizedTarget'](){const _0x1e029e=_0x2f3c('0x9')==typeof this['_target']?this[_0x2f3c('0x15')]():this[_0x2f3c('0x15')];return y(_0x1e029e)?[_0x1e029e]:_0x1e029e;}}function y(_0x2c4faa){return null!==_0x2c4faa&&'object'==typeof _0x2c4faa&&_0x2f3c('0x3')in _0x2c4faa&&0x1===_0x2c4faa['nodeType'];}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module comments/annotations/annotationcollection
|
|
3
|
+
* @publicApi
|
|
4
|
+
*/
|
|
5
|
+
import { Collection } from 'ckeditor5/src/utils';
|
|
6
|
+
import type { View } from 'ckeditor5/src/ui';
|
|
7
|
+
import type Annotation from './annotation';
|
|
8
|
+
/**
|
|
9
|
+
* A collection of {@link module:comments/annotations/annotation~Annotation annotations}.
|
|
10
|
+
*
|
|
11
|
+
* It implements methods for managing annotations and creates a focus tracker for them to make it easier to manage
|
|
12
|
+
* the focus for all annotations.
|
|
13
|
+
*
|
|
14
|
+
* `AnnotationCollection` fires {@link module:comments/annotations/annotationcollection~AnnotationCollection#event:focus} when an annotation
|
|
15
|
+
* becomes focused and {@link module:comments/annotations/annotationcollection~AnnotationCollection#event:blur} when all annotations
|
|
16
|
+
* lose focus.
|
|
17
|
+
*/
|
|
18
|
+
export default class AnnotationCollection extends Collection<Annotation> {
|
|
19
|
+
/**
|
|
20
|
+
* @param annotations Initial annotations.
|
|
21
|
+
*/
|
|
22
|
+
constructor(annotations?: Iterable<Annotation>);
|
|
23
|
+
/**
|
|
24
|
+
* Equals to `true` when one of the annotation in the collection is focused.
|
|
25
|
+
*/
|
|
26
|
+
get isFocused(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Adds an annotation to the collection.
|
|
29
|
+
*/
|
|
30
|
+
add(annotation: Annotation): this;
|
|
31
|
+
/**
|
|
32
|
+
* Removes the annotation from the collection.
|
|
33
|
+
*/
|
|
34
|
+
remove(annotation: Annotation): Annotation;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the annotation for a given annotation view's inner view.
|
|
37
|
+
*/
|
|
38
|
+
getByInnerView(innerView: View): Annotation | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the annotation for a given annotation view.
|
|
41
|
+
*/
|
|
42
|
+
getByView(view: View): Annotation | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Destroys all bindings and clears the collection.
|
|
45
|
+
*/
|
|
46
|
+
destroy(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Refreshes the positioning of all annotations and sorts them topmost and leftmost.
|
|
49
|
+
*/
|
|
50
|
+
refreshPositioning(): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Fired when an annotation becomes active.
|
|
54
|
+
*
|
|
55
|
+
* @eventName ~AnnotationCollection#focus
|
|
56
|
+
* @param annotation An annotation that was focused.
|
|
57
|
+
*/
|
|
58
|
+
export type AnnotationFocusEvent = {
|
|
59
|
+
name: 'focus';
|
|
60
|
+
args: [annotation: Annotation];
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Fired when all annotations become blurred.
|
|
64
|
+
*
|
|
65
|
+
* @eventName ~AnnotationCollection#blur
|
|
66
|
+
*/
|
|
67
|
+
export type AnnotationBlurEvent = {
|
|
68
|
+
name: 'blur';
|
|
69
|
+
args: [];
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* A helper function that binds two {@link module:comments/annotations/annotationcollection~AnnotationCollection AnnotationCollection}s
|
|
73
|
+
* and allows filtering items based on the passed callback.
|
|
74
|
+
*
|
|
75
|
+
* Since {@link module:comments/annotations/annotationcollection~AnnotationCollection#refreshPositioning}
|
|
76
|
+
* sorts the annotations by removing and inserting items, the binding implemented by the `bindTo()` method is lost. This is why
|
|
77
|
+
* this helper needs to be used.
|
|
78
|
+
*
|
|
79
|
+
* This helper is used by the annotations UIs to filter which annotations from the
|
|
80
|
+
* {@link module:comments/annotations/annotations~Annotations#collection main annotation collection} should be handled by
|
|
81
|
+
* a given annotations UI.
|
|
82
|
+
*
|
|
83
|
+
* @param `options.source` The source collection
|
|
84
|
+
* from which the annotations will be taken.
|
|
85
|
+
* @param `options.target` The target collection
|
|
86
|
+
* that will be synced to the source collection.
|
|
87
|
+
* @param options.filter Filtering function that gets an annotation and should return `true` if the annotation should be
|
|
88
|
+
* copied to the `target` collection.
|
|
89
|
+
*/
|
|
90
|
+
export declare function bindAnnotationCollections({ source, target, filter }: {
|
|
91
|
+
source: AnnotationCollection;
|
|
92
|
+
target: AnnotationCollection;
|
|
93
|
+
filter: (annotation: Annotation) => boolean;
|
|
94
|
+
}): void;
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x533b=['get','from','add','_sort','_getOrderInContent','length','fire','top','remove','focus','getByInnerView','stopListening','listenTo','view','clear','_innerViewToAnnotation','annotationcollection-not-existing-item','getIndex','annotationcollection-duplicated-item','getByView','_focusTracker','focusableElements','blur','delete','has','refreshPositioning','updateTargetRect','set','innerView','change:isFocused','targetRect','_viewToAnnotation'];(function(_0x52f59f,_0x533bc1){const _0x5ca27c=function(_0x144e3c){while(--_0x144e3c){_0x52f59f['push'](_0x52f59f['shift']());}};_0x5ca27c(++_0x533bc1);}(_0x533b,0x1c0));const _0x5ca2=function(_0x52f59f,_0x533bc1){_0x52f59f=_0x52f59f-0x0;let _0x5ca27c=_0x533b[_0x52f59f];return _0x5ca27c;};import{CKEditorError as _0x3500a6,Collection as _0xcc458b,FocusTracker as _0x5a5bd2}from'ckeditor5/src/utils';export default class x extends _0xcc458b{constructor(_0x15cc32=[]){super(),this[_0x5ca2('0xf')]=new Map(),this[_0x5ca2('0x1f')]=new Map(),this[_0x5ca2('0x14')]=new _0x5a5bd2(),this[_0x5ca2('0x14')]['on'](_0x5ca2('0x1d'),(_0x30b14f,_0x77dba5,_0x56989a)=>{_0x56989a||this[_0x5ca2('0x6')](_0x5ca2('0x16'));});for(const _0x22e550 of _0x15cc32)this['add'](_0x22e550);}get['isFocused'](){return this['_focusTracker']['isFocused'];}['add'](_0x55427c){if(this[_0x5ca2('0x18')](_0x55427c))throw new _0x3500a6(_0x5ca2('0x12'),null);this[_0x5ca2('0xf')]['set'](_0x55427c[_0x5ca2('0x1c')],_0x55427c),this[_0x5ca2('0x1f')][_0x5ca2('0x1b')](_0x55427c[_0x5ca2('0xd')],_0x55427c);for(const _0x336fab of _0x55427c['focusableElements'])this[_0x5ca2('0x14')][_0x5ca2('0x2')](_0x336fab);this[_0x5ca2('0xc')](_0x55427c['focusableElements'],_0x5ca2('0x2'),(_0x409890,_0x46bb3c)=>{this[_0x5ca2('0x14')]['add'](_0x46bb3c);}),this['listenTo'](_0x55427c[_0x5ca2('0x15')],_0x5ca2('0x8'),(_0x53c979,_0x50c393)=>{this[_0x5ca2('0x14')][_0x5ca2('0x8')](_0x50c393);}),this[_0x5ca2('0xc')](_0x55427c['view']['focusTracker'],_0x5ca2('0x1d'),(_0x34ef4b,_0x2ce32d,_0x22b5c0)=>{_0x22b5c0&&this[_0x5ca2('0x6')](_0x5ca2('0x9'),_0x55427c);}),_0x55427c[_0x5ca2('0x1a')]();const _0x353f69=this[_0x5ca2('0x4')](_0x55427c[_0x5ca2('0xd')][_0x5ca2('0x1e')]);return super[_0x5ca2('0x2')](_0x55427c,_0x353f69);}[_0x5ca2('0x8')](_0x268392){if(!this[_0x5ca2('0x18')](_0x268392))throw new _0x3500a6(_0x5ca2('0x10'),null);this[_0x5ca2('0xb')](_0x268392[_0x5ca2('0xd')]['focusTracker']),this[_0x5ca2('0xb')](_0x268392['focusableElements']);for(const _0x453fb5 of _0x268392[_0x5ca2('0x15')])this[_0x5ca2('0x14')][_0x5ca2('0x8')](_0x453fb5);return this[_0x5ca2('0x1f')][_0x5ca2('0x17')](_0x268392[_0x5ca2('0xd')]),this[_0x5ca2('0xf')][_0x5ca2('0x17')](_0x268392[_0x5ca2('0x1c')]),super[_0x5ca2('0x8')](_0x268392);}[_0x5ca2('0xa')](_0x4a7429){return this['_innerViewToAnnotation'][_0x5ca2('0x0')](_0x4a7429);}[_0x5ca2('0x13')](_0x51a91a){return this[_0x5ca2('0x1f')][_0x5ca2('0x0')](_0x51a91a);}['destroy'](){super[_0x5ca2('0xe')](),this[_0x5ca2('0xb')](),this[_0x5ca2('0xf')][_0x5ca2('0xe')](),this[_0x5ca2('0x1f')][_0x5ca2('0xe')](),this['_focusTracker']['destroy']();}[_0x5ca2('0x19')](){for(const _0xf3f0f8 of this)_0xf3f0f8[_0x5ca2('0x1a')]();this[_0x5ca2('0x3')]();}['_sort'](){const _0x36a32b=Array[_0x5ca2('0x1')](this)['sort']((_0x352002,_0x3aa1e0)=>v(_0x352002['view'][_0x5ca2('0x1e')],_0x3aa1e0[_0x5ca2('0xd')][_0x5ca2('0x1e')]));for(let _0x3b819d=_0x36a32b['length']-0x1;_0x3b819d>0x0;_0x3b819d--){const _0x243329=_0x36a32b[_0x3b819d];_0x3b819d!==this[_0x5ca2('0x11')](_0x243329)&&(this[_0x5ca2('0x8')](_0x243329),this[_0x5ca2('0x2')](_0x243329));}}[_0x5ca2('0x4')](_0x591b78){let _0x20d20d=0x0;if(!_0x591b78)return this[_0x5ca2('0x5')];for(const _0xd35c96 of this){const _0x3f6f17=_0xd35c96[_0x5ca2('0xd')][_0x5ca2('0x1e')];if(_0x3f6f17){if(v(_0x591b78,_0x3f6f17)<0x0)return _0x20d20d;_0x20d20d++;}}return _0x20d20d;}}export function bindAnnotationCollections({source:_0xee54f8,target:_0x57a66e,filter:_0x34e3a9}){for(const _0x1331ff of _0xee54f8)_0x34e3a9(_0x1331ff)&&_0x57a66e[_0x5ca2('0x2')](_0x1331ff);_0x57a66e[_0x5ca2('0xc')](_0xee54f8,'add',(_0x5df793,_0x941097)=>{_0x34e3a9(_0x941097)&&_0x57a66e[_0x5ca2('0x2')](_0x941097);}),_0x57a66e['listenTo'](_0xee54f8,_0x5ca2('0x8'),(_0x1cbb6e,_0x5951b4)=>{_0x57a66e[_0x5ca2('0x18')](_0x5951b4)&&_0x57a66e['remove'](_0x5951b4);});}function v(_0x163526,_0x3c8709){if(null===_0x163526&&null===_0x3c8709)return 0x0;if(null===_0x163526)return-0x1;if(null===_0x3c8709)return 0x1;const _0x53cff0=_0x163526['top']-_0x3c8709[_0x5ca2('0x7')];return 0x0==_0x53cff0?_0x163526['left']-_0x3c8709['left']:_0x53cff0;}
|