jellyfish-web/src/controllers/user/playback.js
grafixeyehero 23677db990 Deminify part 2 (#509)
This de-minifies and de-uglifies `controllers` subdirectory
2019-11-06 13:43:39 +03:00

48 lines
1.8 KiB
JavaScript

define(["playbackSettings", "userSettingsBuilder", "dom", "globalize", "loading", "userSettings", "listViewStyle"], function (PlaybackSettings, userSettingsBuilder, dom, globalize, loading, currentUserSettings) {
"use strict";
return function (view, params) {
function onBeforeUnload(e) {
if (hasChanges) {
e.returnValue = "You currently have unsaved changes. Are you sure you wish to leave?";
}
}
var settingsInstance;
var hasChanges;
var userId = params.userId || ApiClient.getCurrentUserId();
var userSettings = userId === ApiClient.getCurrentUserId() ? currentUserSettings : new userSettingsBuilder();
view.addEventListener("viewshow", function () {
window.addEventListener("beforeunload", onBeforeUnload);
if (settingsInstance) {
settingsInstance.loadData();
} else {
settingsInstance = new PlaybackSettings({
serverId: ApiClient.serverId(),
userId: userId,
element: view.querySelector(".settingsContainer"),
userSettings: userSettings,
enableSaveButton: false,
enableSaveConfirmation: false
});
}
});
view.addEventListener("change", function () {
hasChanges = true;
});
view.addEventListener("viewbeforehide", function () {
hasChanges = false;
if (settingsInstance) {
settingsInstance.submit();
}
});
view.addEventListener("viewdestroy", function () {
if (settingsInstance) {
settingsInstance.destroy();
settingsInstance = null;
}
});
};
});