@ckeditor/ckeditor5-find-and-replace 30.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.
Files changed (42) hide show
  1. package/LICENSE.md +17 -0
  2. package/README.md +20 -0
  3. package/build/find-and-replace.js +5 -0
  4. package/build/translations/de.js +1 -0
  5. package/build/translations/gl.js +1 -0
  6. package/build/translations/hu.js +1 -0
  7. package/build/translations/it.js +1 -0
  8. package/build/translations/nl.js +1 -0
  9. package/build/translations/no.js +1 -0
  10. package/build/translations/ru.js +1 -0
  11. package/build/translations/sr-latn.js +1 -0
  12. package/build/translations/sr.js +1 -0
  13. package/build/translations/zh-cn.js +1 -0
  14. package/ckeditor5-metadata.json +18 -0
  15. package/lang/contexts.json +15 -0
  16. package/lang/translations/de.po +69 -0
  17. package/lang/translations/en.po +69 -0
  18. package/lang/translations/gl.po +69 -0
  19. package/lang/translations/hu.po +69 -0
  20. package/lang/translations/it.po +69 -0
  21. package/lang/translations/nl.po +69 -0
  22. package/lang/translations/no.po +69 -0
  23. package/lang/translations/ru.po +69 -0
  24. package/lang/translations/sr-latn.po +69 -0
  25. package/lang/translations/sr.po +69 -0
  26. package/lang/translations/zh-cn.po +69 -0
  27. package/package.json +62 -0
  28. package/src/findandreplace.js +97 -0
  29. package/src/findandreplaceediting.js +254 -0
  30. package/src/findandreplacestate.js +131 -0
  31. package/src/findandreplaceui.js +202 -0
  32. package/src/findcommand.js +95 -0
  33. package/src/findnextcommand.js +67 -0
  34. package/src/findpreviouscommand.js +31 -0
  35. package/src/index.js +10 -0
  36. package/src/replaceallcommand.js +61 -0
  37. package/src/replacecommand.js +69 -0
  38. package/src/ui/findandreplaceformview.js +827 -0
  39. package/src/utils.js +166 -0
  40. package/theme/findandreplace.css +13 -0
  41. package/theme/findandreplaceform.css +17 -0
  42. package/theme/icons/find-replace.svg +1 -0
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Norwegian (https://www.transifex.com/ckeditor/teams/11143/no/)\n"
16
+ "Language: no\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Søk og erstatt"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Søk i tekst"
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Søk"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Forrige resultat"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Neste resultat"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Erstatt"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Erstatt alt"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr ""
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr ""
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr ""
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr ""
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr ""
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr ""
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Russian (https://www.transifex.com/ckeditor/teams/11143/ru/)\n"
16
+ "Language: ru\n"
17
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Найти и заменить"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Найти в тексте"
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Найти"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Предыдущий результат"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Следующий результат"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Заменить"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Заменить всё"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "С учетом регистра"
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "Только слова целиком"
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "Заменить на..."
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr ""
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr ""
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr ""
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Serbian (Latin) (https://www.transifex.com/ckeditor/teams/11143/sr@latin/)\n"
16
+ "Language: sr@latin\n"
17
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Nađji i zameni"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Pronađji u tekstu…"
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Pronađji"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Prethodni rezultat"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Sledeći rezultat"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Zameni"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Zameni sve"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "Podudaranje slučaj"
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "Samo cele reči"
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "Zameni sa…"
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr "Tekst za pronalaženje ne sme biti prazan."
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr "Savet: Prvo pronađjite neki tekst da biste ga zamenili."
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "Prikaži opcije"
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Serbian (https://www.transifex.com/ckeditor/teams/11143/sr/)\n"
16
+ "Language: sr\n"
17
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Нађи и замени"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Пронађи у тексту… "
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Пронаћи"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Претходни резултат "
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Следећи резултат "
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Замени"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Замени све"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "Подударање случај "
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "Само целе речи "
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "Замени са…"
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr "Текст за проналажење не сме бити празан."
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr "Савет: Прво пронађите неки текст да бисте га заменили. "
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "Прикажи опције "
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Chinese (China) (https://www.transifex.com/ckeditor/teams/11143/zh_CN/)\n"
16
+ "Language: zh_CN\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "查找和替换"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "查找的文本"
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "查找"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "上一个匹配项"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "下一个匹配项"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "替换"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "全部替换"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "区分大小写"
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "单词"
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "替换的文本"
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr "查找的文本不可为空"
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr "提示:先查找文本再替换"
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "显示配置"
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@ckeditor/ckeditor5-find-and-replace",
3
+ "version": "30.0.0",
4
+ "description": "Find and replace feature for CKEditor 5.",
5
+ "keywords": [
6
+ "ckeditor",
7
+ "ckeditor5",
8
+ "ckeditor 5",
9
+ "ckeditor5-feature",
10
+ "ckeditor5-plugin",
11
+ "ckeditor5-dll"
12
+ ],
13
+ "main": "src/index.js",
14
+ "dependencies": {
15
+ "@ckeditor/ckeditor5-ui": "^30.0.0",
16
+ "@ckeditor/ckeditor5-utils": "^30.0.0",
17
+ "ckeditor5": "^30.0.0",
18
+ "lodash-es": "^4.17.15"
19
+ },
20
+ "devDependencies": {
21
+ "@ckeditor/ckeditor5-dev-utils": "^25.4.0",
22
+ "@ckeditor/ckeditor5-basic-styles": "^30.0.0",
23
+ "@ckeditor/ckeditor5-core": "^30.0.0",
24
+ "@ckeditor/ckeditor5-editor-classic": "^30.0.0",
25
+ "@ckeditor/ckeditor5-editor-decoupled": "^30.0.0",
26
+ "@ckeditor/ckeditor5-engine": "^30.0.0",
27
+ "@ckeditor/ckeditor5-essentials": "^30.0.0",
28
+ "@ckeditor/ckeditor5-heading": "^30.0.0",
29
+ "@ckeditor/ckeditor5-font": "^30.0.0",
30
+ "@ckeditor/ckeditor5-highlight": "^30.0.0",
31
+ "@ckeditor/ckeditor5-link": "^30.0.0",
32
+ "@ckeditor/ckeditor5-list": "^30.0.0",
33
+ "@ckeditor/ckeditor5-paragraph": "^30.0.0",
34
+ "@ckeditor/ckeditor5-source-editing": "^30.0.0",
35
+ "@ckeditor/ckeditor5-theme-lark": "^30.0.0",
36
+ "webpack": "^4.43.0",
37
+ "webpack-cli": "^3.3.11"
38
+ },
39
+ "engines": {
40
+ "node": ">=12.0.0",
41
+ "npm": ">=5.7.1"
42
+ },
43
+ "author": "CKSource (http://cksource.com/)",
44
+ "license": "GPL-2.0-or-later",
45
+ "homepage": "https://ckeditor.com",
46
+ "bugs": "https://github.com/ckeditor/ckeditor5/issues",
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/ckeditor/ckeditor5.git",
50
+ "directory": "packages/ckeditor5-find-and-replace"
51
+ },
52
+ "files": [
53
+ "lang",
54
+ "src",
55
+ "theme",
56
+ "build",
57
+ "ckeditor5-metadata.json"
58
+ ],
59
+ "scripts": {
60
+ "dll:build": "webpack"
61
+ }
62
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ /**
7
+ * @module find-and-replace/findandreplace
8
+ */
9
+
10
+ import { Plugin } from 'ckeditor5/src/core';
11
+ import FindAndReplaceUI from './findandreplaceui';
12
+ import FindAndReplaceEditing from './findandreplaceediting';
13
+
14
+ /**
15
+ * The find and replace plugin.
16
+ *
17
+ * For a detailed overview, check the {@glink features/find-and-replace Find and replace feature documentation}.
18
+ *
19
+ * This is a "glue" plugin which loads the following plugins:
20
+ *
21
+ * * The {@link module:find-and-replace/findandreplaceediting~FindAndReplaceEditing find and replace editing feature},
22
+ * * The {@link module:find-and-replace/findandreplaceui~FindAndReplaceUI find and replace UI feature}
23
+ *
24
+ * @extends module:core/plugin~Plugin
25
+ */
26
+ export default class FindAndReplace extends Plugin {
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ static get requires() {
31
+ return [ FindAndReplaceEditing, FindAndReplaceUI ];
32
+ }
33
+
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static get pluginName() {
38
+ return 'FindAndReplace';
39
+ }
40
+
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ init() {
45
+ const ui = this.editor.plugins.get( 'FindAndReplaceUI' );
46
+ const findAndReplaceEditing = this.editor.plugins.get( 'FindAndReplaceEditing' );
47
+ const state = findAndReplaceEditing.state;
48
+
49
+ ui.on( 'findNext', ( event, data ) => {
50
+ // Data is contained only for the "find" button.
51
+ if ( data ) {
52
+ state.searchText = data.searchText;
53
+ this.editor.execute( 'find', data.searchText, data );
54
+ } else {
55
+ // Find next arrow button press.
56
+ this.editor.execute( 'findNext' );
57
+ }
58
+ } );
59
+
60
+ ui.on( 'findPrevious', ( event, data ) => {
61
+ if ( data && state.searchText !== data.searchText ) {
62
+ this.editor.execute( 'find', data.searchText );
63
+ } else {
64
+ // Subsequent calls.
65
+ this.editor.execute( 'findPrevious' );
66
+ }
67
+ } );
68
+
69
+ ui.on( 'replace', ( event, data ) => {
70
+ if ( state.searchText !== data.searchText ) {
71
+ this.editor.execute( 'find', data.searchText );
72
+ }
73
+
74
+ const highlightedResult = state.highlightedResult;
75
+
76
+ if ( highlightedResult ) {
77
+ this.editor.execute( 'replace', data.replaceText, highlightedResult );
78
+ }
79
+ } );
80
+
81
+ ui.on( 'replaceAll', ( event, data ) => {
82
+ // The state hadn't been yet built for this search text.
83
+ if ( state.searchText !== data.searchText ) {
84
+ this.editor.execute( 'find', data.searchText );
85
+ }
86
+
87
+ this.editor.execute( 'replaceAll', data.replaceText, state.results );
88
+ } );
89
+
90
+ // Reset the state when the user invalidated last search results, for instance,
91
+ // by starting typing another search query or changing options.
92
+ ui.on( 'searchReseted', () => {
93
+ state.clear( this.editor.model );
94
+ findAndReplaceEditing.stop();
95
+ } );
96
+ }
97
+ }