jellyfish-web/src/components/backdropscreensaver/plugin.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-05-04 12:44:12 +02:00
define(['connectionManager'], function (connectionManager) {
2019-11-23 23:00:44 +03:00
return function () {
var self = this;
2020-05-04 12:44:12 +02:00
self.name = 'Backdrop ScreenSaver';
self.type = 'screensaver';
self.id = 'backdropscreensaver';
2019-11-23 23:00:44 +03:00
self.supportsAnonymous = false;
var currentSlideshow;
self.show = function () {
var query = {
2020-05-04 12:44:12 +02:00
ImageTypes: 'Backdrop',
EnableImageTypes: 'Backdrop',
IncludeItemTypes: 'Movie,Series,MusicArtist',
SortBy: 'Random',
2019-11-23 23:00:44 +03:00
Recursive: true,
2020-05-04 12:44:12 +02:00
Fields: 'Taglines',
2019-11-23 23:00:44 +03:00
ImageTypeLimit: 1,
StartIndex: 0,
Limit: 200
};
2019-11-23 23:25:10 +03:00
var apiClient = connectionManager.currentApiClient();
apiClient.getItems(apiClient.getCurrentUserId(), query).then(function (result) {
2019-11-23 23:00:44 +03:00
if (result.Items.length) {
2020-05-04 12:44:12 +02:00
require(['slideshow'], function (slideshow) {
2019-11-23 23:00:44 +03:00
var newSlideShow = new slideshow({
showTitle: true,
cover: true,
items: result.Items
});
newSlideShow.show();
currentSlideshow = newSlideShow;
});
}
});
};
self.hide = function () {
if (currentSlideshow) {
currentSlideshow.hide();
currentSlideshow = null;
}
};
};
2019-11-23 23:25:10 +03:00
});