fix local forecast pagination when full screen
This commit is contained in:
parent
e9b0bef023
commit
7a457745df
1039
package-lock.json
generated
1039
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -25,7 +25,7 @@
|
|||
"eslint": "^8.21.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-sonarjs": "^0.19.0",
|
||||
"eslint-plugin-sonarjs": "^0.21.0",
|
||||
"eslint-plugin-unicorn": "^46.0.0",
|
||||
"express": "^4.17.1",
|
||||
"gulp": "^4.0.2",
|
||||
|
|
|
@ -44,7 +44,7 @@ class LocalForecast extends WeatherDisplay {
|
|||
forecastsElem.append(...templates);
|
||||
|
||||
// increase each forecast height to a multiple of container height
|
||||
this.pageHeight = forecastsElem.parentNode.getBoundingClientRect().height;
|
||||
this.pageHeight = forecastsElem.parentNode.scrollHeight;
|
||||
templates.forEach((forecast) => {
|
||||
const newHeight = Math.ceil(forecast.scrollHeight / this.pageHeight) * this.pageHeight;
|
||||
forecast.style.height = `${newHeight}px`;
|
||||
|
|
1787
server/scripts/vendor/auto/jquery.js
vendored
1787
server/scripts/vendor/auto/jquery.js
vendored
File diff suppressed because it is too large
Load diff
2
server/scripts/vendor/auto/luxon.js.map
vendored
2
server/scripts/vendor/auto/luxon.js.map
vendored
File diff suppressed because one or more lines are too long
2839
server/scripts/vendor/auto/luxon.mjs
vendored
2839
server/scripts/vendor/auto/luxon.mjs
vendored
File diff suppressed because it is too large
Load diff
12
server/scripts/vendor/auto/swiped-events.js
vendored
12
server/scripts/vendor/auto/swiped-events.js
vendored
|
@ -46,12 +46,20 @@
|
|||
// if the user released on a different target, cancel!
|
||||
if (startEl !== e.target) return;
|
||||
|
||||
var swipeThreshold = parseInt(getNearestAttribute(startEl, 'data-swipe-threshold', '20'), 10); // default 20px
|
||||
var swipeThreshold = parseInt(getNearestAttribute(startEl, 'data-swipe-threshold', '20'), 10); // default 20 units
|
||||
var swipeUnit = getNearestAttribute(startEl, 'data-swipe-unit', 'px'); // default px
|
||||
var swipeTimeout = parseInt(getNearestAttribute(startEl, 'data-swipe-timeout', '500'), 10); // default 500ms
|
||||
var timeDiff = Date.now() - timeDown;
|
||||
var eventType = '';
|
||||
var changedTouches = e.changedTouches || e.touches || [];
|
||||
|
||||
if (swipeUnit === 'vh') {
|
||||
swipeThreshold = Math.round((swipeThreshold / 100) * document.documentElement.clientHeight); // get percentage of viewport height in pixels
|
||||
}
|
||||
if (swipeUnit === 'vw') {
|
||||
swipeThreshold = Math.round((swipeThreshold / 100) * document.documentElement.clientWidth); // get percentage of viewport height in pixels
|
||||
}
|
||||
|
||||
if (Math.abs(xDiff) > Math.abs(yDiff)) { // most significant
|
||||
if (Math.abs(xDiff) > swipeThreshold && timeDiff < swipeTimeout) {
|
||||
if (xDiff > 0) {
|
||||
|
@ -139,7 +147,7 @@
|
|||
*/
|
||||
function getNearestAttribute(el, attributeName, defaultValue) {
|
||||
|
||||
// walk up the dom tree looking for data-action and data-trigger
|
||||
// walk up the dom tree looking for attributeName
|
||||
while (el && el !== document.documentElement) {
|
||||
|
||||
var attributeValue = el.getAttribute(attributeName);
|
||||
|
|
|
@ -52,5 +52,6 @@
|
|||
"editor.defaultFormatter": "j69.ejs-beautify"
|
||||
},
|
||||
"files.exclude": {},
|
||||
"files.eol": "\n",
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue