@ckeditor/ckeditor5-ui 40.0.0 → 40.1.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/LICENSE.md +3 -3
- package/lang/translations/pt-br.po +1 -1
- package/lang/translations/ug.po +26 -26
- package/package.json +3 -3
- package/src/arialiveannouncer.d.ts +94 -0
- package/src/arialiveannouncer.js +113 -0
- package/src/augmentation.d.ts +86 -86
- package/src/augmentation.js +5 -5
- package/src/autocomplete/autocompleteview.d.ts +81 -81
- package/src/autocomplete/autocompleteview.js +153 -146
- 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 +172 -178
- package/src/button/button.js +5 -5
- package/src/button/buttonlabel.d.ts +34 -34
- package/src/button/buttonlabel.js +5 -5
- package/src/button/buttonlabelview.d.ts +31 -31
- package/src/button/buttonlabelview.js +42 -42
- package/src/button/buttonview.d.ts +181 -185
- package/src/button/buttonview.js +217 -219
- 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 -379
- package/src/dropdown/utils.d.ts +235 -235
- package/src/dropdown/utils.js +463 -458
- 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 +288 -282
- package/src/editorui/editorui.js +412 -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 -276
- package/src/focuscycler.d.ts +226 -226
- package/src/focuscycler.js +245 -245
- package/src/formheader/formheaderview.d.ts +59 -59
- package/src/formheader/formheaderview.js +69 -69
- package/src/highlightedtext/highlightedtextview.d.ts +38 -38
- package/src/highlightedtext/highlightedtextview.js +102 -102
- package/src/icon/iconview.d.ts +85 -85
- package/src/icon/iconview.js +114 -114
- package/src/iframe/iframeview.d.ts +50 -50
- package/src/iframe/iframeview.js +63 -63
- package/src/index.d.ts +73 -73
- package/src/index.js +70 -70
- package/src/input/inputbase.d.ts +107 -107
- package/src/input/inputbase.js +110 -110
- package/src/input/inputview.d.ts +36 -36
- package/src/input/inputview.js +24 -24
- 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 -187
- package/src/labeledfield/labeledfieldview.js +157 -157
- package/src/labeledfield/utils.d.ts +123 -123
- package/src/labeledfield/utils.js +176 -176
- package/src/labeledinput/labeledinputview.d.ts +125 -125
- package/src/labeledinput/labeledinputview.js +125 -125
- package/src/list/listitemgroupview.d.ts +59 -51
- package/src/list/listitemgroupview.js +63 -75
- package/src/list/listitemview.d.ts +36 -36
- package/src/list/listitemview.js +42 -42
- package/src/list/listseparatorview.d.ts +18 -18
- package/src/list/listseparatorview.js +28 -28
- package/src/list/listview.d.ts +122 -122
- package/src/list/listview.js +187 -187
- 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 -1010
- 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 -156
- package/src/panel/sticky/stickypanelview.js +234 -234
- package/src/search/filteredview.d.ts +31 -31
- package/src/search/filteredview.js +5 -5
- package/src/search/searchinfoview.d.ts +45 -45
- package/src/search/searchinfoview.js +59 -59
- package/src/search/searchresultsview.d.ts +54 -54
- package/src/search/searchresultsview.js +65 -65
- package/src/search/text/searchtextqueryview.d.ts +76 -76
- package/src/search/text/searchtextqueryview.js +75 -75
- package/src/search/text/searchtextview.d.ts +219 -219
- package/src/search/text/searchtextview.js +201 -201
- package/src/spinner/spinnerview.d.ts +25 -25
- package/src/spinner/spinnerview.js +38 -38
- package/src/template.d.ts +942 -942
- package/src/template.js +1294 -1294
- package/src/textarea/textareaview.d.ts +88 -88
- package/src/textarea/textareaview.js +142 -140
- 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 -395
- package/src/toolbar/normalizetoolbarconfig.d.ts +40 -40
- package/src/toolbar/normalizetoolbarconfig.js +52 -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 -266
- package/src/toolbar/toolbarview.js +719 -719
- 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/arialiveannouncer/arialiveannouncer.css +10 -0
- package/theme/components/button/button.css +9 -1
- package/theme/components/formheader/formheader.css +0 -4
|
@@ -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
|
+
}
|
|
@@ -1,51 +1,59 @@
|
|
|
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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* @
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
readonly
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
|
|
50
|
-
|
|
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 LabelView from '../label/labelview';
|
|
12
|
+
import { type Locale } from '@ckeditor/ckeditor5-utils';
|
|
13
|
+
/**
|
|
14
|
+
* The list item group view class.
|
|
15
|
+
*/
|
|
16
|
+
export default class ListItemGroupView extends View {
|
|
17
|
+
/**
|
|
18
|
+
* The visible label of the group.
|
|
19
|
+
*
|
|
20
|
+
* @observable
|
|
21
|
+
* @default ''
|
|
22
|
+
*/
|
|
23
|
+
label: string;
|
|
24
|
+
/**
|
|
25
|
+
* Label of the group view. Its text is configurable using the {@link #label label attribute}.
|
|
26
|
+
*
|
|
27
|
+
* If a custom label view is not passed in `ListItemGroupView` constructor, the label is an instance
|
|
28
|
+
* of {@link module:ui/label/labelview~LabelView}.
|
|
29
|
+
*/
|
|
30
|
+
readonly labelView: LabelView;
|
|
31
|
+
/**
|
|
32
|
+
* Collection of the child list items inside this group.
|
|
33
|
+
*/
|
|
34
|
+
readonly items: ListView['items'];
|
|
35
|
+
/**
|
|
36
|
+
* Collection of the child elements of the group.
|
|
37
|
+
*/
|
|
38
|
+
readonly children: ViewCollection;
|
|
39
|
+
/**
|
|
40
|
+
* Controls whether the item view is visible. Visible by default, list items are hidden
|
|
41
|
+
* using a CSS class.
|
|
42
|
+
*
|
|
43
|
+
* @observable
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
isVisible: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Creates an instance of the list item group view class.
|
|
49
|
+
*
|
|
50
|
+
* @param locale The {@link module:core/editor/editor~Editor#locale} instance.
|
|
51
|
+
* @param labelView The instance of the group's label. If not provided, an instance of
|
|
52
|
+
* {@link module:ui/label/labelview~LabelView} is used.
|
|
53
|
+
*/
|
|
54
|
+
constructor(locale?: Locale, labelView?: LabelView);
|
|
55
|
+
/**
|
|
56
|
+
* Focuses the list item.
|
|
57
|
+
*/
|
|
58
|
+
focus(): void;
|
|
59
|
+
}
|
|
@@ -1,75 +1,63 @@
|
|
|
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
|
|
11
|
-
/**
|
|
12
|
-
* The list item group view class.
|
|
13
|
-
*/
|
|
14
|
-
export default class ListItemGroupView extends View {
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
nestedList.
|
|
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
|
-
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
|
+
/**
|
|
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 LabelView from '../label/labelview';
|
|
11
|
+
/**
|
|
12
|
+
* The list item group view class.
|
|
13
|
+
*/
|
|
14
|
+
export default class ListItemGroupView extends View {
|
|
15
|
+
/**
|
|
16
|
+
* Creates an instance of the list item group view class.
|
|
17
|
+
*
|
|
18
|
+
* @param locale The {@link module:core/editor/editor~Editor#locale} instance.
|
|
19
|
+
* @param labelView The instance of the group's label. If not provided, an instance of
|
|
20
|
+
* {@link module:ui/label/labelview~LabelView} is used.
|
|
21
|
+
*/
|
|
22
|
+
constructor(locale, labelView = new LabelView()) {
|
|
23
|
+
super(locale);
|
|
24
|
+
const bind = this.bindTemplate;
|
|
25
|
+
const nestedList = new ListView(locale);
|
|
26
|
+
this.set({
|
|
27
|
+
label: '',
|
|
28
|
+
isVisible: true
|
|
29
|
+
});
|
|
30
|
+
this.labelView = labelView;
|
|
31
|
+
this.labelView.bind('text').to(this, 'label');
|
|
32
|
+
this.children = this.createCollection();
|
|
33
|
+
this.children.addMany([this.labelView, nestedList]);
|
|
34
|
+
nestedList.set({
|
|
35
|
+
role: 'group',
|
|
36
|
+
ariaLabelledBy: labelView.id
|
|
37
|
+
});
|
|
38
|
+
// Disable focus tracking and accessible navigation in the child list.
|
|
39
|
+
nestedList.focusTracker.destroy();
|
|
40
|
+
nestedList.keystrokes.destroy();
|
|
41
|
+
this.items = nestedList.items;
|
|
42
|
+
this.setTemplate({
|
|
43
|
+
tag: 'li',
|
|
44
|
+
attributes: {
|
|
45
|
+
role: 'presentation',
|
|
46
|
+
class: [
|
|
47
|
+
'ck',
|
|
48
|
+
'ck-list__group',
|
|
49
|
+
bind.if('isVisible', 'ck-hidden', value => !value)
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
children: this.children
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Focuses the list item.
|
|
57
|
+
*/
|
|
58
|
+
focus() {
|
|
59
|
+
if (this.items.first) {
|
|
60
|
+
this.items.first.focus();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1,36 +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 { 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
|
-
}
|
|
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,42 +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
|
-
if (this.children.first) {
|
|
39
|
-
this.children.first.focus();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
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
|
+
if (this.children.first) {
|
|
39
|
+
this.children.first.focus();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|