registerController("ThemesController", ['$api', '$scope','$window','$route', '$http', function ($api, $scope, $window, $route, $http) { /* * Author: trashbo4t (github.com/trashbo4t) */ getThemes(); getCurrentTheme(); backupFiles(); $scope.debug = false; $scope.themes = []; $scope.themeToDelete = null; $scope.themeDeleteValidation = ''; $scope.messages = []; $scope.newThemeName = ''; $scope.throbber = true; $scope.running = false; $scope.current = ''; $scope.library = true; $scope.editor = true; $scope.workshopTheme = {themeName: "", file: "", code: "", title: ""}; $scope.editThemeFile = {themeName: "", file: "", code: ""}; $scope.colors = ['dark', 'light', 'red', 'blue', 'green', 'purple', 'orange', 'yellow', 'pink']; $scope.brightness = ['light', 'normal', 'dark']; $scope.working = false; $scope.autoRefresh = true; // Dark and White $scope.throbbercontrast = true; // true == light -> false == dark $scope.logocontrast = true; $scope.faviconcontrast = true; $scope.reconcontrast = true; $scope.logocontrastText = 'light'; $scope.faviconcontrastText = 'light'; $scope.throbbercontrastText = 'light'; // Color and brightness $scope.allcontrastText = 'light'; $scope.allcontrastBrightness = 'normal'; $scope.dashboardcontrastText = 'light'; $scope.dashboardcontrastBrightness = 'normal'; $scope.reconcontrastText = 'light'; $scope.reconcontrastBrightness = 'normal'; $scope.notescontrastText = 'light'; $scope.notescontrastBrightness = 'normal'; $scope.clientscontrastText = 'light'; $scope.clientscontrastBrightness = 'normal'; $scope.modulescontrastText = 'light'; $scope.modulescontrastBrightness = 'normal'; $scope.filterscontrastText = 'light'; $scope.filterscontrastBrightness = 'normal'; $scope.pineapcontrastText = 'light'; $scope.pineapcontrastBrightness = 'normal'; $scope.trackingcontrastText = 'light'; $scope.trackingcontrastBrightness = 'normal'; $scope.loggingcontrastText = 'light'; $scope.loggingcontrastBrightness = 'normal'; $scope.reportingcontrastText = 'light'; $scope.reportingcontrastBrightness = 'normal'; $scope.networkingcontrastText = 'light'; $scope.networkingcontrastBrightness = 'normal'; $scope.configurationcontrastText = 'light'; $scope.configurationcontrastBrightness = 'normal'; $scope.advancedcontrastText = 'light'; $scope.advancedcontrastBrightness = 'normal'; $scope.helpcontrastText = 'light'; $scope.helpcontrastBrightness = 'normal'; $scope.switchOn = { "position" : "relative", "display" : "block", "width" : "50px", "height" : "25px", "cursor" : "pointer", "border" : "2px solid darkgray", "background-color" : "darkgray", "border-radius" : "40px" } $scope.switchOff = { "position" : "relative", "display" : "block", "width" : "50px", "height" : "25px", "cursor" : "pointer", "border" : "2px solid darkgray", "background-color" : "white", "border-radius" : "40px" } $scope.selectOptions = { "position" : "relative", "display" : "block", "width" : "100px", "height" : "25px", "cursor" : "pointer", "border" : "2px solid darkgray", "background-color" : "white", "color" : "black", "border-radius" : "40px" } $scope.changeThrobber = function(){ $scope.throbbercontrast = !$scope.throbbercontrast; $scope.throbbercontrastText = 'light'; if (!$scope.throbbercontrast) { $scope.throbbercontrastText = 'dark'; } $api.request({ module: "Themes", action: "replaceImage", img: 'Throbber', light: $scope.throbbercontrast }, function(response) { $scope.sendMessage("Throbber", "set to " + $scope.throbbercontrastText); log("changeThrobber", response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeLogo = function(){ $scope.logocontrast = !$scope.logocontrast; $scope.logocontrastText = 'light'; if (!$scope.logocontrast) { $scope.logocontrastText = 'dark'; } $api.request({ module: "Themes", action: "replaceImage", img: 'Logo', light: $scope.logocontrast }, function(response) { $scope.sendMessage("Logo", "set to " + $scope.logocontrastText); log("changeLogo", response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeFavicon = function(){ $scope.faviconcontrast = !$scope.faviconcontrast; $scope.faviconcontrastText = 'light'; if (!$scope.faviconcontrast) { $scope.faviconcontrastText = 'dark'; } $api.request({ module: "Themes", action: "replaceImage", img: 'Icon', light: $scope.faviconcontrast }, function(response) { $scope.sendMessage("Icon", "set to " + $scope.faviconcontrastText); log("changeFavicon", response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeAllIcons = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'All', color: $scope.allcontrastText, brightness: $scope.allcontrastBrightness }, function(response) { for (msg in response) { $scope.sendMessage("All Icons", "set to " + $scope.allcontrastText + "(" + $scope.allcontrastBrightness + ")"); log("changeAllIcons", "Success? " + response.success + " " + response.message); } if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeDashboard = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Dashboard', color: $scope.dashboardcontrastText, brightness: $scope.dashboardcontrastBrightness }, function(response) { $scope.sendMessage("Dashboard Icon", "set to " + $scope.dashboardcontrastText + " (" + $scope.dashboardcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeRecon = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Recon', color: $scope.reconcontrastText, brightness: $scope.reconcontrastBrightness }, function(response) { $scope.sendMessage("Recon Icon", "set to " + $scope.reconcontrastText + " (" + $scope.reconcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeNotes = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Notes', color: $scope.notescontrastText, brightness: $scope.notescontrastBrightness }, function(response) { $scope.sendMessage("Notes Icon", "set to " + $scope.notescontrastText + " (" + $scope.notescontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeClients = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Clients', color: $scope.clientscontrastText, brightness: $scope.clientscontrastBrightness }, function(response) { $scope.sendMessage("Clients Icon", "set to " + $scope.clientscontrastText + " (" + $scope.clientscontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeModules = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'ModuleManager', color: $scope.modulescontrastText, brightness: $scope.modulescontrastBrightness }, function(response) { $scope.sendMessage("ModuleManager Icon", "set to " + $scope.modulescontrastText + " (" + $scope.modulescontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeFilters = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Filters', color: $scope.filterscontrastText, brightness: $scope.filterscontrastBrightness }, function(response) { $scope.sendMessage("Filters Icon", "set to " + $scope.filterscontrastText + " (" + $scope.filterscontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changePineap = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'PineAP', color: $scope.pineapcontrastText, brightness: $scope.pineapcontrastBrightness }, function(response) { $scope.sendMessage("Filters Icon", "set to " + $scope.pineapcontrastText + " (" + $scope.pineapcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeTracking = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Tracking', color: $scope.trackingcontrastText, brightness: $scope.trackingcontrastBrightness }, function(response) { $scope.sendMessage("Tracking Icon", "set to " + $scope.trackingcontrastText + " (" + $scope.trackingcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeLogging = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Logging', color: $scope.loggingcontrastText, brightness: $scope.loggingcontrastBrightness }, function(response) { $scope.sendMessage("Logging Icon", "set to " + $scope.loggingcontrastText + " (" + $scope.loggingcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeReporting = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Reporting', color: $scope.reportingcontrastText, brightness: $scope.reportingcontrastBrightness }, function(response) { $scope.sendMessage("Reporting Icon", "set to " + $scope.reportingcontrastText + " (" + $scope.reportingcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeNetworking = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Networking', color: $scope.networkingcontrastText, brightness: $scope.networkingcontrastBrightness }, function(response) { $scope.sendMessage("Networking Icon", "set to " + $scope.networkingcontrastText + " (" + $scope.networkingcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeConfiguration = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Configuration', color: $scope.configurationcontrastText, brightness: $scope.configurationcontrastBrightness }, function(response) { $scope.sendMessage("Configuration Icon", "set to " + $scope.configurationcontrastText + " (" + $scope.configurationcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeAdvanced = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Advanced', color: $scope.advancedcontrastText, brightness: $scope.advancedcontrastBrightness }, function(response) { $scope.sendMessage("Advanced Icon", "set to " + $scope.advancedcontrastText + " (" + $scope.advancedcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; $scope.changeHelp = function(){ $api.request({ module: "Themes", action: "replaceImage", img: 'Help', color: $scope.helpcontrastText, brightness: $scope.helpcontrastBrightness }, function(response) { $scope.sendMessage("Help Icon", "set to " + $scope.helpcontrastText + " (" + $scope.helpcontrastBrightness + ")"); log("changeDashboard", "Success? " + response.success + " " + response.message); if ($scope.autoRefresh) { $window.location.reload(); } }); }; function log(fn, message) { if ($scope.debug === true) { console.log("fn[" + fn + "]-> " + message); } }; function backupFiles() { $api.request({ module: "Themes", action: "backupFiles" }, function(response) { log('backupFiles', response.message); for (i=0; i