@ckeditor/ckeditor5-restricted-editing 0.0.0-nightly-20240423.0 → 0.0.0-nightly-20240425.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/restricted-editing.js +1 -1
- package/dist/index-content.css +4 -0
- package/dist/index-editor.css +4 -0
- package/dist/index.css +4 -0
- package/dist/index.js +941 -0
- package/dist/index.js.map +1 -0
- package/dist/translations/ar.d.ts +8 -0
- package/dist/translations/ar.js +5 -0
- package/dist/translations/ar.umd.js +11 -0
- package/dist/translations/az.d.ts +8 -0
- package/dist/translations/az.js +5 -0
- package/dist/translations/az.umd.js +11 -0
- package/dist/translations/bg.d.ts +8 -0
- package/dist/translations/bg.js +5 -0
- package/dist/translations/bg.umd.js +11 -0
- package/dist/translations/bn.d.ts +8 -0
- package/dist/translations/bn.js +5 -0
- package/dist/translations/bn.umd.js +11 -0
- package/dist/translations/ca.d.ts +8 -0
- package/dist/translations/ca.js +5 -0
- package/dist/translations/ca.umd.js +11 -0
- package/dist/translations/cs.d.ts +8 -0
- package/dist/translations/cs.js +5 -0
- package/dist/translations/cs.umd.js +11 -0
- package/dist/translations/da.d.ts +8 -0
- package/dist/translations/da.js +5 -0
- package/dist/translations/da.umd.js +11 -0
- package/dist/translations/de-ch.d.ts +8 -0
- package/dist/translations/de-ch.js +5 -0
- package/dist/translations/de-ch.umd.js +11 -0
- package/dist/translations/de.d.ts +8 -0
- package/dist/translations/de.js +5 -0
- package/dist/translations/de.umd.js +11 -0
- package/dist/translations/el.d.ts +8 -0
- package/dist/translations/el.js +5 -0
- package/dist/translations/el.umd.js +11 -0
- package/dist/translations/en-au.d.ts +8 -0
- package/dist/translations/en-au.js +5 -0
- package/dist/translations/en-au.umd.js +11 -0
- package/dist/translations/en-gb.d.ts +8 -0
- package/dist/translations/en-gb.js +5 -0
- package/dist/translations/en-gb.umd.js +11 -0
- package/dist/translations/en.d.ts +8 -0
- package/dist/translations/en.js +5 -0
- package/dist/translations/en.umd.js +11 -0
- package/dist/translations/es.d.ts +8 -0
- package/dist/translations/es.js +5 -0
- package/dist/translations/es.umd.js +11 -0
- package/dist/translations/et.d.ts +8 -0
- package/dist/translations/et.js +5 -0
- package/dist/translations/et.umd.js +11 -0
- package/dist/translations/fa.d.ts +8 -0
- package/dist/translations/fa.js +5 -0
- package/dist/translations/fa.umd.js +11 -0
- package/dist/translations/fi.d.ts +8 -0
- package/dist/translations/fi.js +5 -0
- package/dist/translations/fi.umd.js +11 -0
- package/dist/translations/fr.d.ts +8 -0
- package/dist/translations/fr.js +5 -0
- package/dist/translations/fr.umd.js +11 -0
- package/dist/translations/gl.d.ts +8 -0
- package/dist/translations/gl.js +5 -0
- package/dist/translations/gl.umd.js +11 -0
- package/dist/translations/he.d.ts +8 -0
- package/dist/translations/he.js +5 -0
- package/dist/translations/he.umd.js +11 -0
- package/dist/translations/hi.d.ts +8 -0
- package/dist/translations/hi.js +5 -0
- package/dist/translations/hi.umd.js +11 -0
- package/dist/translations/hr.d.ts +8 -0
- package/dist/translations/hr.js +5 -0
- package/dist/translations/hr.umd.js +11 -0
- package/dist/translations/hu.d.ts +8 -0
- package/dist/translations/hu.js +5 -0
- package/dist/translations/hu.umd.js +11 -0
- package/dist/translations/id.d.ts +8 -0
- package/dist/translations/id.js +5 -0
- package/dist/translations/id.umd.js +11 -0
- package/dist/translations/it.d.ts +8 -0
- package/dist/translations/it.js +5 -0
- package/dist/translations/it.umd.js +11 -0
- package/dist/translations/ja.d.ts +8 -0
- package/dist/translations/ja.js +5 -0
- package/dist/translations/ja.umd.js +11 -0
- package/dist/translations/ko.d.ts +8 -0
- package/dist/translations/ko.js +5 -0
- package/dist/translations/ko.umd.js +11 -0
- package/dist/translations/ku.d.ts +8 -0
- package/dist/translations/ku.js +5 -0
- package/dist/translations/ku.umd.js +11 -0
- package/dist/translations/lt.d.ts +8 -0
- package/dist/translations/lt.js +5 -0
- package/dist/translations/lt.umd.js +11 -0
- package/dist/translations/lv.d.ts +8 -0
- package/dist/translations/lv.js +5 -0
- package/dist/translations/lv.umd.js +11 -0
- package/dist/translations/ms.d.ts +8 -0
- package/dist/translations/ms.js +5 -0
- package/dist/translations/ms.umd.js +11 -0
- package/dist/translations/nl.d.ts +8 -0
- package/dist/translations/nl.js +5 -0
- package/dist/translations/nl.umd.js +11 -0
- package/dist/translations/no.d.ts +8 -0
- package/dist/translations/no.js +5 -0
- package/dist/translations/no.umd.js +11 -0
- package/dist/translations/pl.d.ts +8 -0
- package/dist/translations/pl.js +5 -0
- package/dist/translations/pl.umd.js +11 -0
- package/dist/translations/pt-br.d.ts +8 -0
- package/dist/translations/pt-br.js +5 -0
- package/dist/translations/pt-br.umd.js +11 -0
- package/dist/translations/pt.d.ts +8 -0
- package/dist/translations/pt.js +5 -0
- package/dist/translations/pt.umd.js +11 -0
- package/dist/translations/ro.d.ts +8 -0
- package/dist/translations/ro.js +5 -0
- package/dist/translations/ro.umd.js +11 -0
- package/dist/translations/ru.d.ts +8 -0
- package/dist/translations/ru.js +5 -0
- package/dist/translations/ru.umd.js +11 -0
- package/dist/translations/sk.d.ts +8 -0
- package/dist/translations/sk.js +5 -0
- package/dist/translations/sk.umd.js +11 -0
- package/dist/translations/sq.d.ts +8 -0
- package/dist/translations/sq.js +5 -0
- package/dist/translations/sq.umd.js +11 -0
- package/dist/translations/sr-latn.d.ts +8 -0
- package/dist/translations/sr-latn.js +5 -0
- package/dist/translations/sr-latn.umd.js +11 -0
- package/dist/translations/sr.d.ts +8 -0
- package/dist/translations/sr.js +5 -0
- package/dist/translations/sr.umd.js +11 -0
- package/dist/translations/sv.d.ts +8 -0
- package/dist/translations/sv.js +5 -0
- package/dist/translations/sv.umd.js +11 -0
- package/dist/translations/th.d.ts +8 -0
- package/dist/translations/th.js +5 -0
- package/dist/translations/th.umd.js +11 -0
- package/dist/translations/tk.d.ts +8 -0
- package/dist/translations/tk.js +5 -0
- package/dist/translations/tk.umd.js +11 -0
- package/dist/translations/tr.d.ts +8 -0
- package/dist/translations/tr.js +5 -0
- package/dist/translations/tr.umd.js +11 -0
- package/dist/translations/uk.d.ts +8 -0
- package/dist/translations/uk.js +5 -0
- package/dist/translations/uk.umd.js +11 -0
- package/dist/translations/ur.d.ts +8 -0
- package/dist/translations/ur.js +5 -0
- package/dist/translations/ur.umd.js +11 -0
- package/dist/translations/uz.d.ts +8 -0
- package/dist/translations/uz.js +5 -0
- package/dist/translations/uz.umd.js +11 -0
- package/dist/translations/vi.d.ts +8 -0
- package/dist/translations/vi.js +5 -0
- package/dist/translations/vi.umd.js +11 -0
- package/dist/translations/zh-cn.d.ts +8 -0
- package/dist/translations/zh-cn.js +5 -0
- package/dist/translations/zh-cn.umd.js +11 -0
- package/dist/translations/zh.d.ts +8 -0
- package/dist/translations/zh.js +5 -0
- package/dist/translations/zh.umd.js +11 -0
- package/dist/types/augmentation.d.ts +33 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/restrictededitingconfig.d.ts +64 -0
- package/dist/types/restrictededitingexceptioncommand.d.ts +34 -0
- package/dist/types/restrictededitingmode/converters.d.ts +43 -0
- package/dist/types/restrictededitingmode/utils.d.ts +34 -0
- package/dist/types/restrictededitingmode.d.ts +33 -0
- package/dist/types/restrictededitingmodeediting.d.ts +87 -0
- package/dist/types/restrictededitingmodenavigationcommand.d.ts +46 -0
- package/dist/types/restrictededitingmodeui.d.ts +46 -0
- package/dist/types/standardeditingmode.d.ts +30 -0
- package/dist/types/standardeditingmodeediting.d.ts +29 -0
- package/dist/types/standardeditingmodeui.d.ts +31 -0
- package/package.json +3 -2
- package/src/restrictededitingmodeediting.js +12 -14
@@ -0,0 +1,46 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright (c) 2003-2024, 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
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
7
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
8
|
+
*/
|
9
|
+
import { Command, type Editor } from 'ckeditor5/src/core.js';
|
10
|
+
/**
|
11
|
+
* The command that allows navigation across the exceptions in the edited document.
|
12
|
+
*/
|
13
|
+
export default class RestrictedEditingModeNavigationCommand extends Command {
|
14
|
+
/**
|
15
|
+
* The direction of the command.
|
16
|
+
*/
|
17
|
+
private _direction;
|
18
|
+
/**
|
19
|
+
* Creates an instance of the command.
|
20
|
+
*
|
21
|
+
* @param editor The editor instance.
|
22
|
+
* @param direction The direction that the command works.
|
23
|
+
*/
|
24
|
+
constructor(editor: Editor, direction: RestrictedEditingModeNavigationDirection);
|
25
|
+
/**
|
26
|
+
* @inheritDoc
|
27
|
+
*/
|
28
|
+
refresh(): void;
|
29
|
+
/**
|
30
|
+
* Executes the command.
|
31
|
+
*
|
32
|
+
* @fires execute
|
33
|
+
*/
|
34
|
+
execute(): void;
|
35
|
+
/**
|
36
|
+
* Checks whether the command can be enabled in the current context.
|
37
|
+
*
|
38
|
+
* @returns Whether the command should be enabled.
|
39
|
+
*/
|
40
|
+
private _checkEnabled;
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Directions in which the
|
44
|
+
* {@link module:restricted-editing/restrictededitingmodenavigationcommand~RestrictedEditingModeNavigationCommand} can work.
|
45
|
+
*/
|
46
|
+
export type RestrictedEditingModeNavigationDirection = 'forward' | 'backward';
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright (c) 2003-2024, 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
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
7
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
8
|
+
*/
|
9
|
+
/**
|
10
|
+
* @module restricted-editing/restrictededitingmodeui
|
11
|
+
*/
|
12
|
+
import { Plugin } from 'ckeditor5/src/core.js';
|
13
|
+
/**
|
14
|
+
* The restricted editing mode UI feature.
|
15
|
+
*
|
16
|
+
* It introduces the `'restrictedEditing'` dropdown that offers tools to navigate between exceptions across
|
17
|
+
* the document.
|
18
|
+
*/
|
19
|
+
export default class RestrictedEditingModeUI extends Plugin {
|
20
|
+
/**
|
21
|
+
* @inheritDoc
|
22
|
+
*/
|
23
|
+
static get pluginName(): "RestrictedEditingModeUI";
|
24
|
+
/**
|
25
|
+
* @inheritDoc
|
26
|
+
*/
|
27
|
+
init(): void;
|
28
|
+
/**
|
29
|
+
* Creates a button for restricted editing command to use in menu bar.
|
30
|
+
*/
|
31
|
+
private _createMenuBarButton;
|
32
|
+
/**
|
33
|
+
* Returns a definition of the navigation button to be used in the dropdown.
|
34
|
+
*
|
35
|
+
* @param commandName The name of the command that the button represents.
|
36
|
+
* @param label The translated label of the button.
|
37
|
+
* @param keystroke The button keystroke.
|
38
|
+
*/
|
39
|
+
private _getButtonDefinition;
|
40
|
+
/**
|
41
|
+
* Returns definitions for UI buttons.
|
42
|
+
*
|
43
|
+
* @internal
|
44
|
+
*/
|
45
|
+
private _getButtonDefinitions;
|
46
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright (c) 2003-2024, 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
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
7
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
8
|
+
*/
|
9
|
+
/**
|
10
|
+
* @module restricted-editing/standardeditingmode
|
11
|
+
*/
|
12
|
+
import { Plugin } from 'ckeditor5/src/core.js';
|
13
|
+
import StandardEditingModeEditing from './standardeditingmodeediting.js';
|
14
|
+
import StandardEditingModeUI from './standardeditingmodeui.js';
|
15
|
+
import '../theme/restrictedediting.css';
|
16
|
+
/**
|
17
|
+
* The standard editing mode plugin.
|
18
|
+
*
|
19
|
+
* This is a "glue" plugin that loads the following plugins:
|
20
|
+
*
|
21
|
+
* * The {@link module:restricted-editing/standardeditingmodeediting~StandardEditingModeEditing standard mode editing feature}.
|
22
|
+
* * The {@link module:restricted-editing/standardeditingmodeui~StandardEditingModeUI standard mode UI feature}.
|
23
|
+
*/
|
24
|
+
export default class StandardEditingMode extends Plugin {
|
25
|
+
/**
|
26
|
+
* @inheritDoc
|
27
|
+
*/
|
28
|
+
static get pluginName(): "StandardEditingMode";
|
29
|
+
static get requires(): readonly [typeof StandardEditingModeEditing, typeof StandardEditingModeUI];
|
30
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright (c) 2003-2024, 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
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
7
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
8
|
+
*/
|
9
|
+
/**
|
10
|
+
* @module restricted-editing/standardeditingmodeediting
|
11
|
+
*/
|
12
|
+
import { Plugin } from 'ckeditor5/src/core.js';
|
13
|
+
/**
|
14
|
+
* The standard editing mode editing feature.
|
15
|
+
*
|
16
|
+
* * It introduces the `restrictedEditingException` text attribute that is rendered as
|
17
|
+
* a `<span>` element with the `restricted-editing-exception` CSS class.
|
18
|
+
* * It registers the `'restrictedEditingException'` command.
|
19
|
+
*/
|
20
|
+
export default class StandardEditingModeEditing extends Plugin {
|
21
|
+
/**
|
22
|
+
* @inheritDoc
|
23
|
+
*/
|
24
|
+
static get pluginName(): "StandardEditingModeEditing";
|
25
|
+
/**
|
26
|
+
* @inheritDoc
|
27
|
+
*/
|
28
|
+
init(): void;
|
29
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright (c) 2003-2024, 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
|
+
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
7
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
8
|
+
*/
|
9
|
+
/**
|
10
|
+
* @module restricted-editing/standardeditingmodeui
|
11
|
+
*/
|
12
|
+
import { Plugin } from 'ckeditor5/src/core.js';
|
13
|
+
/**
|
14
|
+
* The standard editing mode UI feature.
|
15
|
+
*
|
16
|
+
* It introduces the `'restrictedEditingException'` button that marks text as unrestricted for editing.
|
17
|
+
*/
|
18
|
+
export default class StandardEditingModeUI extends Plugin {
|
19
|
+
/**
|
20
|
+
* @inheritDoc
|
21
|
+
*/
|
22
|
+
static get pluginName(): "StandardEditingModeUI";
|
23
|
+
/**
|
24
|
+
* @inheritDoc
|
25
|
+
*/
|
26
|
+
init(): void;
|
27
|
+
/**
|
28
|
+
* Creates a button for restricted editing exception command to use either in toolbar or in menu bar.
|
29
|
+
*/
|
30
|
+
private _createButton;
|
31
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ckeditor/ckeditor5-restricted-editing",
|
3
|
-
"version": "0.0.0-nightly-
|
3
|
+
"version": "0.0.0-nightly-20240425.0",
|
4
4
|
"description": "Restricted editing feature for CKEditor 5 editors.",
|
5
5
|
"keywords": [
|
6
6
|
"ckeditor",
|
@@ -12,7 +12,7 @@
|
|
12
12
|
"type": "module",
|
13
13
|
"main": "src/index.js",
|
14
14
|
"dependencies": {
|
15
|
-
"ckeditor5": "0.0.0-nightly-
|
15
|
+
"ckeditor5": "0.0.0-nightly-20240425.0"
|
16
16
|
},
|
17
17
|
"author": "CKSource (http://cksource.com/)",
|
18
18
|
"license": "GPL-2.0-or-later",
|
@@ -24,6 +24,7 @@
|
|
24
24
|
"directory": "packages/ckeditor5-restricted-editing"
|
25
25
|
},
|
26
26
|
"files": [
|
27
|
+
"dist",
|
27
28
|
"lang",
|
28
29
|
"src/**/*.js",
|
29
30
|
"src/**/*.d.ts",
|
@@ -50,8 +50,18 @@ export default class RestrictedEditingModeEditing extends Plugin {
|
|
50
50
|
// Commands & keystrokes that allow navigation in the content.
|
51
51
|
editor.commands.add('goToPreviousRestrictedEditingException', new RestrictedEditingModeNavigationCommand(editor, 'backward'));
|
52
52
|
editor.commands.add('goToNextRestrictedEditingException', new RestrictedEditingModeNavigationCommand(editor, 'forward'));
|
53
|
-
|
54
|
-
|
53
|
+
this.listenTo(editingView.document, 'tab', (evt, data) => {
|
54
|
+
const commandName = !data.shiftKey ? 'goToNextRestrictedEditingException' : 'goToPreviousRestrictedEditingException';
|
55
|
+
const command = editor.commands.get(commandName);
|
56
|
+
if (command.isEnabled) {
|
57
|
+
editor.execute(commandName);
|
58
|
+
// Stop the event in the DOM: no listener in the web page will be triggered by this event.
|
59
|
+
data.preventDefault();
|
60
|
+
data.stopPropagation();
|
61
|
+
}
|
62
|
+
// Stop the event bubbling in the editor: no more callbacks will be executed for this keystroke.
|
63
|
+
evt.stop();
|
64
|
+
}, { context: '$capture' });
|
55
65
|
editor.keystrokes.set('Ctrl+A', getSelectAllHandler(editor));
|
56
66
|
editingView.change(writer => {
|
57
67
|
for (const root of editingView.document.roots) {
|
@@ -231,18 +241,6 @@ export default class RestrictedEditingModeEditing extends Plugin {
|
|
231
241
|
}
|
232
242
|
}
|
233
243
|
}
|
234
|
-
/**
|
235
|
-
* Helper method for executing enabled commands only.
|
236
|
-
*/
|
237
|
-
function getCommandExecuter(editor, commandName) {
|
238
|
-
return (_, cancel) => {
|
239
|
-
const command = editor.commands.get(commandName);
|
240
|
-
if (command.isEnabled) {
|
241
|
-
editor.execute(commandName);
|
242
|
-
cancel();
|
243
|
-
}
|
244
|
-
};
|
245
|
-
}
|
246
244
|
/**
|
247
245
|
* Helper for handling Ctrl+A keydown behaviour.
|
248
246
|
*/
|