GUACAMOLE-549: Migrate recent connection history to localStorageService.

This commit is contained in:
Michael Jumper
2018-04-18 20:43:04 -07:00
parent 11d356a70b
commit 831e4e0989
2 changed files with 17 additions and 20 deletions

View File

@@ -20,4 +20,6 @@
/**
* The module for code relating to connection history.
*/
angular.module('history', []);
angular.module('history', [
'storage'
]);

View File

@@ -20,7 +20,14 @@
/**
* A service for reading and manipulating the Guacamole connection history.
*/
angular.module('history').factory('guacHistory', ['HistoryEntry', function guacHistory(HistoryEntry) {
angular.module('history').factory('guacHistory', ['$injector',
function guacHistory($injector) {
// Required types
var HistoryEntry = $injector.get('HistoryEntry');
// Required services
var localStorageService = $injector.get('localStorageService');
var service = {};
@@ -73,27 +80,15 @@ angular.module('history').factory('guacHistory', ['HistoryEntry', function guacH
if (service.recentConnections.length > IDEAL_LENGTH)
service.recentConnections.length = IDEAL_LENGTH;
// Save updated history, ignore inability to use localStorage
try {
if (localStorage)
localStorage.setItem(GUAC_HISTORY_STORAGE_KEY, JSON.stringify(service.recentConnections));
}
catch (ignore) {}
// Save updated history
localStorageService.setItem(GUAC_HISTORY_STORAGE_KEY, service.recentConnections);
};
// Get stored connection history, ignore inability to use localStorage
try {
if (localStorage) {
var storedHistory = JSON.parse(localStorage.getItem(GUAC_HISTORY_STORAGE_KEY) || "[]");
if (storedHistory instanceof Array)
service.recentConnections = storedHistory;
}
}
catch (ignore) {}
// Init stored connection history from localStorage
var storedHistory = localStorageService.getItem(GUAC_HISTORY_STORAGE_KEY) || [];
if (storedHistory instanceof Array)
service.recentConnections = storedHistory;
return service;