i399exng1comp/app/board.srv.js

46 lines
1.0 KiB
JavaScript

(function () {
'use strict';
angular.module('app').service('board', Srv);
Srv.$inject = ['$q', '$window'];
function Srv($q, $window) {
this.getBoardState = getBoardState;
this.setLight = setLight;
this.setAlarm = setAlarm;
function getBoardState() {
return $q.when(getState())
}
function getState() {
var string = $window.sessionStorage.getItem('BOARD-STATE');
return string ? JSON.parse(string) : {};
}
function saveState(state) {
var string = JSON.stringify(state);
$window.sessionStorage.setItem('BOARD-STATE', string);
}
function setLight(isOn) {
var state = getState();
state.light = isOn;
saveState(state);
return $q.when();
}
function setAlarm(isOn) {
var state = getState();
state.alarm = isOn;
saveState(state);
return $q.when();
}
}
})();