| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- registerController("AdvancedResourcesController", ['$api', '$scope', '$timeout', function($api, $scope, $timeout){
- $scope.freeDisk = "";
- $scope.freeMem = "";
- $scope.droppedCaches = false;
- $scope.device = "";
- $scope.reloadData = (function() {
- $scope.freeDisk = "";
- $scope.freeMem = "";
- $api.request({
- module: 'Advanced',
- action: 'getResources'
- }, function(response){
- $scope.freeDisk = response.freeDisk;
- $scope.freeMem = response.freeMem;
- });
- });
- $scope.dropCaches = (function() {
- $api.request({
- module: 'Advanced',
- action: 'dropCaches'
- }, function(response) {
- if (response.success === true) {
- $scope.droppedCaches = true;
- $timeout(function(){
- $scope.droppedCaches = false;
- }, 2000);
- }
- });
- });
- $scope.reloadData();
- $api.onDeviceIdentified(function(device, scope) {
- scope.device = device;
- }, $scope);
- }]);
- registerController("AdvancedUSBController", ['$api', '$scope', '$timeout', '$interval', function($api, $scope, $timeout, $interval){
- $scope.formattingSDCard = false;
- $scope.lsusb = "";
- $scope.fstab = "";
- $scope.fstabSaved = false;
- $scope.device = "";
- $scope.formatSDCard = (function() {
- $api.request({
- module: 'Advanced',
- action: 'formatSDCard'
- }, function(response){
- if (response.success === true) {
- $scope.formattingSDCard = true;
- $scope.SDCardInterval = $interval(function(){
- $api.request({
- module: 'Advanced',
- action: 'formatSDCardStatus'
- }, function(response) {
- if (response.success === true){
- $scope.formattingSDCard = false;
- $scope.formatSuccess = true;
- $interval.cancel($scope.SDCardInterval);
- $timeout(function(){
- $scope.formatSuccess = false;
- }, 2000);
- }
- });
- }, 5000);
- }
- });
- });
- $scope.reloadData = (function() {
- $scope.lsusb = "";
- $scope.fstab = "";
- $api.request({
- module: 'Advanced',
- action: 'getUSB'
- }, function(response){
- $scope.lsusb = response.lsusb;
- });
- $api.request({
- module: 'Advanced',
- action: 'getFstab'
- }, function(response) {
- if (response.error === undefined) {
- $scope.fstab = response.fstab;
- }
- });
- });
- $scope.saveFstab = (function() {
- $api.request({
- module: 'Advanced',
- action: 'saveFstab',
- fstab: $scope.fstab
- }, function(response) {
- if (response.success === true) {
- $scope.fstabSaved = true;
- $timeout(function(){
- $scope.fstabSaved = false;
- }, 2000);
- }
- });
- });
- $scope.reloadData();
-
- $api.onDeviceIdentified(function(device, scope) {
- scope.device = device;
- }, $scope);
- $scope.$on('$destroy', function() {
- $interval.cancel($scope.SDCardInterval);
- });
- }]);
- registerController("AdvancedCSSController", ['$api', '$scope', '$timeout', function($api, $scope, $timeout){
- $scope.css = "";
- $scope.cssSaved = false;
- $scope.reloadData = (function() {
- $api.request({
- module: 'Advanced',
- action: 'getCSS'
- }, function(response) {
- if (response.error === undefined) {
- $scope.css = response.css;
- }
- });
- });
- $scope.saveCSS = (function() {
- $api.request({
- module: 'Advanced',
- action: 'saveCSS',
- css: $scope.css
- }, function(response) {
- if (response.success === true) {
- $scope.cssSaved = true;
- $timeout(function(){
- $scope.cssSaved = false;
- }, 2000);
- }
- });
- });
- }]);
- registerController("AdvancedUpgradeController", ['$api', '$scope', '$interval', function($api, $scope, $interval){
- $scope.error = "";
- $scope.loading = false;
- $scope.upgradeFound = false;
- $scope.downloadInterval = false;
- $scope.downloading = false;
- $scope.downloaded = false;
- $scope.upgradeData = {};
- $scope.downloadPercentage = 0;
- $scope.firmwareVersion = "";
- $scope.performUpgradeStart = false;
- $scope.isManualUpgrade = false;
- $scope.manualUpgradeUrl = "";
- $scope.showManualUpgradeError = false;
- $scope.keepSettings = true;
- $scope.manualKeepSettings = true;
- $scope.reloadData = (function() {
- $api.request({
- module: 'Advanced',
- action: 'getCurrentVersion'
- }, function(response) {
- if (response.error === undefined) {
- $scope.firmwareVersion = response.firmwareVersion;
- }
- });
- });
- $scope.checkForUpgrade = (function() {
- $scope.loading = true;
- $api.request({
- module: 'Advanced',
- action: 'checkForUpgrade'
- }, function(response) {
- $scope.loading = false;
- if (response.error) {
- $scope.error = response.error;
- } else if (response.upgrade) {
- $scope.upgradeFound = true;
- $scope.upgradeData = response.upgradeData;
- $scope.error = false;
- }
- });
- });
- $scope.downloadUpgrade = (function() {
- $api.request({
- module: 'Advanced',
- action: 'downloadUpgrade',
- upgradeUrl: $scope.upgradeData['upgradeUrl']
- }, function(response) {
- if (response.success === true) {
- $scope.downloading = true;
- $scope.downloadInterval = $interval(function() {
- $scope.getDownloadStatus($scope.upgradeData['checksum'], false);
- }, 1000);
- }
- });
- });
- $scope.downloadManualUpgrade = (function() {
- var isValid = $scope.manualUpgradeUrl.match(
- /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g
- );
- if (isValid === null) {
- $scope.showManualUpgradeError = true;
- $interval(function(){
- $scope.showManualUpgradeError = false;
- }, 2000);
- return;
- }
- $scope.downloading = false;
- $scope.downloaded = false;
- $scope.isManualUpgrade = true;
- $api.request({
- module: 'Advanced',
- action: 'downloadUpgrade',
- upgradeUrl: $scope.manualUpgradeUrl
- }, function(response) {
- if (response.success === true) {
- $scope.downloading = true;
- $scope.downloadInterval = $interval(function() {
- $scope.getDownloadStatus('', true);
- }, 1000);
- }
- });
- });
- $scope.getDownloadStatus = (function(checksum, isManuelUpdate) {
- $api.request({
- module: 'Advanced',
- action: 'getDownloadStatus',
- checksum: checksum,
- isManuelUpdate: isManuelUpdate
- }, function(response) {
- if ($scope.downloaded) {
- return;
- }
- if (response.completed === true) {
- $scope.downloading = false;
- $scope.downloaded = true;
- $interval.cancel($scope.downloadInterval);
- if (isManuelUpdate) {
- $scope.upgradeData = response;
- } else {
- $scope.performUpgrade(isManuelUpdate);
- }
- } else if (response.error) {
- $scope.error = response.error;
- } else {
- $scope.downloadPercentage = Math.round((response.downloaded / $scope.upgradeData['size']) * 100);
- }
- });
- });
- $scope.performUpgrade = (function(isManuelUpdate) {
- console.log({isManuelUpdate});
- $api.request({
- module: 'Advanced',
- action: 'performUpgrade',
- keepSettings: isManuelUpdate ? $('#manualKeepSettings').is(':checked') : $('#keepSettings').is(':checked'),
- }, function(response) {
- if (response.success === true) {
- $scope.performUpgradeStart = true;
- }
- });
- });
- $scope.$on('$destroy', function() {
- $interval.cancel($scope.downloadInterval);
- });
- }]);
- registerController("APITokenController", ['$api', '$scope', function($api, $scope) {
- $scope.apiTokens = [];
- $scope.newToken = {
- name: "",
- token: ""
- };
- $scope.reloadData = function(){
- $api.request({
- module: 'Advanced',
- action: 'getApiTokens'
- }, function(response){
- $scope.apiTokens = response.tokens;
- });
- };
- $scope.genApiToken = function(){
- $api.request({
- module: 'Advanced',
- action: 'addApiToken',
- name: $scope.newToken.name
- }, function(response){
- $scope.newToken.name = "";
- $scope.newToken.token = response.token;
- $scope.reloadData();
- });
- };
- $scope.revokeApiToken = function($event){
- var id = $event.target.getAttribute('tokenid');
- $api.request({
- module: 'Advanced',
- action: 'revokeApiToken',
- id: id
- }, function(){
- $scope.reloadData();
- });
- };
- $scope.selectElem = function(elem){
- var selectRange = document.createRange();
- selectRange.selectNodeContents(elem);
- var selection = window.getSelection();
- selection.removeAllRanges();
- selection.addRange(selectRange);
- };
- $scope.selectOnClick = function($event){
- var elem = $event.target;
- $scope.selectElem(elem);
- };
- }]);
|