@ckeditor/ckeditor5-slash-command 38.1.1 → 38.2.0-alpha.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 +14 -13
- package/src/augmentation.d.ts +21 -21
- package/src/index.d.ts +13 -13
- package/src/index.js +1 -1
- 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.js';
|
|
10
|
+
import './slashcommandeditorconfig.js';
|
|
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 _0x4d088d,icons as _0x159086}from'ckeditor5/src/core.js';import{CKEditorError as _0x270925}from'ckeditor5/src/utils.js';import _0xb8e4a1 from'@ckeditor/ckeditor5-list/theme/icons/bulletedlist.svg';import _0x190c93 from'@ckeditor/ckeditor5-code-block/theme/icons/codeblock.svg';import _0x27906d from'@ckeditor/ckeditor5-ckbox/theme/icons/browse-files.svg';import _0x2c2b24 from'@ckeditor/ckeditor5-ckfinder/theme/icons/browse-files.svg';import _0x276f40 from'@ckeditor/ckeditor5-heading/theme/icons/heading1.svg';import _0x243e59 from'@ckeditor/ckeditor5-heading/theme/icons/heading2.svg';import _0x11b28b from'@ckeditor/ckeditor5-heading/theme/icons/heading3.svg';import _0x4f8da9 from'@ckeditor/ckeditor5-heading/theme/icons/heading4.svg';import _0x17831a from'@ckeditor/ckeditor5-heading/theme/icons/heading5.svg';import _0xfeeb52 from'@ckeditor/ckeditor5-heading/theme/icons/heading6.svg';import _0x686d78 from'@ckeditor/ckeditor5-horizontal-line/theme/icons/horizontalline.svg';import _0x56dfce from'@ckeditor/ckeditor5-html-embed/theme/icons/html.svg';import _0x316766 from'@ckeditor/ckeditor5-indent/theme/icons/indent.svg';import _0x16a76c from'@ckeditor/ckeditor5-table/theme/icons/table.svg';import _0x5f3b9c from'@ckeditor/ckeditor5-list/theme/icons/numberedlist.svg';import _0x3a6f19 from'@ckeditor/ckeditor5-indent/theme/icons/outdent.svg';import _0x42216c from'@ckeditor/ckeditor5-document-outline/theme/icons/table-of-contents.svg';import _0x4e7dd1 from'@ckeditor/ckeditor5-list/theme/icons/todolist.svg';import'./slashcommandeditorconfig.js';export default class T extends _0x4d088d{static get['pluginName'](){return'SlashCommandConfig';}constructor(_0x2c8288){super(_0x2c8288),this['_allowedCommands']=null;}['afterInit'](){const _0x39e149=this['editor']['config']['get']('slashCommand.removeCommands')||[],_0x6e59a4=function(_0x48b00f){let _0x33863a=['heading4','heading5','heading6'];if(_0x48b00f){const _0x2b49d=_0x48b00f['map'](_0x29f6c3=>_0x29f6c3['model']);_0x33863a=['heading1','heading2','heading3','heading4','heading5','heading6']['filter'](_0x5c7ed3=>!_0x2b49d['includes'](_0x5c7ed3));}return _0x33863a;}(this['editor']['config']['get']('heading.options'));let _0x2c454e=this['getDefaultCommands']()['filter'](_0x400879=>!_0x6e59a4['includes'](_0x400879['id']))['filter'](_0x5da9d4=>!_0x39e149['includes'](_0x5da9d4['commandName']));const _0x5c59d8=this['editor']['config']['get']('slashCommand.extraCommands');_0x5c59d8&&_0x5c59d8['length']&&(_0x2c454e=_0x2c454e['concat'](_0x5c59d8));const _0x4a073e=this['editor']['config']['get']('template.definitions');_0x4a073e&&_0x4a073e['length']&&(_0x2c454e=_0x2c454e['concat'](function(_0x228e8b){return _0x228e8b['map'](_0x3344d1=>{const {title:_0x5a831f,icon:_0x43b67,description:_0x5bebfe,data:_0x7e3e0b}=_0x3344d1,_0x2c0583={'id':H(_0x5a831f,'template'),'commandName':'insertTemplate','execute':_0x364502=>{_0x364502['execute']('insertTemplate',_0x7e3e0b);},'description':_0x5bebfe,'icon':_0x43b67,'title':_0x5a831f};return _0x43b67&&(_0x2c0583['isIconColorInherited']=!0x1),_0x2c0583;});}(_0x4a073e)));const _0x4bbe2c=this['editor']['config']['get']('style.definitions');_0x4bbe2c&&_0x4bbe2c['length']&&(_0x2c454e=_0x2c454e['concat'](function(_0xdec52e){return _0xdec52e['map'](_0x4d2172=>({'id':H(_0x4d2172['name'],'style'),'commandName':'style','execute':_0x2e4ab3=>{_0x2e4ab3['execute']('style',{'styleName':_0x4d2172['name']});},'isEnabled':_0x241a28=>{const _0x28c46e=_0x241a28['commands']['get']('style');return _0x28c46e['isEnabled']&&_0x28c46e['enabledStyles']['includes'](_0x4d2172['name']);},'title':_0x4d2172['name']}));}(_0x4bbe2c)));const _0x2e3c22=_0x2c454e['filter'](_0x3adee3=>!_0x3adee3['commandName']||void 0x0!==this['editor']['commands']['get'](_0x3adee3['commandName'])),_0x4fc762=[];for(const _0x1e2b92 of _0x2e3c22)_0x4fc762['push']({'id':_0x1e2b92['id'],'commandName':_0x1e2b92['commandName'],'title':'function'==typeof _0x1e2b92['title']?_0x1e2b92['title'](this['editor']):_0x1e2b92['title'],'description':_0x1e2b92['description'],'icon':_0x1e2b92['icon'],'isIconColorInherited':_0x1e2b92['isIconColorInherited'],'aliases':_0x1e2b92['aliases'],'isEnabled':()=>this['_proxyIsEnabled'](_0x1e2b92),'execute':()=>this['_proxyExecute'](_0x1e2b92)});this['_allowedCommands']=_0x4fc762['sort'](y);}['getAllowedCommands'](){return this['_allowedCommands'];}['getDefaultCommands'](){const t=this['editor']['t'],_0x360af3=this['editor']['locale']['t'];return[{'id':'blockQuote','commandName':'blockQuote','icon':_0x159086['quote'],'title':_0x360af3('Block\x20quote'),'description':t('Create\x20a\x20block\x20quote')},{'id':'bulletedList','commandName':'bulletedList','icon':_0xb8e4a1,'title':_0x360af3('Bulleted\x20list'),'description':t('Create\x20a\x20bulleted\x20list')},{'id':'codeBlock','commandName':'codeBlock','icon':_0x190c93,'title':_0x360af3('Insert\x20code\x20block'),'description':t('Create\x20a\x20code\x20block')},{'id':'ckbox','commandName':'ckbox','icon':_0x27906d,'title':_0x360af3('Open\x20file\x20manager'),'description':t('Open\x20file\x20manager\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckfinder','filemanager','upload']},{'id':'ckfinder','commandName':'ckfinder','icon':_0x2c2b24,'title':_0x360af3('Insert\x20image'),'description':t('Open\x20file\x20browser\x20to\x20insert\x20an\x20image\x20or\x20a\x20file'),'aliases':['ckbox','filemanager','upload']},{'id':'heading1','commandName':'heading','icon':_0x276f40,'title':_0x360af3('Heading\x201'),'description':t('Create\x20a\x20heading\x20level\x201'),'execute':_0x15d773=>{_0x15d773['execute']('heading',{'value':'heading1'});}},{'id':'heading2','commandName':'heading','icon':_0x243e59,'title':_0x360af3('Heading\x202'),'description':t('Create\x20a\x20heading\x20level\x202'),'execute':_0x34c5d3=>{_0x34c5d3['execute']('heading',{'value':'heading2'});}},{'id':'heading3','commandName':'heading','icon':_0x11b28b,'title':_0x360af3('Heading\x203'),'description':t('Create\x20a\x20heading\x20level\x203'),'execute':_0xd0f4df=>{_0xd0f4df['execute']('heading',{'value':'heading3'});}},{'id':'heading4','commandName':'heading','icon':_0x4f8da9,'title':_0x360af3('Heading\x204'),'description':t('Create\x20a\x20heading\x20level\x204'),'execute':_0x4a1f69=>{_0x4a1f69['execute']('heading',{'value':'heading4'});}},{'id':'heading5','commandName':'heading','icon':_0x17831a,'title':_0x360af3('Heading\x205'),'description':t('Create\x20a\x20heading\x20level\x205'),'execute':_0xf883e5=>{_0xf883e5['execute']('heading',{'value':'heading5'});}},{'id':'heading6','commandName':'heading','icon':_0xfeeb52,'title':_0x360af3('Heading\x206'),'description':t('Create\x20a\x20heading\x20level\x206'),'execute':_0x491df8=>{_0x491df8['execute']('heading',{'value':'heading6'});}},{'id':'horizontalLine','commandName':'horizontalLine','icon':_0x686d78,'title':_0x360af3('Horizontal\x20line'),'description':t('Insert\x20a\x20horizontal\x20line')},{'id':'htmlEmbed','commandName':'htmlEmbed','icon':_0x56dfce,'title':_0x360af3('Insert\x20HTML'),'description':t('Insert\x20an\x20HTML\x20snippet')},{'id':'indent','commandName':'indent','icon':_0x316766,'title':_0x360af3('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':_0x16a76c,'title':_0x360af3('Insert\x20table'),'description':t('Create\x20a\x20table')},{'id':'insertTableOfContents','commandName':'insertTableOfContents','icon':_0x42216c,'title':_0x360af3('Table\x20of\x20contents'),'description':t('Insert\x20table\x20of\x20contents'),'aliases':['toc']},{'id':'numberedList','commandName':'numberedList','icon':_0x5f3b9c,'title':_0x360af3('Numbered\x20list'),'description':t('Create\x20a\x20numbered\x20list')},{'id':'outdent','commandName':'outdent','icon':_0x3a6f19,'title':_0x360af3('Decrease\x20indent'),'description':t('Decrease\x20the\x20indentation')},{'id':'paragraph','commandName':'paragraph','icon':_0x159086['paragraph'],'title':_0x360af3('Paragraph'),'description':t('Insert\x20a\x20paragraph')},{'id':'todoList','commandName':'todoList','icon':_0x4e7dd1,'title':_0x360af3('To-do\x20list'),'description':t('Create\x20a\x20to-do\x20list')}];}['_proxyIsEnabled'](_0x5e152d){return _0x5e152d['isEnabled']?_0x5e152d['isEnabled'](this['editor']):!_0x5e152d['commandName']||this['editor']['commands']['get'](_0x5e152d['commandName'])['isEnabled'];}['_proxyExecute'](_0x3a8dbd){if(_0x3a8dbd['execute'])_0x3a8dbd['execute'](this['editor']);else{if(!_0x3a8dbd['commandName'])throw new _0x270925('slash-command-execute-missing',this['editor'],{'commandDefinition':_0x3a8dbd});this['editor']['execute'](_0x3a8dbd['commandName']);}}}function y(_0x36a2af,_0x522e8c){return _0x36a2af['title']<_0x522e8c['title']?-0x1:_0x36a2af['title']>_0x522e8c['title']?0x1:0x0;}function H(_0x5501d6,_0x5dec48){return _0x5dec48+'-'+_0x5501d6['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.js';
|
|
9
|
+
import SlashCommandConfig, { type SlashCommandDefinition } from './slashcommandconfig.js';
|
|
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
|
+
}
|