@ckeditor/ckeditor5-ckfinder 48.2.0 → 48.3.0-alpha.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/dist/augmentation.d.ts +20 -20
- package/dist/ckfinder.d.ts +37 -37
- package/dist/ckfindercommand.d.ts +31 -31
- package/dist/ckfinderconfig.d.ts +66 -66
- package/dist/ckfinderediting.d.ts +26 -26
- package/dist/ckfinderui.d.ts +51 -51
- package/dist/index-content.css +1 -0
- package/dist/index-editor.css +1 -0
- package/dist/index.css +0 -2
- package/dist/index.d.ts +11 -11
- package/dist/index.js +334 -310
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/index.css.map +0 -1
package/dist/index.js
CHANGED
|
@@ -2,325 +2,349 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { CKFinderUploadAdapter } from
|
|
7
|
-
import {
|
|
8
|
-
import { ButtonView, MenuBarMenuListItemButtonView, Notification } from
|
|
9
|
-
import { IconBrowseFiles, IconImageAssetManager } from
|
|
10
|
-
import { CKEditorError } from
|
|
5
|
+
import { Command, Plugin } from "@ckeditor/ckeditor5-core";
|
|
6
|
+
import { CKFinderUploadAdapter } from "@ckeditor/ckeditor5-adapter-ckfinder";
|
|
7
|
+
import { Link, LinkEditing } from "@ckeditor/ckeditor5-link";
|
|
8
|
+
import { ButtonView, MenuBarMenuListItemButtonView, Notification } from "@ckeditor/ckeditor5-ui";
|
|
9
|
+
import { IconBrowseFiles, IconImageAssetManager } from "@ckeditor/ckeditor5-icons";
|
|
10
|
+
import { CKEditorError } from "@ckeditor/ckeditor5-utils";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
13
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
14
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* @module ckfinder/ckfinderui
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Introduces UI components for `CKFinder` plugin.
|
|
21
|
+
*
|
|
22
|
+
* The plugin introduces two UI components to the {@link module:ui/componentfactory~ComponentFactory UI component factory}:
|
|
23
|
+
*
|
|
24
|
+
* * the `'ckfinder'` toolbar button,
|
|
25
|
+
* * the `'menuBar:ckfinder'` menu bar component, which is by default added to the `'Insert'` menu.
|
|
26
|
+
*
|
|
27
|
+
* It also integrates with the `insertImage` toolbar component and `menuBar:insertImage` menu component.
|
|
28
|
+
*/
|
|
29
|
+
var CKFinderUI = class extends Plugin {
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
static get pluginName() {
|
|
34
|
+
return "CKFinderUI";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @inheritDoc
|
|
38
|
+
*/
|
|
39
|
+
static get isOfficialPlugin() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @inheritDoc
|
|
44
|
+
*/
|
|
45
|
+
init() {
|
|
46
|
+
const editor = this.editor;
|
|
47
|
+
editor.ui.componentFactory.add("ckfinder", () => this._createFileToolbarButton());
|
|
48
|
+
editor.ui.componentFactory.add("menuBar:ckfinder", () => this._createFileMenuBarButton());
|
|
49
|
+
/* v8 ignore else -- @preserve */
|
|
50
|
+
if (editor.plugins.has("ImageInsertUI")) editor.plugins.get("ImageInsertUI").registerIntegration({
|
|
51
|
+
name: "assetManager",
|
|
52
|
+
observable: () => editor.commands.get("ckfinder"),
|
|
53
|
+
buttonViewCreator: () => this._createImageToolbarButton(),
|
|
54
|
+
formViewCreator: () => this._createImageDropdownButton(),
|
|
55
|
+
menuBarButtonViewCreator: (isOnly) => this._createImageMenuBarButton(isOnly ? "insertOnly" : "insertNested")
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Creates the base for various kinds of the button component provided by this feature.
|
|
60
|
+
*/
|
|
61
|
+
_createButton(ButtonClass) {
|
|
62
|
+
const editor = this.editor;
|
|
63
|
+
const locale = editor.locale;
|
|
64
|
+
const view = new ButtonClass(locale);
|
|
65
|
+
const command = editor.commands.get("ckfinder");
|
|
66
|
+
view.bind("isEnabled").to(command);
|
|
67
|
+
view.on("execute", () => {
|
|
68
|
+
editor.execute("ckfinder");
|
|
69
|
+
editor.editing.view.focus();
|
|
70
|
+
});
|
|
71
|
+
return view;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates a simple toolbar button for files management, with an icon and a tooltip.
|
|
75
|
+
*/
|
|
76
|
+
_createFileToolbarButton() {
|
|
77
|
+
const t = this.editor.locale.t;
|
|
78
|
+
const button = this._createButton(ButtonView);
|
|
79
|
+
button.icon = IconBrowseFiles;
|
|
80
|
+
button.label = t("Insert image or file");
|
|
81
|
+
button.tooltip = true;
|
|
82
|
+
return button;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates a simple toolbar button for images management, with an icon and a tooltip.
|
|
86
|
+
*/
|
|
87
|
+
_createImageToolbarButton() {
|
|
88
|
+
const t = this.editor.locale.t;
|
|
89
|
+
const imageInsertUI = this.editor.plugins.get("ImageInsertUI");
|
|
90
|
+
const button = this._createButton(ButtonView);
|
|
91
|
+
button.icon = IconImageAssetManager;
|
|
92
|
+
button.bind("label").to(imageInsertUI, "isImageSelected", (isImageSelected) => isImageSelected ? t("Replace image with file manager") : t("Insert image with file manager"));
|
|
93
|
+
button.tooltip = true;
|
|
94
|
+
return button;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Creates a button for images management for the dropdown view, with an icon, text and no tooltip.
|
|
98
|
+
*/
|
|
99
|
+
_createImageDropdownButton() {
|
|
100
|
+
const t = this.editor.locale.t;
|
|
101
|
+
const imageInsertUI = this.editor.plugins.get("ImageInsertUI");
|
|
102
|
+
const button = this._createButton(ButtonView);
|
|
103
|
+
button.icon = IconImageAssetManager;
|
|
104
|
+
button.withText = true;
|
|
105
|
+
button.bind("label").to(imageInsertUI, "isImageSelected", (isImageSelected) => isImageSelected ? t("Replace with file manager") : t("Insert with file manager"));
|
|
106
|
+
button.on("execute", () => {
|
|
107
|
+
imageInsertUI.dropdownView.isOpen = false;
|
|
108
|
+
});
|
|
109
|
+
return button;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Creates a button for files management for the menu bar.
|
|
113
|
+
*/
|
|
114
|
+
_createFileMenuBarButton() {
|
|
115
|
+
const t = this.editor.locale.t;
|
|
116
|
+
const button = this._createButton(MenuBarMenuListItemButtonView);
|
|
117
|
+
button.icon = IconBrowseFiles;
|
|
118
|
+
button.withText = true;
|
|
119
|
+
button.label = t("File");
|
|
120
|
+
return button;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Creates a button for images management for the menu bar.
|
|
124
|
+
*/
|
|
125
|
+
_createImageMenuBarButton(type) {
|
|
126
|
+
const translateVariableKey = this.editor.locale.t;
|
|
127
|
+
const t = this.editor.locale.t;
|
|
128
|
+
const button = this._createButton(MenuBarMenuListItemButtonView);
|
|
129
|
+
button.icon = IconImageAssetManager;
|
|
130
|
+
button.withText = true;
|
|
131
|
+
switch (type) {
|
|
132
|
+
case "insertOnly":
|
|
133
|
+
button.label = translateVariableKey("Image");
|
|
134
|
+
break;
|
|
135
|
+
case "insertNested":
|
|
136
|
+
button.label = t("With file manager");
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
return button;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
127
142
|
|
|
128
143
|
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
namespace: 'ckfinder'
|
|
216
|
-
});
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
insertImages(editor, [
|
|
220
|
-
resizedUrl
|
|
221
|
-
]);
|
|
222
|
-
});
|
|
223
|
-
};
|
|
224
|
-
window.CKFinder[openerMethod](options);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
144
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
145
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
146
|
+
*/
|
|
147
|
+
/**
|
|
148
|
+
* @module ckfinder/ckfindercommand
|
|
149
|
+
*/
|
|
150
|
+
/**
|
|
151
|
+
* The CKFinder command. It is used by the {@link module:ckfinder/ckfinderediting~CKFinderEditing CKFinder editing feature}
|
|
152
|
+
* to open the CKFinder file manager to insert an image or a link to a file into the editor content.
|
|
153
|
+
*
|
|
154
|
+
* ```ts
|
|
155
|
+
* editor.execute( 'ckfinder' );
|
|
156
|
+
* ```
|
|
157
|
+
*
|
|
158
|
+
* **Note:** This command uses other features to perform tasks:
|
|
159
|
+
* - To insert images the {@link module:image/image/insertimagecommand~InsertImageCommand 'insertImage'} command
|
|
160
|
+
* from the {@link module:image/image~Image Image feature}.
|
|
161
|
+
* - To insert links to files the {@link module:link/linkcommand~LinkCommand 'link'} command
|
|
162
|
+
* from the {@link module:link/link~Link Link feature}.
|
|
163
|
+
*/
|
|
164
|
+
var CKFinderCommand = class extends Command {
|
|
165
|
+
/**
|
|
166
|
+
* @inheritDoc
|
|
167
|
+
*/
|
|
168
|
+
constructor(editor) {
|
|
169
|
+
super(editor);
|
|
170
|
+
this.affectsData = false;
|
|
171
|
+
this.stopListening(this.editor.model.document, "change");
|
|
172
|
+
this.listenTo(this.editor.model.document, "change", () => this.refresh(), { priority: "low" });
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* @inheritDoc
|
|
176
|
+
*/
|
|
177
|
+
refresh() {
|
|
178
|
+
const imageCommand = this.editor.commands.get("insertImage");
|
|
179
|
+
const linkCommand = this.editor.commands.get("link");
|
|
180
|
+
this.isEnabled = imageCommand.isEnabled || linkCommand.isEnabled;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* @inheritDoc
|
|
184
|
+
*/
|
|
185
|
+
execute() {
|
|
186
|
+
const editor = this.editor;
|
|
187
|
+
const openerMethod = this.editor.config.get("ckfinder.openerMethod") || "modal";
|
|
188
|
+
if (openerMethod != "popup" && openerMethod != "modal")
|
|
189
|
+
/**
|
|
190
|
+
* The `ckfinder.openerMethod` must be one of: "popup" or "modal".
|
|
191
|
+
*
|
|
192
|
+
* @error ckfinder-unknown-openermethod
|
|
193
|
+
*/
|
|
194
|
+
throw new CKEditorError("ckfinder-unknown-openermethod", editor);
|
|
195
|
+
const options = this.editor.config.get("ckfinder.options") || {};
|
|
196
|
+
options.chooseFiles = true;
|
|
197
|
+
const originalOnInit = options.onInit;
|
|
198
|
+
if (!options.language) options.language = editor.locale.uiLanguage;
|
|
199
|
+
options.onInit = (finder) => {
|
|
200
|
+
if (originalOnInit) originalOnInit(finder);
|
|
201
|
+
finder.on("files:choose", (evt) => {
|
|
202
|
+
const files = evt.data.files.toArray();
|
|
203
|
+
const links = files.filter((file) => !file.isImage());
|
|
204
|
+
const images = files.filter((file) => file.isImage());
|
|
205
|
+
for (const linkFile of links) editor.execute("link", linkFile.getUrl());
|
|
206
|
+
const imagesUrls = [];
|
|
207
|
+
for (const image of images) {
|
|
208
|
+
const url = image.getUrl();
|
|
209
|
+
imagesUrls.push(url ? url : finder.request("file:getProxyUrl", { file: image }));
|
|
210
|
+
}
|
|
211
|
+
if (imagesUrls.length) insertImages(editor, imagesUrls);
|
|
212
|
+
});
|
|
213
|
+
finder.on("file:choose:resizedImage", (evt) => {
|
|
214
|
+
const resizedUrl = evt.data.resizedUrl;
|
|
215
|
+
if (!resizedUrl) {
|
|
216
|
+
const notification = editor.plugins.get("Notification");
|
|
217
|
+
const t = editor.locale.t;
|
|
218
|
+
notification.showWarning(t("Could not obtain resized image URL."), {
|
|
219
|
+
title: t("Selecting resized image failed"),
|
|
220
|
+
namespace: "ckfinder"
|
|
221
|
+
});
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
insertImages(editor, [resizedUrl]);
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
window.CKFinder[openerMethod](options);
|
|
228
|
+
}
|
|
229
|
+
};
|
|
227
230
|
function insertImages(editor, urls) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
editor.execute('insertImage', {
|
|
240
|
-
source: urls
|
|
241
|
-
});
|
|
231
|
+
if (!editor.commands.get("insertImage").isEnabled) {
|
|
232
|
+
const notification = editor.plugins.get("Notification");
|
|
233
|
+
const t = editor.locale.t;
|
|
234
|
+
notification.showWarning(t("Could not insert image at the current position."), {
|
|
235
|
+
title: t("Inserting image failed"),
|
|
236
|
+
namespace: "ckfinder"
|
|
237
|
+
});
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
editor.execute("insertImage", { source: urls });
|
|
242
241
|
}
|
|
243
242
|
|
|
244
243
|
/**
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
244
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
245
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
246
|
+
*/
|
|
247
|
+
/**
|
|
248
|
+
* @module ckfinder/ckfinderediting
|
|
249
|
+
*/
|
|
250
|
+
/**
|
|
251
|
+
* The CKFinder editing feature. It introduces the {@link module:ckfinder/ckfindercommand~CKFinderCommand CKFinder command}.
|
|
252
|
+
*/
|
|
253
|
+
var CKFinderEditing = class extends Plugin {
|
|
254
|
+
/**
|
|
255
|
+
* @inheritDoc
|
|
256
|
+
*/
|
|
257
|
+
static get pluginName() {
|
|
258
|
+
return "CKFinderEditing";
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* @inheritDoc
|
|
262
|
+
*/
|
|
263
|
+
static get isOfficialPlugin() {
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* @inheritDoc
|
|
268
|
+
*/
|
|
269
|
+
static get requires() {
|
|
270
|
+
return [Notification, LinkEditing];
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* @inheritDoc
|
|
274
|
+
*/
|
|
275
|
+
init() {
|
|
276
|
+
const editor = this.editor;
|
|
277
|
+
if (!editor.plugins.has("ImageBlockEditing") && !editor.plugins.has("ImageInlineEditing"))
|
|
278
|
+
/**
|
|
279
|
+
* CKFinder requires at least one plugin providing support for images loaded in the editor. Please
|
|
280
|
+
* make sure either:
|
|
281
|
+
*
|
|
282
|
+
* * {@link module:image/image~Image} (which loads both types of images),
|
|
283
|
+
* * or {@link module:image/imageblock~ImageBlock},
|
|
284
|
+
* * or {@link module:image/imageinline~ImageInline}.
|
|
285
|
+
*
|
|
286
|
+
* is loaded in your editor configuration.
|
|
287
|
+
*
|
|
288
|
+
* @error ckfinder-missing-image-plugin
|
|
289
|
+
*/
|
|
290
|
+
throw new CKEditorError("ckfinder-missing-image-plugin", editor);
|
|
291
|
+
editor.commands.add("ckfinder", new CKFinderCommand(editor));
|
|
292
|
+
}
|
|
293
|
+
};
|
|
286
294
|
|
|
287
295
|
/**
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
296
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
297
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
298
|
+
*/
|
|
299
|
+
/**
|
|
300
|
+
* @module ckfinder/ckfinder
|
|
301
|
+
*/
|
|
302
|
+
/**
|
|
303
|
+
* The CKFinder feature, a bridge between the CKEditor 5 WYSIWYG editor and the
|
|
304
|
+
* [CKFinder](https://ckeditor.com/ckfinder) file manager and uploader.
|
|
305
|
+
*
|
|
306
|
+
* This is a "glue" plugin which enables:
|
|
307
|
+
*
|
|
308
|
+
* * {@link module:ckfinder/ckfinderediting~CKFinderEditing},
|
|
309
|
+
* * {@link module:ckfinder/ckfinderui~CKFinderUI},
|
|
310
|
+
* * {@link module:adapter-ckfinder/uploadadapter~CKFinderUploadAdapter}.
|
|
311
|
+
*
|
|
312
|
+
* See the {@glink features/file-management/ckfinder "CKFinder integration" guide} to learn how to configure
|
|
313
|
+
* and use this feature.
|
|
314
|
+
*
|
|
315
|
+
* Check out the {@glink features/images/image-upload/image-upload comprehensive "Image upload" guide} to learn about
|
|
316
|
+
* other ways to upload images into CKEditor 5.
|
|
317
|
+
*/
|
|
318
|
+
var CKFinder = class extends Plugin {
|
|
319
|
+
/**
|
|
320
|
+
* @inheritDoc
|
|
321
|
+
*/
|
|
322
|
+
static get pluginName() {
|
|
323
|
+
return "CKFinder";
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* @inheritDoc
|
|
327
|
+
*/
|
|
328
|
+
static get isOfficialPlugin() {
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* @inheritDoc
|
|
333
|
+
*/
|
|
334
|
+
static get requires() {
|
|
335
|
+
return [
|
|
336
|
+
Link,
|
|
337
|
+
CKFinderUploadAdapter,
|
|
338
|
+
CKFinderEditing,
|
|
339
|
+
CKFinderUI
|
|
340
|
+
];
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
346
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
347
|
+
*/
|
|
324
348
|
|
|
325
349
|
export { CKFinder, CKFinderCommand, CKFinderEditing, CKFinderUI };
|
|
326
|
-
//# sourceMappingURL=index.js.map
|
|
350
|
+
//# sourceMappingURL=index.js.map
|