quasar 2.12.6 → 2.13.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/api/QField.json +0 -3
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QTable.json +54 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +6 -0
- package/dist/lang/de-DE.umd.prod.js +6 -0
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.addon.prod.css +1 -1
- package/dist/quasar.addon.rtl.prod.css +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.esm.js +122 -48
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +122 -48
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/index.d.ts +13 -3
- package/dist/vetur/quasar-attributes.json +1 -1
- package/dist/web-types/web-types.json +2 -6
- package/lang/de-CH.js +98 -0
- package/lang/de-CH.mjs +93 -0
- package/lang/de-DE.js +98 -0
- package/lang/de-DE.mjs +93 -0
- package/lang/index.json +8 -0
- package/package.json +4 -3
- package/src/components/field/__tests__/QField.cy.js +156 -0
- package/src/components/input/use-mask.js +6 -1
- package/src/components/scroll-area/QScrollArea.js +16 -1
- package/src/components/select/QSelect.js +42 -17
- package/src/components/select/QSelect.json +1 -1
- package/src/components/select/__tests__/QSelect.cy.js +2 -1
- package/src/components/slider/use-slider.js +13 -12
- package/src/components/table/QTable.json +38 -1
- package/src/components/table/table-sort.js +5 -0
- package/src/components/time/QTime.js +16 -3
- package/src/components/tree/QTree.js +22 -12
- package/src/composables/private/__tests__/FieldWrapper.vue +17 -2
- package/src/composables/private/__tests__/use-field.cy.js +334 -137
- package/src/composables/private/__tests__/use-validate.cy.js +162 -15
package/dist/types/index.d.ts
CHANGED
|
@@ -5181,7 +5181,6 @@ export interface QFieldSlots {
|
|
|
5181
5181
|
*/
|
|
5182
5182
|
emitValue: (value: any) => void;
|
|
5183
5183
|
}) => VNode[];
|
|
5184
|
-
rawControl: () => VNode[];
|
|
5185
5184
|
}
|
|
5186
5185
|
|
|
5187
5186
|
export interface QField extends ComponentPublicInstance<QFieldProps> {
|
|
@@ -9062,7 +9061,7 @@ export interface QSelectProps {
|
|
|
9062
9061
|
*/
|
|
9063
9062
|
emitValue?: boolean | undefined;
|
|
9064
9063
|
/**
|
|
9065
|
-
* Debounce the input model update with an amount of milliseconds
|
|
9064
|
+
* Debounce the input model update with an amount of milliseconds (also affects the 'filter' event, if used)
|
|
9066
9065
|
* Default value: 500
|
|
9067
9066
|
*/
|
|
9068
9067
|
inputDebounce?: number | string | undefined;
|
|
@@ -10927,7 +10926,7 @@ export interface QTableProps {
|
|
|
10927
10926
|
*/
|
|
10928
10927
|
sortable?: boolean;
|
|
10929
10928
|
/**
|
|
10930
|
-
* Compare function if you have some custom data or want a specific way to compare two rows
|
|
10929
|
+
* Compare function if you have some custom data or want a specific way to compare two rows; rows with null/undefined values will get sorted without triggering this method (use 'rawSort' instead if you want to handle those values too)
|
|
10931
10930
|
* @param a Value of the first comparison term
|
|
10932
10931
|
* @param b Value of the second comparison term
|
|
10933
10932
|
* @param rowA Full Row object in which is contained the first term
|
|
@@ -10935,6 +10934,15 @@ export interface QTableProps {
|
|
|
10935
10934
|
* @returns Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other
|
|
10936
10935
|
*/
|
|
10937
10936
|
sort?: (a: any, b: any, rowA: any, rowB: any) => number;
|
|
10937
|
+
/**
|
|
10938
|
+
* Compare function if you have some custom data or want a specific way to compare two rows; includes rows with null/undefined values (use 'sort' instead if you don't want that)
|
|
10939
|
+
* @param a Value of the first comparison term
|
|
10940
|
+
* @param b Value of the second comparison term
|
|
10941
|
+
* @param rowA Full Row object in which is contained the first term
|
|
10942
|
+
* @param rowB Full Row object in which is contained the second term
|
|
10943
|
+
* @returns Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other
|
|
10944
|
+
*/
|
|
10945
|
+
rawSort?: (a: any, b: any, rowA: any, rowB: any) => number;
|
|
10938
10946
|
/**
|
|
10939
10947
|
* Set column sort order: 'ad' (ascending-descending) or 'da' (descending-ascending); Overrides the 'column-sort-order' prop
|
|
10940
10948
|
* Default value: ad
|
|
@@ -15579,6 +15587,8 @@ declare module "./lang" {
|
|
|
15579
15587
|
ca: true;
|
|
15580
15588
|
cs: true;
|
|
15581
15589
|
da: true;
|
|
15590
|
+
"de-CH": true;
|
|
15591
|
+
"de-DE": true;
|
|
15582
15592
|
de: true;
|
|
15583
15593
|
el: true;
|
|
15584
15594
|
"en-GB": true;
|
|
@@ -4105,7 +4105,7 @@
|
|
|
4105
4105
|
},
|
|
4106
4106
|
"q-select/input-debounce": {
|
|
4107
4107
|
"type": "number|string",
|
|
4108
|
-
"description": "Debounce the input model update with an amount of milliseconds"
|
|
4108
|
+
"description": "Debounce the input model update with an amount of milliseconds (also affects the 'filter' event, if used)"
|
|
4109
4109
|
},
|
|
4110
4110
|
"q-select/input-class": {
|
|
4111
4111
|
"type": "string|array|object",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "quasar",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.13.0",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -6405,10 +6405,6 @@
|
|
|
6405
6405
|
"name": "control",
|
|
6406
6406
|
"description": "Slot for controls; Suggestion QSlider, QRange, QKnob, ...",
|
|
6407
6407
|
"doc-url": "https://v2.quasar.dev/vue-components/field"
|
|
6408
|
-
},
|
|
6409
|
-
{
|
|
6410
|
-
"name": "rawControl",
|
|
6411
|
-
"doc-url": "https://v2.quasar.dev/vue-components/field"
|
|
6412
6408
|
}
|
|
6413
6409
|
],
|
|
6414
6410
|
"description": "QField - Quasar component",
|
|
@@ -12993,7 +12989,7 @@
|
|
|
12993
12989
|
"kind": "expression",
|
|
12994
12990
|
"type": "number|string"
|
|
12995
12991
|
},
|
|
12996
|
-
"description": "Debounce the input model update with an amount of milliseconds",
|
|
12992
|
+
"description": "Debounce the input model update with an amount of milliseconds (also affects the 'filter' event, if used)",
|
|
12997
12993
|
"doc-url": "https://v2.quasar.dev/vue-components/select",
|
|
12998
12994
|
"default": "500"
|
|
12999
12995
|
},
|
package/lang/de-CH.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO NOT EDIT THIS FILE. It is automatically generated
|
|
3
|
+
* from its .mjs counterpart (same filename but with .mjs extension).
|
|
4
|
+
* Edit that file instead (de-CH.mjs).
|
|
5
|
+
*/
|
|
6
|
+
module.exports = {
|
|
7
|
+
isoName: 'de-CH',
|
|
8
|
+
nativeName: 'Deutsch (CH)',
|
|
9
|
+
label: {
|
|
10
|
+
clear: 'Leeren',
|
|
11
|
+
ok: 'Ok',
|
|
12
|
+
cancel: 'Abbrechen',
|
|
13
|
+
close: 'Schliessen',
|
|
14
|
+
set: 'Setzen',
|
|
15
|
+
select: 'Auswählen',
|
|
16
|
+
reset: 'Zurücksetzen',
|
|
17
|
+
remove: 'Löschen',
|
|
18
|
+
update: 'Aktualisieren',
|
|
19
|
+
create: 'Erstellen',
|
|
20
|
+
search: 'Suche',
|
|
21
|
+
filter: 'Filter',
|
|
22
|
+
refresh: 'Aktualisieren',
|
|
23
|
+
expand: label => (label ? `Erweitern Sie "${ label }"` : 'Erweitern'),
|
|
24
|
+
collapse: label => (label ? `"${ label }" minimieren` : 'Zusammenbruch')
|
|
25
|
+
},
|
|
26
|
+
date: {
|
|
27
|
+
days: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
|
28
|
+
daysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
|
29
|
+
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
|
30
|
+
monthsShort: 'Jan_Feb_Mar_Apr_Mai_Jun_Jul_Aug_Sep_Okt_Nov_Dez'.split('_'),
|
|
31
|
+
firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
32
|
+
format24h: true,
|
|
33
|
+
pluralDay: 'Tage'
|
|
34
|
+
},
|
|
35
|
+
table: {
|
|
36
|
+
noData: 'Keine Daten vorhanden.',
|
|
37
|
+
noResults: 'Keine Einträge gefunden',
|
|
38
|
+
loading: 'Lade...',
|
|
39
|
+
selectedRecords: rows => (
|
|
40
|
+
rows > 1
|
|
41
|
+
? rows + ' ausgewählte Zeilen'
|
|
42
|
+
: (rows === 0 ? 'Keine' : '1') + ' ausgewählt.'
|
|
43
|
+
),
|
|
44
|
+
recordsPerPage: 'Zeilen pro Seite',
|
|
45
|
+
allRows: 'Alle',
|
|
46
|
+
pagination: (start, end, total) => start + '-' + end + ' von ' + total,
|
|
47
|
+
columns: 'Spalten'
|
|
48
|
+
},
|
|
49
|
+
editor: {
|
|
50
|
+
url: 'URL',
|
|
51
|
+
bold: 'Fett',
|
|
52
|
+
italic: 'Kursiv',
|
|
53
|
+
strikethrough: 'Durchgestrichen',
|
|
54
|
+
underline: 'Unterstrichen',
|
|
55
|
+
unorderedList: 'Ungeordnete Liste',
|
|
56
|
+
orderedList: 'Geordnete Liste',
|
|
57
|
+
subscript: 'tiefgestellt',
|
|
58
|
+
superscript: 'hochgestellt',
|
|
59
|
+
hyperlink: 'Link',
|
|
60
|
+
toggleFullscreen: 'Vollbild umschalten',
|
|
61
|
+
quote: 'Zitat',
|
|
62
|
+
left: 'linksbündig',
|
|
63
|
+
center: 'zentriert',
|
|
64
|
+
right: 'rechtsbündig',
|
|
65
|
+
justify: 'Ausrichten',
|
|
66
|
+
print: 'Drucken',
|
|
67
|
+
outdent: 'ausrücken',
|
|
68
|
+
indent: 'einrücken',
|
|
69
|
+
removeFormat: 'Entferne Formatierung',
|
|
70
|
+
formatting: 'Formatiere',
|
|
71
|
+
fontSize: 'Schriftgrösse',
|
|
72
|
+
align: 'Ausrichten',
|
|
73
|
+
hr: 'Horizontale Linie einfügen',
|
|
74
|
+
undo: 'Rückgänging',
|
|
75
|
+
redo: 'Wiederherstellen',
|
|
76
|
+
heading1: 'Überschrift 1',
|
|
77
|
+
heading2: 'Überschrift 2',
|
|
78
|
+
heading3: 'Überschrift 3',
|
|
79
|
+
heading4: 'Überschrift 4',
|
|
80
|
+
heading5: 'Überschrift 5',
|
|
81
|
+
heading6: 'Überschrift 6',
|
|
82
|
+
paragraph: 'Absatz',
|
|
83
|
+
code: 'Code',
|
|
84
|
+
size1: 'Sehr klein',
|
|
85
|
+
size2: 'klein',
|
|
86
|
+
size3: 'Normal',
|
|
87
|
+
size4: 'Gross',
|
|
88
|
+
size5: 'Grösser',
|
|
89
|
+
size6: 'Sehr gross',
|
|
90
|
+
size7: 'Maximum',
|
|
91
|
+
defaultFont: 'Standard Schrift',
|
|
92
|
+
viewSource: 'Quelltext anzeigen'
|
|
93
|
+
},
|
|
94
|
+
tree: {
|
|
95
|
+
noNodes: 'Keine Knoten verfügbar',
|
|
96
|
+
noResults: 'Keine passenden Knoten gefunden'
|
|
97
|
+
}
|
|
98
|
+
}
|
package/lang/de-CH.mjs
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
isoName: 'de-CH',
|
|
3
|
+
nativeName: 'Deutsch (CH)',
|
|
4
|
+
label: {
|
|
5
|
+
clear: 'Leeren',
|
|
6
|
+
ok: 'Ok',
|
|
7
|
+
cancel: 'Abbrechen',
|
|
8
|
+
close: 'Schliessen',
|
|
9
|
+
set: 'Setzen',
|
|
10
|
+
select: 'Auswählen',
|
|
11
|
+
reset: 'Zurücksetzen',
|
|
12
|
+
remove: 'Löschen',
|
|
13
|
+
update: 'Aktualisieren',
|
|
14
|
+
create: 'Erstellen',
|
|
15
|
+
search: 'Suche',
|
|
16
|
+
filter: 'Filter',
|
|
17
|
+
refresh: 'Aktualisieren',
|
|
18
|
+
expand: label => (label ? `Erweitern Sie "${ label }"` : 'Erweitern'),
|
|
19
|
+
collapse: label => (label ? `"${ label }" minimieren` : 'Zusammenbruch')
|
|
20
|
+
},
|
|
21
|
+
date: {
|
|
22
|
+
days: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
|
23
|
+
daysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
|
24
|
+
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
|
25
|
+
monthsShort: 'Jan_Feb_Mar_Apr_Mai_Jun_Jul_Aug_Sep_Okt_Nov_Dez'.split('_'),
|
|
26
|
+
firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
27
|
+
format24h: true,
|
|
28
|
+
pluralDay: 'Tage'
|
|
29
|
+
},
|
|
30
|
+
table: {
|
|
31
|
+
noData: 'Keine Daten vorhanden.',
|
|
32
|
+
noResults: 'Keine Einträge gefunden',
|
|
33
|
+
loading: 'Lade...',
|
|
34
|
+
selectedRecords: rows => (
|
|
35
|
+
rows > 1
|
|
36
|
+
? rows + ' ausgewählte Zeilen'
|
|
37
|
+
: (rows === 0 ? 'Keine' : '1') + ' ausgewählt.'
|
|
38
|
+
),
|
|
39
|
+
recordsPerPage: 'Zeilen pro Seite',
|
|
40
|
+
allRows: 'Alle',
|
|
41
|
+
pagination: (start, end, total) => start + '-' + end + ' von ' + total,
|
|
42
|
+
columns: 'Spalten'
|
|
43
|
+
},
|
|
44
|
+
editor: {
|
|
45
|
+
url: 'URL',
|
|
46
|
+
bold: 'Fett',
|
|
47
|
+
italic: 'Kursiv',
|
|
48
|
+
strikethrough: 'Durchgestrichen',
|
|
49
|
+
underline: 'Unterstrichen',
|
|
50
|
+
unorderedList: 'Ungeordnete Liste',
|
|
51
|
+
orderedList: 'Geordnete Liste',
|
|
52
|
+
subscript: 'tiefgestellt',
|
|
53
|
+
superscript: 'hochgestellt',
|
|
54
|
+
hyperlink: 'Link',
|
|
55
|
+
toggleFullscreen: 'Vollbild umschalten',
|
|
56
|
+
quote: 'Zitat',
|
|
57
|
+
left: 'linksbündig',
|
|
58
|
+
center: 'zentriert',
|
|
59
|
+
right: 'rechtsbündig',
|
|
60
|
+
justify: 'Ausrichten',
|
|
61
|
+
print: 'Drucken',
|
|
62
|
+
outdent: 'ausrücken',
|
|
63
|
+
indent: 'einrücken',
|
|
64
|
+
removeFormat: 'Entferne Formatierung',
|
|
65
|
+
formatting: 'Formatiere',
|
|
66
|
+
fontSize: 'Schriftgrösse',
|
|
67
|
+
align: 'Ausrichten',
|
|
68
|
+
hr: 'Horizontale Linie einfügen',
|
|
69
|
+
undo: 'Rückgänging',
|
|
70
|
+
redo: 'Wiederherstellen',
|
|
71
|
+
heading1: 'Überschrift 1',
|
|
72
|
+
heading2: 'Überschrift 2',
|
|
73
|
+
heading3: 'Überschrift 3',
|
|
74
|
+
heading4: 'Überschrift 4',
|
|
75
|
+
heading5: 'Überschrift 5',
|
|
76
|
+
heading6: 'Überschrift 6',
|
|
77
|
+
paragraph: 'Absatz',
|
|
78
|
+
code: 'Code',
|
|
79
|
+
size1: 'Sehr klein',
|
|
80
|
+
size2: 'klein',
|
|
81
|
+
size3: 'Normal',
|
|
82
|
+
size4: 'Gross',
|
|
83
|
+
size5: 'Grösser',
|
|
84
|
+
size6: 'Sehr gross',
|
|
85
|
+
size7: 'Maximum',
|
|
86
|
+
defaultFont: 'Standard Schrift',
|
|
87
|
+
viewSource: 'Quelltext anzeigen'
|
|
88
|
+
},
|
|
89
|
+
tree: {
|
|
90
|
+
noNodes: 'Keine Knoten verfügbar',
|
|
91
|
+
noResults: 'Keine passenden Knoten gefunden'
|
|
92
|
+
}
|
|
93
|
+
}
|
package/lang/de-DE.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO NOT EDIT THIS FILE. It is automatically generated
|
|
3
|
+
* from its .mjs counterpart (same filename but with .mjs extension).
|
|
4
|
+
* Edit that file instead (de-DE.mjs).
|
|
5
|
+
*/
|
|
6
|
+
module.exports = {
|
|
7
|
+
isoName: 'de-DE',
|
|
8
|
+
nativeName: 'Deutsch (DE)',
|
|
9
|
+
label: {
|
|
10
|
+
clear: 'Leeren',
|
|
11
|
+
ok: 'Ok',
|
|
12
|
+
cancel: 'Abbrechen',
|
|
13
|
+
close: 'Schließen',
|
|
14
|
+
set: 'Setzen',
|
|
15
|
+
select: 'Auswählen',
|
|
16
|
+
reset: 'Zurücksetzen',
|
|
17
|
+
remove: 'Löschen',
|
|
18
|
+
update: 'Aktualisieren',
|
|
19
|
+
create: 'Erstellen',
|
|
20
|
+
search: 'Suche',
|
|
21
|
+
filter: 'Filter',
|
|
22
|
+
refresh: 'Aktualisieren',
|
|
23
|
+
expand: label => (label ? `Erweitern Sie "${ label }"` : 'Erweitern'),
|
|
24
|
+
collapse: label => (label ? `"${ label }" minimieren` : 'Zusammenbruch')
|
|
25
|
+
},
|
|
26
|
+
date: {
|
|
27
|
+
days: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
|
28
|
+
daysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
|
29
|
+
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
|
30
|
+
monthsShort: 'Jan_Feb_Mar_Apr_Mai_Jun_Jul_Aug_Sep_Okt_Nov_Dez'.split('_'),
|
|
31
|
+
firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
32
|
+
format24h: true,
|
|
33
|
+
pluralDay: 'Tage'
|
|
34
|
+
},
|
|
35
|
+
table: {
|
|
36
|
+
noData: 'Keine Daten vorhanden.',
|
|
37
|
+
noResults: 'Keine Einträge gefunden',
|
|
38
|
+
loading: 'Lade...',
|
|
39
|
+
selectedRecords: rows => (
|
|
40
|
+
rows > 1
|
|
41
|
+
? rows + ' ausgewählte Zeilen'
|
|
42
|
+
: (rows === 0 ? 'Keine' : '1') + ' ausgewählt.'
|
|
43
|
+
),
|
|
44
|
+
recordsPerPage: 'Zeilen pro Seite',
|
|
45
|
+
allRows: 'Alle',
|
|
46
|
+
pagination: (start, end, total) => start + '-' + end + ' von ' + total,
|
|
47
|
+
columns: 'Spalten'
|
|
48
|
+
},
|
|
49
|
+
editor: {
|
|
50
|
+
url: 'URL',
|
|
51
|
+
bold: 'Fett',
|
|
52
|
+
italic: 'Kursiv',
|
|
53
|
+
strikethrough: 'Durchgestrichen',
|
|
54
|
+
underline: 'Unterstrichen',
|
|
55
|
+
unorderedList: 'Ungeordnete Liste',
|
|
56
|
+
orderedList: 'Geordnete Liste',
|
|
57
|
+
subscript: 'tiefgestellt',
|
|
58
|
+
superscript: 'hochgestellt',
|
|
59
|
+
hyperlink: 'Link',
|
|
60
|
+
toggleFullscreen: 'Vollbild umschalten',
|
|
61
|
+
quote: 'Zitat',
|
|
62
|
+
left: 'linksbündig',
|
|
63
|
+
center: 'zentriert',
|
|
64
|
+
right: 'rechtsbündig',
|
|
65
|
+
justify: 'Ausrichten',
|
|
66
|
+
print: 'Drucken',
|
|
67
|
+
outdent: 'ausrücken',
|
|
68
|
+
indent: 'einrücken',
|
|
69
|
+
removeFormat: 'Entferne Formatierung',
|
|
70
|
+
formatting: 'Formatiere',
|
|
71
|
+
fontSize: 'Schriftgröße',
|
|
72
|
+
align: 'Ausrichten',
|
|
73
|
+
hr: 'Horizontale Linie einfügen',
|
|
74
|
+
undo: 'Rückgänging',
|
|
75
|
+
redo: 'Wiederherstellen',
|
|
76
|
+
heading1: 'Überschrift 1',
|
|
77
|
+
heading2: 'Überschrift 2',
|
|
78
|
+
heading3: 'Überschrift 3',
|
|
79
|
+
heading4: 'Überschrift 4',
|
|
80
|
+
heading5: 'Überschrift 5',
|
|
81
|
+
heading6: 'Überschrift 6',
|
|
82
|
+
paragraph: 'Absatz',
|
|
83
|
+
code: 'Code',
|
|
84
|
+
size1: 'Sehr klein',
|
|
85
|
+
size2: 'klein',
|
|
86
|
+
size3: 'Normal',
|
|
87
|
+
size4: 'Groß',
|
|
88
|
+
size5: 'Größer',
|
|
89
|
+
size6: 'Sehr groß',
|
|
90
|
+
size7: 'Maximum',
|
|
91
|
+
defaultFont: 'Standard Schrift',
|
|
92
|
+
viewSource: 'Quelltext anzeigen'
|
|
93
|
+
},
|
|
94
|
+
tree: {
|
|
95
|
+
noNodes: 'Keine Knoten verfügbar',
|
|
96
|
+
noResults: 'Keine passenden Knoten gefunden'
|
|
97
|
+
}
|
|
98
|
+
}
|
package/lang/de-DE.mjs
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
isoName: 'de-DE',
|
|
3
|
+
nativeName: 'Deutsch (DE)',
|
|
4
|
+
label: {
|
|
5
|
+
clear: 'Leeren',
|
|
6
|
+
ok: 'Ok',
|
|
7
|
+
cancel: 'Abbrechen',
|
|
8
|
+
close: 'Schließen',
|
|
9
|
+
set: 'Setzen',
|
|
10
|
+
select: 'Auswählen',
|
|
11
|
+
reset: 'Zurücksetzen',
|
|
12
|
+
remove: 'Löschen',
|
|
13
|
+
update: 'Aktualisieren',
|
|
14
|
+
create: 'Erstellen',
|
|
15
|
+
search: 'Suche',
|
|
16
|
+
filter: 'Filter',
|
|
17
|
+
refresh: 'Aktualisieren',
|
|
18
|
+
expand: label => (label ? `Erweitern Sie "${ label }"` : 'Erweitern'),
|
|
19
|
+
collapse: label => (label ? `"${ label }" minimieren` : 'Zusammenbruch')
|
|
20
|
+
},
|
|
21
|
+
date: {
|
|
22
|
+
days: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
|
23
|
+
daysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
|
24
|
+
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
|
25
|
+
monthsShort: 'Jan_Feb_Mar_Apr_Mai_Jun_Jul_Aug_Sep_Okt_Nov_Dez'.split('_'),
|
|
26
|
+
firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
|
|
27
|
+
format24h: true,
|
|
28
|
+
pluralDay: 'Tage'
|
|
29
|
+
},
|
|
30
|
+
table: {
|
|
31
|
+
noData: 'Keine Daten vorhanden.',
|
|
32
|
+
noResults: 'Keine Einträge gefunden',
|
|
33
|
+
loading: 'Lade...',
|
|
34
|
+
selectedRecords: rows => (
|
|
35
|
+
rows > 1
|
|
36
|
+
? rows + ' ausgewählte Zeilen'
|
|
37
|
+
: (rows === 0 ? 'Keine' : '1') + ' ausgewählt.'
|
|
38
|
+
),
|
|
39
|
+
recordsPerPage: 'Zeilen pro Seite',
|
|
40
|
+
allRows: 'Alle',
|
|
41
|
+
pagination: (start, end, total) => start + '-' + end + ' von ' + total,
|
|
42
|
+
columns: 'Spalten'
|
|
43
|
+
},
|
|
44
|
+
editor: {
|
|
45
|
+
url: 'URL',
|
|
46
|
+
bold: 'Fett',
|
|
47
|
+
italic: 'Kursiv',
|
|
48
|
+
strikethrough: 'Durchgestrichen',
|
|
49
|
+
underline: 'Unterstrichen',
|
|
50
|
+
unorderedList: 'Ungeordnete Liste',
|
|
51
|
+
orderedList: 'Geordnete Liste',
|
|
52
|
+
subscript: 'tiefgestellt',
|
|
53
|
+
superscript: 'hochgestellt',
|
|
54
|
+
hyperlink: 'Link',
|
|
55
|
+
toggleFullscreen: 'Vollbild umschalten',
|
|
56
|
+
quote: 'Zitat',
|
|
57
|
+
left: 'linksbündig',
|
|
58
|
+
center: 'zentriert',
|
|
59
|
+
right: 'rechtsbündig',
|
|
60
|
+
justify: 'Ausrichten',
|
|
61
|
+
print: 'Drucken',
|
|
62
|
+
outdent: 'ausrücken',
|
|
63
|
+
indent: 'einrücken',
|
|
64
|
+
removeFormat: 'Entferne Formatierung',
|
|
65
|
+
formatting: 'Formatiere',
|
|
66
|
+
fontSize: 'Schriftgröße',
|
|
67
|
+
align: 'Ausrichten',
|
|
68
|
+
hr: 'Horizontale Linie einfügen',
|
|
69
|
+
undo: 'Rückgänging',
|
|
70
|
+
redo: 'Wiederherstellen',
|
|
71
|
+
heading1: 'Überschrift 1',
|
|
72
|
+
heading2: 'Überschrift 2',
|
|
73
|
+
heading3: 'Überschrift 3',
|
|
74
|
+
heading4: 'Überschrift 4',
|
|
75
|
+
heading5: 'Überschrift 5',
|
|
76
|
+
heading6: 'Überschrift 6',
|
|
77
|
+
paragraph: 'Absatz',
|
|
78
|
+
code: 'Code',
|
|
79
|
+
size1: 'Sehr klein',
|
|
80
|
+
size2: 'klein',
|
|
81
|
+
size3: 'Normal',
|
|
82
|
+
size4: 'Groß',
|
|
83
|
+
size5: 'Größer',
|
|
84
|
+
size6: 'Sehr groß',
|
|
85
|
+
size7: 'Maximum',
|
|
86
|
+
defaultFont: 'Standard Schrift',
|
|
87
|
+
viewSource: 'Quelltext anzeigen'
|
|
88
|
+
},
|
|
89
|
+
tree: {
|
|
90
|
+
noNodes: 'Keine Knoten verfügbar',
|
|
91
|
+
noResults: 'Keine passenden Knoten gefunden'
|
|
92
|
+
}
|
|
93
|
+
}
|
package/lang/index.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quasar",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
|
|
5
5
|
"main": "dist/quasar.cjs.prod.js",
|
|
6
6
|
"module": "dist/quasar.esm.prod.js",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@quasar/app-vite": "^2.0.0-alpha.0",
|
|
75
75
|
"@quasar/extras": "^1.16.4",
|
|
76
|
-
"@quasar/quasar-app-extension-testing-e2e-cypress": "^5.2.0-alpha.
|
|
76
|
+
"@quasar/quasar-app-extension-testing-e2e-cypress": "^5.2.0-alpha.2",
|
|
77
77
|
"@rollup/plugin-node-resolve": "^11.2.1",
|
|
78
78
|
"@rollup/plugin-replace": "^2.3.3",
|
|
79
79
|
"autoprefixer": "^10.4.13",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"cli-highlight": "^2.1.11",
|
|
82
82
|
"cross-env": "^7.0.3",
|
|
83
83
|
"cssnano": "^5.1.14",
|
|
84
|
-
"cypress": "^
|
|
84
|
+
"cypress": "^13.2.0",
|
|
85
85
|
"cypress-json-results": "^1.2.1",
|
|
86
86
|
"diff": "^5.1.0",
|
|
87
87
|
"eslint": "^8.41.0",
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
"eslint-plugin-vue": "^9.14.1",
|
|
97
97
|
"fast-glob": "^3.3.0",
|
|
98
98
|
"module-alias": "^2.2.2",
|
|
99
|
+
"open": "^9.1.0",
|
|
99
100
|
"postcss-rtlcss": "^4.0.6",
|
|
100
101
|
"prettier": "^2.8.3",
|
|
101
102
|
"recast": "^0.18.5",
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import QField from '../QField'
|
|
2
|
+
import { vModelAdapter } from '@quasar/quasar-app-extension-testing-e2e-cypress'
|
|
3
|
+
import { ref } from 'vue'
|
|
4
|
+
import Icons from '../../../../icon-set/material-icons.mjs'
|
|
5
|
+
|
|
6
|
+
function getHostElement () {
|
|
7
|
+
return cy.get('.q-field')
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function mountQField (options) {
|
|
11
|
+
return cy.mount(QField, options)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
describe('Field API', () => {
|
|
15
|
+
describe('Props', () => {
|
|
16
|
+
describe('Category: model', () => {
|
|
17
|
+
describe('(prop): maxlength', () => {
|
|
18
|
+
it.skip(' ', () => {
|
|
19
|
+
// It is tricky to test this since it will require that we setup a control slot with v-model.
|
|
20
|
+
// This is already tested in QInput and others using use-field composable, so are not not testing it.
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
describe('Slots', () => {
|
|
27
|
+
describe('(slot): control', () => {
|
|
28
|
+
it('should use control slot as content of the field', () => {
|
|
29
|
+
const controlSlot = 'Hello there'
|
|
30
|
+
mountQField({
|
|
31
|
+
slots: {
|
|
32
|
+
control: () => controlSlot
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
getHostElement().get('.q-field__control-container').should('contain', controlSlot)
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
describe('Events', () => {
|
|
42
|
+
describe('(event): update:model-value', () => {
|
|
43
|
+
it('should emit onUpdate:modelValue event', () => {
|
|
44
|
+
const model = ref('text')
|
|
45
|
+
const fn = cy.stub()
|
|
46
|
+
mountQField({
|
|
47
|
+
props: {
|
|
48
|
+
...vModelAdapter(model),
|
|
49
|
+
'onUpdate:modelValue': fn,
|
|
50
|
+
clearable: true
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
getHostElement().get('button[type="button"]')
|
|
55
|
+
.contains(Icons.field.clear).click()
|
|
56
|
+
.then(() => {
|
|
57
|
+
expect(fn).to.be.calledWith()
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
describe('(event): focus', () => {
|
|
63
|
+
it('should emit the focus event', () => {
|
|
64
|
+
const fn = cy.stub()
|
|
65
|
+
|
|
66
|
+
mountQField({
|
|
67
|
+
props: {
|
|
68
|
+
onfocus: fn
|
|
69
|
+
},
|
|
70
|
+
slots: {
|
|
71
|
+
control: 'text'
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
getHostElement().click()
|
|
76
|
+
|
|
77
|
+
getHostElement().then(() => {
|
|
78
|
+
expect(fn).to.be.calledWith()
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
describe('(event): blur', () => {
|
|
84
|
+
it('should emit blur event', () => {
|
|
85
|
+
const fn = cy.stub()
|
|
86
|
+
mountQField({
|
|
87
|
+
props: {
|
|
88
|
+
onblur: fn
|
|
89
|
+
},
|
|
90
|
+
slots: {
|
|
91
|
+
control: 'text'
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
getHostElement()
|
|
96
|
+
.click()
|
|
97
|
+
|
|
98
|
+
getHostElement().then(() => {
|
|
99
|
+
Cypress.vueWrapper.vm.blur()
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
getHostElement()
|
|
103
|
+
.then(() => {
|
|
104
|
+
expect(fn).to.be.calledWith()
|
|
105
|
+
})
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
describe('Methods', () => {
|
|
111
|
+
describe('(method): focus', () => {
|
|
112
|
+
it('should focus the component', () => {
|
|
113
|
+
mountQField({
|
|
114
|
+
slots: {
|
|
115
|
+
control: 'text'
|
|
116
|
+
}
|
|
117
|
+
})
|
|
118
|
+
|
|
119
|
+
getHostElement()
|
|
120
|
+
.get('.q-field--focused')
|
|
121
|
+
.should('not.exist')
|
|
122
|
+
|
|
123
|
+
getHostElement()
|
|
124
|
+
.then(() => {
|
|
125
|
+
Cypress.vueWrapper.vm.focus()
|
|
126
|
+
})
|
|
127
|
+
getHostElement()
|
|
128
|
+
.get('.q-field--focused')
|
|
129
|
+
.should('exist')
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
describe('(method): blur', () => {
|
|
134
|
+
it('should blur the component', () => {
|
|
135
|
+
mountQField({
|
|
136
|
+
slots: {
|
|
137
|
+
control: 'text'
|
|
138
|
+
}
|
|
139
|
+
})
|
|
140
|
+
|
|
141
|
+
getHostElement().click()
|
|
142
|
+
|
|
143
|
+
getHostElement()
|
|
144
|
+
.get('.q-field--focused')
|
|
145
|
+
.should('exist')
|
|
146
|
+
|
|
147
|
+
getHostElement()
|
|
148
|
+
.then(() => {
|
|
149
|
+
Cypress.vueWrapper.vm.blur()
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
cy.get('.q-field--focused').should('not.exist')
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
})
|