@ckeditor/ckeditor5-ui 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/lang/contexts.json +5 -1
- package/lang/translations/ar.po +16 -0
- package/lang/translations/ast.po +16 -0
- package/lang/translations/az.po +16 -0
- package/lang/translations/bg.po +16 -0
- package/lang/translations/bn.po +16 -0
- package/lang/translations/ca.po +16 -0
- package/lang/translations/cs.po +16 -0
- package/lang/translations/da.po +16 -0
- package/lang/translations/de-ch.po +16 -0
- package/lang/translations/de.po +16 -0
- package/lang/translations/el.po +16 -0
- package/lang/translations/en-au.po +16 -0
- package/lang/translations/en-gb.po +16 -0
- package/lang/translations/en.po +16 -0
- package/lang/translations/eo.po +16 -0
- package/lang/translations/es.po +16 -0
- package/lang/translations/et.po +16 -0
- package/lang/translations/eu.po +16 -0
- package/lang/translations/fa.po +16 -0
- package/lang/translations/fi.po +16 -0
- package/lang/translations/fr.po +16 -0
- package/lang/translations/gl.po +16 -0
- package/lang/translations/he.po +16 -0
- package/lang/translations/hi.po +16 -0
- package/lang/translations/hr.po +16 -0
- package/lang/translations/hu.po +16 -0
- package/lang/translations/id.po +16 -0
- package/lang/translations/it.po +16 -0
- package/lang/translations/ja.po +16 -0
- package/lang/translations/km.po +16 -0
- package/lang/translations/kn.po +16 -0
- package/lang/translations/ko.po +16 -0
- package/lang/translations/ku.po +16 -0
- package/lang/translations/lt.po +16 -0
- package/lang/translations/lv.po +16 -0
- package/lang/translations/ms.po +16 -0
- package/lang/translations/nb.po +16 -0
- package/lang/translations/ne.po +16 -0
- package/lang/translations/nl.po +16 -0
- package/lang/translations/no.po +16 -0
- package/lang/translations/pl.po +16 -0
- package/lang/translations/pt-br.po +16 -0
- package/lang/translations/pt.po +16 -0
- package/lang/translations/ro.po +16 -0
- package/lang/translations/ru.po +16 -0
- package/lang/translations/sk.po +16 -0
- package/lang/translations/sl.po +16 -0
- package/lang/translations/sq.po +16 -0
- package/lang/translations/sr-latn.po +16 -0
- package/lang/translations/sr.po +16 -0
- package/lang/translations/sv.po +16 -0
- package/lang/translations/th.po +16 -0
- package/lang/translations/tk.po +16 -0
- package/lang/translations/tr.po +16 -0
- package/lang/translations/tt.po +16 -0
- package/lang/translations/ug.po +16 -0
- package/lang/translations/uk.po +16 -0
- package/lang/translations/ur.po +16 -0
- package/lang/translations/uz.po +16 -0
- package/lang/translations/vi.po +16 -0
- package/lang/translations/zh-cn.po +16 -0
- package/lang/translations/zh.po +16 -0
- package/package.json +3 -3
- package/src/augmentation.d.ts +86 -86
- package/src/augmentation.js +5 -5
- package/src/autocomplete/autocompleteview.d.ts +81 -0
- package/src/autocomplete/autocompleteview.js +146 -0
- package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
- package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
- package/src/bindings/clickoutsidehandler.d.ts +28 -28
- package/src/bindings/clickoutsidehandler.js +36 -36
- package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
- package/src/bindings/csstransitiondisablermixin.js +55 -55
- package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
- package/src/bindings/injectcsstransitiondisabler.js +71 -71
- package/src/bindings/preventdefault.d.ts +33 -33
- package/src/bindings/preventdefault.js +34 -34
- package/src/bindings/submithandler.d.ts +57 -57
- package/src/bindings/submithandler.js +47 -47
- package/src/button/button.d.ts +178 -178
- package/src/button/button.js +5 -5
- package/src/button/buttonlabel.d.ts +34 -0
- package/src/button/buttonlabel.js +5 -0
- package/src/button/buttonlabelview.d.ts +31 -0
- package/src/button/buttonlabelview.js +42 -0
- package/src/button/buttonview.d.ts +185 -177
- package/src/button/buttonview.js +219 -231
- package/src/button/switchbuttonview.d.ts +45 -45
- package/src/button/switchbuttonview.js +75 -75
- package/src/colorgrid/colorgridview.d.ts +132 -132
- package/src/colorgrid/colorgridview.js +124 -124
- package/src/colorgrid/colortileview.d.ts +28 -28
- package/src/colorgrid/colortileview.js +40 -40
- package/src/colorgrid/utils.d.ts +47 -47
- package/src/colorgrid/utils.js +84 -84
- package/src/colorpicker/colorpickerview.d.ts +137 -137
- package/src/colorpicker/colorpickerview.js +270 -270
- package/src/colorpicker/utils.d.ts +43 -43
- package/src/colorpicker/utils.js +99 -99
- package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
- package/src/colorselector/colorgridsfragmentview.js +289 -289
- package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
- package/src/colorselector/colorpickerfragmentview.js +205 -205
- package/src/colorselector/colorselectorview.d.ts +242 -242
- package/src/colorselector/colorselectorview.js +256 -256
- package/src/colorselector/documentcolorcollection.d.ts +70 -70
- package/src/colorselector/documentcolorcollection.js +42 -42
- package/src/componentfactory.d.ts +81 -81
- package/src/componentfactory.js +104 -104
- package/src/dropdown/button/dropdownbutton.d.ts +25 -25
- package/src/dropdown/button/dropdownbutton.js +5 -5
- package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
- package/src/dropdown/button/dropdownbuttonview.js +66 -66
- package/src/dropdown/button/splitbuttonview.d.ts +161 -161
- package/src/dropdown/button/splitbuttonview.js +152 -152
- package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
- package/src/dropdown/dropdownpanelfocusable.js +5 -5
- package/src/dropdown/dropdownpanelview.d.ts +62 -62
- package/src/dropdown/dropdownpanelview.js +97 -97
- package/src/dropdown/dropdownview.d.ts +315 -315
- package/src/dropdown/dropdownview.js +379 -378
- package/src/dropdown/utils.d.ts +235 -221
- package/src/dropdown/utils.js +458 -437
- package/src/editableui/editableuiview.d.ts +72 -72
- package/src/editableui/editableuiview.js +112 -112
- package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
- package/src/editableui/inline/inlineeditableuiview.js +48 -48
- package/src/editorui/bodycollection.d.ts +55 -55
- package/src/editorui/bodycollection.js +84 -84
- package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
- package/src/editorui/boxed/boxededitoruiview.js +81 -81
- package/src/editorui/editorui.d.ts +282 -282
- package/src/editorui/editorui.js +410 -410
- package/src/editorui/editoruiview.d.ts +39 -39
- package/src/editorui/editoruiview.js +38 -38
- package/src/editorui/poweredby.d.ts +71 -71
- package/src/editorui/poweredby.js +276 -299
- package/src/focuscycler.d.ts +226 -183
- package/src/focuscycler.js +245 -220
- package/src/formheader/formheaderview.d.ts +59 -53
- package/src/formheader/formheaderview.js +69 -63
- package/src/highlightedtext/highlightedtextview.d.ts +38 -0
- package/src/highlightedtext/highlightedtextview.js +102 -0
- package/src/icon/iconview.d.ts +85 -78
- package/src/icon/iconview.js +114 -112
- package/src/iframe/iframeview.d.ts +50 -50
- package/src/iframe/iframeview.js +63 -63
- package/src/index.d.ts +73 -63
- package/src/index.js +70 -62
- package/src/input/inputbase.d.ts +107 -0
- package/src/input/inputbase.js +110 -0
- package/src/input/inputview.d.ts +36 -121
- package/src/input/inputview.js +24 -106
- package/src/inputnumber/inputnumberview.d.ts +49 -49
- package/src/inputnumber/inputnumberview.js +40 -40
- package/src/inputtext/inputtextview.d.ts +18 -18
- package/src/inputtext/inputtextview.js +27 -27
- package/src/label/labelview.d.ts +36 -36
- package/src/label/labelview.js +41 -41
- package/src/labeledfield/labeledfieldview.d.ts +187 -182
- package/src/labeledfield/labeledfieldview.js +157 -157
- package/src/labeledfield/utils.d.ts +123 -93
- package/src/labeledfield/utils.js +176 -131
- package/src/labeledinput/labeledinputview.d.ts +125 -125
- package/src/labeledinput/labeledinputview.js +125 -125
- package/src/list/listitemgroupview.d.ts +51 -0
- package/src/list/listitemgroupview.js +75 -0
- package/src/list/listitemview.d.ts +36 -35
- package/src/list/listitemview.js +42 -40
- package/src/list/listseparatorview.d.ts +18 -18
- package/src/list/listseparatorview.js +28 -28
- package/src/list/listview.d.ts +122 -65
- package/src/list/listview.js +187 -90
- package/src/model.d.ts +22 -22
- package/src/model.js +31 -31
- package/src/notification/notification.d.ts +211 -211
- package/src/notification/notification.js +187 -187
- package/src/panel/balloon/balloonpanelview.d.ts +685 -685
- package/src/panel/balloon/balloonpanelview.js +1010 -988
- package/src/panel/balloon/contextualballoon.d.ts +299 -299
- package/src/panel/balloon/contextualballoon.js +572 -572
- package/src/panel/sticky/stickypanelview.d.ts +156 -158
- package/src/panel/sticky/stickypanelview.js +234 -231
- package/src/search/filteredview.d.ts +31 -0
- package/src/search/filteredview.js +5 -0
- package/src/search/searchinfoview.d.ts +45 -0
- package/src/search/searchinfoview.js +59 -0
- package/src/search/searchresultsview.d.ts +54 -0
- package/src/search/searchresultsview.js +65 -0
- package/src/search/text/searchtextqueryview.d.ts +76 -0
- package/src/search/text/searchtextqueryview.js +75 -0
- package/src/search/text/searchtextview.d.ts +219 -0
- package/src/search/text/searchtextview.js +201 -0
- package/src/spinner/spinnerview.d.ts +25 -0
- package/src/spinner/spinnerview.js +38 -0
- package/src/template.d.ts +942 -942
- package/src/template.js +1294 -1294
- package/src/textarea/textareaview.d.ts +88 -0
- package/src/textarea/textareaview.js +140 -0
- package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
- package/src/toolbar/balloon/balloontoolbar.js +300 -300
- package/src/toolbar/block/blockbuttonview.d.ts +35 -35
- package/src/toolbar/block/blockbuttonview.js +41 -41
- package/src/toolbar/block/blocktoolbar.d.ts +161 -161
- package/src/toolbar/block/blocktoolbar.js +395 -391
- package/src/toolbar/normalizetoolbarconfig.d.ts +40 -39
- package/src/toolbar/normalizetoolbarconfig.js +51 -51
- package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
- package/src/toolbar/toolbarlinebreakview.js +28 -28
- package/src/toolbar/toolbarseparatorview.d.ts +18 -18
- package/src/toolbar/toolbarseparatorview.js +28 -28
- package/src/toolbar/toolbarview.d.ts +266 -265
- package/src/toolbar/toolbarview.js +719 -717
- package/src/tooltipmanager.d.ts +180 -180
- package/src/tooltipmanager.js +353 -353
- package/src/view.d.ts +422 -422
- package/src/view.js +396 -396
- package/src/viewcollection.d.ts +139 -139
- package/src/viewcollection.js +206 -206
- package/theme/components/autocomplete/autocomplete.css +22 -0
- package/theme/components/formheader/formheader.css +8 -0
- package/theme/components/highlightedtext/highlightedtext.css +12 -0
- package/theme/components/search/search.css +43 -0
- package/theme/components/spinner/spinner.css +23 -0
- package/theme/components/textarea/textarea.css +10 -0
|
@@ -1,125 +1,125 @@
|
|
|
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 ui/labeledinput/labeledinputview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
import LabelView from '../label/labelview';
|
|
10
|
-
import { uid } from '@ckeditor/ckeditor5-utils';
|
|
11
|
-
import '../../theme/components/labeledinput/labeledinput.css';
|
|
12
|
-
/**
|
|
13
|
-
* The labeled input view class.
|
|
14
|
-
*/
|
|
15
|
-
export default class LabeledInputView extends View {
|
|
16
|
-
/**
|
|
17
|
-
* Creates an instance of the labeled input view class.
|
|
18
|
-
*
|
|
19
|
-
* @param locale The locale instance.
|
|
20
|
-
* @param InputView Constructor of the input view.
|
|
21
|
-
*/
|
|
22
|
-
constructor(locale, InputView) {
|
|
23
|
-
super(locale);
|
|
24
|
-
const inputUid = `ck-input-${uid()}`;
|
|
25
|
-
const statusUid = `ck-status-${uid()}`;
|
|
26
|
-
this.set('label', undefined);
|
|
27
|
-
this.set('value', undefined);
|
|
28
|
-
this.set('isReadOnly', false);
|
|
29
|
-
this.set('errorText', null);
|
|
30
|
-
this.set('infoText', null);
|
|
31
|
-
this.labelView = this._createLabelView(inputUid);
|
|
32
|
-
this.inputView = this._createInputView(InputView, inputUid, statusUid);
|
|
33
|
-
this.statusView = this._createStatusView(statusUid);
|
|
34
|
-
this.bind('_statusText').to(this, 'errorText', this, 'infoText', (errorText, infoText) => errorText || infoText);
|
|
35
|
-
const bind = this.bindTemplate;
|
|
36
|
-
this.setTemplate({
|
|
37
|
-
tag: 'div',
|
|
38
|
-
attributes: {
|
|
39
|
-
class: [
|
|
40
|
-
'ck',
|
|
41
|
-
'ck-labeled-input',
|
|
42
|
-
bind.if('isReadOnly', 'ck-disabled')
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
children: [
|
|
46
|
-
this.labelView,
|
|
47
|
-
this.inputView,
|
|
48
|
-
this.statusView
|
|
49
|
-
]
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Creates label view class instance and bind with view.
|
|
54
|
-
*
|
|
55
|
-
* @param id Unique id to set as labelView#for attribute.
|
|
56
|
-
*/
|
|
57
|
-
_createLabelView(id) {
|
|
58
|
-
const labelView = new LabelView(this.locale);
|
|
59
|
-
labelView.for = id;
|
|
60
|
-
labelView.bind('text').to(this, 'label');
|
|
61
|
-
return labelView;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Creates input view class instance and bind with view.
|
|
65
|
-
*
|
|
66
|
-
* @param InputView Input view constructor.
|
|
67
|
-
* @param inputUid Unique id to set as inputView#id attribute.
|
|
68
|
-
* @param statusUid Unique id of the status for the input's `aria-describedby` attribute.
|
|
69
|
-
*/
|
|
70
|
-
_createInputView(InputView, inputUid, statusUid) {
|
|
71
|
-
const inputView = new InputView(this.locale, statusUid);
|
|
72
|
-
inputView.id = inputUid;
|
|
73
|
-
inputView.ariaDescribedById = statusUid;
|
|
74
|
-
inputView.bind('value').to(this);
|
|
75
|
-
inputView.bind('isReadOnly').to(this);
|
|
76
|
-
inputView.bind('hasError').to(this, 'errorText', value => !!value);
|
|
77
|
-
inputView.on('input', () => {
|
|
78
|
-
// UX: Make the error text disappear and disable the error indicator as the user
|
|
79
|
-
// starts fixing the errors.
|
|
80
|
-
this.errorText = null;
|
|
81
|
-
});
|
|
82
|
-
return inputView;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
|
|
86
|
-
* next to the {@link #inputView}. See {@link #_statusText}.
|
|
87
|
-
*
|
|
88
|
-
* @param statusUid Unique id of the status, shared with the input's `aria-describedby` attribute.
|
|
89
|
-
*/
|
|
90
|
-
_createStatusView(statusUid) {
|
|
91
|
-
const statusView = new View(this.locale);
|
|
92
|
-
const bind = this.bindTemplate;
|
|
93
|
-
statusView.setTemplate({
|
|
94
|
-
tag: 'div',
|
|
95
|
-
attributes: {
|
|
96
|
-
class: [
|
|
97
|
-
'ck',
|
|
98
|
-
'ck-labeled-input__status',
|
|
99
|
-
bind.if('errorText', 'ck-labeled-input__status_error'),
|
|
100
|
-
bind.if('_statusText', 'ck-hidden', value => !value)
|
|
101
|
-
],
|
|
102
|
-
id: statusUid,
|
|
103
|
-
role: bind.if('errorText', 'alert')
|
|
104
|
-
},
|
|
105
|
-
children: [
|
|
106
|
-
{
|
|
107
|
-
text: bind.to('_statusText')
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
});
|
|
111
|
-
return statusView;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Moves the focus to the input and selects the value.
|
|
115
|
-
*/
|
|
116
|
-
select() {
|
|
117
|
-
this.inputView.select();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Focuses the input.
|
|
121
|
-
*/
|
|
122
|
-
focus() {
|
|
123
|
-
this.inputView.focus();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
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 ui/labeledinput/labeledinputview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import LabelView from '../label/labelview';
|
|
10
|
+
import { uid } from '@ckeditor/ckeditor5-utils';
|
|
11
|
+
import '../../theme/components/labeledinput/labeledinput.css';
|
|
12
|
+
/**
|
|
13
|
+
* The labeled input view class.
|
|
14
|
+
*/
|
|
15
|
+
export default class LabeledInputView extends View {
|
|
16
|
+
/**
|
|
17
|
+
* Creates an instance of the labeled input view class.
|
|
18
|
+
*
|
|
19
|
+
* @param locale The locale instance.
|
|
20
|
+
* @param InputView Constructor of the input view.
|
|
21
|
+
*/
|
|
22
|
+
constructor(locale, InputView) {
|
|
23
|
+
super(locale);
|
|
24
|
+
const inputUid = `ck-input-${uid()}`;
|
|
25
|
+
const statusUid = `ck-status-${uid()}`;
|
|
26
|
+
this.set('label', undefined);
|
|
27
|
+
this.set('value', undefined);
|
|
28
|
+
this.set('isReadOnly', false);
|
|
29
|
+
this.set('errorText', null);
|
|
30
|
+
this.set('infoText', null);
|
|
31
|
+
this.labelView = this._createLabelView(inputUid);
|
|
32
|
+
this.inputView = this._createInputView(InputView, inputUid, statusUid);
|
|
33
|
+
this.statusView = this._createStatusView(statusUid);
|
|
34
|
+
this.bind('_statusText').to(this, 'errorText', this, 'infoText', (errorText, infoText) => errorText || infoText);
|
|
35
|
+
const bind = this.bindTemplate;
|
|
36
|
+
this.setTemplate({
|
|
37
|
+
tag: 'div',
|
|
38
|
+
attributes: {
|
|
39
|
+
class: [
|
|
40
|
+
'ck',
|
|
41
|
+
'ck-labeled-input',
|
|
42
|
+
bind.if('isReadOnly', 'ck-disabled')
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
children: [
|
|
46
|
+
this.labelView,
|
|
47
|
+
this.inputView,
|
|
48
|
+
this.statusView
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates label view class instance and bind with view.
|
|
54
|
+
*
|
|
55
|
+
* @param id Unique id to set as labelView#for attribute.
|
|
56
|
+
*/
|
|
57
|
+
_createLabelView(id) {
|
|
58
|
+
const labelView = new LabelView(this.locale);
|
|
59
|
+
labelView.for = id;
|
|
60
|
+
labelView.bind('text').to(this, 'label');
|
|
61
|
+
return labelView;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates input view class instance and bind with view.
|
|
65
|
+
*
|
|
66
|
+
* @param InputView Input view constructor.
|
|
67
|
+
* @param inputUid Unique id to set as inputView#id attribute.
|
|
68
|
+
* @param statusUid Unique id of the status for the input's `aria-describedby` attribute.
|
|
69
|
+
*/
|
|
70
|
+
_createInputView(InputView, inputUid, statusUid) {
|
|
71
|
+
const inputView = new InputView(this.locale, statusUid);
|
|
72
|
+
inputView.id = inputUid;
|
|
73
|
+
inputView.ariaDescribedById = statusUid;
|
|
74
|
+
inputView.bind('value').to(this);
|
|
75
|
+
inputView.bind('isReadOnly').to(this);
|
|
76
|
+
inputView.bind('hasError').to(this, 'errorText', value => !!value);
|
|
77
|
+
inputView.on('input', () => {
|
|
78
|
+
// UX: Make the error text disappear and disable the error indicator as the user
|
|
79
|
+
// starts fixing the errors.
|
|
80
|
+
this.errorText = null;
|
|
81
|
+
});
|
|
82
|
+
return inputView;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates the status view instance. It displays {@link #errorText} and {@link #infoText}
|
|
86
|
+
* next to the {@link #inputView}. See {@link #_statusText}.
|
|
87
|
+
*
|
|
88
|
+
* @param statusUid Unique id of the status, shared with the input's `aria-describedby` attribute.
|
|
89
|
+
*/
|
|
90
|
+
_createStatusView(statusUid) {
|
|
91
|
+
const statusView = new View(this.locale);
|
|
92
|
+
const bind = this.bindTemplate;
|
|
93
|
+
statusView.setTemplate({
|
|
94
|
+
tag: 'div',
|
|
95
|
+
attributes: {
|
|
96
|
+
class: [
|
|
97
|
+
'ck',
|
|
98
|
+
'ck-labeled-input__status',
|
|
99
|
+
bind.if('errorText', 'ck-labeled-input__status_error'),
|
|
100
|
+
bind.if('_statusText', 'ck-hidden', value => !value)
|
|
101
|
+
],
|
|
102
|
+
id: statusUid,
|
|
103
|
+
role: bind.if('errorText', 'alert')
|
|
104
|
+
},
|
|
105
|
+
children: [
|
|
106
|
+
{
|
|
107
|
+
text: bind.to('_statusText')
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
});
|
|
111
|
+
return statusView;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Moves the focus to the input and selects the value.
|
|
115
|
+
*/
|
|
116
|
+
select() {
|
|
117
|
+
this.inputView.select();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Focuses the input.
|
|
121
|
+
*/
|
|
122
|
+
focus() {
|
|
123
|
+
this.inputView.focus();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 ui/list/listitemgroupview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import type ViewCollection from '../viewcollection';
|
|
10
|
+
import ListView from './listview';
|
|
11
|
+
import { type Locale } from '@ckeditor/ckeditor5-utils';
|
|
12
|
+
/**
|
|
13
|
+
* The list item group view class.
|
|
14
|
+
*/
|
|
15
|
+
export default class ListItemGroupView extends View {
|
|
16
|
+
/**
|
|
17
|
+
* The visible label of the group.
|
|
18
|
+
*
|
|
19
|
+
* @observable
|
|
20
|
+
* @default ''
|
|
21
|
+
*/
|
|
22
|
+
label: string;
|
|
23
|
+
/**
|
|
24
|
+
* Collection of the child list items inside this group.
|
|
25
|
+
*/
|
|
26
|
+
readonly items: ListView['items'];
|
|
27
|
+
/**
|
|
28
|
+
* Collection of the child elements of the group.
|
|
29
|
+
*/
|
|
30
|
+
readonly children: ViewCollection;
|
|
31
|
+
/**
|
|
32
|
+
* Controls whether the item view is visible. Visible by default, list items are hidden
|
|
33
|
+
* using a CSS class.
|
|
34
|
+
*
|
|
35
|
+
* @observable
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
isVisible: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @inheritDoc
|
|
41
|
+
*/
|
|
42
|
+
constructor(locale?: Locale);
|
|
43
|
+
/**
|
|
44
|
+
* Creates a label for the group.
|
|
45
|
+
*/
|
|
46
|
+
private _createLabel;
|
|
47
|
+
/**
|
|
48
|
+
* Focuses the list item.
|
|
49
|
+
*/
|
|
50
|
+
focus(): void;
|
|
51
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
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 ui/list/listitemgroupview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import ListView from './listview';
|
|
10
|
+
import { uid } from '@ckeditor/ckeditor5-utils';
|
|
11
|
+
/**
|
|
12
|
+
* The list item group view class.
|
|
13
|
+
*/
|
|
14
|
+
export default class ListItemGroupView extends View {
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
constructor(locale) {
|
|
19
|
+
super(locale);
|
|
20
|
+
const bind = this.bindTemplate;
|
|
21
|
+
const groupLabelId = `ck-editor__label_${uid()}`;
|
|
22
|
+
const nestedList = new ListView(locale);
|
|
23
|
+
this.children = this.createCollection();
|
|
24
|
+
this.children.addMany([this._createLabel(groupLabelId), nestedList]);
|
|
25
|
+
this.set({
|
|
26
|
+
label: '',
|
|
27
|
+
isVisible: true
|
|
28
|
+
});
|
|
29
|
+
nestedList.set({
|
|
30
|
+
role: 'group',
|
|
31
|
+
ariaLabelledBy: groupLabelId
|
|
32
|
+
});
|
|
33
|
+
// Disable focus tracking and accessible navigation in the child list.
|
|
34
|
+
nestedList.focusTracker.destroy();
|
|
35
|
+
nestedList.keystrokes.destroy();
|
|
36
|
+
this.items = nestedList.items;
|
|
37
|
+
this.setTemplate({
|
|
38
|
+
tag: 'li',
|
|
39
|
+
attributes: {
|
|
40
|
+
role: 'presentation',
|
|
41
|
+
class: [
|
|
42
|
+
'ck',
|
|
43
|
+
'ck-list__group',
|
|
44
|
+
bind.if('isVisible', 'ck-hidden', value => !value)
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
children: this.children
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Creates a label for the group.
|
|
52
|
+
*/
|
|
53
|
+
_createLabel(groupLabelId) {
|
|
54
|
+
const labelView = new View(this.locale);
|
|
55
|
+
const bind = this.bindTemplate;
|
|
56
|
+
labelView.setTemplate({
|
|
57
|
+
tag: 'span',
|
|
58
|
+
attributes: {
|
|
59
|
+
id: groupLabelId
|
|
60
|
+
},
|
|
61
|
+
children: [
|
|
62
|
+
{ text: bind.to('label') }
|
|
63
|
+
]
|
|
64
|
+
});
|
|
65
|
+
return labelView;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Focuses the list item.
|
|
69
|
+
*/
|
|
70
|
+
focus() {
|
|
71
|
+
if (this.items.first) {
|
|
72
|
+
this.items.first.focus();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -1,35 +1,36 @@
|
|
|
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 ui/list/listitemview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
import type
|
|
10
|
-
import type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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 ui/list/listitemview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import type { FocusableView } from '../focuscycler';
|
|
10
|
+
import type ViewCollection from '../viewcollection';
|
|
11
|
+
import type { Locale } from '@ckeditor/ckeditor5-utils';
|
|
12
|
+
/**
|
|
13
|
+
* The list item view class.
|
|
14
|
+
*/
|
|
15
|
+
export default class ListItemView extends View {
|
|
16
|
+
/**
|
|
17
|
+
* Collection of the child views inside of the list item {@link #element}.
|
|
18
|
+
*/
|
|
19
|
+
readonly children: ViewCollection<FocusableView>;
|
|
20
|
+
/**
|
|
21
|
+
* Controls whether the item view is visible. Visible by default, list items are hidden
|
|
22
|
+
* using a CSS class.
|
|
23
|
+
*
|
|
24
|
+
* @observable
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
isVisible: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
constructor(locale?: Locale);
|
|
32
|
+
/**
|
|
33
|
+
* Focuses the list item.
|
|
34
|
+
*/
|
|
35
|
+
focus(): void;
|
|
36
|
+
}
|
package/src/list/listitemview.js
CHANGED
|
@@ -1,40 +1,42 @@
|
|
|
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 ui/list/listitemview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
/**
|
|
10
|
-
* The list item view class.
|
|
11
|
-
*/
|
|
12
|
-
export default class ListItemView extends View {
|
|
13
|
-
/**
|
|
14
|
-
* @inheritDoc
|
|
15
|
-
*/
|
|
16
|
-
constructor(locale) {
|
|
17
|
-
super(locale);
|
|
18
|
-
const bind = this.bindTemplate;
|
|
19
|
-
this.set('isVisible', true);
|
|
20
|
-
this.children = this.createCollection();
|
|
21
|
-
this.setTemplate({
|
|
22
|
-
tag: 'li',
|
|
23
|
-
attributes: {
|
|
24
|
-
class: [
|
|
25
|
-
'ck',
|
|
26
|
-
'ck-list__item',
|
|
27
|
-
bind.if('isVisible', 'ck-hidden', value => !value)
|
|
28
|
-
],
|
|
29
|
-
role: 'presentation'
|
|
30
|
-
},
|
|
31
|
-
children: this.children
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Focuses the list item.
|
|
36
|
-
*/
|
|
37
|
-
focus() {
|
|
38
|
-
this.children.first
|
|
39
|
-
|
|
40
|
-
}
|
|
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 ui/list/listitemview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
/**
|
|
10
|
+
* The list item view class.
|
|
11
|
+
*/
|
|
12
|
+
export default class ListItemView extends View {
|
|
13
|
+
/**
|
|
14
|
+
* @inheritDoc
|
|
15
|
+
*/
|
|
16
|
+
constructor(locale) {
|
|
17
|
+
super(locale);
|
|
18
|
+
const bind = this.bindTemplate;
|
|
19
|
+
this.set('isVisible', true);
|
|
20
|
+
this.children = this.createCollection();
|
|
21
|
+
this.setTemplate({
|
|
22
|
+
tag: 'li',
|
|
23
|
+
attributes: {
|
|
24
|
+
class: [
|
|
25
|
+
'ck',
|
|
26
|
+
'ck-list__item',
|
|
27
|
+
bind.if('isVisible', 'ck-hidden', value => !value)
|
|
28
|
+
],
|
|
29
|
+
role: 'presentation'
|
|
30
|
+
},
|
|
31
|
+
children: this.children
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Focuses the list item.
|
|
36
|
+
*/
|
|
37
|
+
focus() {
|
|
38
|
+
if (this.children.first) {
|
|
39
|
+
this.children.first.focus();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
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 ui/list/listseparatorview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
import type { Locale } from '@ckeditor/ckeditor5-utils';
|
|
10
|
-
/**
|
|
11
|
-
* The list separator view class.
|
|
12
|
-
*/
|
|
13
|
-
export default class ListSeparatorView extends View {
|
|
14
|
-
/**
|
|
15
|
-
* @inheritDoc
|
|
16
|
-
*/
|
|
17
|
-
constructor(locale?: Locale);
|
|
18
|
-
}
|
|
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 ui/list/listseparatorview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
import type { Locale } from '@ckeditor/ckeditor5-utils';
|
|
10
|
+
/**
|
|
11
|
+
* The list separator view class.
|
|
12
|
+
*/
|
|
13
|
+
export default class ListSeparatorView extends View {
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
constructor(locale?: Locale);
|
|
18
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
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 ui/list/listseparatorview
|
|
7
|
-
*/
|
|
8
|
-
import View from '../view';
|
|
9
|
-
/**
|
|
10
|
-
* The list separator view class.
|
|
11
|
-
*/
|
|
12
|
-
export default class ListSeparatorView extends View {
|
|
13
|
-
/**
|
|
14
|
-
* @inheritDoc
|
|
15
|
-
*/
|
|
16
|
-
constructor(locale) {
|
|
17
|
-
super(locale);
|
|
18
|
-
this.setTemplate({
|
|
19
|
-
tag: 'li',
|
|
20
|
-
attributes: {
|
|
21
|
-
class: [
|
|
22
|
-
'ck',
|
|
23
|
-
'ck-list__separator'
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
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 ui/list/listseparatorview
|
|
7
|
+
*/
|
|
8
|
+
import View from '../view';
|
|
9
|
+
/**
|
|
10
|
+
* The list separator view class.
|
|
11
|
+
*/
|
|
12
|
+
export default class ListSeparatorView extends View {
|
|
13
|
+
/**
|
|
14
|
+
* @inheritDoc
|
|
15
|
+
*/
|
|
16
|
+
constructor(locale) {
|
|
17
|
+
super(locale);
|
|
18
|
+
this.setTemplate({
|
|
19
|
+
tag: 'li',
|
|
20
|
+
attributes: {
|
|
21
|
+
class: [
|
|
22
|
+
'ck',
|
|
23
|
+
'ck-list__separator'
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|