quasar 1.16.2 → 1.17.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/BottomSheet.json +2 -2
- package/dist/api/Loading.json +0 -2
- package/dist/api/LoadingBar.json +1 -1
- package/dist/api/Notify.json +25 -25
- package/dist/api/QAjaxBar.json +23 -4
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +32 -11
- package/dist/api/QBtn.json +35 -14
- package/dist/api/QBtnDropdown.json +36 -15
- package/dist/api/QBtnToggle.json +1 -1
- package/dist/api/QCarousel.json +7 -7
- package/dist/api/QCarouselSlide.json +2 -2
- package/dist/api/QChatMessage.json +1 -5
- package/dist/api/QChip.json +4 -4
- package/dist/api/QColor.json +6 -0
- package/dist/api/QDialog.json +7 -1
- package/dist/api/QExpansionItem.json +34 -13
- package/dist/api/QFab.json +34 -2
- package/dist/api/QFabAction.json +9 -1
- package/dist/api/QField.json +80 -6
- package/dist/api/QFile.json +80 -6
- package/dist/api/QImg.json +2 -2
- package/dist/api/QInnerLoading.json +32 -0
- package/dist/api/QInput.json +82 -6
- package/dist/api/QItem.json +31 -10
- package/dist/api/QOptionGroup.json +58 -1
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QPopupEdit.json +14 -7
- package/dist/api/QPullToRefresh.json +1 -1
- package/dist/api/QRange.json +581 -96
- package/dist/api/QRating.json +3 -3
- package/dist/api/QRouteTab.json +32 -12
- package/dist/api/QScrollArea.json +188 -20
- package/dist/api/QSelect.json +82 -10
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSlider.json +499 -34
- package/dist/api/QStep.json +4 -4
- package/dist/api/QStepper.json +4 -4
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTable.json +4 -4
- package/dist/api/QTabs.json +9 -0
- package/dist/api/QTimelineEntry.json +2 -2
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTree.json +7 -1
- package/dist/api/QVideo.json +10 -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/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/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-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 +6 -0
- 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-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 +1 -1
- package/dist/lang/bg.umd.min.js +1 -1
- package/dist/lang/ca.umd.min.js +1 -1
- package/dist/lang/cs.umd.min.js +1 -1
- package/dist/lang/da.umd.min.js +1 -1
- package/dist/lang/de.umd.min.js +1 -1
- package/dist/lang/el.umd.min.js +1 -1
- package/dist/lang/en-gb.umd.min.js +1 -1
- package/dist/lang/en-us.umd.min.js +1 -1
- package/dist/lang/eo.umd.min.js +1 -1
- package/dist/lang/es.umd.min.js +1 -1
- package/dist/lang/et.umd.min.js +1 -1
- package/dist/lang/fa-ir.umd.min.js +1 -1
- package/dist/lang/fa.umd.min.js +1 -1
- package/dist/lang/fi.umd.min.js +1 -1
- package/dist/lang/fr.umd.min.js +2 -2
- package/dist/lang/gn.umd.min.js +1 -1
- package/dist/lang/he.umd.min.js +1 -1
- package/dist/lang/hr.umd.min.js +1 -1
- package/dist/lang/hu.umd.min.js +1 -1
- package/dist/lang/id.umd.min.js +1 -1
- package/dist/lang/is.umd.min.js +1 -1
- package/dist/lang/it.umd.min.js +1 -1
- package/dist/lang/ja.umd.min.js +1 -1
- package/dist/lang/km.umd.min.js +1 -1
- package/dist/lang/ko-kr.umd.min.js +1 -1
- package/dist/lang/kur-ckb.umd.min.js +1 -1
- package/dist/lang/lu.umd.min.js +1 -1
- package/dist/lang/lv.umd.min.js +1 -1
- package/dist/lang/ml.umd.min.js +1 -1
- package/dist/lang/ms.umd.min.js +1 -1
- package/dist/lang/nb-no.umd.min.js +1 -1
- package/dist/lang/nl.umd.min.js +1 -1
- package/dist/lang/pl.umd.min.js +1 -1
- package/dist/lang/pt-br.umd.min.js +1 -1
- package/dist/lang/pt.umd.min.js +1 -1
- package/dist/lang/ro.umd.min.js +1 -1
- package/dist/lang/ru.umd.min.js +1 -1
- package/dist/lang/sk.umd.min.js +1 -1
- package/dist/lang/sl.umd.min.js +1 -1
- package/dist/lang/sr.umd.min.js +2 -2
- package/dist/lang/sv.umd.min.js +1 -1
- package/dist/lang/ta.umd.min.js +1 -1
- package/dist/lang/th.umd.min.js +1 -1
- package/dist/lang/tr.umd.min.js +1 -1
- package/dist/lang/ug.umd.min.js +2 -2
- package/dist/lang/uk.umd.min.js +1 -1
- package/dist/lang/vi.umd.min.js +1 -1
- 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 +378 -226
- 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.min.css +1 -1
- package/dist/quasar.rtl.css +510 -302
- package/dist/quasar.rtl.min.css +1 -1
- package/dist/quasar.sass +326 -211
- package/dist/quasar.styl +326 -209
- package/dist/quasar.umd.js +3240 -1889
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +3199 -1870
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/transform-asset-urls.json +20 -0
- package/dist/types/index.d.ts +427 -105
- package/dist/types/utils/scroll.d.ts +1 -0
- package/dist/vetur/quasar-attributes.json +320 -92
- package/dist/vetur/quasar-tags.json +76 -19
- package/dist/web-types/web-types.json +1296 -257
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/lang/ar.js +1 -1
- package/lang/fa-ir.js +3 -1
- package/lang/fa.js +3 -1
- package/lang/fr.js +1 -1
- package/lang/index.json +1 -1
- package/lang/kur-ckb.js +2 -2
- package/lang/sr.js +4 -4
- package/lang/ug.js +48 -46
- package/lang/zh-hans.js +1 -1
- package/lang/zh-hant.js +18 -18
- package/package.json +1 -1
- package/src/api.extends.json +1 -2
- package/src/components/ajax-bar/QAjaxBar.js +48 -26
- package/src/components/ajax-bar/QAjaxBar.json +22 -4
- package/src/components/breadcrumbs/QBreadcrumbs.js +15 -11
- package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
- package/src/components/breadcrumbs/QBreadcrumbs.styl +0 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +25 -9
- package/src/components/btn/QBtn.js +3 -3
- package/src/components/btn-dropdown/QBtnDropdown.sass +2 -0
- package/src/components/btn-dropdown/QBtnDropdown.styl +2 -0
- package/src/components/btn-toggle/QBtnToggle.js +4 -1
- package/src/components/carousel/QCarousel.js +6 -2
- package/src/components/carousel/QCarousel.json +9 -1
- package/src/components/carousel/QCarouselSlide.json +2 -2
- package/src/components/chat/QChatMessage.json +1 -1
- package/src/components/color/QColor.js +100 -85
- package/src/components/color/QColor.json +7 -0
- package/src/components/color/QColor.sass +14 -24
- package/src/components/color/QColor.styl +14 -24
- package/src/components/date/QDate.js +7 -1
- package/src/components/date/QDate.sass +2 -0
- package/src/components/date/QDate.styl +2 -0
- package/src/components/dialog/QDialog.js +8 -4
- package/src/components/dialog/QDialog.json +8 -1
- package/src/components/drawer/QDrawer.js +16 -15
- package/src/components/editor/QEditor.js +2 -2
- package/src/components/editor/QEditor.sass +13 -1
- package/src/components/editor/QEditor.styl +13 -1
- package/src/components/expansion-item/QExpansionItem.js +13 -11
- package/src/components/fab/QFab.js +20 -11
- package/src/components/fab/QFab.json +35 -0
- package/src/components/fab/QFabAction.js +16 -9
- package/src/components/fab/QFabAction.json +10 -0
- package/src/components/field/QField.js +28 -23
- package/src/components/field/__QField.json +72 -8
- package/src/components/file/QFile.js +12 -4
- package/src/components/file/QFile.sass +4 -3
- package/src/components/file/QFile.styl +4 -3
- package/src/components/footer/QFooter.js +1 -1
- package/src/components/form/QForm.js +1 -1
- package/src/components/header/QHeader.js +1 -1
- package/src/components/icon/QIcon.js +92 -75
- package/src/components/icon/QIcon.sass +0 -1
- package/src/components/icon/QIcon.styl +0 -1
- package/src/components/img/QImg.json +2 -2
- package/src/components/infinite-scroll/QInfiniteScroll.js +49 -36
- package/src/components/inner-loading/QInnerLoading.js +54 -22
- package/src/components/inner-loading/QInnerLoading.json +29 -0
- package/src/components/inner-loading/QInnerLoading.sass +3 -0
- package/src/components/inner-loading/QInnerLoading.styl +3 -0
- package/src/components/item/QItem.js +9 -15
- package/src/components/layout/QLayout.js +49 -0
- package/src/components/linear-progress/QLinearProgress.js +6 -2
- package/src/components/menu/QMenu.js +5 -1
- package/src/components/option-group/QOptionGroup.js +32 -22
- package/src/components/option-group/QOptionGroup.json +50 -1
- package/src/components/parallax/QParallax.js +3 -0
- package/src/components/parallax/QParallax.json +1 -1
- package/src/components/popup-edit/QPopupEdit.js +41 -16
- package/src/components/popup-edit/QPopupEdit.json +15 -8
- package/src/components/range/QRange.js +223 -278
- package/src/components/range/QRange.json +11 -122
- package/src/components/rating/QRating.js +56 -38
- package/src/components/rating/QRating.json +3 -3
- package/src/components/rating/QRating.sass +8 -6
- package/src/components/rating/QRating.styl +8 -6
- package/src/components/resize-observer/QResizeObserver.js +15 -10
- package/src/components/scroll-area/QScrollArea.js +342 -126
- package/src/components/scroll-area/QScrollArea.json +164 -20
- package/src/components/scroll-area/QScrollArea.sass +5 -0
- package/src/components/scroll-area/QScrollArea.styl +5 -0
- package/src/components/scroll-observer/QScrollObserver.js +9 -2
- package/src/components/select/QSelect.js +8 -2
- package/src/components/select/QSelect.json +1 -1
- package/src/components/separator/QSeparator.js +0 -1
- package/src/components/separator/QSeparator.json +1 -1
- package/src/components/slider/QSlider.js +97 -140
- package/src/components/slider/QSlider.json +1 -122
- package/src/components/slider/QSlider.sass +205 -139
- package/src/components/slider/QSlider.styl +205 -139
- package/src/components/slider/slider-utils.js +468 -123
- package/src/components/slider/slider-utils.json +546 -0
- package/src/components/stepper/QStepper.js +1 -1
- package/src/components/stepper/QStepper.sass +25 -26
- package/src/components/stepper/QStepper.styl +25 -26
- package/src/components/table/QTable.sass +3 -0
- package/src/components/table/QTable.styl +3 -0
- package/src/components/tabs/QRouteTab.js +13 -13
- package/src/components/tabs/QRouteTab.json +0 -7
- package/src/components/tabs/QTab.js +71 -20
- package/src/components/tabs/QTabs.js +237 -52
- package/src/components/tabs/QTabs.json +8 -0
- package/src/components/tabs/QTabs.sass +6 -6
- package/src/components/tabs/QTabs.styl +6 -6
- package/src/components/time/QTime.js +6 -2
- package/src/components/timeline/QTimeline.sass +1 -2
- package/src/components/timeline/QTimeline.styl +1 -2
- package/src/components/timeline/QTimelineEntry.json +1 -1
- package/src/components/tree/QTree.js +10 -6
- package/src/components/tree/QTree.json +5 -0
- package/src/components/tree/QTree.sass +58 -4
- package/src/components/tree/QTree.styl +58 -4
- package/src/components/uploader/QUploaderBase.js +15 -19
- package/src/components/video/QVideo.js +4 -1
- package/src/components/video/QVideo.json +11 -0
- package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
- package/src/components/virtual-scroll/QVirtualScroll.styl +1 -0
- package/src/css/core/helpers.sass +3 -0
- package/src/css/core/helpers.styl +3 -0
- package/src/css/core/positioning.sass +5 -0
- package/src/css/core/positioning.styl +5 -0
- package/src/css/normalize.sass +0 -7
- package/src/css/variables.sass +4 -6
- package/src/css/variables.styl +4 -6
- package/src/directives/Scroll.js +2 -2
- package/src/directives/ScrollFire.js +1 -0
- package/src/ie-compat/ie.js +13 -13
- package/src/install.js +1 -1
- package/src/lang.js +7 -4
- package/src/mixins/anchor.js +3 -13
- package/src/mixins/btn.js +33 -38
- package/src/mixins/btn.json +26 -11
- package/src/mixins/file.js +27 -5
- package/src/mixins/fullscreen.js +16 -4
- package/src/mixins/portal.js +10 -10
- package/src/mixins/router-link.js +88 -14
- package/src/mixins/router-link.json +26 -10
- package/src/mixins/validate.js +33 -15
- package/src/mixins/virtual-scroll.js +40 -42
- package/src/plugins/AppFullscreen.js +41 -16
- package/src/plugins/BottomSheet.json +1 -1
- package/src/plugins/Cookies.js +1 -1
- package/src/plugins/Loading.js +8 -0
- package/src/plugins/LoadingBar.js +9 -0
- package/src/plugins/LoadingBar.json +1 -1
- package/src/plugins/Notify.js +351 -333
- package/src/plugins/Notify.json +20 -20
- package/src/plugins/Notify.sass +9 -3
- package/src/plugins/Notify.styl +9 -3
- package/src/utils/clone.js +53 -4
- package/src/utils/date.js +134 -69
- package/src/utils/dom.js +28 -9
- package/src/utils/extend.js +2 -2
- package/src/utils/focus-manager.js +8 -10
- package/src/utils/global-dialog.js +18 -1
- package/src/utils/is.js +2 -2
- package/src/utils/morph.js +2 -12
- package/src/utils/scroll.js +71 -35
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import debounce from '../utils/debounce.js'
|
|
2
|
+
import { rtlHasScrollBug } from '../utils/scroll.js'
|
|
2
3
|
|
|
3
4
|
const aggBucketSize = 1000
|
|
4
5
|
|
|
@@ -11,31 +12,7 @@ const scrollToEdges = [
|
|
|
11
12
|
'end-force'
|
|
12
13
|
]
|
|
13
14
|
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
let buggyRTL = void 0
|
|
17
|
-
|
|
18
|
-
// mobile Chrome takes the crown for this
|
|
19
|
-
function detectBuggyRTL () {
|
|
20
|
-
const scroller = document.createElement('div')
|
|
21
|
-
const spacer = document.createElement('div')
|
|
22
|
-
|
|
23
|
-
scroller.setAttribute('dir', 'rtl')
|
|
24
|
-
scroller.style.width = '1px'
|
|
25
|
-
scroller.style.height = '1px'
|
|
26
|
-
scroller.style.overflow = 'auto'
|
|
27
|
-
|
|
28
|
-
spacer.style.width = '1000px'
|
|
29
|
-
spacer.style.height = '1px'
|
|
30
|
-
|
|
31
|
-
document.body.appendChild(scroller)
|
|
32
|
-
scroller.appendChild(spacer)
|
|
33
|
-
scroller.scrollLeft = -1000
|
|
34
|
-
|
|
35
|
-
buggyRTL = scroller.scrollLeft >= 0
|
|
36
|
-
|
|
37
|
-
scroller.remove()
|
|
38
|
-
}
|
|
15
|
+
const filterProto = Array.prototype.filter
|
|
39
16
|
|
|
40
17
|
function sumFn (acc, h) {
|
|
41
18
|
return acc + h
|
|
@@ -65,7 +42,7 @@ function getScrollDetails (
|
|
|
65
42
|
if (horizontal === true) {
|
|
66
43
|
if (parent === window) {
|
|
67
44
|
details.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0
|
|
68
|
-
details.scrollViewSize +=
|
|
45
|
+
details.scrollViewSize += document.documentElement.clientWidth
|
|
69
46
|
}
|
|
70
47
|
else {
|
|
71
48
|
details.scrollStart = parentCalc.scrollLeft
|
|
@@ -74,13 +51,13 @@ function getScrollDetails (
|
|
|
74
51
|
details.scrollMaxSize = parentCalc.scrollWidth
|
|
75
52
|
|
|
76
53
|
if (rtl === true) {
|
|
77
|
-
details.scrollStart = (
|
|
54
|
+
details.scrollStart = (rtlHasScrollBug() === true ? details.scrollMaxSize - details.scrollViewSize : 0) - details.scrollStart
|
|
78
55
|
}
|
|
79
56
|
}
|
|
80
57
|
else {
|
|
81
58
|
if (parent === window) {
|
|
82
59
|
details.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0
|
|
83
|
-
details.scrollViewSize +=
|
|
60
|
+
details.scrollViewSize += document.documentElement.clientHeight
|
|
84
61
|
}
|
|
85
62
|
else {
|
|
86
63
|
details.scrollStart = parentCalc.scrollTop
|
|
@@ -128,10 +105,14 @@ function getScrollDetails (
|
|
|
128
105
|
}
|
|
129
106
|
|
|
130
107
|
function setScroll (parent, scroll, horizontal, rtl) {
|
|
108
|
+
if (scroll === 'end') {
|
|
109
|
+
scroll = (parent === window ? document.body : parent)[horizontal === true ? 'scrollWidth' : 'scrollHeight']
|
|
110
|
+
}
|
|
111
|
+
|
|
131
112
|
if (parent === window) {
|
|
132
113
|
if (horizontal === true) {
|
|
133
114
|
if (rtl === true) {
|
|
134
|
-
scroll = (
|
|
115
|
+
scroll = (rtlHasScrollBug() === true ? document.body.scrollWidth - document.documentElement.clientWidth : 0) - scroll
|
|
135
116
|
}
|
|
136
117
|
window.scrollTo(scroll, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)
|
|
137
118
|
}
|
|
@@ -141,7 +122,7 @@ function setScroll (parent, scroll, horizontal, rtl) {
|
|
|
141
122
|
}
|
|
142
123
|
else if (horizontal === true) {
|
|
143
124
|
if (rtl === true) {
|
|
144
|
-
scroll = (
|
|
125
|
+
scroll = (rtlHasScrollBug() === true ? parent.scrollWidth - parent.offsetWidth : 0) - scroll
|
|
145
126
|
}
|
|
146
127
|
parent.scrollLeft = scroll
|
|
147
128
|
}
|
|
@@ -428,20 +409,17 @@ export default {
|
|
|
428
409
|
}
|
|
429
410
|
|
|
430
411
|
const { activeElement } = document
|
|
412
|
+
const contentEl = this.$refs.content
|
|
431
413
|
if (
|
|
432
414
|
rangeChanged === true &&
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
415
|
+
contentEl !== void 0 &&
|
|
416
|
+
contentEl !== activeElement &&
|
|
417
|
+
contentEl.contains(activeElement) === true
|
|
436
418
|
) {
|
|
437
|
-
|
|
438
|
-
this.$refs.content.focus()
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
activeElement.addEventListener('blur', onBlurFn, true)
|
|
419
|
+
contentEl.addEventListener('focusout', this.__onBlurRefocusFn)
|
|
442
420
|
|
|
443
|
-
|
|
444
|
-
|
|
421
|
+
setTimeout(() => {
|
|
422
|
+
contentEl !== void 0 && contentEl.removeEventListener('focusout', this.__onBlurRefocusFn)
|
|
445
423
|
})
|
|
446
424
|
}
|
|
447
425
|
|
|
@@ -518,7 +496,7 @@ export default {
|
|
|
518
496
|
|
|
519
497
|
if (contentEl !== void 0) {
|
|
520
498
|
const
|
|
521
|
-
children =
|
|
499
|
+
children = filterProto.call(contentEl.children || [], el => el.classList && el.classList.contains('q-virtual-scroll--skip') === false), // fallback [] for IE
|
|
522
500
|
childrenLength = children.length,
|
|
523
501
|
sizeFn = this.virtualScrollHorizontal === true
|
|
524
502
|
? el => el.getBoundingClientRect().width
|
|
@@ -700,6 +678,10 @@ export default {
|
|
|
700
678
|
|
|
701
679
|
this.prevToIndex = index
|
|
702
680
|
}
|
|
681
|
+
},
|
|
682
|
+
|
|
683
|
+
__onBlurRefocusFn () {
|
|
684
|
+
this.$refs.content !== void 0 && this.$refs.content.focus()
|
|
703
685
|
}
|
|
704
686
|
},
|
|
705
687
|
|
|
@@ -707,13 +689,29 @@ export default {
|
|
|
707
689
|
this.__setVirtualScrollSize()
|
|
708
690
|
},
|
|
709
691
|
|
|
692
|
+
activated () {
|
|
693
|
+
const scrollEl = this.__getVirtualScrollTarget()
|
|
694
|
+
|
|
695
|
+
if (this.prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {
|
|
696
|
+
setScroll(
|
|
697
|
+
scrollEl,
|
|
698
|
+
this.prevScrollStart,
|
|
699
|
+
this.virtualScrollHorizontal,
|
|
700
|
+
this.$q.lang.rtl
|
|
701
|
+
)
|
|
702
|
+
}
|
|
703
|
+
else {
|
|
704
|
+
this.scrollTo(this.prevToIndex)
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
|
|
710
708
|
beforeMount () {
|
|
711
|
-
buggyRTL === void 0 && detectBuggyRTL()
|
|
712
709
|
this.__onVirtualScrollEvt = debounce(this.__onVirtualScrollEvt, this.$q.platform.is.ios === true ? 120 : 35)
|
|
713
710
|
this.__setVirtualScrollSize()
|
|
714
711
|
},
|
|
715
712
|
|
|
716
713
|
beforeDestroy () {
|
|
714
|
+
this.__onVirtualScrollEvt.cancel()
|
|
717
715
|
const styleSheet = document.getElementById(this.id + '_ss')
|
|
718
716
|
styleSheet !== null && styleSheet.remove()
|
|
719
717
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Vue from 'vue'
|
|
2
2
|
|
|
3
|
-
import { isSSR } from './Platform.js'
|
|
3
|
+
import { isSSR, client } from './Platform.js'
|
|
4
4
|
|
|
5
5
|
const prefixes = {}
|
|
6
6
|
|
|
@@ -18,17 +18,42 @@ function promisify (target, fn) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
function checkActive (plugin) {
|
|
22
|
+
plugin.activeEl = document.fullscreenElement ||
|
|
23
|
+
document.mozFullScreenElement ||
|
|
24
|
+
document.webkitFullscreenElement ||
|
|
25
|
+
document.msFullscreenElement ||
|
|
26
|
+
null
|
|
27
|
+
|
|
28
|
+
plugin.isActive = plugin.activeEl !== null
|
|
29
|
+
}
|
|
30
|
+
|
|
21
31
|
export default {
|
|
22
32
|
isCapable: false,
|
|
23
33
|
isActive: false,
|
|
24
34
|
activeEl: null,
|
|
25
35
|
|
|
26
36
|
request (target) {
|
|
27
|
-
if (this.isCapable === true
|
|
37
|
+
if (this.isCapable === true) {
|
|
28
38
|
const el = target || document.documentElement
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
|
|
40
|
+
if (el !== this.activeEl) {
|
|
41
|
+
const q = client.is.ie === true && this.activeEl !== null && el.contains(this.activeEl)
|
|
42
|
+
? this.exit()
|
|
43
|
+
: Promise.resolve()
|
|
44
|
+
|
|
45
|
+
return q
|
|
46
|
+
.then(() => promisify(el, prefixes.request))
|
|
47
|
+
.catch(error => (
|
|
48
|
+
this.activeEl !== null
|
|
49
|
+
? this.exit().then(() => promisify(el, prefixes.request))
|
|
50
|
+
: Promise.reject(error)
|
|
51
|
+
))
|
|
52
|
+
.then(res => {
|
|
53
|
+
checkActive(this)
|
|
54
|
+
return res
|
|
55
|
+
})
|
|
56
|
+
}
|
|
32
57
|
}
|
|
33
58
|
|
|
34
59
|
return this.__getErr()
|
|
@@ -36,21 +61,26 @@ export default {
|
|
|
36
61
|
|
|
37
62
|
exit () {
|
|
38
63
|
return this.isCapable === true && this.isActive === true
|
|
39
|
-
? promisify(document, prefixes.exit).then(
|
|
40
|
-
this
|
|
64
|
+
? promisify(document, prefixes.exit).then(res => {
|
|
65
|
+
checkActive(this)
|
|
66
|
+
return this.isActive ? this.exit() : res
|
|
41
67
|
})
|
|
42
68
|
: this.__getErr()
|
|
43
69
|
},
|
|
44
70
|
|
|
45
71
|
toggle (target) {
|
|
46
|
-
|
|
72
|
+
const el = target || document.documentElement
|
|
73
|
+
|
|
74
|
+
return this.activeEl === el
|
|
47
75
|
? this.exit()
|
|
48
|
-
: this.request(
|
|
76
|
+
: this.request(el)
|
|
49
77
|
},
|
|
50
78
|
|
|
51
79
|
install ({ $q }) {
|
|
52
80
|
$q.fullscreen = this
|
|
53
81
|
|
|
82
|
+
this.__getErr = () => Promise.resolve()
|
|
83
|
+
|
|
54
84
|
if (isSSR === true) { return }
|
|
55
85
|
|
|
56
86
|
prefixes.request = [
|
|
@@ -66,24 +96,19 @@ export default {
|
|
|
66
96
|
return
|
|
67
97
|
}
|
|
68
98
|
|
|
69
|
-
this.__getErr = () => Promise.resolve()
|
|
70
|
-
|
|
71
99
|
prefixes.exit = [
|
|
72
100
|
'exitFullscreen',
|
|
73
101
|
'msExitFullscreen', 'mozCancelFullScreen', 'webkitExitFullscreen'
|
|
74
102
|
].find(exit => document[exit])
|
|
75
103
|
|
|
76
|
-
this
|
|
77
|
-
document.mozFullScreenElement ||
|
|
78
|
-
document.webkitFullscreenElement ||
|
|
79
|
-
document.msFullscreenElement)
|
|
104
|
+
checkActive(this)
|
|
80
105
|
|
|
81
106
|
;[
|
|
82
107
|
'onfullscreenchange',
|
|
83
108
|
'onmsfullscreenchange', 'onwebkitfullscreenchange'
|
|
84
109
|
].forEach(evt => {
|
|
85
110
|
document[evt] = () => {
|
|
86
|
-
this
|
|
111
|
+
checkActive(this)
|
|
87
112
|
}
|
|
88
113
|
})
|
|
89
114
|
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"type": "String",
|
|
46
46
|
"desc": "Path to an image for this action",
|
|
47
47
|
"examples": [
|
|
48
|
-
"(
|
|
48
|
+
"(public folder) img/something.png",
|
|
49
49
|
"(relative path format) :src=\"require('./my_img.jpg')\"",
|
|
50
50
|
"(URL) https://some-site.net/some-img.gif"
|
|
51
51
|
]
|
package/src/plugins/Cookies.js
CHANGED
|
@@ -111,7 +111,7 @@ function set (key, val, opts = {}, ssr) {
|
|
|
111
111
|
|
|
112
112
|
if (expire !== void 0 && expireValue < 0) {
|
|
113
113
|
const val = get(key, ssr)
|
|
114
|
-
if (val !==
|
|
114
|
+
if (val !== void 0) {
|
|
115
115
|
all = all
|
|
116
116
|
.replace(`${key}=${val}; `, '')
|
|
117
117
|
.replace(`; ${key}=${val}`, '')
|
package/src/plugins/Loading.js
CHANGED
|
@@ -55,6 +55,14 @@ const Loading = {
|
|
|
55
55
|
vm = new Vue({
|
|
56
56
|
name: 'QLoading',
|
|
57
57
|
|
|
58
|
+
// hide App from Vue devtools
|
|
59
|
+
devtools: { hide: true },
|
|
60
|
+
|
|
61
|
+
beforeCreate () {
|
|
62
|
+
// prevent error in Vue devtools
|
|
63
|
+
this._routerRoot === void 0 && (this._routerRoot = {})
|
|
64
|
+
},
|
|
65
|
+
|
|
58
66
|
el: node,
|
|
59
67
|
|
|
60
68
|
mounted () {
|
|
@@ -23,6 +23,15 @@ export default {
|
|
|
23
23
|
|
|
24
24
|
const bar = $q.loadingBar = new Vue({
|
|
25
25
|
name: 'LoadingBar',
|
|
26
|
+
|
|
27
|
+
// hide App from Vue devtools
|
|
28
|
+
devtools: { hide: true },
|
|
29
|
+
|
|
30
|
+
beforeCreate () {
|
|
31
|
+
// prevent error in Vue devtools
|
|
32
|
+
this._routerRoot === void 0 && (this._routerRoot = {})
|
|
33
|
+
},
|
|
34
|
+
|
|
26
35
|
render: h => h(QAjaxBar, {
|
|
27
36
|
ref: 'bar',
|
|
28
37
|
props
|