quasar 2.3.0 → 2.3.1
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/BottomSheet.json +17 -2
- package/dist/api/Dialog.json +17 -2
- package/dist/api/LocalStorage.json +8 -0
- package/dist/api/QCircularProgress.json +1 -1
- package/dist/api/QDate.json +46 -0
- package/dist/api/QEditor.json +7 -2
- package/dist/api/QFooter.json +1 -1
- package/dist/api/QHeader.json +1 -1
- package/dist/api/QIntersection.json +14 -0
- package/dist/api/QLinearProgress.json +1 -1
- package/dist/api/QRouteTab.json +1 -24
- package/dist/api/QScrollArea.json +3 -0
- package/dist/api/QSelect.json +62 -0
- package/dist/api/QTable.json +62 -5
- package/dist/api/QUploader.json +81 -1
- package/dist/api/SessionStorage.json +8 -0
- 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/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/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/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-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.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 +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.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.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.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/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/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/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/ml.umd.prod.js +1 -1
- package/dist/lang/ms.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/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/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.cjs.prod.js +2 -2
- package/dist/quasar.css +4 -0
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +4 -0
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +3 -1
- package/dist/quasar.umd.js +39 -18
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +360 -141
- package/dist/vetur/quasar-attributes.json +6 -2
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +14 -3
- package/package.json +4 -1
- package/src/body.js +14 -4
- package/src/components/circular-progress/QCircularProgress.json +1 -1
- package/src/components/date/QDate.json +34 -0
- package/src/components/editor/QEditor.json +6 -2
- package/src/components/footer/QFooter.json +1 -1
- package/src/components/header/QHeader.json +1 -1
- package/src/components/intersection/QIntersection.js +9 -1
- package/src/components/intersection/QIntersection.json +9 -0
- package/src/components/linear-progress/QLinearProgress.json +1 -1
- package/src/components/scroll-area/QScrollArea.json +4 -1
- package/src/components/select/QSelect.js +6 -2
- package/src/components/select/QSelect.json +47 -0
- package/src/components/slider/use-slider.js +3 -3
- package/src/components/table/QTable.json +51 -5
- package/src/components/tabs/QRouteTab.json +1 -23
- package/src/components/uploader/xhr-uploader-plugin.json +97 -1
- package/src/composables/private/use-field.js +2 -2
- package/src/composables/private/use-refocus-target.js +12 -3
- package/src/css/core/transitions.sass +3 -1
- package/src/install-quasar.js +1 -0
- package/src/utils/private/global-dialog.json +10 -2
- package/src/utils/private/web-storage.json +10 -0
- package/wrappers/index.js +4 -0
|
@@ -2136,7 +2136,7 @@
|
|
|
2136
2136
|
"description": "Adds a default shadow to the footer"
|
|
2137
2137
|
},
|
|
2138
2138
|
"q-footer/height-hint": {
|
|
2139
|
-
"type": "number|string
|
|
2139
|
+
"type": "number|string",
|
|
2140
2140
|
"description": "When using SSR, you can optionally hint of the height (in pixels) of the QFooter"
|
|
2141
2141
|
},
|
|
2142
2142
|
"q-form/autofocus": {
|
|
@@ -2176,7 +2176,7 @@
|
|
|
2176
2176
|
"description": "Adds a default shadow to the header"
|
|
2177
2177
|
},
|
|
2178
2178
|
"q-header/height-hint": {
|
|
2179
|
-
"type": "number|string
|
|
2179
|
+
"type": "number|string",
|
|
2180
2180
|
"description": "When using SSR, you can optionally hint of the height (in pixels) of the QHeader"
|
|
2181
2181
|
},
|
|
2182
2182
|
"q-icon/size": {
|
|
@@ -2579,6 +2579,10 @@
|
|
|
2579
2579
|
"type": "string",
|
|
2580
2580
|
"description": "One of Quasar's embedded transitions"
|
|
2581
2581
|
},
|
|
2582
|
+
"q-intersection/transition-duration": {
|
|
2583
|
+
"type": "string|number",
|
|
2584
|
+
"description": "Transition duration (in milliseconds, without unit)"
|
|
2585
|
+
},
|
|
2582
2586
|
"q-intersection/disable": {
|
|
2583
2587
|
"type": "boolean",
|
|
2584
2588
|
"description": "Disable visibility observable (content will remain as it was, visible or hidden)"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "quasar",
|
|
5
|
-
"version": "2.3.
|
|
5
|
+
"version": "2.3.1",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -6715,7 +6715,7 @@
|
|
|
6715
6715
|
"name": "height-hint",
|
|
6716
6716
|
"value": {
|
|
6717
6717
|
"kind": "expression",
|
|
6718
|
-
"type": "number|
|
|
6718
|
+
"type": "number|string"
|
|
6719
6719
|
},
|
|
6720
6720
|
"description": "When using SSR, you can optionally hint of the height (in pixels) of the QFooter\n\nExamples:\n150",
|
|
6721
6721
|
"doc-url": "https://v2.quasar.dev/layout/header-and-footer",
|
|
@@ -6907,7 +6907,7 @@
|
|
|
6907
6907
|
"name": "height-hint",
|
|
6908
6908
|
"value": {
|
|
6909
6909
|
"kind": "expression",
|
|
6910
|
-
"type": "number|
|
|
6910
|
+
"type": "number|string"
|
|
6911
6911
|
},
|
|
6912
6912
|
"description": "When using SSR, you can optionally hint of the height (in pixels) of the QHeader\n\nExamples:\n150",
|
|
6913
6913
|
"doc-url": "https://v2.quasar.dev/layout/header-and-footer",
|
|
@@ -8150,6 +8150,16 @@
|
|
|
8150
8150
|
"description": "One of Quasar's embedded transitions\n\nExamples:\nfade\nslide-down",
|
|
8151
8151
|
"doc-url": "https://v2.quasar.dev/vue-components/intersection"
|
|
8152
8152
|
},
|
|
8153
|
+
{
|
|
8154
|
+
"name": "transition-duration",
|
|
8155
|
+
"value": {
|
|
8156
|
+
"kind": "expression",
|
|
8157
|
+
"type": "string|number"
|
|
8158
|
+
},
|
|
8159
|
+
"description": "Transition duration (in milliseconds, without unit)\n\nExamples:\n500\n1200",
|
|
8160
|
+
"doc-url": "https://v2.quasar.dev/vue-components/intersection",
|
|
8161
|
+
"default": "300"
|
|
8162
|
+
},
|
|
8153
8163
|
{
|
|
8154
8164
|
"name": "disable",
|
|
8155
8165
|
"value": {
|
|
@@ -11537,6 +11547,7 @@
|
|
|
11537
11547
|
{
|
|
11538
11548
|
"name": "info",
|
|
11539
11549
|
"type": "object",
|
|
11550
|
+
"description": "An object containing scroll information",
|
|
11540
11551
|
"doc-url": "https://v2.quasar.dev/vue-components/scroll-area"
|
|
11541
11552
|
}
|
|
11542
11553
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quasar",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
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",
|
|
@@ -67,6 +67,8 @@
|
|
|
67
67
|
"@rollup/plugin-node-resolve": "^11.2.1",
|
|
68
68
|
"@rollup/plugin-replace": "^2.3.3",
|
|
69
69
|
"babel-preset-es2015-rollup": "^3.0.0",
|
|
70
|
+
"cli-highlight": "^2.1.11",
|
|
71
|
+
"diff": "^5.0.0",
|
|
70
72
|
"eslint": "^7.4.0",
|
|
71
73
|
"eslint-config-standard": "^16.0.2",
|
|
72
74
|
"eslint-friendly-formatter": "^4.0.1",
|
|
@@ -75,6 +77,7 @@
|
|
|
75
77
|
"eslint-plugin-promise": "^4.2.1",
|
|
76
78
|
"eslint-plugin-vue": "^7.0.0",
|
|
77
79
|
"eslint-webpack-plugin": "^2.4.1",
|
|
80
|
+
"fast-glob": "^3.2.7",
|
|
78
81
|
"json-beautify": "^1.1.1",
|
|
79
82
|
"module-alias": "^2.2.2",
|
|
80
83
|
"prettier": "^2.4.1",
|
package/src/body.js
CHANGED
|
@@ -82,12 +82,18 @@ export default {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
ssrContext._meta.bodyClasses += cls.join(' ')
|
|
85
|
-
return
|
|
86
|
-
}
|
|
87
85
|
|
|
88
|
-
|
|
86
|
+
const brand = $q.config.brand
|
|
87
|
+
if (brand !== void 0) {
|
|
88
|
+
const vars = Object.keys(brand)
|
|
89
|
+
.map(key => `--q-${ key }:${ brand[ key ] };`)
|
|
90
|
+
.join('')
|
|
91
|
+
|
|
92
|
+
ssrContext._meta.endingHeadTags += `<style>:root{${ vars }}</style>`
|
|
93
|
+
}
|
|
89
94
|
|
|
90
|
-
|
|
95
|
+
return
|
|
96
|
+
}
|
|
91
97
|
|
|
92
98
|
if (this.__installed === true) { return }
|
|
93
99
|
|
|
@@ -95,6 +101,10 @@ export default {
|
|
|
95
101
|
applyClientSsrCorrections()
|
|
96
102
|
}
|
|
97
103
|
else {
|
|
104
|
+
const { $q } = opts
|
|
105
|
+
|
|
106
|
+
$q.config.brand !== void 0 && setColors($q.config.brand)
|
|
107
|
+
|
|
98
108
|
const cls = getBodyClasses(client, $q.config)
|
|
99
109
|
document.body.classList.add.apply(document.body.classList, cls)
|
|
100
110
|
}
|
|
@@ -61,6 +61,17 @@
|
|
|
61
61
|
"events": {
|
|
62
62
|
"type": [ "Array", "Function" ],
|
|
63
63
|
"desc": "A list of events to highlight on the calendar; If using a function, it receives the date as a String and must return a Boolean (matches or not); If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
64
|
+
"params": {
|
|
65
|
+
"date": {
|
|
66
|
+
"type": "String",
|
|
67
|
+
"desc": "The current date being processed.",
|
|
68
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"returns": {
|
|
72
|
+
"type": "Boolean",
|
|
73
|
+
"desc": "If true, the current date will be highlighted"
|
|
74
|
+
},
|
|
64
75
|
"examples": [
|
|
65
76
|
":events=\"['2018/11/05', '2018/11/06', '2018/11/09', '2018/11/23']\"",
|
|
66
77
|
":events=\"date => date[9] % 3 === 0\""
|
|
@@ -71,6 +82,18 @@
|
|
|
71
82
|
"event-color": {
|
|
72
83
|
"type": [ "String", "Function" ],
|
|
73
84
|
"desc": "Color name (from the Quasar Color Palette); If using a function, it receives the date as a String and must return a String (color for the received date); If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
85
|
+
"params": {
|
|
86
|
+
"date": {
|
|
87
|
+
"type": "String",
|
|
88
|
+
"desc": "The current date being processed.",
|
|
89
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"returns": {
|
|
93
|
+
"type": "String",
|
|
94
|
+
"desc": "Color for the current date.",
|
|
95
|
+
"examples": [ "teal", "orange" ]
|
|
96
|
+
},
|
|
74
97
|
"examples": [
|
|
75
98
|
"teal-10",
|
|
76
99
|
":event-color=\"(date) => date[9] % 2 === 0 ? 'teal' : 'orange'\""
|
|
@@ -81,6 +104,17 @@
|
|
|
81
104
|
"options": {
|
|
82
105
|
"type": [ "Array", "Function" ],
|
|
83
106
|
"desc": "Optionally configure the days that are selectable; If using a function, it receives the date as a String and must return a Boolean (is date acceptable or not); If using a function then for best performance, reference it from your scope and do not define it inline; Incompatible with 'range' prop",
|
|
107
|
+
"params": {
|
|
108
|
+
"date": {
|
|
109
|
+
"type": "String",
|
|
110
|
+
"desc": "The current date being processed.",
|
|
111
|
+
"examples": [ "2018/11/05", "2021/10/25" ]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"returns": {
|
|
115
|
+
"type": "Boolean",
|
|
116
|
+
"desc": "If true, the current date will be made available for selection"
|
|
117
|
+
},
|
|
84
118
|
"examples": [
|
|
85
119
|
":options=\"['2018/11/05', '2018/11/12', '2018/11/19', '2018/11/26' ]\"",
|
|
86
120
|
":options=\"date => date[9] % 3 === 0\"",
|
|
@@ -120,8 +120,12 @@
|
|
|
120
120
|
},
|
|
121
121
|
"disable": {
|
|
122
122
|
"type": [ "Boolean", "Function" ],
|
|
123
|
-
"desc": "Is button disabled?
|
|
124
|
-
"
|
|
123
|
+
"desc": "Is button disabled?",
|
|
124
|
+
"returns": {
|
|
125
|
+
"type": "Boolean",
|
|
126
|
+
"desc": "If true, the button will be disabled"
|
|
127
|
+
},
|
|
128
|
+
"examples": [ "!user.active", "() => !checkIfUserIsActive()" ]
|
|
125
129
|
},
|
|
126
130
|
"type": {
|
|
127
131
|
"type": "String",
|
|
@@ -18,6 +18,10 @@ export default createComponent({
|
|
|
18
18
|
|
|
19
19
|
once: Boolean,
|
|
20
20
|
transition: String,
|
|
21
|
+
transitionDuration: {
|
|
22
|
+
type: [ String, Number ],
|
|
23
|
+
default: 300
|
|
24
|
+
},
|
|
21
25
|
|
|
22
26
|
ssrPrerender: Boolean,
|
|
23
27
|
|
|
@@ -63,6 +67,10 @@ export default createComponent({
|
|
|
63
67
|
] ]
|
|
64
68
|
})
|
|
65
69
|
|
|
70
|
+
const transitionStyle = computed(
|
|
71
|
+
() => `--q-transition-duration: ${ props.transitionDuration }ms`
|
|
72
|
+
)
|
|
73
|
+
|
|
66
74
|
function trigger (entry) {
|
|
67
75
|
if (showing.value !== entry.isIntersecting) {
|
|
68
76
|
showing.value = entry.isIntersecting
|
|
@@ -72,7 +80,7 @@ export default createComponent({
|
|
|
72
80
|
|
|
73
81
|
function getContent () {
|
|
74
82
|
return showing.value === true
|
|
75
|
-
? [ h('div', { key: 'content' }, hSlot(slots.default)) ]
|
|
83
|
+
? [ h('div', { key: 'content', style: transitionStyle.value }, hSlot(slots.default)) ]
|
|
76
84
|
: void 0
|
|
77
85
|
}
|
|
78
86
|
|
|
@@ -51,6 +51,15 @@
|
|
|
51
51
|
"category": "behavior"
|
|
52
52
|
},
|
|
53
53
|
|
|
54
|
+
"transition-duration": {
|
|
55
|
+
"type": [ "String", "Number" ],
|
|
56
|
+
"desc": "Transition duration (in milliseconds, without unit)",
|
|
57
|
+
"default": 300,
|
|
58
|
+
"examples": [ 500, "1200" ],
|
|
59
|
+
"category": "behavior",
|
|
60
|
+
"addedIn": "v2.3.1"
|
|
61
|
+
},
|
|
62
|
+
|
|
54
63
|
"disable": {
|
|
55
64
|
"type": "Boolean",
|
|
56
65
|
"desc": "Disable visibility observable (content will remain as it was, visible or hidden)",
|
|
@@ -95,13 +95,14 @@
|
|
|
95
95
|
"params": {
|
|
96
96
|
"info": {
|
|
97
97
|
"type": "Object",
|
|
98
|
-
"
|
|
98
|
+
"desc": "An object containing scroll information",
|
|
99
99
|
"definition": {
|
|
100
100
|
"ref": {
|
|
101
101
|
"type": "Object",
|
|
102
102
|
"desc": "Vue reference to the QScrollArea which triggered the event",
|
|
103
103
|
"__exemption": [ "examples" ]
|
|
104
104
|
},
|
|
105
|
+
|
|
105
106
|
"verticalPosition": {
|
|
106
107
|
"type": "Number",
|
|
107
108
|
"desc": "Vertical scroll position (in px)",
|
|
@@ -215,6 +216,7 @@
|
|
|
215
216
|
"desc": "Get current scroll position",
|
|
216
217
|
"returns": {
|
|
217
218
|
"type": "Object",
|
|
219
|
+
"desc": "An object containing scroll position information",
|
|
218
220
|
"definition": {
|
|
219
221
|
"top": {
|
|
220
222
|
"type": "Number",
|
|
@@ -235,6 +237,7 @@
|
|
|
235
237
|
"desc": "Get current scroll position in percentage (0.0 <= x <= 1.0)",
|
|
236
238
|
"returns": {
|
|
237
239
|
"type": "Object",
|
|
240
|
+
"desc": "An object containing scroll position information in percentage",
|
|
238
241
|
"definition": {
|
|
239
242
|
"top": {
|
|
240
243
|
"type": "Number",
|
|
@@ -1339,14 +1339,14 @@ export default createComponent({
|
|
|
1339
1339
|
function onControlPopupShow (e) {
|
|
1340
1340
|
e !== void 0 && stop(e)
|
|
1341
1341
|
emit('popup-show', e)
|
|
1342
|
-
state.hasPopupOpen
|
|
1342
|
+
state.hasPopupOpen = true
|
|
1343
1343
|
state.onControlFocusin(e)
|
|
1344
1344
|
}
|
|
1345
1345
|
|
|
1346
1346
|
function onControlPopupHide (e) {
|
|
1347
1347
|
e !== void 0 && stop(e)
|
|
1348
1348
|
emit('popup-hide', e)
|
|
1349
|
-
state.hasPopupOpen
|
|
1349
|
+
state.hasPopupOpen = false
|
|
1350
1350
|
state.onControlFocusout(e)
|
|
1351
1351
|
}
|
|
1352
1352
|
|
|
@@ -1418,6 +1418,10 @@ export default createComponent({
|
|
|
1418
1418
|
) {
|
|
1419
1419
|
return hasDialog === true ? getDialog() : getMenu()
|
|
1420
1420
|
}
|
|
1421
|
+
else if (state.hasPopupOpen === true) {
|
|
1422
|
+
// explicitly set it otherwise TAB will not blur component
|
|
1423
|
+
state.hasPopupOpen = false
|
|
1424
|
+
}
|
|
1421
1425
|
},
|
|
1422
1426
|
|
|
1423
1427
|
controlEvents: {
|
|
@@ -47,6 +47,22 @@
|
|
|
47
47
|
"type": [ "Function", "String" ],
|
|
48
48
|
"desc": "Property of option which holds the 'value'; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
49
49
|
"default": "value",
|
|
50
|
+
"params": {
|
|
51
|
+
"option": {
|
|
52
|
+
"type": [ "String", "Object" ],
|
|
53
|
+
"desc": "The current option being processed",
|
|
54
|
+
"examples": [
|
|
55
|
+
"'BMW'",
|
|
56
|
+
"'Samsung Phone'",
|
|
57
|
+
"{ label: 'BMW', value: 'car', cannotSelect: true }"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"returns": {
|
|
62
|
+
"type": "Any",
|
|
63
|
+
"desc": "Value of the current option",
|
|
64
|
+
"examples": [ "'car'", "34" ]
|
|
65
|
+
},
|
|
50
66
|
"examples": [
|
|
51
67
|
"option-value=\"modelNumber\"",
|
|
52
68
|
":option-value=\"(item) => item === null ? null : item.modelNumber\""
|
|
@@ -58,6 +74,22 @@
|
|
|
58
74
|
"type": [ "Function", "String" ],
|
|
59
75
|
"desc": "Property of option which holds the 'label'; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
60
76
|
"default": "label",
|
|
77
|
+
"params": {
|
|
78
|
+
"option": {
|
|
79
|
+
"type": [ "String", "Object" ],
|
|
80
|
+
"desc": "The current option being processed",
|
|
81
|
+
"examples": [
|
|
82
|
+
"'BMW'",
|
|
83
|
+
"'Samsung Phone'",
|
|
84
|
+
"{ label: 'BMW', value: 'car', cannotSelect: true }"
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"returns": {
|
|
89
|
+
"type": "String",
|
|
90
|
+
"desc": "Label of the current option",
|
|
91
|
+
"examples": [ "'BMW'", "'Samsung Phone'" ]
|
|
92
|
+
},
|
|
61
93
|
"examples": [
|
|
62
94
|
"option-label=\"itemName\"",
|
|
63
95
|
":option-label=\"(item) => item === null ? 'Null value' : item.itemName\""
|
|
@@ -69,6 +101,21 @@
|
|
|
69
101
|
"type": [ "Function", "String" ],
|
|
70
102
|
"desc": "Property of option which tells it's disabled; The value of the property must be a Boolean; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
71
103
|
"default": "disable",
|
|
104
|
+
"params": {
|
|
105
|
+
"option": {
|
|
106
|
+
"type": [ "String", "Object" ],
|
|
107
|
+
"desc": "The current option being processed",
|
|
108
|
+
"examples": [
|
|
109
|
+
"'BMW'",
|
|
110
|
+
"'Samsung Phone'",
|
|
111
|
+
"{ label: 'BMW', value: 'car', cannotSelect: true }"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"returns": {
|
|
116
|
+
"type": "Boolean",
|
|
117
|
+
"desc": "If true, the current option will be disabled"
|
|
118
|
+
},
|
|
72
119
|
"examples": [
|
|
73
120
|
"option-disable=\"cannotSelect\"",
|
|
74
121
|
":option-disable=\"(item) => item === null ? true : item.cannotSelect\""
|
|
@@ -210,7 +210,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
function onPan (event) {
|
|
213
|
-
if (event.isFinal) {
|
|
213
|
+
if (event.isFinal === true) {
|
|
214
214
|
if (dragging.value !== void 0) {
|
|
215
215
|
updatePosition(event.evt)
|
|
216
216
|
// only if touch, because we also have mousedown/up:
|
|
@@ -220,7 +220,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
|
|
|
220
220
|
}
|
|
221
221
|
active.value = false
|
|
222
222
|
}
|
|
223
|
-
else if (event.isFirst) {
|
|
223
|
+
else if (event.isFirst === true) {
|
|
224
224
|
dragging.value = getDragging(event.evt)
|
|
225
225
|
updatePosition(event.evt)
|
|
226
226
|
updateValue()
|
|
@@ -250,7 +250,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
|
|
|
250
250
|
function onDeactivate () {
|
|
251
251
|
preventFocus.value = false
|
|
252
252
|
|
|
253
|
-
if (dragging.value ===
|
|
253
|
+
if (dragging.value === false) {
|
|
254
254
|
active.value = false
|
|
255
255
|
}
|
|
256
256
|
|
|
@@ -17,6 +17,18 @@
|
|
|
17
17
|
"type": [ "String", "Function" ],
|
|
18
18
|
"desc": "Property of each row that defines the unique key of each row (the result must be a primitive, not Object, Array, etc); The value of property must be string or a function taking a row and returning the desired (nested) key in the row; If supplying a function then for best performance, reference it from your scope and do not define it inline",
|
|
19
19
|
"default": "id",
|
|
20
|
+
"params": {
|
|
21
|
+
"row": {
|
|
22
|
+
"type": "Object",
|
|
23
|
+
"desc": "The current row being processed",
|
|
24
|
+
"examples": [ "{ name: 'Lorem Ipsum', price: 19 }" ]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"returns": {
|
|
28
|
+
"type": "Any",
|
|
29
|
+
"desc": "Current row's key",
|
|
30
|
+
"examples": [ "'34f39dda-6206-4071-a9df-4393aabe49ac'", "34" ]
|
|
31
|
+
},
|
|
20
32
|
"examples": [ "row-key=\"name\"", ":row-key=\"row => row.name\"" ],
|
|
21
33
|
"category": "general"
|
|
22
34
|
},
|
|
@@ -146,7 +158,19 @@
|
|
|
146
158
|
"type": [ "String", "Function" ],
|
|
147
159
|
"desc": "Row Object property to determine value for this column or function which maps to the required property",
|
|
148
160
|
"required": true,
|
|
149
|
-
"
|
|
161
|
+
"params": {
|
|
162
|
+
"row": {
|
|
163
|
+
"type": "Object",
|
|
164
|
+
"desc": "The current row being processed",
|
|
165
|
+
"examples": [ "{ name: 'Lorem Ipsum', prices: { active: 19, old: 25, list: 29 } }" ]
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"returns": {
|
|
169
|
+
"type": "Any",
|
|
170
|
+
"desc": "Value for this column",
|
|
171
|
+
"examples": [ "19" ]
|
|
172
|
+
},
|
|
173
|
+
"examples": [ "name", "row => row.prices.active" ]
|
|
150
174
|
},
|
|
151
175
|
"required": {
|
|
152
176
|
"type": "Boolean",
|
|
@@ -228,17 +252,39 @@
|
|
|
228
252
|
"style": {
|
|
229
253
|
"type": [ "String", "Function" ],
|
|
230
254
|
"desc": "Style to apply on normal cells of the column",
|
|
255
|
+
"params": {
|
|
256
|
+
"row": {
|
|
257
|
+
"type": "Object",
|
|
258
|
+
"desc": "The current row being processed",
|
|
259
|
+
"examples": [ "{ name: 'Frozen Yogurt', calories: 159 }" ]
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"returns": {
|
|
263
|
+
"type": "String",
|
|
264
|
+
"__exemption": [ "desc", "examples" ]
|
|
265
|
+
},
|
|
231
266
|
"examples": [
|
|
232
|
-
"width: 500px",
|
|
233
|
-
"row => (row.calories % 2 === 0 ? 'width:10px' : 'font-size:2em')"
|
|
267
|
+
"'width: 500px'",
|
|
268
|
+
"row => (row.calories % 2 === 0 ? 'width: 10px' : 'font-size: 2em; font-weight: bold')"
|
|
234
269
|
]
|
|
235
270
|
},
|
|
236
271
|
"classes": {
|
|
237
272
|
"type": [ "String", "Function" ],
|
|
238
273
|
"desc": "Classes to add on normal cells of the column",
|
|
274
|
+
"params": {
|
|
275
|
+
"row": {
|
|
276
|
+
"type": "Object",
|
|
277
|
+
"desc": "The current row being processed",
|
|
278
|
+
"examples": [ "{ name: 'Frozen Yogurt', calories: 159 }" ]
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"returns": {
|
|
282
|
+
"type": "String",
|
|
283
|
+
"__exemption": [ "desc", "examples" ]
|
|
284
|
+
},
|
|
239
285
|
"examples": [
|
|
240
|
-
"my-special-class",
|
|
241
|
-
"row => (row.calories % 2 === 0 ? 'bg-green' : 'bg-yellow')"
|
|
286
|
+
"'my-special-class bg-primary'",
|
|
287
|
+
"row => (row.calories % 2 === 0 ? 'bg-green text-white' : 'bg-yellow')"
|
|
242
288
|
]
|
|
243
289
|
},
|
|
244
290
|
"headerStyle": {
|
|
@@ -24,29 +24,7 @@
|
|
|
24
24
|
"navigateFn": {
|
|
25
25
|
"type": "Function",
|
|
26
26
|
"desc": "When you need to control the time at which the tab should trigger the route navigation then set 'evt.navigate' to false and call this function; Useful if you have async work to be done before the actual route navigation",
|
|
27
|
-
"params":
|
|
28
|
-
"to": {
|
|
29
|
-
"type": [ "String", "Object" ],
|
|
30
|
-
"desc": "Equivalent to Vue Router <router-link> 'to' property",
|
|
31
|
-
"examples": [
|
|
32
|
-
"/home/dashboard",
|
|
33
|
-
"{ name: 'my-route-name' }"
|
|
34
|
-
],
|
|
35
|
-
"default": "Tab's 'to' property"
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
"append": {
|
|
39
|
-
"type": "Boolean",
|
|
40
|
-
"desc": "Equivalent to Vue Router <router-link> 'append' property",
|
|
41
|
-
"default": "Tab's 'append' property"
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
"replace": {
|
|
45
|
-
"type": "Boolean",
|
|
46
|
-
"desc": "Equivalent to Vue Router <router-link> 'replace' property",
|
|
47
|
-
"default": "Tab's 'replace' property"
|
|
48
|
-
}
|
|
49
|
-
},
|
|
27
|
+
"params": null,
|
|
50
28
|
"returns": null
|
|
51
29
|
}
|
|
52
30
|
}
|