quasar 1.20.0 → 1.20.2
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/QBtnDropdown.json +9 -0
- package/dist/api/QChip.json +9 -0
- package/dist/api/QCircularProgress.json +6 -0
- package/dist/api/QExpansionItem.json +59 -0
- package/dist/api/QField.json +2 -1
- package/dist/api/QFile.json +2 -1
- package/dist/api/QInput.json +2 -1
- package/dist/api/QSelect.json +2 -1
- package/dist/api/QTable.json +2 -2
- package/dist/babel-transforms/imports.js +1 -0
- package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/eva-icons.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/line-awesome.umd.min.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/material-icons.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
- package/dist/icon-set/mdi-v3.umd.min.js +1 -1
- package/dist/icon-set/mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-themify.umd.min.js +1 -1
- package/dist/icon-set/themify.umd.min.js +1 -1
- package/dist/lang/ar.umd.min.js +2 -2
- package/dist/lang/az-latn.umd.min.js +2 -2
- package/dist/lang/bg.umd.min.js +2 -2
- package/dist/lang/ca.umd.min.js +2 -2
- package/dist/lang/cs.umd.min.js +2 -2
- package/dist/lang/da.umd.min.js +2 -2
- package/dist/lang/de.umd.min.js +2 -2
- package/dist/lang/el.umd.min.js +2 -2
- package/dist/lang/en-gb.umd.min.js +2 -2
- package/dist/lang/en-us.umd.min.js +2 -2
- package/dist/lang/eo.umd.min.js +2 -2
- package/dist/lang/es.umd.min.js +2 -2
- package/dist/lang/et.umd.min.js +2 -2
- package/dist/lang/eu.umd.min.js +2 -2
- package/dist/lang/fa-ir.umd.min.js +2 -2
- package/dist/lang/fa.umd.min.js +2 -2
- package/dist/lang/fi.umd.min.js +2 -2
- package/dist/lang/fr.umd.min.js +2 -2
- package/dist/lang/gn.umd.min.js +2 -2
- package/dist/lang/he.umd.min.js +2 -2
- package/dist/lang/hr.umd.min.js +2 -2
- package/dist/lang/hu.umd.min.js +2 -2
- package/dist/lang/id.umd.min.js +2 -2
- package/dist/lang/is.umd.min.js +2 -2
- package/dist/lang/it.umd.min.js +2 -2
- package/dist/lang/ja.umd.min.js +2 -2
- package/dist/lang/km.umd.min.js +2 -2
- package/dist/lang/ko-kr.umd.min.js +2 -2
- package/dist/lang/kur-ckb.umd.min.js +2 -2
- package/dist/lang/kz.umd.min.js +2 -2
- package/dist/lang/lu.umd.min.js +2 -2
- package/dist/lang/lv.umd.min.js +2 -2
- package/dist/lang/ml.umd.min.js +2 -2
- package/dist/lang/mm.umd.min.js +2 -2
- package/dist/lang/ms.umd.min.js +2 -2
- package/dist/lang/my.umd.min.js +2 -2
- package/dist/lang/nb-no.umd.min.js +2 -2
- package/dist/lang/nl.umd.min.js +2 -2
- package/dist/lang/pl.umd.min.js +2 -2
- package/dist/lang/pt-br.umd.min.js +2 -2
- package/dist/lang/pt.umd.min.js +2 -2
- package/dist/lang/ro.umd.min.js +2 -2
- package/dist/lang/ru.umd.min.js +2 -2
- package/dist/lang/sk.umd.min.js +2 -2
- package/dist/lang/sl.umd.min.js +2 -2
- package/dist/lang/sm.umd.min.js +2 -2
- package/dist/lang/sr.umd.min.js +2 -2
- package/dist/lang/sv.umd.min.js +2 -2
- package/dist/lang/ta.umd.min.js +2 -2
- package/dist/lang/th.umd.min.js +2 -2
- package/dist/lang/tr.umd.min.js +2 -2
- package/dist/lang/ug.umd.min.js +2 -2
- package/dist/lang/uk.umd.min.js +2 -2
- package/dist/lang/uz-Cyrl.umd.min.js +2 -2
- package/dist/lang/uz-Latn.umd.min.js +2 -2
- package/dist/lang/vi.umd.min.js +2 -2
- package/dist/lang/zh-hans.umd.min.js +2 -2
- package/dist/lang/zh-hant.umd.min.js +2 -2
- package/dist/quasar.addon.css +1 -1
- package/dist/quasar.addon.rtl.css +1 -1
- package/dist/quasar.common.js +2 -2
- package/dist/quasar.css +1 -1
- package/dist/quasar.esm.js +2 -2
- package/dist/quasar.ie.polyfills.js +1 -1
- package/dist/quasar.ie.polyfills.umd.min.js +1 -1
- package/dist/quasar.rtl.css +1 -1
- package/dist/quasar.sass +1 -1
- package/dist/quasar.styl +1 -1
- package/dist/quasar.umd.js +396 -180
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +381 -171
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/types/index.d.ts +21 -1
- package/dist/types/utils/is.d.ts +67 -0
- package/dist/types/utils/run-sequential-promises.d.ts +119 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/vetur/quasar-attributes.json +21 -1
- package/dist/vetur/quasar-tags.json +6 -1
- package/dist/web-types/web-types.json +77 -6
- package/lang/ar.js +3 -1
- package/lang/az-latn.js +3 -1
- package/lang/bg.js +3 -1
- package/lang/ca.js +3 -1
- package/lang/cs.js +3 -1
- package/lang/da.js +3 -1
- package/lang/de.js +3 -1
- package/lang/el.js +3 -1
- package/lang/en-gb.js +3 -1
- package/lang/en-us.js +3 -1
- package/lang/eo.js +3 -1
- package/lang/es.js +3 -1
- package/lang/et.js +3 -1
- package/lang/eu.js +3 -1
- package/lang/fa-ir.js +3 -1
- package/lang/fa.js +3 -1
- package/lang/fi.js +3 -1
- package/lang/fr.js +3 -1
- package/lang/gn.js +3 -1
- package/lang/he.js +3 -1
- package/lang/hr.js +3 -1
- package/lang/hu.js +3 -1
- package/lang/id.js +3 -1
- package/lang/is.js +3 -1
- package/lang/it.js +3 -1
- package/lang/ja.js +3 -1
- package/lang/km.js +3 -1
- package/lang/ko-kr.js +3 -1
- package/lang/kur-ckb.js +3 -1
- package/lang/kz.js +3 -1
- package/lang/lu.js +3 -1
- package/lang/lv.js +3 -1
- package/lang/ml.js +3 -1
- package/lang/mm.js +3 -1
- package/lang/ms.js +3 -1
- package/lang/my.js +3 -1
- package/lang/nb-no.js +3 -1
- package/lang/nl.js +3 -1
- package/lang/pl.js +3 -1
- package/lang/pt-br.js +3 -1
- package/lang/pt.js +3 -1
- package/lang/ro.js +3 -1
- package/lang/ru.js +3 -1
- package/lang/sk.js +3 -1
- package/lang/sl.js +3 -1
- package/lang/sm.js +3 -1
- package/lang/sr.js +3 -1
- package/lang/sv.js +3 -1
- package/lang/ta.js +3 -1
- package/lang/th.js +3 -1
- package/lang/tr.js +3 -1
- package/lang/ug.js +3 -1
- package/lang/uk.js +3 -1
- package/lang/uz-Cyrl.js +3 -1
- package/lang/uz-Latn.js +3 -1
- package/lang/vi.js +3 -1
- package/lang/zh-hans.js +3 -1
- package/lang/zh-hant.js +3 -1
- package/package.json +1 -1
- package/src/components/btn-dropdown/QBtnDropdown.js +17 -4
- package/src/components/btn-dropdown/QBtnDropdown.json +8 -0
- package/src/components/chip/QChip.js +8 -1
- package/src/components/chip/QChip.json +8 -0
- package/src/components/circular-progress/QCircularProgress.js +5 -2
- package/src/components/circular-progress/QCircularProgress.json +7 -0
- package/src/components/dialog/QDialog.js +7 -1
- package/src/components/expansion-item/QExpansionItem.js +38 -3
- package/src/components/expansion-item/QExpansionItem.json +67 -0
- package/src/components/fab/QFab.js +24 -1
- package/src/components/form/QForm.js +43 -49
- package/src/components/input/QInput.js +18 -15
- package/src/components/menu/QMenu.js +1 -0
- package/src/components/select/QSelect.js +1 -4
- package/src/components/table/QTable.js +1 -1
- package/src/components/table/QTable.json +2 -2
- package/src/mixins/file.js +7 -5
- package/src/mixins/validate.js +6 -4
- package/src/mixins/validate.json +2 -1
- package/src/utils/is.js +8 -0
- package/src/utils/run-sequential-promises.js +115 -0
- package/src/utils.js +4 -0
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v1.20.
|
|
2
|
+
* Quasar Framework v1.20.2
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
|
|
14
14
|
|
|
15
|
-
var version = "1.20.
|
|
15
|
+
var version = "1.20.2";
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-useless-escape */
|
|
18
18
|
|
|
@@ -1004,7 +1004,9 @@
|
|
|
1004
1004
|
create: 'Create',
|
|
1005
1005
|
search: 'Search',
|
|
1006
1006
|
filter: 'Filter',
|
|
1007
|
-
refresh: 'Refresh'
|
|
1007
|
+
refresh: 'Refresh',
|
|
1008
|
+
expand: function (label) { return label ? ("Expand \"" + label + "\"") : 'Expand' },
|
|
1009
|
+
collapse: function (label) { return label ? ("Collapse \"" + label + "\"") : 'Collapse' }
|
|
1008
1010
|
},
|
|
1009
1011
|
date: {
|
|
1010
1012
|
days: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
|
@@ -5487,7 +5489,8 @@
|
|
|
5487
5489
|
},
|
|
5488
5490
|
|
|
5489
5491
|
attrs: function attrs () {
|
|
5490
|
-
return Object.assign({}, {tabindex: -1
|
|
5492
|
+
return Object.assign({}, {tabindex: -1,
|
|
5493
|
+
role: 'menu'},
|
|
5491
5494
|
this.qAttrs)
|
|
5492
5495
|
}
|
|
5493
5496
|
},
|
|
@@ -5722,6 +5725,79 @@
|
|
|
5722
5725
|
}
|
|
5723
5726
|
});
|
|
5724
5727
|
|
|
5728
|
+
/**
|
|
5729
|
+
* Based on the work of https://github.com/jchook/uuid-random
|
|
5730
|
+
*/
|
|
5731
|
+
|
|
5732
|
+
var
|
|
5733
|
+
buf,
|
|
5734
|
+
bufIdx = 0;
|
|
5735
|
+
var hexBytes = new Array(256);
|
|
5736
|
+
|
|
5737
|
+
// Pre-calculate toString(16) for speed
|
|
5738
|
+
for (var i = 0; i < 256; i++) {
|
|
5739
|
+
hexBytes[i] = (i + 0x100).toString(16).substr(1);
|
|
5740
|
+
}
|
|
5741
|
+
|
|
5742
|
+
// Use best available PRNG
|
|
5743
|
+
var randomBytes = (function () {
|
|
5744
|
+
// Node & Browser support
|
|
5745
|
+
var lib = typeof crypto !== 'undefined'
|
|
5746
|
+
? crypto
|
|
5747
|
+
: (
|
|
5748
|
+
typeof window !== 'undefined'
|
|
5749
|
+
? window.msCrypto // IE11
|
|
5750
|
+
: void 0
|
|
5751
|
+
);
|
|
5752
|
+
|
|
5753
|
+
if (lib !== void 0) {
|
|
5754
|
+
if (lib.randomBytes !== void 0) {
|
|
5755
|
+
return lib.randomBytes
|
|
5756
|
+
}
|
|
5757
|
+
if (lib.getRandomValues !== void 0) {
|
|
5758
|
+
return function (n) {
|
|
5759
|
+
var bytes = new Uint8Array(n);
|
|
5760
|
+
lib.getRandomValues(bytes);
|
|
5761
|
+
return bytes
|
|
5762
|
+
}
|
|
5763
|
+
}
|
|
5764
|
+
}
|
|
5765
|
+
|
|
5766
|
+
return function (n) {
|
|
5767
|
+
var r = [];
|
|
5768
|
+
for (var i = n; i > 0; i--) {
|
|
5769
|
+
r.push(Math.floor(Math.random() * 256));
|
|
5770
|
+
}
|
|
5771
|
+
return r
|
|
5772
|
+
}
|
|
5773
|
+
})();
|
|
5774
|
+
|
|
5775
|
+
// Buffer random numbers for speed
|
|
5776
|
+
// Reduce memory usage by decreasing this number (min 16)
|
|
5777
|
+
// or improve speed by increasing this number (try 16384)
|
|
5778
|
+
var BUFFER_SIZE = 4096;
|
|
5779
|
+
|
|
5780
|
+
function uid () {
|
|
5781
|
+
// Buffer some random bytes for speed
|
|
5782
|
+
if (buf === void 0 || (bufIdx + 16 > BUFFER_SIZE)) {
|
|
5783
|
+
bufIdx = 0;
|
|
5784
|
+
buf = randomBytes(BUFFER_SIZE);
|
|
5785
|
+
}
|
|
5786
|
+
|
|
5787
|
+
var b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16));
|
|
5788
|
+
b[6] = (b[6] & 0x0f) | 0x40;
|
|
5789
|
+
b[8] = (b[8] & 0x3f) | 0x80;
|
|
5790
|
+
|
|
5791
|
+
return hexBytes[b[0]] + hexBytes[b[1]] +
|
|
5792
|
+
hexBytes[b[2]] + hexBytes[b[3]] + '-' +
|
|
5793
|
+
hexBytes[b[4]] + hexBytes[b[5]] + '-' +
|
|
5794
|
+
hexBytes[b[6]] + hexBytes[b[7]] + '-' +
|
|
5795
|
+
hexBytes[b[8]] + hexBytes[b[9]] + '-' +
|
|
5796
|
+
hexBytes[b[10]] + hexBytes[b[11]] +
|
|
5797
|
+
hexBytes[b[12]] + hexBytes[b[13]] +
|
|
5798
|
+
hexBytes[b[14]] + hexBytes[b[15]]
|
|
5799
|
+
}
|
|
5800
|
+
|
|
5725
5801
|
var QBtnDropdown = Vue.extend({
|
|
5726
5802
|
name: 'QBtnDropdown',
|
|
5727
5803
|
|
|
@@ -5755,7 +5831,9 @@
|
|
|
5755
5831
|
disableMainBtn: Boolean,
|
|
5756
5832
|
disableDropdown: Boolean,
|
|
5757
5833
|
|
|
5758
|
-
noIconAnimation: Boolean
|
|
5834
|
+
noIconAnimation: Boolean,
|
|
5835
|
+
|
|
5836
|
+
toggleAriaLabel: String
|
|
5759
5837
|
},
|
|
5760
5838
|
|
|
5761
5839
|
data: function data () {
|
|
@@ -5780,7 +5858,10 @@
|
|
|
5780
5858
|
var label = slot(this, 'label', []);
|
|
5781
5859
|
var attrs = {
|
|
5782
5860
|
'aria-expanded': this.showing === true ? 'true' : 'false',
|
|
5783
|
-
'aria-haspopup': 'true'
|
|
5861
|
+
'aria-haspopup': 'true',
|
|
5862
|
+
'aria-controls': this.targetUid,
|
|
5863
|
+
'aria-owns': this.targetUid,
|
|
5864
|
+
'aria-label': this.toggleAriaLabel || this.$q.lang.label[ this.showing === true ? 'collapse' : 'expand' ](this.label)
|
|
5784
5865
|
};
|
|
5785
5866
|
|
|
5786
5867
|
if (
|
|
@@ -5805,6 +5886,9 @@
|
|
|
5805
5886
|
this.disableDropdown !== true && Arrow.push(
|
|
5806
5887
|
h(QMenu, {
|
|
5807
5888
|
ref: 'menu',
|
|
5889
|
+
attrs: {
|
|
5890
|
+
id: this.targetUid
|
|
5891
|
+
},
|
|
5808
5892
|
props: {
|
|
5809
5893
|
cover: this.cover,
|
|
5810
5894
|
fit: true,
|
|
@@ -5846,8 +5930,8 @@
|
|
|
5846
5930
|
{disable: this.disable === true || this.disableMainBtn === true,
|
|
5847
5931
|
noWrap: true,
|
|
5848
5932
|
round: false}),
|
|
5849
|
-
attrs: Object.assign({},
|
|
5850
|
-
|
|
5933
|
+
attrs: Object.assign({}, attrs,
|
|
5934
|
+
this.qAttrs),
|
|
5851
5935
|
on: cache(this, 'nonSpl', {
|
|
5852
5936
|
click: function (e) {
|
|
5853
5937
|
this$1.$emit('click', e);
|
|
@@ -5926,6 +6010,10 @@
|
|
|
5926
6010
|
}
|
|
5927
6011
|
},
|
|
5928
6012
|
|
|
6013
|
+
created: function created () {
|
|
6014
|
+
this.targetUid = "d_" + (uid());
|
|
6015
|
+
},
|
|
6016
|
+
|
|
5929
6017
|
mounted: function mounted () {
|
|
5930
6018
|
this.value === true && this.show();
|
|
5931
6019
|
}
|
|
@@ -7058,6 +7146,14 @@
|
|
|
7058
7146
|
return typeof v === 'number' && isFinite(v)
|
|
7059
7147
|
}
|
|
7060
7148
|
|
|
7149
|
+
var is = {
|
|
7150
|
+
deepEqual: isDeepEqual,
|
|
7151
|
+
object: isObject,
|
|
7152
|
+
date: isDate,
|
|
7153
|
+
regexp: isRegexp,
|
|
7154
|
+
number: isNumber
|
|
7155
|
+
};
|
|
7156
|
+
|
|
7061
7157
|
var QCarousel = Vue.extend({
|
|
7062
7158
|
name: 'QCarousel',
|
|
7063
7159
|
|
|
@@ -7916,6 +8012,8 @@
|
|
|
7916
8012
|
clickable: Boolean,
|
|
7917
8013
|
removable: Boolean,
|
|
7918
8014
|
|
|
8015
|
+
removeAriaLabel: String,
|
|
8016
|
+
|
|
7919
8017
|
tabindex: [String, Number],
|
|
7920
8018
|
disable: Boolean
|
|
7921
8019
|
},
|
|
@@ -7952,7 +8050,12 @@
|
|
|
7952
8050
|
attrs: function attrs () {
|
|
7953
8051
|
return this.disable === true
|
|
7954
8052
|
? { tabindex: -1, 'aria-disabled': 'true' }
|
|
7955
|
-
: {
|
|
8053
|
+
: {
|
|
8054
|
+
tabindex: this.tabindex || 0,
|
|
8055
|
+
role: 'button',
|
|
8056
|
+
'aria-hidden': 'false',
|
|
8057
|
+
'aria-label': this.removeAriaLabel || this.$q.lang.label.remove
|
|
8058
|
+
}
|
|
7956
8059
|
}
|
|
7957
8060
|
},
|
|
7958
8061
|
|
|
@@ -8077,6 +8180,7 @@
|
|
|
8077
8180
|
trackColor: String,
|
|
8078
8181
|
|
|
8079
8182
|
fontSize: String,
|
|
8183
|
+
rounded: Boolean,
|
|
8080
8184
|
|
|
8081
8185
|
// ratio
|
|
8082
8186
|
thickness: {
|
|
@@ -8151,6 +8255,7 @@
|
|
|
8151
8255
|
var offset = ref.offset;
|
|
8152
8256
|
var color = ref.color;
|
|
8153
8257
|
var cls = ref.cls;
|
|
8258
|
+
var rounded = ref.rounded;
|
|
8154
8259
|
|
|
8155
8260
|
return h('circle', {
|
|
8156
8261
|
staticClass: 'q-circular-progress__' + cls,
|
|
@@ -8162,6 +8267,7 @@
|
|
|
8162
8267
|
'stroke-width': thickness,
|
|
8163
8268
|
'stroke-dasharray': strokeDashArray,
|
|
8164
8269
|
'stroke-dashoffset': offset,
|
|
8270
|
+
'stroke-linecap': rounded,
|
|
8165
8271
|
cx: this.viewBox,
|
|
8166
8272
|
cy: this.viewBox,
|
|
8167
8273
|
r: radius
|
|
@@ -8200,7 +8306,8 @@
|
|
|
8200
8306
|
cls: 'circle',
|
|
8201
8307
|
thickness: this.strokeWidth,
|
|
8202
8308
|
offset: this.strokeDashOffset,
|
|
8203
|
-
color: this.color
|
|
8309
|
+
color: this.color,
|
|
8310
|
+
rounded: this.rounded === true ? 'round' : void 0
|
|
8204
8311
|
})
|
|
8205
8312
|
);
|
|
8206
8313
|
|
|
@@ -8401,7 +8508,7 @@
|
|
|
8401
8508
|
}
|
|
8402
8509
|
}
|
|
8403
8510
|
|
|
8404
|
-
var uid = 0;
|
|
8511
|
+
var uid$1 = 0;
|
|
8405
8512
|
|
|
8406
8513
|
var TouchPan = {
|
|
8407
8514
|
name: 'touch-pan',
|
|
@@ -8431,7 +8538,7 @@
|
|
|
8431
8538
|
}
|
|
8432
8539
|
|
|
8433
8540
|
var ctx = {
|
|
8434
|
-
uid: 'qvtp_' + (uid++),
|
|
8541
|
+
uid: 'qvtp_' + (uid$1++),
|
|
8435
8542
|
handler: value,
|
|
8436
8543
|
modifiers: modifiers,
|
|
8437
8544
|
direction: getModifierDirections(modifiers),
|
|
@@ -10343,7 +10450,7 @@
|
|
|
10343
10450
|
}
|
|
10344
10451
|
});
|
|
10345
10452
|
|
|
10346
|
-
var uid$
|
|
10453
|
+
var uid$2 = 0;
|
|
10347
10454
|
|
|
10348
10455
|
var QTab = Vue.extend({
|
|
10349
10456
|
name: 'QTab',
|
|
@@ -10370,7 +10477,7 @@
|
|
|
10370
10477
|
|
|
10371
10478
|
name: {
|
|
10372
10479
|
type: [Number, String],
|
|
10373
|
-
default: function () { return ("t_" + (uid$
|
|
10480
|
+
default: function () { return ("t_" + (uid$2++)); }
|
|
10374
10481
|
},
|
|
10375
10482
|
|
|
10376
10483
|
noCaps: Boolean,
|
|
@@ -14772,6 +14879,12 @@
|
|
|
14772
14879
|
}
|
|
14773
14880
|
|
|
14774
14881
|
return on
|
|
14882
|
+
},
|
|
14883
|
+
|
|
14884
|
+
attrs: function attrs () {
|
|
14885
|
+
return this.useBackdrop === true
|
|
14886
|
+
? Object.assign({}, {'aria-modal': 'true'}, this.qAttrs)
|
|
14887
|
+
: this.qAttrs
|
|
14775
14888
|
}
|
|
14776
14889
|
},
|
|
14777
14890
|
|
|
@@ -14972,7 +15085,7 @@
|
|
|
14972
15085
|
staticClass: ("q-dialog fullscreen no-pointer-events q-dialog--" + (this.useBackdrop === true ? 'modal' : 'seamless')),
|
|
14973
15086
|
class: this.contentClass,
|
|
14974
15087
|
style: this.contentStyle,
|
|
14975
|
-
attrs: this.
|
|
15088
|
+
attrs: this.attrs
|
|
14976
15089
|
}, [
|
|
14977
15090
|
h('transition', {
|
|
14978
15091
|
props: { name: 'q-transition--fade' }
|
|
@@ -17707,6 +17820,7 @@
|
|
|
17707
17820
|
|
|
17708
17821
|
dense: Boolean,
|
|
17709
17822
|
|
|
17823
|
+
toggleAriaLabel: String,
|
|
17710
17824
|
expandIcon: String,
|
|
17711
17825
|
expandedIcon: String,
|
|
17712
17826
|
expandIconClass: [ Array, String, Object ],
|
|
@@ -17717,6 +17831,7 @@
|
|
|
17717
17831
|
|
|
17718
17832
|
expandSeparator: Boolean,
|
|
17719
17833
|
defaultOpened: Boolean,
|
|
17834
|
+
hideExpandIcon: Boolean,
|
|
17720
17835
|
expandIconToggle: Boolean,
|
|
17721
17836
|
switchToggleSide: Boolean,
|
|
17722
17837
|
denseToggle: Boolean,
|
|
@@ -17777,6 +17892,30 @@
|
|
|
17777
17892
|
|
|
17778
17893
|
activeToggleIcon: function activeToggleIcon () {
|
|
17779
17894
|
return this.disable !== true && (this.hasLink === true || this.expandIconToggle === true)
|
|
17895
|
+
},
|
|
17896
|
+
|
|
17897
|
+
headerSlotScope: function headerSlotScope () {
|
|
17898
|
+
return {
|
|
17899
|
+
expanded: this.showing === true,
|
|
17900
|
+
detailsId: this.targetUid,
|
|
17901
|
+
toggle: this.toggle,
|
|
17902
|
+
show: this.show,
|
|
17903
|
+
hide: this.hide
|
|
17904
|
+
}
|
|
17905
|
+
},
|
|
17906
|
+
|
|
17907
|
+
toggleAriaAttrs: function toggleAriaAttrs () {
|
|
17908
|
+
var toggleAriaLabel = this.toggleAriaLabel !== void 0
|
|
17909
|
+
? this.toggleAriaLabel
|
|
17910
|
+
: this.$q.lang.label[ this.showing === true ? 'collapse' : 'expand' ](this.label);
|
|
17911
|
+
|
|
17912
|
+
return {
|
|
17913
|
+
role: 'button',
|
|
17914
|
+
'aria-expanded': this.showing === true ? 'true' : 'false',
|
|
17915
|
+
'aria-owns': this.targetUid,
|
|
17916
|
+
'aria-controls': this.targetUid,
|
|
17917
|
+
'aria-label': toggleAriaLabel
|
|
17918
|
+
}
|
|
17780
17919
|
}
|
|
17781
17920
|
},
|
|
17782
17921
|
|
|
@@ -17822,7 +17961,8 @@
|
|
|
17822
17961
|
|
|
17823
17962
|
if (this.activeToggleIcon === true) {
|
|
17824
17963
|
Object.assign(data, {
|
|
17825
|
-
attrs: { tabindex: 0
|
|
17964
|
+
attrs: Object.assign({}, {tabindex: 0},
|
|
17965
|
+
this.toggleAriaAttrs),
|
|
17826
17966
|
on: cache(this, 'inpExt', {
|
|
17827
17967
|
click: this.__toggleIcon,
|
|
17828
17968
|
keyup: this.__toggleIconKeyboard
|
|
@@ -17845,7 +17985,7 @@
|
|
|
17845
17985
|
var child;
|
|
17846
17986
|
|
|
17847
17987
|
if (this.$scopedSlots.header !== void 0) {
|
|
17848
|
-
child = [].concat(this.$scopedSlots.header(
|
|
17988
|
+
child = [].concat(this.$scopedSlots.header(this.headerSlotScope));
|
|
17849
17989
|
}
|
|
17850
17990
|
else {
|
|
17851
17991
|
child = [
|
|
@@ -17876,7 +18016,7 @@
|
|
|
17876
18016
|
);
|
|
17877
18017
|
}
|
|
17878
18018
|
|
|
17879
|
-
this.disable !== true && child[this.switchToggleSide === true ? 'unshift' : 'push'](
|
|
18019
|
+
this.disable !== true && this.hideExpandIcon !== true && child[this.switchToggleSide === true ? 'unshift' : 'push'](
|
|
17880
18020
|
this.__getToggleIcon(h)
|
|
17881
18021
|
);
|
|
17882
18022
|
|
|
@@ -17905,6 +18045,9 @@
|
|
|
17905
18045
|
|
|
17906
18046
|
data.attrs = this.linkProps.attrs;
|
|
17907
18047
|
}
|
|
18048
|
+
else {
|
|
18049
|
+
data.attrs = this.toggleAriaAttrs;
|
|
18050
|
+
}
|
|
17908
18051
|
}
|
|
17909
18052
|
|
|
17910
18053
|
return h(QItem, data, child)
|
|
@@ -17926,6 +18069,7 @@
|
|
|
17926
18069
|
h('div', {
|
|
17927
18070
|
staticClass: 'q-expansion-item__content relative-position',
|
|
17928
18071
|
style: this.contentStyle,
|
|
18072
|
+
attrs: { id: this.targetUid },
|
|
17929
18073
|
directives: [{ name: 'show', value: this.showing }]
|
|
17930
18074
|
}, slot(this, 'default'))
|
|
17931
18075
|
])
|
|
@@ -17963,6 +18107,7 @@
|
|
|
17963
18107
|
|
|
17964
18108
|
created: function created () {
|
|
17965
18109
|
this.group !== void 0 && this.$root.$on(eventName, this.__eventHandler);
|
|
18110
|
+
this.targetUid = "e_" + (uid());
|
|
17966
18111
|
},
|
|
17967
18112
|
|
|
17968
18113
|
beforeDestroy: function beforeDestroy () {
|
|
@@ -18116,13 +18261,30 @@
|
|
|
18116
18261
|
return "q-fab__actions--" + (this.direction) + (this.showing === true ? ' q-fab__actions--opened' : '')
|
|
18117
18262
|
},
|
|
18118
18263
|
|
|
18264
|
+
actionsAttrs: function actionsAttrs () {
|
|
18265
|
+
var attrs = {
|
|
18266
|
+
id: this.targetUid
|
|
18267
|
+
};
|
|
18268
|
+
|
|
18269
|
+
if (this.showing === true) {
|
|
18270
|
+
attrs.role = 'menu';
|
|
18271
|
+
}
|
|
18272
|
+
else {
|
|
18273
|
+
attrs['aria-hidden'] = 'true';
|
|
18274
|
+
}
|
|
18275
|
+
|
|
18276
|
+
return attrs
|
|
18277
|
+
},
|
|
18278
|
+
|
|
18119
18279
|
iconHolderClasses: function iconHolderClasses () {
|
|
18120
18280
|
return this.showing === true ? 'q-fab__icon-holder--opened' : ''
|
|
18121
18281
|
},
|
|
18122
18282
|
|
|
18123
18283
|
attrs: function attrs () {
|
|
18124
18284
|
return Object.assign({}, {'aria-expanded': this.showing === true ? 'true' : 'false',
|
|
18125
|
-
'aria-haspopup': 'true'
|
|
18285
|
+
'aria-haspopup': 'true',
|
|
18286
|
+
'aria-controls': this.targetUid,
|
|
18287
|
+
'aria-owns': this.targetUid},
|
|
18126
18288
|
this.qAttrs)
|
|
18127
18289
|
},
|
|
18128
18290
|
|
|
@@ -18190,9 +18352,14 @@
|
|
|
18190
18352
|
|
|
18191
18353
|
h('div', {
|
|
18192
18354
|
staticClass: 'q-fab__actions flex no-wrap inline',
|
|
18193
|
-
class: this.actionsClasses
|
|
18355
|
+
class: this.actionsClasses,
|
|
18356
|
+
attrs: this.actionsAttrs
|
|
18194
18357
|
}, slot(this, 'default'))
|
|
18195
18358
|
])
|
|
18359
|
+
},
|
|
18360
|
+
|
|
18361
|
+
created: function created () {
|
|
18362
|
+
this.targetUid = "fb_" + (uid());
|
|
18196
18363
|
}
|
|
18197
18364
|
});
|
|
18198
18365
|
|
|
@@ -18440,11 +18607,13 @@
|
|
|
18440
18607
|
|
|
18441
18608
|
var index = ++this.validateIndex;
|
|
18442
18609
|
|
|
18443
|
-
|
|
18444
|
-
this.isDirty = true;
|
|
18445
|
-
|
|
18610
|
+
var setDirty = this.innerLoading !== true
|
|
18611
|
+
? function () { return this$1.isDirty !== true && (this$1.isDirty = true); }
|
|
18612
|
+
: function () {};
|
|
18446
18613
|
|
|
18447
18614
|
var update = function (err, msg) {
|
|
18615
|
+
err === true && setDirty();
|
|
18616
|
+
|
|
18448
18617
|
if (this$1.innerError !== err) {
|
|
18449
18618
|
this$1.innerError = err;
|
|
18450
18619
|
}
|
|
@@ -18467,7 +18636,7 @@
|
|
|
18467
18636
|
var res = (void 0);
|
|
18468
18637
|
|
|
18469
18638
|
if (typeof rule === 'function') {
|
|
18470
|
-
res = rule(val);
|
|
18639
|
+
res = rule(val, testPattern);
|
|
18471
18640
|
}
|
|
18472
18641
|
else if (typeof rule === 'string' && testPattern[rule] !== void 0) {
|
|
18473
18642
|
res = testPattern[rule](val);
|
|
@@ -18533,81 +18702,8 @@
|
|
|
18533
18702
|
}
|
|
18534
18703
|
};
|
|
18535
18704
|
|
|
18536
|
-
/**
|
|
18537
|
-
* Based on the work of https://github.com/jchook/uuid-random
|
|
18538
|
-
*/
|
|
18539
|
-
|
|
18540
|
-
var
|
|
18541
|
-
buf,
|
|
18542
|
-
bufIdx = 0;
|
|
18543
|
-
var hexBytes = new Array(256);
|
|
18544
|
-
|
|
18545
|
-
// Pre-calculate toString(16) for speed
|
|
18546
|
-
for (var i = 0; i < 256; i++) {
|
|
18547
|
-
hexBytes[i] = (i + 0x100).toString(16).substr(1);
|
|
18548
|
-
}
|
|
18549
|
-
|
|
18550
|
-
// Use best available PRNG
|
|
18551
|
-
var randomBytes = (function () {
|
|
18552
|
-
// Node & Browser support
|
|
18553
|
-
var lib = typeof crypto !== 'undefined'
|
|
18554
|
-
? crypto
|
|
18555
|
-
: (
|
|
18556
|
-
typeof window !== 'undefined'
|
|
18557
|
-
? window.msCrypto // IE11
|
|
18558
|
-
: void 0
|
|
18559
|
-
);
|
|
18560
|
-
|
|
18561
|
-
if (lib !== void 0) {
|
|
18562
|
-
if (lib.randomBytes !== void 0) {
|
|
18563
|
-
return lib.randomBytes
|
|
18564
|
-
}
|
|
18565
|
-
if (lib.getRandomValues !== void 0) {
|
|
18566
|
-
return function (n) {
|
|
18567
|
-
var bytes = new Uint8Array(n);
|
|
18568
|
-
lib.getRandomValues(bytes);
|
|
18569
|
-
return bytes
|
|
18570
|
-
}
|
|
18571
|
-
}
|
|
18572
|
-
}
|
|
18573
|
-
|
|
18574
|
-
return function (n) {
|
|
18575
|
-
var r = [];
|
|
18576
|
-
for (var i = n; i > 0; i--) {
|
|
18577
|
-
r.push(Math.floor(Math.random() * 256));
|
|
18578
|
-
}
|
|
18579
|
-
return r
|
|
18580
|
-
}
|
|
18581
|
-
})();
|
|
18582
|
-
|
|
18583
|
-
// Buffer random numbers for speed
|
|
18584
|
-
// Reduce memory usage by decreasing this number (min 16)
|
|
18585
|
-
// or improve speed by increasing this number (try 16384)
|
|
18586
|
-
var BUFFER_SIZE = 4096;
|
|
18587
|
-
|
|
18588
|
-
function uid$2 () {
|
|
18589
|
-
// Buffer some random bytes for speed
|
|
18590
|
-
if (buf === void 0 || (bufIdx + 16 > BUFFER_SIZE)) {
|
|
18591
|
-
bufIdx = 0;
|
|
18592
|
-
buf = randomBytes(BUFFER_SIZE);
|
|
18593
|
-
}
|
|
18594
|
-
|
|
18595
|
-
var b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16));
|
|
18596
|
-
b[6] = (b[6] & 0x0f) | 0x40;
|
|
18597
|
-
b[8] = (b[8] & 0x3f) | 0x80;
|
|
18598
|
-
|
|
18599
|
-
return hexBytes[b[0]] + hexBytes[b[1]] +
|
|
18600
|
-
hexBytes[b[2]] + hexBytes[b[3]] + '-' +
|
|
18601
|
-
hexBytes[b[4]] + hexBytes[b[5]] + '-' +
|
|
18602
|
-
hexBytes[b[6]] + hexBytes[b[7]] + '-' +
|
|
18603
|
-
hexBytes[b[8]] + hexBytes[b[9]] + '-' +
|
|
18604
|
-
hexBytes[b[10]] + hexBytes[b[11]] +
|
|
18605
|
-
hexBytes[b[12]] + hexBytes[b[13]] +
|
|
18606
|
-
hexBytes[b[14]] + hexBytes[b[15]]
|
|
18607
|
-
}
|
|
18608
|
-
|
|
18609
18705
|
function getTargetUid (val) {
|
|
18610
|
-
return val === void 0 ? ("f_" + (uid
|
|
18706
|
+
return val === void 0 ? ("f_" + (uid())) : val
|
|
18611
18707
|
}
|
|
18612
18708
|
|
|
18613
18709
|
var QField = Vue.extend({
|
|
@@ -19315,11 +19411,13 @@
|
|
|
19315
19411
|
file.__key = file.webkitRelativePath + file.lastModified + file.name + file.size;
|
|
19316
19412
|
});
|
|
19317
19413
|
|
|
19318
|
-
|
|
19319
|
-
|
|
19320
|
-
|
|
19321
|
-
|
|
19322
|
-
|
|
19414
|
+
if (append === true) {
|
|
19415
|
+
// Avoid duplicate files
|
|
19416
|
+
var filenameMap = currentFileList.map(function (entry) { return entry.__key; });
|
|
19417
|
+
files = filterFiles(files, rejectedFiles, 'duplicate', function (file) {
|
|
19418
|
+
return filenameMap.includes(file.__key) === false
|
|
19419
|
+
});
|
|
19420
|
+
}
|
|
19323
19421
|
|
|
19324
19422
|
if (files.length === 0) { return done() }
|
|
19325
19423
|
|
|
@@ -19962,88 +20060,79 @@
|
|
|
19962
20060
|
validate: function validate (shouldFocus) {
|
|
19963
20061
|
var this$1 = this;
|
|
19964
20062
|
|
|
19965
|
-
var promises = [];
|
|
19966
20063
|
var focus = typeof shouldFocus === 'boolean'
|
|
19967
20064
|
? shouldFocus
|
|
19968
20065
|
: this.noErrorFocus !== true;
|
|
19969
20066
|
|
|
19970
20067
|
var index = ++this.validateIndex;
|
|
19971
20068
|
|
|
19972
|
-
var
|
|
20069
|
+
var registeredComponents = this.getValidationComponents().filter(function (c) { return c.disable !== true; });
|
|
19973
20070
|
|
|
19974
20071
|
var emit = function (res, ref) {
|
|
19975
20072
|
this$1.$emit('validation-' + (res === true ? 'success' : 'error'), ref);
|
|
19976
20073
|
};
|
|
19977
20074
|
|
|
19978
|
-
var
|
|
19979
|
-
var comp = components[i];
|
|
20075
|
+
var validateComponent = function (comp) {
|
|
19980
20076
|
var valid = comp.validate();
|
|
19981
20077
|
|
|
19982
|
-
|
|
19983
|
-
|
|
19984
|
-
valid
|
|
19985
|
-
|
|
19986
|
-
|
|
19987
|
-
|
|
19988
|
-
);
|
|
19989
|
-
}
|
|
19990
|
-
else if (valid !== true) {
|
|
19991
|
-
if (this$1.greedy === false) {
|
|
19992
|
-
emit(false, comp);
|
|
19993
|
-
|
|
19994
|
-
if (focus === true && typeof comp.focus === 'function') {
|
|
19995
|
-
comp.focus();
|
|
19996
|
-
}
|
|
19997
|
-
|
|
19998
|
-
return { v: Promise.resolve(false) }
|
|
19999
|
-
}
|
|
20000
|
-
|
|
20001
|
-
promises.push({ valid: false, comp: comp });
|
|
20002
|
-
}
|
|
20078
|
+
return typeof valid.then === 'function'
|
|
20079
|
+
? valid.then(
|
|
20080
|
+
function (valid) { return ({ valid: valid, comp: comp }); },
|
|
20081
|
+
function (err) { return ({ valid: false, comp: comp, err: err }); }
|
|
20082
|
+
)
|
|
20083
|
+
: Promise.resolve({ valid: valid, comp: comp })
|
|
20003
20084
|
};
|
|
20004
20085
|
|
|
20005
|
-
|
|
20006
|
-
|
|
20007
|
-
|
|
20008
|
-
|
|
20009
|
-
|
|
20010
|
-
|
|
20011
|
-
|
|
20012
|
-
|
|
20013
|
-
|
|
20014
|
-
|
|
20015
|
-
|
|
20016
|
-
|
|
20017
|
-
|
|
20018
|
-
|
|
20086
|
+
var errorsPromise = this.greedy === true
|
|
20087
|
+
? Promise
|
|
20088
|
+
.all(registeredComponents.map(validateComponent))
|
|
20089
|
+
.then(function (res) { return res.filter(function (r) { return r.valid !== true; }); })
|
|
20090
|
+
: registeredComponents
|
|
20091
|
+
.reduce(
|
|
20092
|
+
function (acc, comp) { return acc.then(function () {
|
|
20093
|
+
return validateComponent(comp).then(function (r) {
|
|
20094
|
+
if (r.valid === false) { return Promise.reject(r) }
|
|
20095
|
+
})
|
|
20096
|
+
}); },
|
|
20097
|
+
Promise.resolve()
|
|
20098
|
+
)
|
|
20099
|
+
.catch(function (error) { return [ error ]; });
|
|
20019
20100
|
|
|
20020
|
-
|
|
20021
|
-
|
|
20022
|
-
|
|
20023
|
-
|
|
20101
|
+
return errorsPromise.then(function (errors) {
|
|
20102
|
+
if (errors.length === 0) {
|
|
20103
|
+
index === this$1.validateIndex && emit(true);
|
|
20104
|
+
return true
|
|
20105
|
+
}
|
|
20024
20106
|
|
|
20107
|
+
if (index === this$1.validateIndex) {
|
|
20025
20108
|
var ref = errors[0];
|
|
20026
|
-
var valid = ref.valid;
|
|
20027
20109
|
var comp = ref.comp;
|
|
20028
20110
|
var err = ref.err;
|
|
20029
20111
|
|
|
20030
|
-
|
|
20031
|
-
|
|
20112
|
+
err !== void 0 && console.error(err);
|
|
20113
|
+
emit(false, comp);
|
|
20032
20114
|
|
|
20033
|
-
|
|
20115
|
+
if (focus === true) {
|
|
20116
|
+
// Try to focus first mounted and active component
|
|
20117
|
+
var activeError = errors.find(function (ref) {
|
|
20118
|
+
var comp = ref.comp;
|
|
20034
20119
|
|
|
20035
|
-
|
|
20036
|
-
focus ===
|
|
20037
|
-
|
|
20038
|
-
|
|
20039
|
-
|
|
20040
|
-
|
|
20120
|
+
return (
|
|
20121
|
+
typeof comp.focus === 'function' &&
|
|
20122
|
+
comp._isBeingDestroyed !== true &&
|
|
20123
|
+
comp._isDestroyed !== true &&
|
|
20124
|
+
comp._inactive !== true
|
|
20125
|
+
);
|
|
20126
|
+
});
|
|
20127
|
+
|
|
20128
|
+
if (activeError !== void 0) {
|
|
20129
|
+
activeError.comp.focus();
|
|
20041
20130
|
}
|
|
20042
20131
|
}
|
|
20043
|
-
|
|
20044
|
-
return false
|
|
20045
20132
|
}
|
|
20046
|
-
|
|
20133
|
+
|
|
20134
|
+
return false
|
|
20135
|
+
})
|
|
20047
20136
|
},
|
|
20048
20137
|
|
|
20049
20138
|
resetValidation: function resetValidation () {
|
|
@@ -21792,22 +21881,27 @@
|
|
|
21792
21881
|
|
|
21793
21882
|
// textarea only
|
|
21794
21883
|
__adjustHeight: function __adjustHeight () {
|
|
21795
|
-
var
|
|
21796
|
-
if (inp !== void 0) {
|
|
21797
|
-
var parentStyle = inp.parentNode.style;
|
|
21798
|
-
var ref = inp.style;
|
|
21799
|
-
var overflow = ref.overflow;
|
|
21800
|
-
|
|
21801
|
-
// reset height of textarea to a small size to detect the real height
|
|
21802
|
-
// but keep the total control size the same
|
|
21803
|
-
parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
|
|
21804
|
-
inp.style.height = '1px';
|
|
21805
|
-
inp.style.overflow = 'hidden';
|
|
21884
|
+
var this$1 = this;
|
|
21806
21885
|
|
|
21807
|
-
|
|
21808
|
-
inp
|
|
21809
|
-
|
|
21810
|
-
|
|
21886
|
+
requestAnimationFrame(function () {
|
|
21887
|
+
var inp = this$1.$refs.input;
|
|
21888
|
+
if (inp !== void 0) {
|
|
21889
|
+
var parentStyle = inp.parentNode.style;
|
|
21890
|
+
var ref = inp.style;
|
|
21891
|
+
var overflow = ref.overflow;
|
|
21892
|
+
|
|
21893
|
+
// reset height of textarea to a small size to detect the real height
|
|
21894
|
+
// but keep the total control size the same
|
|
21895
|
+
// Firefox rulez #14263, #14344
|
|
21896
|
+
this$1.$q.platform.is.firefox !== true && (inp.style.overflow = 'hidden');
|
|
21897
|
+
inp.style.height = '1px';
|
|
21898
|
+
parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
|
|
21899
|
+
|
|
21900
|
+
inp.style.height = inp.scrollHeight + 'px';
|
|
21901
|
+
inp.style.overflow = overflow;
|
|
21902
|
+
parentStyle.marginBottom = '';
|
|
21903
|
+
}
|
|
21904
|
+
});
|
|
21811
21905
|
},
|
|
21812
21906
|
|
|
21813
21907
|
__onChange: function __onChange (e) {
|
|
@@ -27362,6 +27456,7 @@
|
|
|
27362
27456
|
tabindex: this.tabindex,
|
|
27363
27457
|
role: 'combobox',
|
|
27364
27458
|
'aria-label': this.label,
|
|
27459
|
+
'aria-readonly': this.readonly === true ? 'true' : 'false',
|
|
27365
27460
|
'aria-autocomplete': this.useInput === true ? 'list' : 'none',
|
|
27366
27461
|
'aria-expanded': this.menu === true ? 'true' : 'false',
|
|
27367
27462
|
'aria-owns': ((this.targetUid) + "_lb"),
|
|
@@ -27382,10 +27477,6 @@
|
|
|
27382
27477
|
'aria-multiselectable': this.multiple === true ? 'true' : 'false'
|
|
27383
27478
|
};
|
|
27384
27479
|
|
|
27385
|
-
if (this.optionIndex >= 0) {
|
|
27386
|
-
attrs['aria-activedescendant'] = (this.targetUid) + "_" + (this.optionIndex);
|
|
27387
|
-
}
|
|
27388
|
-
|
|
27389
27480
|
return attrs
|
|
27390
27481
|
}
|
|
27391
27482
|
},
|
|
@@ -33603,7 +33694,7 @@
|
|
|
33603
33694
|
|
|
33604
33695
|
if (rowEl !== null) {
|
|
33605
33696
|
var scrollTarget = this.$el.querySelector('.q-table__middle.scroll');
|
|
33606
|
-
var offsetTop = rowEl.offsetTop;
|
|
33697
|
+
var offsetTop = rowEl.offsetTop - this.virtualScrollStickySizeStart;
|
|
33607
33698
|
var direction = offsetTop < scrollTarget.scrollTop ? 'decrease' : 'increase';
|
|
33608
33699
|
|
|
33609
33700
|
scrollTarget.scrollTop = offsetTop;
|
|
@@ -41081,6 +41172,129 @@
|
|
|
41081
41172
|
return openWindow(url, reject, windowFeatures)
|
|
41082
41173
|
}
|
|
41083
41174
|
|
|
41175
|
+
function parsePromises (sequentialPromises) {
|
|
41176
|
+
var isList = Array.isArray(sequentialPromises);
|
|
41177
|
+
|
|
41178
|
+
if (isList === true) {
|
|
41179
|
+
var totalJobs = sequentialPromises.length;
|
|
41180
|
+
return {
|
|
41181
|
+
isList: isList,
|
|
41182
|
+
totalJobs: totalJobs,
|
|
41183
|
+
resultAggregator: Array(totalJobs).fill(null)
|
|
41184
|
+
}
|
|
41185
|
+
}
|
|
41186
|
+
|
|
41187
|
+
var resultKeys = Object.keys(sequentialPromises);
|
|
41188
|
+
var resultAggregator = {};
|
|
41189
|
+
resultKeys.forEach(function (keyName) { resultAggregator[ keyName ] = null; });
|
|
41190
|
+
|
|
41191
|
+
return {
|
|
41192
|
+
isList: isList,
|
|
41193
|
+
totalJobs: resultKeys.length,
|
|
41194
|
+
resultAggregator: resultAggregator,
|
|
41195
|
+
resultKeys: resultKeys
|
|
41196
|
+
}
|
|
41197
|
+
}
|
|
41198
|
+
|
|
41199
|
+
/**
|
|
41200
|
+
* Run a list of Promises sequentially, optionally on multiple threads.
|
|
41201
|
+
*
|
|
41202
|
+
* @param {*} sequentialPromises - Array of Functions or Object with Functions as values
|
|
41203
|
+
* Array of Function form: [ (resultAggregator: Array) => Promise<any>, ... ]
|
|
41204
|
+
* Object form: { [key: string]: (resultAggregator: object) => Promise<any>, ... }
|
|
41205
|
+
* @param {*} opts - Optional options Object
|
|
41206
|
+
* Object form: { threadsNumber?: number, abortOnFail?: boolean }
|
|
41207
|
+
* Default: { threadsNumber: 1, abortOnFail: true }
|
|
41208
|
+
* When configuring threadsNumber AND using http requests, be
|
|
41209
|
+
* aware of the maximum threads that the hosting browser
|
|
41210
|
+
* supports (usually 3); any number of threads above that
|
|
41211
|
+
* won't add any real benefits
|
|
41212
|
+
* @returns Promise<Array<Object> | Object>
|
|
41213
|
+
* With opts.abortOnFail set to true (which is default):
|
|
41214
|
+
* When sequentialPromises param is Array:
|
|
41215
|
+
* The Promise resolves with an Array of Objects of the following form:
|
|
41216
|
+
* [ { key: number, status: 'fulfilled', value: any }, ... ]
|
|
41217
|
+
* The Promise rejects with an Object of the following form:
|
|
41218
|
+
* { key: number, status: 'rejected', reason: Error, resultAggregator: array }
|
|
41219
|
+
* When sequentialPromises param is Object:
|
|
41220
|
+
* The Promise resolves with an Object of the following form:
|
|
41221
|
+
* { [key: string]: { key: string, status: 'fulfilled', value: any }, ... }
|
|
41222
|
+
* The Promise rejects with an Object of the following form:
|
|
41223
|
+
* { key: string, status: 'rejected', reason: Error, resultAggregator: object }
|
|
41224
|
+
* With opts.abortOnFail set to false:
|
|
41225
|
+
* The Promise is never rejected (no catch() needed)
|
|
41226
|
+
* The Promise resolves with:
|
|
41227
|
+
* An Array of Objects (when sequentialPromises param is also an Array) of the following form:
|
|
41228
|
+
* [ { key: number, status: 'fulfilled', value: any } | { status: 'rejected', reason: Error }, ... ]
|
|
41229
|
+
* An Object (when sequentialPromises param is also an Object) of the following form:
|
|
41230
|
+
* { [key: string]: { key: string, status: 'fulfilled', value: any } | { key: string, status: 'rejected', reason: Error }, ... }
|
|
41231
|
+
*/
|
|
41232
|
+
function runSequentialPromises (
|
|
41233
|
+
sequentialPromises,
|
|
41234
|
+
ref
|
|
41235
|
+
) {
|
|
41236
|
+
if ( ref === void 0 ) ref = {};
|
|
41237
|
+
var threadsNumber = ref.threadsNumber; if ( threadsNumber === void 0 ) threadsNumber = 1;
|
|
41238
|
+
var abortOnFail = ref.abortOnFail; if ( abortOnFail === void 0 ) abortOnFail = true;
|
|
41239
|
+
|
|
41240
|
+
var jobIndex = -1, hasAborted = false;
|
|
41241
|
+
|
|
41242
|
+
var ref$1 = parsePromises(sequentialPromises);
|
|
41243
|
+
var isList = ref$1.isList;
|
|
41244
|
+
var totalJobs = ref$1.totalJobs;
|
|
41245
|
+
var resultAggregator = ref$1.resultAggregator;
|
|
41246
|
+
var resultKeys = ref$1.resultKeys;
|
|
41247
|
+
|
|
41248
|
+
var getPromiseThread = function () { return new Promise(function (resolve, reject) {
|
|
41249
|
+
function runNextPromise () {
|
|
41250
|
+
var currentJobIndex = ++jobIndex;
|
|
41251
|
+
|
|
41252
|
+
if (hasAborted === true || currentJobIndex >= totalJobs) {
|
|
41253
|
+
resolve();
|
|
41254
|
+
return
|
|
41255
|
+
}
|
|
41256
|
+
|
|
41257
|
+
var key = isList === true ? currentJobIndex : resultKeys[ currentJobIndex ];
|
|
41258
|
+
|
|
41259
|
+
sequentialPromises[ key ](resultAggregator)
|
|
41260
|
+
.then(function (value) {
|
|
41261
|
+
if (hasAborted === true) {
|
|
41262
|
+
resolve();
|
|
41263
|
+
return // early exit
|
|
41264
|
+
}
|
|
41265
|
+
|
|
41266
|
+
resultAggregator[ key ] = { key: key, status: 'fulfilled', value: value };
|
|
41267
|
+
|
|
41268
|
+
// timeout so it doesn't interfere with the .catch() below
|
|
41269
|
+
setTimeout(runNextPromise);
|
|
41270
|
+
})
|
|
41271
|
+
.catch(function (reason) {
|
|
41272
|
+
if (hasAborted === true) {
|
|
41273
|
+
resolve();
|
|
41274
|
+
return // early exit
|
|
41275
|
+
}
|
|
41276
|
+
|
|
41277
|
+
var result = { key: key, status: 'rejected', reason: reason };
|
|
41278
|
+
resultAggregator[ key ] = result;
|
|
41279
|
+
|
|
41280
|
+
if (abortOnFail === true) {
|
|
41281
|
+
hasAborted = true;
|
|
41282
|
+
reject(Object.assign({}, result, {resultAggregator: resultAggregator}));
|
|
41283
|
+
return // early exit
|
|
41284
|
+
}
|
|
41285
|
+
|
|
41286
|
+
// timeout so no interference
|
|
41287
|
+
setTimeout(runNextPromise);
|
|
41288
|
+
});
|
|
41289
|
+
}
|
|
41290
|
+
|
|
41291
|
+
runNextPromise();
|
|
41292
|
+
}); };
|
|
41293
|
+
|
|
41294
|
+
var threads = Array(threadsNumber).fill(getPromiseThread());
|
|
41295
|
+
return Promise.all(threads).then(function () { return resultAggregator; })
|
|
41296
|
+
}
|
|
41297
|
+
|
|
41084
41298
|
|
|
41085
41299
|
|
|
41086
41300
|
var utils = /*#__PURE__*/Object.freeze({
|
|
@@ -41097,12 +41311,14 @@
|
|
|
41097
41311
|
format: format,
|
|
41098
41312
|
frameDebounce: frameDebounce,
|
|
41099
41313
|
noop: noop,
|
|
41314
|
+
is: is,
|
|
41100
41315
|
openURL: openUrl,
|
|
41101
41316
|
morph: morph,
|
|
41102
41317
|
patterns: patterns,
|
|
41318
|
+
runSequentialPromises: runSequentialPromises,
|
|
41103
41319
|
scroll: scroll,
|
|
41104
41320
|
throttle: throttle,
|
|
41105
|
-
uid: uid
|
|
41321
|
+
uid: uid
|
|
41106
41322
|
});
|
|
41107
41323
|
|
|
41108
41324
|
Vue.use({ install: install }, {
|