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": "^8.21.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-plugin-import": "^2.26.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",
|
"eslint-plugin-unicorn": "^46.0.0",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "^4.0.2",
|
||||||
|
@ -46,4 +46,4 @@
|
||||||
"terser-webpack-plugin": "^5.3.6",
|
"terser-webpack-plugin": "^5.3.6",
|
||||||
"webpack-stream": "^7.0.0"
|
"webpack-stream": "^7.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,7 +44,7 @@ class LocalForecast extends WeatherDisplay {
|
||||||
forecastsElem.append(...templates);
|
forecastsElem.append(...templates);
|
||||||
|
|
||||||
// increase each forecast height to a multiple of container height
|
// increase each forecast height to a multiple of container height
|
||||||
this.pageHeight = forecastsElem.parentNode.getBoundingClientRect().height;
|
this.pageHeight = forecastsElem.parentNode.scrollHeight;
|
||||||
templates.forEach((forecast) => {
|
templates.forEach((forecast) => {
|
||||||
const newHeight = Math.ceil(forecast.scrollHeight / this.pageHeight) * this.pageHeight;
|
const newHeight = Math.ceil(forecast.scrollHeight / this.pageHeight) * this.pageHeight;
|
||||||
forecast.style.height = `${newHeight}px`;
|
forecast.style.height = `${newHeight}px`;
|
||||||
|
|
1921
server/scripts/vendor/auto/jquery.js
vendored
1921
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
2843
server/scripts/vendor/auto/luxon.mjs
vendored
2843
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 the user released on a different target, cancel!
|
||||||
if (startEl !== e.target) return;
|
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 swipeTimeout = parseInt(getNearestAttribute(startEl, 'data-swipe-timeout', '500'), 10); // default 500ms
|
||||||
var timeDiff = Date.now() - timeDown;
|
var timeDiff = Date.now() - timeDown;
|
||||||
var eventType = '';
|
var eventType = '';
|
||||||
var changedTouches = e.changedTouches || e.touches || [];
|
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) > Math.abs(yDiff)) { // most significant
|
||||||
if (Math.abs(xDiff) > swipeThreshold && timeDiff < swipeTimeout) {
|
if (Math.abs(xDiff) > swipeThreshold && timeDiff < swipeTimeout) {
|
||||||
if (xDiff > 0) {
|
if (xDiff > 0) {
|
||||||
|
@ -139,7 +147,7 @@
|
||||||
*/
|
*/
|
||||||
function getNearestAttribute(el, attributeName, defaultValue) {
|
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) {
|
while (el && el !== document.documentElement) {
|
||||||
|
|
||||||
var attributeValue = el.getAttribute(attributeName);
|
var attributeValue = el.getAttribute(attributeName);
|
||||||
|
|
|
@ -1,56 +1,57 @@
|
||||||
{
|
{
|
||||||
"folders": [
|
"folders": [
|
||||||
{
|
{
|
||||||
"path": "."
|
"path": "."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"search.exclude": {
|
"search.exclude": {
|
||||||
"**/*.code-search": true,
|
"**/*.code-search": true,
|
||||||
"**/*.css": true,
|
"**/*.css": true,
|
||||||
"**/*.min.js": true,
|
"**/*.min.js": true,
|
||||||
"**/bower_components": true,
|
"**/bower_components": true,
|
||||||
"**/node_modules": true,
|
"**/node_modules": true,
|
||||||
"**/vendor": true,
|
"**/vendor": true,
|
||||||
"dist/**": true
|
"dist/**": true
|
||||||
},
|
},
|
||||||
"cSpell.enabled": true,
|
"cSpell.enabled": true,
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
"'storm",
|
"'storm",
|
||||||
"arcgis",
|
"arcgis",
|
||||||
"Battaglia",
|
"Battaglia",
|
||||||
"devbridge",
|
"devbridge",
|
||||||
"gifs",
|
"gifs",
|
||||||
"ltrim",
|
"ltrim",
|
||||||
"Noaa",
|
"Noaa",
|
||||||
"nosleep",
|
"nosleep",
|
||||||
"Pngs",
|
"Pngs",
|
||||||
"PRECIP",
|
"PRECIP",
|
||||||
"rtrim",
|
"rtrim",
|
||||||
"sonarjs",
|
"sonarjs",
|
||||||
"T",
|
"T",
|
||||||
"T'storm",
|
"T'storm",
|
||||||
"uscomp",
|
"uscomp",
|
||||||
"Visib",
|
"Visib",
|
||||||
"Waukegan"
|
"Waukegan"
|
||||||
],
|
],
|
||||||
"cSpell.ignorePaths": [
|
"cSpell.ignorePaths": [
|
||||||
"**/package-lock.json",
|
"**/package-lock.json",
|
||||||
"**/node_modules/**",
|
"**/node_modules/**",
|
||||||
"**/vscode-extension/**",
|
"**/vscode-extension/**",
|
||||||
"**/.git/objects/**",
|
"**/.git/objects/**",
|
||||||
".vscode",
|
".vscode",
|
||||||
".vscode-insiders",
|
".vscode-insiders",
|
||||||
"**/vendor/auto/**",
|
"**/vendor/auto/**",
|
||||||
"**/twc3.js",
|
"**/twc3.js",
|
||||||
],
|
],
|
||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"emmet.includeLanguages": {
|
"emmet.includeLanguages": {
|
||||||
"ejs": "html",
|
"ejs": "html",
|
||||||
},
|
},
|
||||||
"[html]": {
|
"[html]": {
|
||||||
"editor.defaultFormatter": "j69.ejs-beautify"
|
"editor.defaultFormatter": "j69.ejs-beautify"
|
||||||
},
|
},
|
||||||
"files.exclude": {},
|
"files.exclude": {},
|
||||||
},
|
"files.eol": "\n",
|
||||||
|
},
|
||||||
}
|
}
|
Loading…
Reference in a new issue