Yangman - requests settings
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / models / history-settings.model.js
1 define([], function (){
2     'use strict';
3
4
5     /**
6      * List of settings for history requests
7      * @constructor
8      * @param ParsingJsonService
9      */
10     function HistorySettingsModel(ParsingJsonService, HistorySettingsService) {
11
12         var self = this;
13
14         self.name = 'yangman_historySettings';
15         self.data = {
16             requestsCount: 10000,
17             saveReceived: true,
18             fillWithReceived: true,
19             saveResponseData: true,
20         };
21
22         self.loadFromStorage = loadFromStorage;
23         self.saveToStorage = saveToStorage;
24         self.clone = clone;
25         self.setData = setData;
26
27         /**
28          *
29          */
30         function setData(data) {
31             angular.forEach(self.data, function (val, key){
32                 self.data[key] = data[key];
33             });
34         }
35
36         /**
37          * Create copy of this object
38          */
39         function clone() {
40             var result = HistorySettingsService.createHistorySettings();
41             result.setData(self.data);
42             console.debug('clone created', result);
43
44             return result;
45         }
46
47
48         /**
49          * Loading from localStorage
50          */
51         function loadFromStorage(){
52             var settings = localStorage.getItem(self.name);
53
54             if (settings){
55                 angular.forEach(ParsingJsonService.parseJson(settings), function (value, key){
56                     self.data[key] = value;
57                 });
58             }
59
60             return self;
61         }
62
63         /**
64          * Saving to local storage
65          */
66         function saveToStorage(){
67             try {
68                 localStorage.setItem(self.name, JSON.stringify(self.data));
69             } catch (e) {
70             }
71         }
72
73     }
74
75     return HistorySettingsModel;
76 });