1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/scripts/localsync.js

58 lines
1.3 KiB
JavaScript
Raw Normal View History

2015-08-12 17:39:02 -04:00
(function () {
2015-09-10 14:28:22 -04:00
var syncPromise;
2015-09-19 22:06:56 -04:00
var lastStart = 0;
2015-09-10 14:28:22 -04:00
2015-08-12 17:39:02 -04:00
window.LocalSync = {
isSupported: function () {
2015-09-10 14:28:22 -04:00
return AppInfo.isNativeApp;
2015-08-12 17:39:02 -04:00
},
startSync: function () {
2015-09-10 14:28:22 -04:00
if (!syncPromise) {
require(['multiserversync'], function () {
2015-09-19 22:06:56 -04:00
lastStart = new Date().getTime();
2015-09-10 14:28:22 -04:00
syncPromise = new MediaBrowser.MultiServerSync(ConnectionManager).sync().done(function () {
syncPromise = null;
}).fail(function () {
syncPromise = null;
});
});
}
2015-08-12 17:39:02 -04:00
},
getSyncStatus: function () {
2015-09-10 14:28:22 -04:00
if (syncPromise != null) {
return 'Syncing';
}
2015-08-12 17:39:02 -04:00
return 'Idle';
}
};
2015-09-19 22:06:56 -04:00
var syncInterval = 1800000;
function restartInterval() {
2015-09-10 14:28:22 -04:00
if (LocalSync.isSupported) {
setInterval(function () {
LocalSync.startSync();
2015-09-19 22:06:56 -04:00
}, syncInterval);
if (lastStart > 0 && (now - lastStart) >= syncInterval) {
LocalSync.startSync();
}
2015-09-10 14:28:22 -04:00
}
2015-09-14 17:24:54 -04:00
//LocalSync.startSync();
2015-09-19 22:06:56 -04:00
}
2015-09-10 14:28:22 -04:00
2015-09-19 22:06:56 -04:00
Dashboard.ready(restartInterval);
document.addEventListener("resume", restartInterval, false);
2015-08-12 17:39:02 -04:00
})();