mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update library menu
This commit is contained in:
parent
d512595066
commit
727a2e09f2
4 changed files with 78 additions and 4 deletions
|
@ -32,14 +32,14 @@
|
||||||
"web-component-tester": "^4.0.0",
|
"web-component-tester": "^4.0.0",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/PolymerElements/iron-icon",
|
"homepage": "https://github.com/polymerelements/iron-icon",
|
||||||
"_release": "1.0.8",
|
"_release": "1.0.8",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.8",
|
"tag": "v1.0.8",
|
||||||
"commit": "f36b38928849ef3853db727faa8c9ef104d611eb"
|
"commit": "f36b38928849ef3853db727faa8c9ef104d611eb"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-icon.git",
|
"_source": "git://github.com/polymerelements/iron-icon.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "PolymerElements/iron-icon"
|
"_originalSource": "polymerelements/iron-icon"
|
||||||
}
|
}
|
72
dashboard-ui/components/scrollthreshold.js
Normal file
72
dashboard-ui/components/scrollthreshold.js
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
define(['events'], function (events) {
|
||||||
|
|
||||||
|
function thresholdMonitor(elem, horizontal, lowerTolerance, upperTolerance) {
|
||||||
|
|
||||||
|
var defaultTolerance = horizontal ? (screen.availWidth / 2) : (screen.availHeight / 2);
|
||||||
|
lowerTolerance = lowerTolerance || defaultTolerance;
|
||||||
|
upperTolerance = upperTolerance || defaultTolerance;
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
var upperTriggered = false;
|
||||||
|
var lowerTriggered = false;
|
||||||
|
|
||||||
|
var scrollSize;
|
||||||
|
|
||||||
|
function getScrollSize() {
|
||||||
|
|
||||||
|
if (!scrollSize) {
|
||||||
|
scrollSize = horizontal ? (elem.scrollWidth - elem.clientWidth) : (elem.scrollHeight - elem.clientHeight);
|
||||||
|
}
|
||||||
|
return scrollSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onScroll(e) {
|
||||||
|
|
||||||
|
if (lowerTriggered && upperTriggered) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var position = horizontal ? elem.scrollLeft : elem.scrollTop;
|
||||||
|
|
||||||
|
// Detect upper threshold
|
||||||
|
if (!upperTriggered && position < upperTolerance) {
|
||||||
|
upperTriggered = true;
|
||||||
|
events.trigger(self, 'upper-threshold');
|
||||||
|
}
|
||||||
|
// Detect lower threshold
|
||||||
|
if (!lowerTriggered && position >= (getScrollSize() - lowerTolerance)) {
|
||||||
|
lowerTriggered = false;
|
||||||
|
events.trigger(self, 'lower-threshold');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.reset = function () {
|
||||||
|
self.resetSize();
|
||||||
|
upperTriggered = false;
|
||||||
|
lowerTriggered = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.resetSize = function () {
|
||||||
|
scrollSize = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.enabled = function (enabled) {
|
||||||
|
|
||||||
|
self.reset();
|
||||||
|
|
||||||
|
if (enabled) {
|
||||||
|
elem.addEventListener('scroll', onScroll, true);
|
||||||
|
} else {
|
||||||
|
elem.removeEventListener('scroll', onScroll, true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.enabled(true);
|
||||||
|
|
||||||
|
self.destroy = function () {
|
||||||
|
self.enabled(false);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return thresholdMonitor;
|
||||||
|
});
|
|
@ -1133,7 +1133,8 @@
|
||||||
renderHeader();
|
renderHeader();
|
||||||
headerCreated = true;
|
headerCreated = true;
|
||||||
|
|
||||||
if (userRequiresUpdateAfterHeader) {
|
var user = userRequiresUpdateAfterHeader;
|
||||||
|
if (user) {
|
||||||
updateUserInHeader(user);
|
updateUserInHeader(user);
|
||||||
}
|
}
|
||||||
userRequiresUpdateAfterHeader = null;
|
userRequiresUpdateAfterHeader = null;
|
||||||
|
|
|
@ -1607,6 +1607,7 @@ var AppInfo = {};
|
||||||
velocity: bowerPath + "/velocity/velocity.min",
|
velocity: bowerPath + "/velocity/velocity.min",
|
||||||
tvguide: 'components/tvguide/tvguide',
|
tvguide: 'components/tvguide/tvguide',
|
||||||
ironCardList: 'components/ironcardlist',
|
ironCardList: 'components/ironcardlist',
|
||||||
|
scrollThreshold: 'components/scrollthreshold',
|
||||||
directorybrowser: 'components/directorybrowser/directorybrowser',
|
directorybrowser: 'components/directorybrowser/directorybrowser',
|
||||||
collectioneditor: 'components/collectioneditor/collectioneditor',
|
collectioneditor: 'components/collectioneditor/collectioneditor',
|
||||||
playlisteditor: 'components/playlisteditor/playlisteditor',
|
playlisteditor: 'components/playlisteditor/playlisteditor',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue