@ckeditor/ckeditor5-slash-command 38.1.0 → 38.1.1
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/slash-command.js +1 -1
- package/package.json +13 -13
- 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 _0x16d744,icons as _0x4fe17b}from'ckeditor5/src/core';import{CKEditorError as _0x3d2332}from'ckeditor5/src/utils';import _0x5e05e7 from'@ckeditor/ckeditor5-list/theme/icons/bulletedlist.svg';import _0x2c3528 from'@ckeditor/ckeditor5-code-block/theme/icons/codeblock.svg';import _0x4e9733 from'@ckeditor/ckeditor5-ckbox/theme/icons/browse-files.svg';import _0x4748f3 from'@ckeditor/ckeditor5-ckfinder/theme/icons/browse-files.svg';import _0x1e235d from'@ckeditor/ckeditor5-heading/theme/icons/heading1.svg';import _0x296603 from'@ckeditor/ckeditor5-heading/theme/icons/heading2.svg';import _0x3d7a60 from'@ckeditor/ckeditor5-heading/theme/icons/heading3.svg';import _0x27305e from'@ckeditor/ckeditor5-heading/theme/icons/heading4.svg';import _0x27ee4e from'@ckeditor/ckeditor5-heading/theme/icons/heading5.svg';import _0x360424 from'@ckeditor/ckeditor5-heading/theme/icons/heading6.svg';import _0x214480 from'@ckeditor/ckeditor5-horizontal-line/theme/icons/horizontalline.svg';import _0x40f61c from'@ckeditor/ckeditor5-html-embed/theme/icons/html.svg';import _0x3e8a48 from'@ckeditor/ckeditor5-indent/theme/icons/indent.svg';import _0x115ff8 from'@ckeditor/ckeditor5-table/theme/icons/table.svg';import _0x27ce15 from'@ckeditor/ckeditor5-list/theme/icons/numberedlist.svg';import _0x2c1fc6 from'@ckeditor/ckeditor5-indent/theme/icons/outdent.svg';import _0x31b174 from'@ckeditor/ckeditor5-document-outline/theme/icons/table-of-contents.svg';import _0x1ca67f from'@ckeditor/ckeditor5-list/theme/icons/todolist.svg';import'./slashcommandeditorconfig';export default class T extends _0x16d744{static get['pluginName'](){return'SlashCommandConfig';}constructor(_0x442dfe){super(_0x442dfe),this['_allowedCommands']=null;}['afterInit'](){const _0x478d9a=this['editor']['config']['get']('slashCommand.removeCommands')||[],_0x1734e9=function(_0x3b45c4){let _0x384ad1=['heading4','heading5','heading6'];if(_0x3b45c4){const _0x558e46=_0x3b45c4['map'](_0x1e42b2=>_0x1e42b2['model']);_0x384ad1=['heading1','heading2','heading3','heading4','heading5','heading6']['filter'](_0x10a77c=>!_0x558e46['includes'](_0x10a77c));}return _0x384ad1;}(this['editor']['config']['get']('heading.options'));let _0x3fccc7=this['getDefaultCommands']()['filter'](_0x42c05b=>!_0x1734e9['includes'](_0x42c05b['id']))['filter'](_0x596bf9=>!_0x478d9a['includes'](_0x596bf9['commandName']));const _0x3189a0=this['editor']['config']['get']('slashCommand.extraCommands');_0x3189a0&&_0x3189a0['length']&&(_0x3fccc7=_0x3fccc7['concat'](_0x3189a0));const _0x4f8532=this['editor']['config']['get']('template.definitions');_0x4f8532&&_0x4f8532['length']&&(_0x3fccc7=_0x3fccc7['concat'](function(_0x10ccbf){return _0x10ccbf['map'](_0x75535a=>{const {title:_0x58d9d7,icon:_0x549a09,description:_0x21a114,data:_0x1635fa}=_0x75535a,_0x3aefde={'id':H(_0x58d9d7,'template'),'commandName':'insertTemplate','execute':_0x2c0e95=>{_0x2c0e95['execute']('insertTemplate',_0x1635fa);},'description':_0x21a114,'icon':_0x549a09,'title':_0x58d9d7};return _0x549a09&&(_0x3aefde['isIconColorInherited']=!0x1),_0x3aefde;});}(_0x4f8532)));const _0x1a47d5=this['editor']['config']['get']('style.definitions');_0x1a47d5&&_0x1a47d5['length']&&(_0x3fccc7=_0x3fccc7['concat'](function(_0x152d45){return _0x152d45['map'](_0x8ebf0e=>({'id':H(_0x8ebf0e['name'],'style'),'commandName':'style','execute':_0x41b74b=>{_0x41b74b['execute']('style',{'styleName':_0x8ebf0e['name']});},'isEnabled':_0x45c0e0=>{const _0x4f7fdc=_0x45c0e0['commands']['get']('style');return _0x4f7fdc['isEnabled']&&_0x4f7fdc['enabledStyles']['includes'](_0x8ebf0e['name']);},'title':_0x8ebf0e['name']}));}(_0x1a47d5)));const _0x1f0fbd=_0x3fccc7['filter'](_0x3b3fc2=>!_0x3b3fc2['commandName']||void 0x0!==this['editor']['commands']['get'](_0x3b3fc2['commandName'])),_0x23df4d=[];for(const _0x29677e of _0x1f0fbd)_0x23df4d['push']({'id':_0x29677e['id'],'commandName':_0x29677e['commandName'],'title':'function'==typeof _0x29677e['title']?_0x29677e['title'](this['editor']):_0x29677e['title'],'description':_0x29677e['description'],'icon':_0x29677e['icon'],'isIconColorInherited':_0x29677e['isIconColorInherited'],'aliases':_0x29677e['aliases'],'isEnabled':()=>this['_proxyIsEnabled'](_0x29677e),'execute':()=>this['_proxyExecute'](_0x29677e)});this['_allowedCommands']=_0x23df4d['sort'](y);}['getAllowedCommands'](){return this['_allowedCommands'];}['getDefaultCommands'](){const t=this['editor']['t'],_0x3bb6be=this['editor']['locale']['t'];return[{'id':'blockQuote','commandName':'blockQuote','icon':_0x4fe17b['quote'],'title':_0x3bb6be('Block\x20quote'),'description':t('Create\x20a\x20block\x20quote')},{'id':'bulletedList','commandName':'bulletedList','icon':_0x5e05e7,'title':_0x3bb6be('Bulleted\x20list'),'description':t('Create\x20a\x20bulleted\x20list')},{'id':'codeBlock','commandName':'codeBlock','icon':_0x2c3528,'title':_0x3bb6be('Insert\x20code\x20block'),'description':t('Create\x20a\x20code\x20block')},{'id':'ckbox','commandName':'ckbox','icon':_0x4e9733,'title':_0x3bb6be('Open\x20file\x20manager'),'description':t('Open\x20file\x20manager\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckfinder','filemanager','upload']},{'id':'ckfinder','commandName':'ckfinder','icon':_0x4748f3,'title':_0x3bb6be('Insert\x20image'),'description':t('Open\x20file\x20browser\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckbox','filemanager','upload']},{'id':'heading1','commandName':'heading','icon':_0x1e235d,'title':_0x3bb6be('Heading\x201'),'description':t('Create\x20a\x20heading\x20level\x201'),'execute':_0x2a28c4=>{_0x2a28c4['execute']('heading',{'value':'heading1'});}},{'id':'heading2','commandName':'heading','icon':_0x296603,'title':_0x3bb6be('Heading\x202'),'description':t('Create\x20a\x20heading\x20level\x202'),'execute':_0x114ad3=>{_0x114ad3['execute']('heading',{'value':'heading2'});}},{'id':'heading3','commandName':'heading','icon':_0x3d7a60,'title':_0x3bb6be('Heading\x203'),'description':t('Create\x20a\x20heading\x20level\x203'),'execute':_0x53594a=>{_0x53594a['execute']('heading',{'value':'heading3'});}},{'id':'heading4','commandName':'heading','icon':_0x27305e,'title':_0x3bb6be('Heading\x204'),'description':t('Create\x20a\x20heading\x20level\x204'),'execute':_0x188acb=>{_0x188acb['execute']('heading',{'value':'heading4'});}},{'id':'heading5','commandName':'heading','icon':_0x27ee4e,'title':_0x3bb6be('Heading\x205'),'description':t('Create\x20a\x20heading\x20level\x205'),'execute':_0x502859=>{_0x502859['execute']('heading',{'value':'heading5'});}},{'id':'heading6','commandName':'heading','icon':_0x360424,'title':_0x3bb6be('Heading\x206'),'description':t('Create\x20a\x20heading\x20level\x206'),'execute':_0x3d76a1=>{_0x3d76a1['execute']('heading',{'value':'heading6'});}},{'id':'horizontalLine','commandName':'horizontalLine','icon':_0x214480,'title':_0x3bb6be('Horizontal\x20line'),'description':t('Insert\x20a\x20horizontal\x20line')},{'id':'htmlEmbed','commandName':'htmlEmbed','icon':_0x40f61c,'title':_0x3bb6be('Insert\x20HTML'),'description':t('Insert\x20an\x20HTML\x20snippet')},{'id':'indent','commandName':'indent','icon':_0x3e8a48,'title':_0x3bb6be('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':_0x115ff8,'title':_0x3bb6be('Insert\x20table'),'description':t('Create\x20a\x20table')},{'id':'insertTableOfContents','commandName':'insertTableOfContents','icon':_0x31b174,'title':_0x3bb6be('Table\x20of\x20contents'),'description':t('Insert\x20table\x20of\x20contents'),'aliases':['toc']},{'id':'numberedList','commandName':'numberedList','icon':_0x27ce15,'title':_0x3bb6be('Numbered\x20list'),'description':t('Create\x20a\x20numbered\x20list')},{'id':'outdent','commandName':'outdent','icon':_0x2c1fc6,'title':_0x3bb6be('Decrease\x20indent'),'description':t('Decrease\x20the\x20indentation')},{'id':'paragraph','commandName':'paragraph','icon':_0x4fe17b['paragraph'],'title':_0x3bb6be('Paragraph'),'description':t('Insert\x20a\x20paragraph')},{'id':'todoList','commandName':'todoList','icon':_0x1ca67f,'title':_0x3bb6be('To-do\x20list'),'description':t('Create\x20a\x20to-do\x20list')}];}['_proxyIsEnabled'](_0x57d96a){return _0x57d96a['isEnabled']?_0x57d96a['isEnabled'](this['editor']):!_0x57d96a['commandName']||this['editor']['commands']['get'](_0x57d96a['commandName'])['isEnabled'];}['_proxyExecute'](_0x4227ce){if(_0x4227ce['execute'])_0x4227ce['execute'](this['editor']);else{if(!_0x4227ce['commandName'])throw new _0x3d2332('slash-command-execute-missing',this['editor'],{'commandDefinition':_0x4227ce});this['editor']['execute'](_0x4227ce['commandName']);}}}function y(_0x337254,_0x1449c7){return _0x337254['title']<_0x1449c7['title']?-0x1:_0x337254['title']>_0x1449c7['title']?0x1:0x0;}function H(_0x208407,_0xa8cc56){return _0xa8cc56+'-'+_0x208407['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
|
+
}
|