@ckeditor/ckeditor5-image 39.0.2 → 40.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/image.js +1 -1
- package/build/image.js.map +1 -0
- package/build/translations/pt-br.js +1 -1
- package/ckeditor5-metadata.json +12 -0
- package/lang/translations/pt-br.po +1 -1
- package/package.json +3 -3
- package/src/augmentation.d.ts +56 -55
- package/src/augmentation.js +5 -5
- package/src/autoimage.d.ts +52 -52
- package/src/autoimage.js +132 -132
- package/src/image/converters.d.ts +66 -66
- package/src/image/converters.js +232 -242
- package/src/image/imageblockediting.d.ts +58 -55
- package/src/image/imageblockediting.js +152 -136
- package/src/image/imageediting.d.ts +30 -30
- package/src/image/imageediting.js +63 -74
- package/src/image/imageinlineediting.d.ts +59 -56
- package/src/image/imageinlineediting.js +176 -160
- package/src/image/imageloadobserver.d.ts +48 -48
- package/src/image/imageloadobserver.js +52 -52
- package/src/image/imagetypecommand.d.ts +44 -40
- package/src/image/imagetypecommand.js +80 -77
- package/src/image/insertimagecommand.d.ts +66 -66
- package/src/image/insertimagecommand.js +120 -120
- package/src/image/replaceimagesourcecommand.d.ts +34 -34
- package/src/image/replaceimagesourcecommand.js +44 -44
- package/src/image/ui/utils.d.ts +25 -25
- package/src/image/ui/utils.js +44 -44
- package/src/image/utils.d.ts +64 -52
- package/src/image/utils.js +121 -100
- package/src/image.d.ts +34 -34
- package/src/image.js +38 -38
- package/src/imageblock.d.ts +33 -33
- package/src/imageblock.js +37 -37
- package/src/imagecaption/imagecaptionediting.d.ts +89 -89
- package/src/imagecaption/imagecaptionediting.js +225 -225
- package/src/imagecaption/imagecaptionui.d.ts +26 -26
- package/src/imagecaption/imagecaptionui.js +61 -61
- package/src/imagecaption/imagecaptionutils.d.ts +38 -38
- package/src/imagecaption/imagecaptionutils.js +62 -62
- package/src/imagecaption/toggleimagecaptioncommand.d.ts +66 -66
- package/src/imagecaption/toggleimagecaptioncommand.js +138 -138
- package/src/imagecaption.d.ts +26 -26
- package/src/imagecaption.js +30 -30
- package/src/imageconfig.d.ts +713 -713
- package/src/imageconfig.js +5 -5
- package/src/imageinline.d.ts +33 -33
- package/src/imageinline.js +37 -37
- package/src/imageinsert/imageinsertui.d.ts +44 -44
- package/src/imageinsert/imageinsertui.js +141 -141
- package/src/imageinsert/ui/imageinsertformrowview.d.ts +61 -61
- package/src/imageinsert/ui/imageinsertformrowview.js +54 -54
- package/src/imageinsert/ui/imageinsertpanelview.d.ts +106 -106
- package/src/imageinsert/ui/imageinsertpanelview.js +161 -161
- package/src/imageinsert/utils.d.ts +25 -25
- package/src/imageinsert/utils.js +58 -58
- package/src/imageinsert.d.ts +33 -33
- package/src/imageinsert.js +37 -37
- package/src/imageinsertviaurl.d.ts +30 -30
- package/src/imageinsertviaurl.js +34 -34
- package/src/imageresize/imageresizebuttons.d.ts +67 -67
- package/src/imageresize/imageresizebuttons.js +217 -217
- package/src/imageresize/imageresizeediting.d.ts +37 -37
- package/src/imageresize/imageresizeediting.js +165 -114
- package/src/imageresize/imageresizehandles.d.ts +31 -30
- package/src/imageresize/imageresizehandles.js +114 -107
- package/src/imageresize/resizeimagecommand.d.ts +42 -42
- package/src/imageresize/resizeimagecommand.js +63 -61
- package/src/imageresize.d.ts +27 -27
- package/src/imageresize.js +31 -31
- package/src/imagesizeattributes.d.ts +34 -0
- package/src/imagesizeattributes.js +143 -0
- package/src/imagestyle/converters.d.ts +24 -24
- package/src/imagestyle/converters.js +79 -79
- package/src/imagestyle/imagestylecommand.d.ts +68 -65
- package/src/imagestyle/imagestylecommand.js +107 -101
- package/src/imagestyle/imagestyleediting.d.ts +50 -50
- package/src/imagestyle/imagestyleediting.js +108 -108
- package/src/imagestyle/imagestyleui.d.ts +56 -56
- package/src/imagestyle/imagestyleui.js +192 -192
- package/src/imagestyle/utils.d.ts +101 -101
- package/src/imagestyle/utils.js +329 -329
- package/src/imagestyle.d.ts +32 -32
- package/src/imagestyle.js +36 -36
- package/src/imagetextalternative/imagetextalternativecommand.d.ts +34 -34
- package/src/imagetextalternative/imagetextalternativecommand.js +44 -44
- package/src/imagetextalternative/imagetextalternativeediting.d.ts +28 -28
- package/src/imagetextalternative/imagetextalternativeediting.js +35 -35
- package/src/imagetextalternative/imagetextalternativeui.d.ts +68 -68
- package/src/imagetextalternative/imagetextalternativeui.js +173 -173
- package/src/imagetextalternative/ui/textalternativeformview.d.ts +72 -72
- package/src/imagetextalternative/ui/textalternativeformview.js +121 -121
- package/src/imagetextalternative.d.ts +29 -29
- package/src/imagetextalternative.js +33 -33
- package/src/imagetoolbar.d.ts +35 -35
- package/src/imagetoolbar.js +57 -57
- package/src/imageupload/imageuploadediting.d.ts +111 -111
- package/src/imageupload/imageuploadediting.js +337 -335
- package/src/imageupload/imageuploadprogress.d.ts +42 -42
- package/src/imageupload/imageuploadprogress.js +211 -211
- package/src/imageupload/imageuploadui.d.ts +23 -23
- package/src/imageupload/imageuploadui.js +57 -57
- package/src/imageupload/uploadimagecommand.d.ts +60 -60
- package/src/imageupload/uploadimagecommand.js +100 -100
- package/src/imageupload/utils.d.ts +33 -33
- package/src/imageupload/utils.js +112 -112
- package/src/imageupload.d.ts +32 -32
- package/src/imageupload.js +36 -36
- package/src/imageutils.d.ts +125 -102
- package/src/imageutils.js +306 -248
- package/src/index.d.ts +48 -47
- package/src/index.js +39 -38
- package/src/pictureediting.d.ts +88 -88
- package/src/pictureediting.js +130 -130
- package/theme/image.css +38 -11
- package/theme/imageresize.css +5 -0
|
@@ -1,173 +1,173 @@
|
|
|
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 image/imagetextalternative/imagetextalternativeui
|
|
7
|
-
*/
|
|
8
|
-
import { Plugin, icons } from 'ckeditor5/src/core';
|
|
9
|
-
import { ButtonView, ContextualBalloon, clickOutsideHandler, CssTransitionDisablerMixin } from 'ckeditor5/src/ui';
|
|
10
|
-
import TextAlternativeFormView from './ui/textalternativeformview';
|
|
11
|
-
import { repositionContextualBalloon, getBalloonPositionData } from '../image/ui/utils';
|
|
12
|
-
/**
|
|
13
|
-
* The image text alternative UI plugin.
|
|
14
|
-
*
|
|
15
|
-
* The plugin uses the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon}.
|
|
16
|
-
*/
|
|
17
|
-
export default class ImageTextAlternativeUI extends Plugin {
|
|
18
|
-
/**
|
|
19
|
-
* @inheritDoc
|
|
20
|
-
*/
|
|
21
|
-
static get requires() {
|
|
22
|
-
return [ContextualBalloon];
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @inheritDoc
|
|
26
|
-
*/
|
|
27
|
-
static get pluginName() {
|
|
28
|
-
return 'ImageTextAlternativeUI';
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @inheritDoc
|
|
32
|
-
*/
|
|
33
|
-
init() {
|
|
34
|
-
this._createButton();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* @inheritDoc
|
|
38
|
-
*/
|
|
39
|
-
destroy() {
|
|
40
|
-
super.destroy();
|
|
41
|
-
// Destroy created UI components as they are not automatically destroyed (see ckeditor5#1341).
|
|
42
|
-
if (this._form) {
|
|
43
|
-
this._form.destroy();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Creates a button showing the balloon panel for changing the image text alternative and
|
|
48
|
-
* registers it in the editor {@link module:ui/componentfactory~ComponentFactory ComponentFactory}.
|
|
49
|
-
*/
|
|
50
|
-
_createButton() {
|
|
51
|
-
const editor = this.editor;
|
|
52
|
-
const t = editor.t;
|
|
53
|
-
editor.ui.componentFactory.add('imageTextAlternative', locale => {
|
|
54
|
-
const command = editor.commands.get('imageTextAlternative');
|
|
55
|
-
const view = new ButtonView(locale);
|
|
56
|
-
view.set({
|
|
57
|
-
label: t('Change image text alternative'),
|
|
58
|
-
icon: icons.lowVision,
|
|
59
|
-
tooltip: true
|
|
60
|
-
});
|
|
61
|
-
view.bind('isEnabled').to(command, 'isEnabled');
|
|
62
|
-
view.bind('isOn').to(command, 'value', value => !!value);
|
|
63
|
-
this.listenTo(view, 'execute', () => {
|
|
64
|
-
this._showForm();
|
|
65
|
-
});
|
|
66
|
-
return view;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Creates the {@link module:image/imagetextalternative/ui/textalternativeformview~TextAlternativeFormView}
|
|
71
|
-
* form.
|
|
72
|
-
*/
|
|
73
|
-
_createForm() {
|
|
74
|
-
const editor = this.editor;
|
|
75
|
-
const view = editor.editing.view;
|
|
76
|
-
const viewDocument = view.document;
|
|
77
|
-
const imageUtils = editor.plugins.get('ImageUtils');
|
|
78
|
-
this._balloon = this.editor.plugins.get('ContextualBalloon');
|
|
79
|
-
this._form = new (CssTransitionDisablerMixin(TextAlternativeFormView))(editor.locale);
|
|
80
|
-
// Render the form so its #element is available for clickOutsideHandler.
|
|
81
|
-
this._form.render();
|
|
82
|
-
this.listenTo(this._form, 'submit', () => {
|
|
83
|
-
editor.execute('imageTextAlternative', {
|
|
84
|
-
newValue: this._form.labeledInput.fieldView.element.value
|
|
85
|
-
});
|
|
86
|
-
this._hideForm(true);
|
|
87
|
-
});
|
|
88
|
-
this.listenTo(this._form, 'cancel', () => {
|
|
89
|
-
this._hideForm(true);
|
|
90
|
-
});
|
|
91
|
-
// Close the form on Esc key press.
|
|
92
|
-
this._form.keystrokes.set('Esc', (data, cancel) => {
|
|
93
|
-
this._hideForm(true);
|
|
94
|
-
cancel();
|
|
95
|
-
});
|
|
96
|
-
// Reposition the balloon or hide the form if an image widget is no longer selected.
|
|
97
|
-
this.listenTo(editor.ui, 'update', () => {
|
|
98
|
-
if (!imageUtils.getClosestSelectedImageWidget(viewDocument.selection)) {
|
|
99
|
-
this._hideForm(true);
|
|
100
|
-
}
|
|
101
|
-
else if (this._isVisible) {
|
|
102
|
-
repositionContextualBalloon(editor);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
// Close on click outside of balloon panel element.
|
|
106
|
-
clickOutsideHandler({
|
|
107
|
-
emitter: this._form,
|
|
108
|
-
activator: () => this._isVisible,
|
|
109
|
-
contextElements: () => [this._balloon.view.element],
|
|
110
|
-
callback: () => this._hideForm()
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Shows the {@link #_form} in the {@link #_balloon}.
|
|
115
|
-
*/
|
|
116
|
-
_showForm() {
|
|
117
|
-
if (this._isVisible) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
if (!this._form) {
|
|
121
|
-
this._createForm();
|
|
122
|
-
}
|
|
123
|
-
const editor = this.editor;
|
|
124
|
-
const command = editor.commands.get('imageTextAlternative');
|
|
125
|
-
const labeledInput = this._form.labeledInput;
|
|
126
|
-
this._form.disableCssTransitions();
|
|
127
|
-
if (!this._isInBalloon) {
|
|
128
|
-
this._balloon.add({
|
|
129
|
-
view: this._form,
|
|
130
|
-
position: getBalloonPositionData(editor)
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
// Make sure that each time the panel shows up, the field remains in sync with the value of
|
|
134
|
-
// the command. If the user typed in the input, then canceled the balloon (`labeledInput#value`
|
|
135
|
-
// stays unaltered) and re-opened it without changing the value of the command, they would see the
|
|
136
|
-
// old value instead of the actual value of the command.
|
|
137
|
-
// https://github.com/ckeditor/ckeditor5-image/issues/114
|
|
138
|
-
labeledInput.fieldView.value = labeledInput.fieldView.element.value = command.value || '';
|
|
139
|
-
this._form.labeledInput.fieldView.select();
|
|
140
|
-
this._form.enableCssTransitions();
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Removes the {@link #_form} from the {@link #_balloon}.
|
|
144
|
-
*
|
|
145
|
-
* @param focusEditable Controls whether the editing view is focused afterwards.
|
|
146
|
-
*/
|
|
147
|
-
_hideForm(focusEditable = false) {
|
|
148
|
-
if (!this._isInBalloon) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
// Blur the input element before removing it from DOM to prevent issues in some browsers.
|
|
152
|
-
// See https://github.com/ckeditor/ckeditor5/issues/1501.
|
|
153
|
-
if (this._form.focusTracker.isFocused) {
|
|
154
|
-
this._form.saveButtonView.focus();
|
|
155
|
-
}
|
|
156
|
-
this._balloon.remove(this._form);
|
|
157
|
-
if (focusEditable) {
|
|
158
|
-
this.editor.editing.view.focus();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Returns `true` when the {@link #_form} is the visible view in the {@link #_balloon}.
|
|
163
|
-
*/
|
|
164
|
-
get _isVisible() {
|
|
165
|
-
return !!this._balloon && this._balloon.visibleView === this._form;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Returns `true` when the {@link #_form} is in the {@link #_balloon}.
|
|
169
|
-
*/
|
|
170
|
-
get _isInBalloon() {
|
|
171
|
-
return !!this._balloon && this._balloon.hasView(this._form);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
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 image/imagetextalternative/imagetextalternativeui
|
|
7
|
+
*/
|
|
8
|
+
import { Plugin, icons } from 'ckeditor5/src/core';
|
|
9
|
+
import { ButtonView, ContextualBalloon, clickOutsideHandler, CssTransitionDisablerMixin } from 'ckeditor5/src/ui';
|
|
10
|
+
import TextAlternativeFormView from './ui/textalternativeformview';
|
|
11
|
+
import { repositionContextualBalloon, getBalloonPositionData } from '../image/ui/utils';
|
|
12
|
+
/**
|
|
13
|
+
* The image text alternative UI plugin.
|
|
14
|
+
*
|
|
15
|
+
* The plugin uses the {@link module:ui/panel/balloon/contextualballoon~ContextualBalloon}.
|
|
16
|
+
*/
|
|
17
|
+
export default class ImageTextAlternativeUI extends Plugin {
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
static get requires() {
|
|
22
|
+
return [ContextualBalloon];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @inheritDoc
|
|
26
|
+
*/
|
|
27
|
+
static get pluginName() {
|
|
28
|
+
return 'ImageTextAlternativeUI';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
init() {
|
|
34
|
+
this._createButton();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @inheritDoc
|
|
38
|
+
*/
|
|
39
|
+
destroy() {
|
|
40
|
+
super.destroy();
|
|
41
|
+
// Destroy created UI components as they are not automatically destroyed (see ckeditor5#1341).
|
|
42
|
+
if (this._form) {
|
|
43
|
+
this._form.destroy();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates a button showing the balloon panel for changing the image text alternative and
|
|
48
|
+
* registers it in the editor {@link module:ui/componentfactory~ComponentFactory ComponentFactory}.
|
|
49
|
+
*/
|
|
50
|
+
_createButton() {
|
|
51
|
+
const editor = this.editor;
|
|
52
|
+
const t = editor.t;
|
|
53
|
+
editor.ui.componentFactory.add('imageTextAlternative', locale => {
|
|
54
|
+
const command = editor.commands.get('imageTextAlternative');
|
|
55
|
+
const view = new ButtonView(locale);
|
|
56
|
+
view.set({
|
|
57
|
+
label: t('Change image text alternative'),
|
|
58
|
+
icon: icons.lowVision,
|
|
59
|
+
tooltip: true
|
|
60
|
+
});
|
|
61
|
+
view.bind('isEnabled').to(command, 'isEnabled');
|
|
62
|
+
view.bind('isOn').to(command, 'value', value => !!value);
|
|
63
|
+
this.listenTo(view, 'execute', () => {
|
|
64
|
+
this._showForm();
|
|
65
|
+
});
|
|
66
|
+
return view;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates the {@link module:image/imagetextalternative/ui/textalternativeformview~TextAlternativeFormView}
|
|
71
|
+
* form.
|
|
72
|
+
*/
|
|
73
|
+
_createForm() {
|
|
74
|
+
const editor = this.editor;
|
|
75
|
+
const view = editor.editing.view;
|
|
76
|
+
const viewDocument = view.document;
|
|
77
|
+
const imageUtils = editor.plugins.get('ImageUtils');
|
|
78
|
+
this._balloon = this.editor.plugins.get('ContextualBalloon');
|
|
79
|
+
this._form = new (CssTransitionDisablerMixin(TextAlternativeFormView))(editor.locale);
|
|
80
|
+
// Render the form so its #element is available for clickOutsideHandler.
|
|
81
|
+
this._form.render();
|
|
82
|
+
this.listenTo(this._form, 'submit', () => {
|
|
83
|
+
editor.execute('imageTextAlternative', {
|
|
84
|
+
newValue: this._form.labeledInput.fieldView.element.value
|
|
85
|
+
});
|
|
86
|
+
this._hideForm(true);
|
|
87
|
+
});
|
|
88
|
+
this.listenTo(this._form, 'cancel', () => {
|
|
89
|
+
this._hideForm(true);
|
|
90
|
+
});
|
|
91
|
+
// Close the form on Esc key press.
|
|
92
|
+
this._form.keystrokes.set('Esc', (data, cancel) => {
|
|
93
|
+
this._hideForm(true);
|
|
94
|
+
cancel();
|
|
95
|
+
});
|
|
96
|
+
// Reposition the balloon or hide the form if an image widget is no longer selected.
|
|
97
|
+
this.listenTo(editor.ui, 'update', () => {
|
|
98
|
+
if (!imageUtils.getClosestSelectedImageWidget(viewDocument.selection)) {
|
|
99
|
+
this._hideForm(true);
|
|
100
|
+
}
|
|
101
|
+
else if (this._isVisible) {
|
|
102
|
+
repositionContextualBalloon(editor);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
// Close on click outside of balloon panel element.
|
|
106
|
+
clickOutsideHandler({
|
|
107
|
+
emitter: this._form,
|
|
108
|
+
activator: () => this._isVisible,
|
|
109
|
+
contextElements: () => [this._balloon.view.element],
|
|
110
|
+
callback: () => this._hideForm()
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Shows the {@link #_form} in the {@link #_balloon}.
|
|
115
|
+
*/
|
|
116
|
+
_showForm() {
|
|
117
|
+
if (this._isVisible) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!this._form) {
|
|
121
|
+
this._createForm();
|
|
122
|
+
}
|
|
123
|
+
const editor = this.editor;
|
|
124
|
+
const command = editor.commands.get('imageTextAlternative');
|
|
125
|
+
const labeledInput = this._form.labeledInput;
|
|
126
|
+
this._form.disableCssTransitions();
|
|
127
|
+
if (!this._isInBalloon) {
|
|
128
|
+
this._balloon.add({
|
|
129
|
+
view: this._form,
|
|
130
|
+
position: getBalloonPositionData(editor)
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
// Make sure that each time the panel shows up, the field remains in sync with the value of
|
|
134
|
+
// the command. If the user typed in the input, then canceled the balloon (`labeledInput#value`
|
|
135
|
+
// stays unaltered) and re-opened it without changing the value of the command, they would see the
|
|
136
|
+
// old value instead of the actual value of the command.
|
|
137
|
+
// https://github.com/ckeditor/ckeditor5-image/issues/114
|
|
138
|
+
labeledInput.fieldView.value = labeledInput.fieldView.element.value = command.value || '';
|
|
139
|
+
this._form.labeledInput.fieldView.select();
|
|
140
|
+
this._form.enableCssTransitions();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Removes the {@link #_form} from the {@link #_balloon}.
|
|
144
|
+
*
|
|
145
|
+
* @param focusEditable Controls whether the editing view is focused afterwards.
|
|
146
|
+
*/
|
|
147
|
+
_hideForm(focusEditable = false) {
|
|
148
|
+
if (!this._isInBalloon) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
// Blur the input element before removing it from DOM to prevent issues in some browsers.
|
|
152
|
+
// See https://github.com/ckeditor/ckeditor5/issues/1501.
|
|
153
|
+
if (this._form.focusTracker.isFocused) {
|
|
154
|
+
this._form.saveButtonView.focus();
|
|
155
|
+
}
|
|
156
|
+
this._balloon.remove(this._form);
|
|
157
|
+
if (focusEditable) {
|
|
158
|
+
this.editor.editing.view.focus();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Returns `true` when the {@link #_form} is the visible view in the {@link #_balloon}.
|
|
163
|
+
*/
|
|
164
|
+
get _isVisible() {
|
|
165
|
+
return !!this._balloon && this._balloon.visibleView === this._form;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Returns `true` when the {@link #_form} is in the {@link #_balloon}.
|
|
169
|
+
*/
|
|
170
|
+
get _isInBalloon() {
|
|
171
|
+
return !!this._balloon && this._balloon.hasView(this._form);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -1,72 +1,72 @@
|
|
|
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 image/imagetextalternative/ui/textalternativeformview
|
|
7
|
-
*/
|
|
8
|
-
import { ButtonView, FocusCycler, LabeledFieldView, View, ViewCollection, type InputView } from 'ckeditor5/src/ui';
|
|
9
|
-
import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils';
|
|
10
|
-
import '../../../theme/textalternativeform.css';
|
|
11
|
-
import '@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css';
|
|
12
|
-
/**
|
|
13
|
-
* The TextAlternativeFormView class.
|
|
14
|
-
*/
|
|
15
|
-
export default class TextAlternativeFormView extends View {
|
|
16
|
-
/**
|
|
17
|
-
* Tracks information about the DOM focus in the form.
|
|
18
|
-
*/
|
|
19
|
-
readonly focusTracker: FocusTracker;
|
|
20
|
-
/**
|
|
21
|
-
* An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
|
|
22
|
-
*/
|
|
23
|
-
readonly keystrokes: KeystrokeHandler;
|
|
24
|
-
/**
|
|
25
|
-
* An input with a label.
|
|
26
|
-
*/
|
|
27
|
-
labeledInput: LabeledFieldView<InputView>;
|
|
28
|
-
/**
|
|
29
|
-
* A button used to submit the form.
|
|
30
|
-
*/
|
|
31
|
-
saveButtonView: ButtonView;
|
|
32
|
-
/**
|
|
33
|
-
* A button used to cancel the form.
|
|
34
|
-
*/
|
|
35
|
-
cancelButtonView: ButtonView;
|
|
36
|
-
/**
|
|
37
|
-
* A collection of views which can be focused in the form.
|
|
38
|
-
*/
|
|
39
|
-
protected readonly _focusables: ViewCollection;
|
|
40
|
-
/**
|
|
41
|
-
* Helps cycling over {@link #_focusables} in the form.
|
|
42
|
-
*/
|
|
43
|
-
protected readonly _focusCycler: FocusCycler;
|
|
44
|
-
/**
|
|
45
|
-
* @inheritDoc
|
|
46
|
-
*/
|
|
47
|
-
constructor(locale: Locale);
|
|
48
|
-
/**
|
|
49
|
-
* @inheritDoc
|
|
50
|
-
*/
|
|
51
|
-
render(): void;
|
|
52
|
-
/**
|
|
53
|
-
* @inheritDoc
|
|
54
|
-
*/
|
|
55
|
-
destroy(): void;
|
|
56
|
-
/**
|
|
57
|
-
* Creates the button view.
|
|
58
|
-
*
|
|
59
|
-
* @param label The button label
|
|
60
|
-
* @param icon The button's icon.
|
|
61
|
-
* @param className The additional button CSS class name.
|
|
62
|
-
* @param eventName The event name that the ButtonView#execute event will be delegated to.
|
|
63
|
-
* @returns The button view instance.
|
|
64
|
-
*/
|
|
65
|
-
private _createButton;
|
|
66
|
-
/**
|
|
67
|
-
* Creates an input with a label.
|
|
68
|
-
*
|
|
69
|
-
* @returns Labeled field view instance.
|
|
70
|
-
*/
|
|
71
|
-
private _createLabeledInputView;
|
|
72
|
-
}
|
|
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 image/imagetextalternative/ui/textalternativeformview
|
|
7
|
+
*/
|
|
8
|
+
import { ButtonView, FocusCycler, LabeledFieldView, View, ViewCollection, type InputView } from 'ckeditor5/src/ui';
|
|
9
|
+
import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils';
|
|
10
|
+
import '../../../theme/textalternativeform.css';
|
|
11
|
+
import '@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css';
|
|
12
|
+
/**
|
|
13
|
+
* The TextAlternativeFormView class.
|
|
14
|
+
*/
|
|
15
|
+
export default class TextAlternativeFormView extends View {
|
|
16
|
+
/**
|
|
17
|
+
* Tracks information about the DOM focus in the form.
|
|
18
|
+
*/
|
|
19
|
+
readonly focusTracker: FocusTracker;
|
|
20
|
+
/**
|
|
21
|
+
* An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
|
|
22
|
+
*/
|
|
23
|
+
readonly keystrokes: KeystrokeHandler;
|
|
24
|
+
/**
|
|
25
|
+
* An input with a label.
|
|
26
|
+
*/
|
|
27
|
+
labeledInput: LabeledFieldView<InputView>;
|
|
28
|
+
/**
|
|
29
|
+
* A button used to submit the form.
|
|
30
|
+
*/
|
|
31
|
+
saveButtonView: ButtonView;
|
|
32
|
+
/**
|
|
33
|
+
* A button used to cancel the form.
|
|
34
|
+
*/
|
|
35
|
+
cancelButtonView: ButtonView;
|
|
36
|
+
/**
|
|
37
|
+
* A collection of views which can be focused in the form.
|
|
38
|
+
*/
|
|
39
|
+
protected readonly _focusables: ViewCollection;
|
|
40
|
+
/**
|
|
41
|
+
* Helps cycling over {@link #_focusables} in the form.
|
|
42
|
+
*/
|
|
43
|
+
protected readonly _focusCycler: FocusCycler;
|
|
44
|
+
/**
|
|
45
|
+
* @inheritDoc
|
|
46
|
+
*/
|
|
47
|
+
constructor(locale: Locale);
|
|
48
|
+
/**
|
|
49
|
+
* @inheritDoc
|
|
50
|
+
*/
|
|
51
|
+
render(): void;
|
|
52
|
+
/**
|
|
53
|
+
* @inheritDoc
|
|
54
|
+
*/
|
|
55
|
+
destroy(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Creates the button view.
|
|
58
|
+
*
|
|
59
|
+
* @param label The button label
|
|
60
|
+
* @param icon The button's icon.
|
|
61
|
+
* @param className The additional button CSS class name.
|
|
62
|
+
* @param eventName The event name that the ButtonView#execute event will be delegated to.
|
|
63
|
+
* @returns The button view instance.
|
|
64
|
+
*/
|
|
65
|
+
private _createButton;
|
|
66
|
+
/**
|
|
67
|
+
* Creates an input with a label.
|
|
68
|
+
*
|
|
69
|
+
* @returns Labeled field view instance.
|
|
70
|
+
*/
|
|
71
|
+
private _createLabeledInputView;
|
|
72
|
+
}
|