@ckeditor/ckeditor5-slash-command 40.0.0 → 40.2.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/LICENSE.md +4 -4
- package/README.md +1 -1
- package/build/slash-command.js +2 -2
- package/build/translations/ar.js +1 -1
- package/build/translations/bg.js +1 -1
- package/build/translations/bn.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.js +1 -1
- package/build/translations/el.js +1 -1
- package/build/translations/en-au.js +1 -1
- package/build/translations/es.js +1 -1
- package/build/translations/et.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/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.js +1 -1
- package/build/translations/sv.js +1 -1
- package/build/translations/th.js +1 -1
- package/build/translations/tr.js +1 -1
- package/build/translations/uk.js +1 -1
- package/build/translations/uz.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/translations/ar.po +4 -0
- package/lang/translations/bg.po +4 -0
- package/lang/translations/bn.po +4 -0
- package/lang/translations/ca.po +4 -0
- package/lang/translations/cs.po +4 -0
- package/lang/translations/da.po +4 -0
- package/lang/translations/de.po +4 -0
- package/lang/translations/el.po +4 -0
- package/lang/translations/en-au.po +4 -0
- package/lang/translations/en.po +4 -0
- package/lang/translations/es.po +4 -0
- package/lang/translations/et.po +4 -0
- package/lang/translations/fi.po +4 -0
- package/lang/translations/fr.po +4 -0
- package/lang/translations/gl.po +4 -0
- package/lang/translations/he.po +4 -0
- package/lang/translations/hi.po +4 -0
- package/lang/translations/hr.po +4 -0
- package/lang/translations/hu.po +4 -0
- package/lang/translations/id.po +4 -0
- package/lang/translations/it.po +4 -0
- package/lang/translations/ja.po +4 -0
- package/lang/translations/ko.po +4 -0
- package/lang/translations/lt.po +4 -0
- package/lang/translations/lv.po +4 -0
- package/lang/translations/ms.po +4 -0
- package/lang/translations/nl.po +4 -0
- package/lang/translations/no.po +4 -0
- package/lang/translations/pl.po +4 -0
- package/lang/translations/pt-br.po +4 -0
- package/lang/translations/pt.po +4 -0
- package/lang/translations/ro.po +4 -0
- package/lang/translations/ru.po +4 -0
- package/lang/translations/sk.po +4 -0
- package/lang/translations/sr.po +4 -0
- package/lang/translations/sv.po +4 -0
- package/lang/translations/th.po +4 -0
- package/lang/translations/tr.po +4 -0
- package/lang/translations/uk.po +4 -0
- package/lang/translations/uz.po +4 -0
- package/lang/translations/vi.po +4 -0
- package/lang/translations/zh-cn.po +4 -0
- package/lang/translations/zh.po +4 -0
- package/package.json +14 -14
- package/src/augmentation.d.ts +21 -21
- package/src/index.d.ts +13 -13
- package/src/slashcommand.d.ts +29 -29
- package/src/slashcommand.js +1 -1
- package/src/slashcommandconfig.d.ts +242 -242
- package/src/slashcommandconfig.js +1 -1
- package/src/slashcommandediting.d.ts +41 -41
- package/src/slashcommandediting.js +1 -1
- package/src/slashcommandeditorconfig.d.ts +96 -96
- package/src/slashcommandui.d.ts +33 -33
- package/src/slashcommandui.js +1 -1
- package/src/ui/slashcommandbuttonview.d.ts +31 -31
- package/src/ui/slashcommandbuttonview.js +1 -1
|
@@ -1,242 +1,242 @@
|
|
|
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 slash-command/slashcommandconfig
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import './slashcommandeditorconfig';
|
|
11
|
-
/**
|
|
12
|
-
* This plugin takes care of the configuration for {@link module:slash-command/slashcommand~SlashCommand}:
|
|
13
|
-
*
|
|
14
|
-
* * It manages the configuration of slash commands in the editor.
|
|
15
|
-
* * It provides default slash commands for common editor features.
|
|
16
|
-
* * It allows defining extra commands and reducing the list of defaults using the editor configuration.
|
|
17
|
-
* See {@link module:slash-command/slashcommandconfig~SlashCommandConfig} to learn more.
|
|
18
|
-
*
|
|
19
|
-
* @extends module:core/plugin~Plugin
|
|
20
|
-
*/
|
|
21
|
-
export default class SlashCommandConfig extends Plugin {
|
|
22
|
-
/**
|
|
23
|
-
* @inheritDoc
|
|
24
|
-
*/
|
|
25
|
-
static get pluginName(): "SlashCommandConfig";
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
constructor(editor: Editor);
|
|
30
|
-
/**
|
|
31
|
-
* @inheritDoc
|
|
32
|
-
*/
|
|
33
|
-
afterInit(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Returns an array of slash command definitions enabled in the editor.
|
|
36
|
-
*
|
|
37
|
-
* This method takes into account the following:
|
|
38
|
-
* * The {@link module:slash-command/slashcommandconfig~SlashCommandConfig#getDefaultCommands list of default commands}.
|
|
39
|
-
* * The presence of {@link module:core/editor/editorconfig~EditorConfig#plugins editor features} (plugins).
|
|
40
|
-
* * The {@link module:slash-command/slashcommandeditorconfig~SlashCommandEditorConfig#removeCommands} configuration.
|
|
41
|
-
* * The {@link module:slash-command/slashcommandeditorconfig~SlashCommandEditorConfig#extraCommands} configuration.
|
|
42
|
-
*/
|
|
43
|
-
getAllowedCommands(): Array<SlashCommandDefinition>;
|
|
44
|
-
/**
|
|
45
|
-
* Returns a list of default slash command {@link module:slash-command/slashcommandconfig~SlashCommandDefinition definitions}
|
|
46
|
-
* for common editor features. The available definitions are as follows:
|
|
47
|
-
*
|
|
48
|
-
* ```js
|
|
49
|
-
* [
|
|
50
|
-
* {
|
|
51
|
-
* id: 'blockQuote',
|
|
52
|
-
* commandName: 'blockQuote',
|
|
53
|
-
* title: t( 'Block quote' ),
|
|
54
|
-
* // ...
|
|
55
|
-
* },
|
|
56
|
-
* {
|
|
57
|
-
* id: 'bulletedList',
|
|
58
|
-
* commandName: 'bulletedList',
|
|
59
|
-
* title: t( 'Bulleted list' ),
|
|
60
|
-
* // ...
|
|
61
|
-
* },
|
|
62
|
-
* {
|
|
63
|
-
* id: 'codeBlock',
|
|
64
|
-
* commandName: 'codeBlock',
|
|
65
|
-
* title: t( 'Insert code block' ),
|
|
66
|
-
* // ...
|
|
67
|
-
* },
|
|
68
|
-
* {
|
|
69
|
-
* id: 'ckbox',
|
|
70
|
-
* commandName: 'ckbox',
|
|
71
|
-
* title: t( 'Open file manager' ),
|
|
72
|
-
* // ...
|
|
73
|
-
* },
|
|
74
|
-
* {
|
|
75
|
-
* id: 'ckfinder',
|
|
76
|
-
* commandName: 'ckfinder',
|
|
77
|
-
* title: t( 'Insert image' ),
|
|
78
|
-
* // ...
|
|
79
|
-
* },
|
|
80
|
-
* {
|
|
81
|
-
* id: 'heading1',
|
|
82
|
-
* commandName: 'heading',
|
|
83
|
-
* title: t( 'Heading 1' ),
|
|
84
|
-
* // ...
|
|
85
|
-
* },
|
|
86
|
-
* {
|
|
87
|
-
* id: 'heading2',
|
|
88
|
-
* commandName: 'heading',
|
|
89
|
-
* title: t( 'Heading 2' ),
|
|
90
|
-
* // ...
|
|
91
|
-
* },
|
|
92
|
-
* {
|
|
93
|
-
* id: 'heading3',
|
|
94
|
-
* commandName: 'heading',
|
|
95
|
-
* title: t( 'Heading 3' ),
|
|
96
|
-
* // ...
|
|
97
|
-
* },
|
|
98
|
-
* {
|
|
99
|
-
* id: 'heading4',
|
|
100
|
-
* commandName: 'heading',
|
|
101
|
-
* title: t( 'Heading 4' ),
|
|
102
|
-
* // ...
|
|
103
|
-
* },
|
|
104
|
-
* {
|
|
105
|
-
* id: 'heading5',
|
|
106
|
-
* commandName: 'heading',
|
|
107
|
-
* title: t( 'Heading 5' ),
|
|
108
|
-
* // ...
|
|
109
|
-
* },
|
|
110
|
-
* {
|
|
111
|
-
* id: 'heading6',
|
|
112
|
-
* commandName: 'heading',
|
|
113
|
-
* title: t( 'Heading 6' ),
|
|
114
|
-
* // ...
|
|
115
|
-
* },
|
|
116
|
-
* {
|
|
117
|
-
* id: 'horizontalLine',
|
|
118
|
-
* commandName: 'horizontalLine',
|
|
119
|
-
* title: t( 'Horizontal line' ),
|
|
120
|
-
* // ...
|
|
121
|
-
* },
|
|
122
|
-
* {
|
|
123
|
-
* id: 'htmlEmbed',
|
|
124
|
-
* commandName: 'htmlEmbed',
|
|
125
|
-
* title: t( 'Insert HTML' ),
|
|
126
|
-
* // ...
|
|
127
|
-
* },
|
|
128
|
-
* {
|
|
129
|
-
* id: 'indent',
|
|
130
|
-
* commandName: 'indent',
|
|
131
|
-
* title: t( 'Increase indent' ),
|
|
132
|
-
* // ...
|
|
133
|
-
* },
|
|
134
|
-
* {
|
|
135
|
-
* id: 'insertMermaidCommand',
|
|
136
|
-
* commandName: 'insertMermaidCommand',
|
|
137
|
-
* title: t( 'Insert Mermaid diagram' ),
|
|
138
|
-
* // ...
|
|
139
|
-
* },
|
|
140
|
-
* {
|
|
141
|
-
* id: 'insertTable',
|
|
142
|
-
* commandName: 'insertTable',
|
|
143
|
-
* title: t( 'Insert table' ),
|
|
144
|
-
* // ...
|
|
145
|
-
* },
|
|
146
|
-
* {
|
|
147
|
-
* id: 'insertTableOfContents',
|
|
148
|
-
* commandName: 'insertTableOfContents',
|
|
149
|
-
* title: t( 'Table of contents' ),
|
|
150
|
-
* // ...
|
|
151
|
-
* },
|
|
152
|
-
* {
|
|
153
|
-
* id: 'numberedList',
|
|
154
|
-
* commandName: 'numberedList',
|
|
155
|
-
* title: t( 'Numbered list' ),
|
|
156
|
-
* // ...
|
|
157
|
-
* },
|
|
158
|
-
* {
|
|
159
|
-
* id: 'outdent',
|
|
160
|
-
* commandName: 'outdent',
|
|
161
|
-
* title: t( 'Decrease indent' ),
|
|
162
|
-
* // ...
|
|
163
|
-
* },
|
|
164
|
-
* {
|
|
165
|
-
* id: 'paragraph',
|
|
166
|
-
* commandName: 'paragraph',
|
|
167
|
-
* title: t( 'Paragraph' ),
|
|
168
|
-
* // ...
|
|
169
|
-
* },
|
|
170
|
-
* {
|
|
171
|
-
* id: 'todoList',
|
|
172
|
-
* commandName: 'todoList',
|
|
173
|
-
* title: t( 'To-do list' ),
|
|
174
|
-
* // ...
|
|
175
|
-
* }
|
|
176
|
-
* ]
|
|
177
|
-
*/
|
|
178
|
-
getDefaultCommands(): Array<SlashCommandDefinition>;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* An object describing a single command definition in the configuration.
|
|
182
|
-
*/
|
|
183
|
-
export interface SlashCommandDefinition {
|
|
184
|
-
/**
|
|
185
|
-
* A unique ID matched with the text that follows the slash ("/") character typed by the user,
|
|
186
|
-
* e.g. 'blockQuote', 'heading1'. See {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#aliases}
|
|
187
|
-
* to learn about slash command aliases that provide a similar functionality.
|
|
188
|
-
*/
|
|
189
|
-
id: string;
|
|
190
|
-
/**
|
|
191
|
-
* The name of the command to be executed if the `execute` property was not provided,
|
|
192
|
-
* for example, 'blockQuote', 'heading'. See {@link module:core/editor/editor~Editor#commands} to learn more about available commands.
|
|
193
|
-
*/
|
|
194
|
-
commandName?: string;
|
|
195
|
-
/**
|
|
196
|
-
* A meaningful title for the command displayed in a dropdown list of possible commands. It can be a string
|
|
197
|
-
* or a callback function returning a string.
|
|
198
|
-
*/
|
|
199
|
-
title: Function | string;
|
|
200
|
-
/**
|
|
201
|
-
* An optional description for the command. Useful when the title is not descriptive enough.
|
|
202
|
-
*/
|
|
203
|
-
description?: string;
|
|
204
|
-
/**
|
|
205
|
-
* An SVG string representing the icon of the command. If not provided, a generic icon will be used instead.
|
|
206
|
-
* The default size of the icon is 20x20 pixels. Be sure to set the correct `viewBox` attribute in the icon source.
|
|
207
|
-
*
|
|
208
|
-
* See {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#isIconColorInherited}.
|
|
209
|
-
*/
|
|
210
|
-
icon?: string;
|
|
211
|
-
/**
|
|
212
|
-
* By default, slash command icons are monochromatic and inherit the color of the text in the editor UI.
|
|
213
|
-
* Setting this property to `false` disables this inheritance and allows the use of complex (colorful) icons.
|
|
214
|
-
*
|
|
215
|
-
* Learn more in {@link module:ui/icon/iconview~IconView#isColorInherited}.
|
|
216
|
-
*/
|
|
217
|
-
isIconColorInherited?: boolean;
|
|
218
|
-
/**
|
|
219
|
-
* An optional list of aliases (extending the base
|
|
220
|
-
* {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#id}) to be used when filtering the list of slash commands
|
|
221
|
-
* based on the text that follows the slash ("/") character.
|
|
222
|
-
*/
|
|
223
|
-
aliases?: Array<string>;
|
|
224
|
-
/**
|
|
225
|
-
* A callback function defining custom logic to decide if the command should be displayed
|
|
226
|
-
* in the dropdown list. If not provided, the default command's {@link module:core/command~Command#isEnabled} property is used instead.
|
|
227
|
-
* If it's also unavailable, it falls back to `true`. This property is checked when a user types the slash ("/") character
|
|
228
|
-
* or changes the text that follows it.
|
|
229
|
-
*
|
|
230
|
-
* This callback gets an {@link module:core/editor/editor~Editor} instance as a parameter.
|
|
231
|
-
*/
|
|
232
|
-
isEnabled?: Function;
|
|
233
|
-
/**
|
|
234
|
-
* A callback function defining custom logic for executing the command. If not provided, the default
|
|
235
|
-
* command's {@link module:core/command~Command#execute} is used instead. Custom logic is useful especially when the slash command
|
|
236
|
-
* requires some arguments (acts like a wrapper) or combines some complex logic. This property is obligatory if
|
|
237
|
-
* {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#commandName} was not passed.
|
|
238
|
-
*
|
|
239
|
-
* This callback gets an {@link module:core/editor/editor~Editor} instance as a parameter.
|
|
240
|
-
*/
|
|
241
|
-
execute?: Function;
|
|
242
|
-
}
|
|
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 slash-command/slashcommandconfig
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import './slashcommandeditorconfig';
|
|
11
|
+
/**
|
|
12
|
+
* This plugin takes care of the configuration for {@link module:slash-command/slashcommand~SlashCommand}:
|
|
13
|
+
*
|
|
14
|
+
* * It manages the configuration of slash commands in the editor.
|
|
15
|
+
* * It provides default slash commands for common editor features.
|
|
16
|
+
* * It allows defining extra commands and reducing the list of defaults using the editor configuration.
|
|
17
|
+
* See {@link module:slash-command/slashcommandconfig~SlashCommandConfig} to learn more.
|
|
18
|
+
*
|
|
19
|
+
* @extends module:core/plugin~Plugin
|
|
20
|
+
*/
|
|
21
|
+
export default class SlashCommandConfig extends Plugin {
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
static get pluginName(): "SlashCommandConfig";
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
constructor(editor: Editor);
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
afterInit(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Returns an array of slash command definitions enabled in the editor.
|
|
36
|
+
*
|
|
37
|
+
* This method takes into account the following:
|
|
38
|
+
* * The {@link module:slash-command/slashcommandconfig~SlashCommandConfig#getDefaultCommands list of default commands}.
|
|
39
|
+
* * The presence of {@link module:core/editor/editorconfig~EditorConfig#plugins editor features} (plugins).
|
|
40
|
+
* * The {@link module:slash-command/slashcommandeditorconfig~SlashCommandEditorConfig#removeCommands} configuration.
|
|
41
|
+
* * The {@link module:slash-command/slashcommandeditorconfig~SlashCommandEditorConfig#extraCommands} configuration.
|
|
42
|
+
*/
|
|
43
|
+
getAllowedCommands(): Array<SlashCommandDefinition>;
|
|
44
|
+
/**
|
|
45
|
+
* Returns a list of default slash command {@link module:slash-command/slashcommandconfig~SlashCommandDefinition definitions}
|
|
46
|
+
* for common editor features. The available definitions are as follows:
|
|
47
|
+
*
|
|
48
|
+
* ```js
|
|
49
|
+
* [
|
|
50
|
+
* {
|
|
51
|
+
* id: 'blockQuote',
|
|
52
|
+
* commandName: 'blockQuote',
|
|
53
|
+
* title: t( 'Block quote' ),
|
|
54
|
+
* // ...
|
|
55
|
+
* },
|
|
56
|
+
* {
|
|
57
|
+
* id: 'bulletedList',
|
|
58
|
+
* commandName: 'bulletedList',
|
|
59
|
+
* title: t( 'Bulleted list' ),
|
|
60
|
+
* // ...
|
|
61
|
+
* },
|
|
62
|
+
* {
|
|
63
|
+
* id: 'codeBlock',
|
|
64
|
+
* commandName: 'codeBlock',
|
|
65
|
+
* title: t( 'Insert code block' ),
|
|
66
|
+
* // ...
|
|
67
|
+
* },
|
|
68
|
+
* {
|
|
69
|
+
* id: 'ckbox',
|
|
70
|
+
* commandName: 'ckbox',
|
|
71
|
+
* title: t( 'Open file manager' ),
|
|
72
|
+
* // ...
|
|
73
|
+
* },
|
|
74
|
+
* {
|
|
75
|
+
* id: 'ckfinder',
|
|
76
|
+
* commandName: 'ckfinder',
|
|
77
|
+
* title: t( 'Insert image' ),
|
|
78
|
+
* // ...
|
|
79
|
+
* },
|
|
80
|
+
* {
|
|
81
|
+
* id: 'heading1',
|
|
82
|
+
* commandName: 'heading',
|
|
83
|
+
* title: t( 'Heading 1' ),
|
|
84
|
+
* // ...
|
|
85
|
+
* },
|
|
86
|
+
* {
|
|
87
|
+
* id: 'heading2',
|
|
88
|
+
* commandName: 'heading',
|
|
89
|
+
* title: t( 'Heading 2' ),
|
|
90
|
+
* // ...
|
|
91
|
+
* },
|
|
92
|
+
* {
|
|
93
|
+
* id: 'heading3',
|
|
94
|
+
* commandName: 'heading',
|
|
95
|
+
* title: t( 'Heading 3' ),
|
|
96
|
+
* // ...
|
|
97
|
+
* },
|
|
98
|
+
* {
|
|
99
|
+
* id: 'heading4',
|
|
100
|
+
* commandName: 'heading',
|
|
101
|
+
* title: t( 'Heading 4' ),
|
|
102
|
+
* // ...
|
|
103
|
+
* },
|
|
104
|
+
* {
|
|
105
|
+
* id: 'heading5',
|
|
106
|
+
* commandName: 'heading',
|
|
107
|
+
* title: t( 'Heading 5' ),
|
|
108
|
+
* // ...
|
|
109
|
+
* },
|
|
110
|
+
* {
|
|
111
|
+
* id: 'heading6',
|
|
112
|
+
* commandName: 'heading',
|
|
113
|
+
* title: t( 'Heading 6' ),
|
|
114
|
+
* // ...
|
|
115
|
+
* },
|
|
116
|
+
* {
|
|
117
|
+
* id: 'horizontalLine',
|
|
118
|
+
* commandName: 'horizontalLine',
|
|
119
|
+
* title: t( 'Horizontal line' ),
|
|
120
|
+
* // ...
|
|
121
|
+
* },
|
|
122
|
+
* {
|
|
123
|
+
* id: 'htmlEmbed',
|
|
124
|
+
* commandName: 'htmlEmbed',
|
|
125
|
+
* title: t( 'Insert HTML' ),
|
|
126
|
+
* // ...
|
|
127
|
+
* },
|
|
128
|
+
* {
|
|
129
|
+
* id: 'indent',
|
|
130
|
+
* commandName: 'indent',
|
|
131
|
+
* title: t( 'Increase indent' ),
|
|
132
|
+
* // ...
|
|
133
|
+
* },
|
|
134
|
+
* {
|
|
135
|
+
* id: 'insertMermaidCommand',
|
|
136
|
+
* commandName: 'insertMermaidCommand',
|
|
137
|
+
* title: t( 'Insert Mermaid diagram' ),
|
|
138
|
+
* // ...
|
|
139
|
+
* },
|
|
140
|
+
* {
|
|
141
|
+
* id: 'insertTable',
|
|
142
|
+
* commandName: 'insertTable',
|
|
143
|
+
* title: t( 'Insert table' ),
|
|
144
|
+
* // ...
|
|
145
|
+
* },
|
|
146
|
+
* {
|
|
147
|
+
* id: 'insertTableOfContents',
|
|
148
|
+
* commandName: 'insertTableOfContents',
|
|
149
|
+
* title: t( 'Table of contents' ),
|
|
150
|
+
* // ...
|
|
151
|
+
* },
|
|
152
|
+
* {
|
|
153
|
+
* id: 'numberedList',
|
|
154
|
+
* commandName: 'numberedList',
|
|
155
|
+
* title: t( 'Numbered list' ),
|
|
156
|
+
* // ...
|
|
157
|
+
* },
|
|
158
|
+
* {
|
|
159
|
+
* id: 'outdent',
|
|
160
|
+
* commandName: 'outdent',
|
|
161
|
+
* title: t( 'Decrease indent' ),
|
|
162
|
+
* // ...
|
|
163
|
+
* },
|
|
164
|
+
* {
|
|
165
|
+
* id: 'paragraph',
|
|
166
|
+
* commandName: 'paragraph',
|
|
167
|
+
* title: t( 'Paragraph' ),
|
|
168
|
+
* // ...
|
|
169
|
+
* },
|
|
170
|
+
* {
|
|
171
|
+
* id: 'todoList',
|
|
172
|
+
* commandName: 'todoList',
|
|
173
|
+
* title: t( 'To-do list' ),
|
|
174
|
+
* // ...
|
|
175
|
+
* }
|
|
176
|
+
* ]
|
|
177
|
+
*/
|
|
178
|
+
getDefaultCommands(): Array<SlashCommandDefinition>;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* An object describing a single command definition in the configuration.
|
|
182
|
+
*/
|
|
183
|
+
export interface SlashCommandDefinition {
|
|
184
|
+
/**
|
|
185
|
+
* A unique ID matched with the text that follows the slash ("/") character typed by the user,
|
|
186
|
+
* e.g. 'blockQuote', 'heading1'. See {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#aliases}
|
|
187
|
+
* to learn about slash command aliases that provide a similar functionality.
|
|
188
|
+
*/
|
|
189
|
+
id: string;
|
|
190
|
+
/**
|
|
191
|
+
* The name of the command to be executed if the `execute` property was not provided,
|
|
192
|
+
* for example, 'blockQuote', 'heading'. See {@link module:core/editor/editor~Editor#commands} to learn more about available commands.
|
|
193
|
+
*/
|
|
194
|
+
commandName?: string;
|
|
195
|
+
/**
|
|
196
|
+
* A meaningful title for the command displayed in a dropdown list of possible commands. It can be a string
|
|
197
|
+
* or a callback function returning a string.
|
|
198
|
+
*/
|
|
199
|
+
title: Function | string;
|
|
200
|
+
/**
|
|
201
|
+
* An optional description for the command. Useful when the title is not descriptive enough.
|
|
202
|
+
*/
|
|
203
|
+
description?: string;
|
|
204
|
+
/**
|
|
205
|
+
* An SVG string representing the icon of the command. If not provided, a generic icon will be used instead.
|
|
206
|
+
* The default size of the icon is 20x20 pixels. Be sure to set the correct `viewBox` attribute in the icon source.
|
|
207
|
+
*
|
|
208
|
+
* See {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#isIconColorInherited}.
|
|
209
|
+
*/
|
|
210
|
+
icon?: string;
|
|
211
|
+
/**
|
|
212
|
+
* By default, slash command icons are monochromatic and inherit the color of the text in the editor UI.
|
|
213
|
+
* Setting this property to `false` disables this inheritance and allows the use of complex (colorful) icons.
|
|
214
|
+
*
|
|
215
|
+
* Learn more in {@link module:ui/icon/iconview~IconView#isColorInherited}.
|
|
216
|
+
*/
|
|
217
|
+
isIconColorInherited?: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* An optional list of aliases (extending the base
|
|
220
|
+
* {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#id}) to be used when filtering the list of slash commands
|
|
221
|
+
* based on the text that follows the slash ("/") character.
|
|
222
|
+
*/
|
|
223
|
+
aliases?: Array<string>;
|
|
224
|
+
/**
|
|
225
|
+
* A callback function defining custom logic to decide if the command should be displayed
|
|
226
|
+
* in the dropdown list. If not provided, the default command's {@link module:core/command~Command#isEnabled} property is used instead.
|
|
227
|
+
* If it's also unavailable, it falls back to `true`. This property is checked when a user types the slash ("/") character
|
|
228
|
+
* or changes the text that follows it.
|
|
229
|
+
*
|
|
230
|
+
* This callback gets an {@link module:core/editor/editor~Editor} instance as a parameter.
|
|
231
|
+
*/
|
|
232
|
+
isEnabled?: Function;
|
|
233
|
+
/**
|
|
234
|
+
* A callback function defining custom logic for executing the command. If not provided, the default
|
|
235
|
+
* command's {@link module:core/command~Command#execute} is used instead. Custom logic is useful especially when the slash command
|
|
236
|
+
* requires some arguments (acts like a wrapper) or combines some complex logic. This property is obligatory if
|
|
237
|
+
* {@link module:slash-command/slashcommandconfig~SlashCommandDefinition#commandName} was not passed.
|
|
238
|
+
*
|
|
239
|
+
* This callback gets an {@link module:core/editor/editor~Editor} instance as a parameter.
|
|
240
|
+
*/
|
|
241
|
+
execute?: Function;
|
|
242
|
+
}
|
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Plugin as
|
|
23
|
+
import{Plugin as _0x10129a,icons as _0x1da49f}from'ckeditor5/src/core';import{CKEditorError as _0x43c48d}from'ckeditor5/src/utils';import _0x4e0aa7 from'@ckeditor/ckeditor5-list/theme/icons/bulletedlist.svg';import _0x3381f9 from'@ckeditor/ckeditor5-code-block/theme/icons/codeblock.svg';import _0x3b67cd from'@ckeditor/ckeditor5-ckbox/theme/icons/browse-files.svg';import _0x3b5070 from'@ckeditor/ckeditor5-ckfinder/theme/icons/browse-files.svg';import _0x158bf9 from'@ckeditor/ckeditor5-heading/theme/icons/heading1.svg';import _0x4db306 from'@ckeditor/ckeditor5-heading/theme/icons/heading2.svg';import _0x1425ec from'@ckeditor/ckeditor5-heading/theme/icons/heading3.svg';import _0x5d0668 from'@ckeditor/ckeditor5-heading/theme/icons/heading4.svg';import _0x4265b3 from'@ckeditor/ckeditor5-heading/theme/icons/heading5.svg';import _0x1b6fbb from'@ckeditor/ckeditor5-heading/theme/icons/heading6.svg';import _0x94af19 from'@ckeditor/ckeditor5-horizontal-line/theme/icons/horizontalline.svg';import _0x555602 from'@ckeditor/ckeditor5-html-embed/theme/icons/html.svg';import _0x3bdf00 from'@ckeditor/ckeditor5-indent/theme/icons/indent.svg';import _0x35f332 from'@ckeditor/ckeditor5-table/theme/icons/table.svg';import _0x33fb93 from'@ckeditor/ckeditor5-list/theme/icons/numberedlist.svg';import _0x460bd8 from'@ckeditor/ckeditor5-indent/theme/icons/outdent.svg';import _0xb2a3a1 from'@ckeditor/ckeditor5-document-outline/theme/icons/table-of-contents.svg';import _0x3ffc12 from'@ckeditor/ckeditor5-list/theme/icons/todolist.svg';import _0x45819b from'@ckeditor/ckeditor5-ai/theme/icons/robot-pencil.svg';import'./slashcommandeditorconfig';export default class L extends _0x10129a{static get['pluginName'](){return'SlashCommandConfig';}constructor(_0x1d556e){super(_0x1d556e),this['_allowedCommands']=null;}['afterInit'](){const _0x38b26a=this['editor']['config']['get']('slashCommand.removeCommands')||[],_0x51e654=function(_0x3a56d5){let _0x13bd07=['heading4','heading5','heading6'];if(_0x3a56d5){const _0x524055=_0x3a56d5['map'](_0x407652=>_0x407652['model']);_0x13bd07=['heading1','heading2','heading3','heading4','heading5','heading6']['filter'](_0x4fd2bc=>!_0x524055['includes'](_0x4fd2bc));}return _0x13bd07;}(this['editor']['config']['get']('heading.options'));let _0xbd7170=this['getDefaultCommands']()['filter'](_0x3750db=>!_0x51e654['includes'](_0x3750db['id']))['filter'](_0x1c0955=>!_0x38b26a['includes'](_0x1c0955['commandName']));const _0x1a44b8=this['editor']['config']['get']('slashCommand.extraCommands');_0x1a44b8&&_0x1a44b8['length']&&(_0xbd7170=_0xbd7170['concat'](_0x1a44b8));const _0xaa4e10=this['editor']['config']['get']('template.definitions');_0xaa4e10&&_0xaa4e10['length']&&(_0xbd7170=_0xbd7170['concat'](function(_0x5b338b){return _0x5b338b['map'](_0x1149ec=>{const {title:_0x55cde3,icon:_0x483102,description:_0x20bc98,data:_0x403461}=_0x1149ec,_0x36b9cb={'id':H(_0x55cde3,'template'),'commandName':'insertTemplate','execute':_0x25302e=>{_0x25302e['execute']('insertTemplate',_0x403461);},'description':_0x20bc98,'icon':_0x483102,'title':_0x55cde3};return _0x483102&&(_0x36b9cb['isIconColorInherited']=!0x1),_0x36b9cb;});}(_0xaa4e10)));const _0x34a084=this['editor']['config']['get']('style.definitions');_0x34a084&&_0x34a084['length']&&(_0xbd7170=_0xbd7170['concat'](function(_0x5e6706){return _0x5e6706['map'](_0xa08a2b=>({'id':H(_0xa08a2b['name'],'style'),'commandName':'style','execute':_0x1238e3=>{_0x1238e3['execute']('style',{'styleName':_0xa08a2b['name']});},'isEnabled':_0x23e43d=>{const _0x2d6266=_0x23e43d['commands']['get']('style');return _0x2d6266['isEnabled']&&_0x2d6266['enabledStyles']['includes'](_0xa08a2b['name']);},'title':_0xa08a2b['name']}));}(_0x34a084)));const _0x3717c7=_0xbd7170['filter'](_0x406939=>!_0x406939['commandName']||void 0x0!==this['editor']['commands']['get'](_0x406939['commandName'])),_0x2cf8fa=[];for(const _0x143822 of _0x3717c7)_0x2cf8fa['push']({'id':_0x143822['id'],'commandName':_0x143822['commandName'],'title':'function'==typeof _0x143822['title']?_0x143822['title'](this['editor']):_0x143822['title'],'description':_0x143822['description'],'icon':_0x143822['icon'],'isIconColorInherited':_0x143822['isIconColorInherited'],'aliases':_0x143822['aliases'],'isEnabled':()=>this['_proxyIsEnabled'](_0x143822),'execute':()=>this['_proxyExecute'](_0x143822)});this['_allowedCommands']=_0x2cf8fa['sort'](y);}['getAllowedCommands'](){return this['_allowedCommands'];}['getDefaultCommands'](){const t=this['editor']['t'],_0x356cab=this['editor']['locale']['t'];return[{'id':'aiAssistant','commandName':'showAIAssistant','icon':_0x45819b,'title':_0x356cab('AI\x20Assistant'),'description':t('Open\x20the\x20AI\x20Assistant\x20to\x20generate\x20content'),'execute':_0x1b9352=>{setTimeout(()=>_0x1b9352['execute']('showAIAssistant'));}},{'id':'blockQuote','commandName':'blockQuote','icon':_0x1da49f['quote'],'title':_0x356cab('Block\x20quote'),'description':t('Create\x20a\x20block\x20quote')},{'id':'bulletedList','commandName':'bulletedList','icon':_0x4e0aa7,'title':_0x356cab('Bulleted\x20list'),'description':t('Create\x20a\x20bulleted\x20list')},{'id':'codeBlock','commandName':'codeBlock','icon':_0x3381f9,'title':_0x356cab('Insert\x20code\x20block'),'description':t('Create\x20a\x20code\x20block')},{'id':'ckbox','commandName':'ckbox','icon':_0x3b67cd,'title':_0x356cab('Open\x20file\x20manager'),'description':t('Open\x20file\x20manager\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckfinder','filemanager','upload']},{'id':'ckfinder','commandName':'ckfinder','icon':_0x3b5070,'title':_0x356cab('Insert\x20image'),'description':t('Open\x20file\x20browser\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckbox','filemanager','upload']},{'id':'heading1','commandName':'heading','icon':_0x158bf9,'title':_0x356cab('Heading\x201'),'description':t('Create\x20a\x20heading\x20level\x201'),'execute':_0x3449f9=>{_0x3449f9['execute']('heading',{'value':'heading1'});}},{'id':'heading2','commandName':'heading','icon':_0x4db306,'title':_0x356cab('Heading\x202'),'description':t('Create\x20a\x20heading\x20level\x202'),'execute':_0x4938ef=>{_0x4938ef['execute']('heading',{'value':'heading2'});}},{'id':'heading3','commandName':'heading','icon':_0x1425ec,'title':_0x356cab('Heading\x203'),'description':t('Create\x20a\x20heading\x20level\x203'),'execute':_0x5dfca9=>{_0x5dfca9['execute']('heading',{'value':'heading3'});}},{'id':'heading4','commandName':'heading','icon':_0x5d0668,'title':_0x356cab('Heading\x204'),'description':t('Create\x20a\x20heading\x20level\x204'),'execute':_0x1310fa=>{_0x1310fa['execute']('heading',{'value':'heading4'});}},{'id':'heading5','commandName':'heading','icon':_0x4265b3,'title':_0x356cab('Heading\x205'),'description':t('Create\x20a\x20heading\x20level\x205'),'execute':_0x1ed5e0=>{_0x1ed5e0['execute']('heading',{'value':'heading5'});}},{'id':'heading6','commandName':'heading','icon':_0x1b6fbb,'title':_0x356cab('Heading\x206'),'description':t('Create\x20a\x20heading\x20level\x206'),'execute':_0x5cea9f=>{_0x5cea9f['execute']('heading',{'value':'heading6'});}},{'id':'horizontalLine','commandName':'horizontalLine','icon':_0x94af19,'title':_0x356cab('Horizontal\x20line'),'description':t('Insert\x20a\x20horizontal\x20line')},{'id':'htmlEmbed','commandName':'htmlEmbed','icon':_0x555602,'title':_0x356cab('Insert\x20HTML'),'description':t('Insert\x20an\x20HTML\x20snippet')},{'id':'indent','commandName':'indent','icon':_0x3bdf00,'title':_0x356cab('Increase\x20indent'),'description':t('Increase\x20the\x20indentation')},{'id':'insertMermaidCommand','commandName':'insertMermaidCommand','title':t('Insert\x20Mermaid\x20diagram'),'description':t('Insert\x20the\x20Mermaid\x20diagram')},{'id':'insertTable','commandName':'insertTable','icon':_0x35f332,'title':_0x356cab('Insert\x20table'),'description':t('Create\x20a\x20table')},{'id':'insertTableOfContents','commandName':'insertTableOfContents','icon':_0xb2a3a1,'title':_0x356cab('Table\x20of\x20contents'),'description':t('Insert\x20table\x20of\x20contents'),'aliases':['toc']},{'id':'numberedList','commandName':'numberedList','icon':_0x33fb93,'title':_0x356cab('Numbered\x20list'),'description':t('Create\x20a\x20numbered\x20list')},{'id':'outdent','commandName':'outdent','icon':_0x460bd8,'title':_0x356cab('Decrease\x20indent'),'description':t('Decrease\x20the\x20indentation')},{'id':'paragraph','commandName':'paragraph','icon':_0x1da49f['paragraph'],'title':_0x356cab('Paragraph'),'description':t('Insert\x20a\x20paragraph')},{'id':'todoList','commandName':'todoList','icon':_0x3ffc12,'title':_0x356cab('To-do\x20list'),'description':t('Create\x20a\x20to-do\x20list')}];}['_proxyIsEnabled'](_0x193dee){return _0x193dee['isEnabled']?_0x193dee['isEnabled'](this['editor']):!_0x193dee['commandName']||this['editor']['commands']['get'](_0x193dee['commandName'])['isEnabled'];}['_proxyExecute'](_0x317071){if(_0x317071['execute'])_0x317071['execute'](this['editor']);else{if(!_0x317071['commandName'])throw new _0x43c48d('slash-command-execute-missing',this['editor'],{'commandDefinition':_0x317071});this['editor']['execute'](_0x317071['commandName']);}}}function y(_0x23dd82,_0x12b4c9){return _0x23dd82['title']<_0x12b4c9['title']?-0x1:_0x23dd82['title']>_0x12b4c9['title']?0x1:0x0;}function H(_0x5aa849,_0x3674d1){return _0x3674d1+'-'+_0x5aa849['toLowerCase']()['split']('\x20')['join']('-');}
|
|
@@ -1,41 +1,41 @@
|
|
|
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 slash-command/slashcommandediting
|
|
7
|
-
*/
|
|
8
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
9
|
-
import SlashCommandConfig, { type SlashCommandDefinition } from './slashcommandconfig';
|
|
10
|
-
/**
|
|
11
|
-
* Provides the editing functionality of the {@link module:slash-command/slashcommand~SlashCommand} feature.
|
|
12
|
-
*
|
|
13
|
-
* @extends module:core/plugin~Plugin
|
|
14
|
-
*/
|
|
15
|
-
export default class SlashCommandEditing extends Plugin {
|
|
16
|
-
licenseKey: string;
|
|
17
|
-
/**
|
|
18
|
-
* @inheritDoc
|
|
19
|
-
*/
|
|
20
|
-
static get pluginName(): "SlashCommandEditing";
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
static get requires(): readonly [typeof SlashCommandConfig];
|
|
25
|
-
/**
|
|
26
|
-
* @inheritDoc
|
|
27
|
-
*/
|
|
28
|
-
constructor(editor: Editor);
|
|
29
|
-
/**
|
|
30
|
-
* @inheritDoc
|
|
31
|
-
*/
|
|
32
|
-
init(): void;
|
|
33
|
-
/**
|
|
34
|
-
* @inheritDoc
|
|
35
|
-
*/
|
|
36
|
-
destroy(): void;
|
|
37
|
-
/**
|
|
38
|
-
* Returns the list of matching enabled command definitions for the specific query text case-insensitively.
|
|
39
|
-
*/
|
|
40
|
-
getMatchingCommands(queryString: string): Array<SlashCommandDefinition>;
|
|
41
|
-
}
|
|
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 slash-command/slashcommandediting
|
|
7
|
+
*/
|
|
8
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
9
|
+
import SlashCommandConfig, { type SlashCommandDefinition } from './slashcommandconfig';
|
|
10
|
+
/**
|
|
11
|
+
* Provides the editing functionality of the {@link module:slash-command/slashcommand~SlashCommand} feature.
|
|
12
|
+
*
|
|
13
|
+
* @extends module:core/plugin~Plugin
|
|
14
|
+
*/
|
|
15
|
+
export default class SlashCommandEditing extends Plugin {
|
|
16
|
+
licenseKey: string;
|
|
17
|
+
/**
|
|
18
|
+
* @inheritDoc
|
|
19
|
+
*/
|
|
20
|
+
static get pluginName(): "SlashCommandEditing";
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
static get requires(): readonly [typeof SlashCommandConfig];
|
|
25
|
+
/**
|
|
26
|
+
* @inheritDoc
|
|
27
|
+
*/
|
|
28
|
+
constructor(editor: Editor);
|
|
29
|
+
/**
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
init(): void;
|
|
33
|
+
/**
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
destroy(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the list of matching enabled command definitions for the specific query text case-insensitively.
|
|
39
|
+
*/
|
|
40
|
+
getMatchingCommands(queryString: string): Array<SlashCommandDefinition>;
|
|
41
|
+
}
|