/openshift/adei

To get this branch, use:
bzr branch http://darksoft.org/webbzr/openshift/adei

« back to all changes in this revision

Viewing changes to js/settings.js

  • Committer: Suren A. Chilingaryan
  • Date: 2011-01-26 02:48:39 UTC
  • mto: This revision was merged to the branch mainline in revision 212.
  • Revision ID: csa@dside.dyndns.org-20110126024839-nv6qp2ie9stmd2dn
Support of Appled devices by Toni Pirhonen

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
function SETTINGS(w) {
 
2
    this.db_server="";
 
3
    this.db_name;
 
4
    this.db_group;
 
5
    this.control_group;
 
6
    this.db_mask;
 
7
    this.db_item;
 
8
    this.settingprops = "&";
 
9
    this.depth = 1;
 
10
    this.interval;
 
11
    this.aggrpages = new Object();
 
12
    this.aggrprop="&";
 
13
}
 
14
 
 
15
SETTINGS.prototype.setValue = function(id,vlue) {
 
16
 switch (id) {
 
17
    case "server":
 
18
        this.db_server=vlue;
 
19
        this.settingprops = vlue;
 
20
        break;
 
21
    case "database":
 
22
        this.db_name=vlue;
 
23
        this.settingprops += vlue;
 
24
        break;
 
25
    case "loggroup":
 
26
        this.db_group=vlue;
 
27
        this.settingprops += vlue;
 
28
        break;
 
29
    case "itemmask":
 
30
        this.item = vlue;
 
31
        this.settingprops += vlue;
 
32
    case "controlgroup":
 
33
        this.control_group=vlue;
 
34
        this.settingprops += vlue;
 
35
        break;
 
36
    case "aggr":
 
37
        this.aggrprop += vlue;
 
38
        break;
 
39
    default:
 
40
        alert("failed");
 
41
        break;
 
42
 }
 
43
}
 
44
 
 
45
 
 
46
SETTINGS.prototype.setconf = function() {
 
47
    if (this.settingprops) {
 
48
        this.goTo(this.settingprops);
 
49
        this.settingprops = "&";
 
50
        this.depth = 1;
 
51
        this.db_server = this.db_name = this.db_group = this.db_mask = 'undefined';
 
52
        this.goTo("p_id=main");
 
53
        adei.OpenModule('graph');
 
54
        adei.updater.Update();
 
55
    }
 
56
}
 
57
 
 
58
SETTINGS.prototype.makeRequest = function(target) {
 
59
    var listreq;
 
60
    var head;
 
61
    var hist;
 
62
    var xslt = "settingsdyn";
 
63
    var pid;
 
64
    switch (target){
 
65
     case 'target=servers':
 
66
        listreq = adei.GetService('list',target+"&skip_uncached=true");
 
67
        hist = "p_id=sourcefront";
 
68
        head = 'Server';
 
69
        pid="source";
 
70
        break;
 
71
     case 'target=databases':
 
72
        if (this.db_server != 'undefined'){
 
73
            listreq = adei.GetService('list',target+"&"+this.db_server);
 
74
            hist = 'target=servers';
 
75
            head = 'Database';
 
76
            pid="source";
 
77
        }else alert("Define server first");
 
78
        break;
 
79
     case 'target=groups':
 
80
        if (this.db_server != 'undefined' && this.db_name != 'undefined'){
 
81
            listreq = adei.GetService('list',target+"&"+this.db_server+"&"+this.db_name);
 
82
            hist = 'target=databases';
 
83
            head = 'LogGroup';
 
84
            pid="source";
 
85
        }else alert("Define server and database first");
 
86
        break;
 
87
     case 'target=masks':
 
88
        if (this.db_server != 'undefined' && this.db_name != 'undefined' && this.db_group != 'undefined'){
 
89
            listreq = adei.GetService('list',target+"&"+"menu=1"+"&"+this.db_server+"&"+this.db_name+"&"+this.db_group);
 
90
            hist = 'target=groups';
 
91
            head = 'ItemMask';
 
92
            pid="source";
 
93
        }else alert("Define server, database and loggroup first");
 
94
        break;
 
95
     case 'target=sourcetimecustom':
 
96
        listreq = adei.GetService('settings',"p_id=sourcetimecustom");
 
97
        xslt = "idatetimepicker";
 
98
        break;
 
99
     case 'target=sourcetimewindow':
 
100
        listreq = adei.GetService('settings',"p_id=sourcetimewindow");
 
101
        xslt = "idatetimepicker";
 
102
        break;
 
103
     case 'target=items':
 
104
        if (this.db_server != 'undefined' && this.db_name != 'undefined' && this.db_group != 'undefined'){
 
105
            listreq = adei.GetService('list',target+"&"+this.db_server+"&"+this.db_name+"&"+this.db_group);
 
106
            hist = 'target=masks';
 
107
            head = 'Standalone Item';
 
108
            pid="source";
 
109
        }else alert("Define server, database and loggroup first");
 
110
        break;
 
111
     case 'target=aggregation_modes':
 
112
        listreq = adei.GetService('list',target);
 
113
        hist="p_id=controls";
 
114
        head="Aggregation Modes";
 
115
        pid = "control";
 
116
        break;
 
117
     case 'target=interpolation_modes':
 
118
        listreq = adei.GetService('list',target);
 
119
        hist = "target=aggregation_modes";
 
120
        head = "Interpolation Modes";
 
121
        pid = "control";
 
122
        break;
 
123
     case 'target=marks_modes':
 
124
        listreq = adei.GetService('list',target);
 
125
        hist="target=interpolation_modes";
 
126
        head="Show Marks";
 
127
        pid = "control";
 
128
        break;
 
129
     case 'target=gaps_modes':
 
130
        listreq = adei.GetService('list',target);
 
131
        hist="target=mark_modes";
 
132
        head="Show Gaps";
 
133
        pid = "control";
 
134
        break;
 
135
     default:
 
136
        alert("Unknown target");
 
137
        break;
 
138
    }
 
139
    var xmlresult = getXML(listreq);
 
140
    if (xslt == 'settingsdyn'){
 
141
        xmlresult = this.addElement(xmlresult,"pageid",pid);
 
142
        xmlresult = this.addElement(xmlresult,"history",hist);
 
143
        xmlresult = this.addElement(xmlresult,"heading",head);
 
144
    }
 
145
    var jsonvar = new Object();
 
146
    jsonvar.xml = xmlresult;
 
147
    jsonvar.xslt=xslt;
 
148
    settings.Update(jsonvar, 'false');
 
149
}
 
150
 
 
151
SETTINGS.prototype.goTo = function(page,tograph) {
 
152
    adei.SetConfiguration(page);
 
153
    if (tograph)adei.OpenModule('graph');
 
154
}
 
155
 
 
156
SETTINGS.prototype.updateTime = function(vlue) {
 
157
    adei.SetConfiguration(vlue + "&p_id=main");
 
158
    adei.OpenModule('graph');
 
159
    adei.updater.Update();
 
160
}
 
161
 
 
162
SETTINGS.prototype.addElement = function(xmlobject,element,content) {
 
163
    var root = xmlobject.documentElement;
 
164
    var el = xmlobject.createElement(element);
 
165
    var txt = xmlobject.createTextNode(content);
 
166
    el.appendChild(txt);
 
167
    root.appendChild(el);
 
168
    return xmlobject;
 
169
}
 
170
 
 
171
 
 
172
SETTINGS.prototype.ProcessWindow = function() {
 
173
    var start = document.getElementById('startdate').value;
 
174
    var end = document.getElementById('enddate').value;
 
175
    start += " " + document.getElementById('starttime').value;
 
176
    end += " " + document.getElementById('endtime').value;
 
177
    start = Date.parse(start);
 
178
    end = Date.parse(end);
 
179
    start = start/1000;
 
180
    end = end/1000;
 
181
    start += "";
 
182
    end += "";
 
183
    this.updateTime("window="+start+"-"+end);
 
184
}
 
185
 
 
186
SETTINGS.prototype.HandleBack = function(target) {
 
187
    this.depth--;
 
188
    if (target == 'p_id=sourcefront' || target == 'p_id=controls')this.goTo(target);
 
189
    else this.makeRequest(target);
 
190
}
 
191
 
 
192
SETTINGS.prototype.Search = function() {
 
193
    var searchvalue = document.getElementById('searchfield').value;
 
194
    var searchreq =     adei.GetService("search", "search="+searchvalue);
 
195
    var xmlresult = getXML(searchreq);
 
196
 
 
197
    xmlresult = this.addElement(xmlresult,"history","p_id=sourcefront");
 
198
    xmlresult = this.addElement(xmlresult,"heading","Search");
 
199
    xmlresult = this.addElement(xmlresult,"page","searchresults");
 
200
    var jsonvar = new Object();
 
201
    jsonvar.xml = xmlresult;
 
202
    jsonvar.xslt = "settings";
 
203
    settings.Update(jsonvar,'false');
 
204
}
 
205
 
 
206
SETTINGS.prototype.CreateSpinningWheel = function(type) {
 
207
    if (type == 'startdate' || type == 'enddate'){
 
208
        var now = new Date();
 
209
        var days = { };
 
210
        var years = { };
 
211
        var months = { 
 
212
                 1: 'Jan'
 
213
               , 2: 'Feb'
 
214
               , 3: 'Mar'
 
215
               , 4: 'Apr'
 
216
               , 5: 'May'
 
217
               , 6: 'Jun'
 
218
               , 7: 'Jul'
 
219
               , 8: 'Aug'
 
220
               , 9: 'Sep'
 
221
               , 10: 'Oct'
 
222
               , 11: 'Nov'
 
223
               , 12: 'Dec'
 
224
        };
 
225
 
 
226
        for ( var i = 1; i < 32; i += 1 ) {
 
227
            days[i] = i;
 
228
        }
 
229
 
 
230
        for ( i = now.getFullYear()-100; i < now.getFullYear()+1; i += 1 ) {
 
231
            years[i] = i;
 
232
        }
 
233
 
 
234
        SpinningWheel.addSlot(months, '', 1);
 
235
        SpinningWheel.addSlot(days, 'right', 1);
 
236
        SpinningWheel.addSlot(years, 'right', 1999);
 
237
 
 
238
        SpinningWheel.setCancelAction(this.Cancel);
 
239
        SpinningWheel.setDoneAction(this.getResults,type);
 
240
        SpinningWheel.open();
 
241
 
 
242
    } else if (type == 'starttime' || type == 'endtime') {
 
243
        var hours = {};
 
244
        var minutes = {};
 
245
        var seconds = {};
 
246
        var i = 1;
 
247
 
 
248
        for (i = 0; i<24; i++){
 
249
            if (i<10) hours["0"+i] = "0" + i;
 
250
            else hours[i] = i;
 
251
        }
 
252
        for (i=0; i<60; i++){
 
253
            if (i<10){
 
254
                minutes["0"+i] = "0" + i;
 
255
                seconds["0"+i] = "0" + i;
 
256
            }
 
257
            else{
 
258
                minutes[i] = i;
 
259
                seconds[i] = i;
 
260
            }
 
261
        }
 
262
 
 
263
        SpinningWheel.addSlot(hours,'right', 5);
 
264
        SpinningWheel.addSlot({':': 'h'},'readonly shrink');
 
265
        SpinningWheel.addSlot(minutes,'', 5);
 
266
        SpinningWheel.addSlot({':': 'm'},'readonly shrink');
 
267
        SpinningWheel.addSlot(seconds,'right',5);
 
268
        SpinningWheel.addSlot({'': 's'},'readonly shrink');
 
269
 
 
270
        SpinningWheel.setCancelAction(this.Cancel);
 
271
        SpinningWheel.setDoneAction(this.getResults,type);
 
272
 
 
273
        SpinningWheel.open();
 
274
    }
 
275
}
 
276
 
 
277
SETTINGS.prototype.getResults = function(id) {
 
278
    var results = SpinningWheel.getSelectedValues();
 
279
    switch (id) {
 
280
      case 'startdate':
 
281
        document.getElementById('startdate').value = results.keys.join('/');
 
282
        break;
 
283
      case 'starttime':
 
284
        document.getElementById('starttime').value = results.keys.join('');
 
285
        break;
 
286
      case 'enddate':
 
287
        document.getElementById('enddate').value = results.keys.join('/');
 
288
        break;
 
289
      case 'endtime':
 
290
        document.getElementById('endtime').value = results.keys.join('');
 
291
        break;
 
292
    }
 
293
}
 
294
 
 
295
SETTINGS.prototype.Cancel = function() {
 
296
    //alert("canceled");
 
297
}
 
298
 
 
299
SETTINGS.prototype.sendGetRequest = function(p_id,vlue) {
 
300
    switch (p_id){
 
301
      case "p_id=sourceselect":
 
302
        switch (this.depth) {
 
303
          case 1:
 
304
            this.makeRequest("target=servers");
 
305
            break;
 
306
          case 2:
 
307
            this.setValue("server","&db_server="+vlue);
 
308
            this.makeRequest("target=databases");
 
309
            break;
 
310
          case 3:
 
311
            this.setValue("database","&db_name="+vlue);
 
312
            this.makeRequest("target=groups");
 
313
            break;
 
314
          case 4:
 
315
            this.setValue("loggroup","&db_group="+vlue);
 
316
            this.makeRequest("target=masks");
 
317
            break;
 
318
          case 5:
 
319
            if (vlue != -1){
 
320
                this.setValue("itemmask","&db_mask="+vlue);
 
321
                this.goTo("p_id=main");
 
322
                this.setconf();
 
323
            }
 
324
            else{
 
325
                this.makeRequest("target=items");
 
326
            }
 
327
            break;
 
328
          case 6:
 
329
            this.setValue("itemmask","&db_mask="+vlue);
 
330
            this.goTo("p_id=main");
 
331
            this.setconf();
 
332
            break;
 
333
        }
 
334
        this.depth +=1;
 
335
        break;
 
336
      case "p_id=controlsexp":
 
337
        this.LoadControlsExp();
 
338
        break;
 
339
      case "p_id=sourcetimecustom":
 
340
        this.makeRequest("target=sourcetimecustom");
 
341
        break;
 
342
      case "p_id=sourcetimewindow":
 
343
        this.makeRequest("target=sourcetimewindow");
 
344
        break;
 
345
      case "p_id=controlsaggr":
 
346
        switch (this.depth){
 
347
          case 1:
 
348
            this.makeRequest("target=aggregation_modes");
 
349
            break;
 
350
          case 2:
 
351
            this.setValue("aggr","aggregation="+vlue);
 
352
            this.makeRequest("target=interpolation_modes");
 
353
            break;
 
354
          case 3:
 
355
            this.setValue("aggr","&interpolation="+vlue);
 
356
            this.makeRequest("target=marks_modes");
 
357
            break;
 
358
          case 4:
 
359
            this.setValue("aggr","&show_marks="+vlue);
 
360
            this.makeRequest("target=gaps_modes");
 
361
            break;
 
362
          case 5:
 
363
            this.setValue("aggr","&show_gaps="+vlue);
 
364
            adei.SetConfiguration(this.aggrprop);
 
365
            this.goTo("p_id=main");
 
366
            adei.OpenModule('graph');
 
367
            this.depth = 0;
 
368
            break;
 
369
        }
 
370
        this.depth +=1;
 
371
        break;
 
372
      default:
 
373
        this.depth=1;
 
374
        this.goTo(p_id);
 
375
        break;
 
376
    }
 
377
}
 
378