aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/nms-ui-switch-summary.js
blob: 9b63b2469b3a2be0fa24fee13aadadd0e20498ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
"user strict";

class nmsSwitchSummary extends nmsTable {
	constructor(sw) {
		super()
		this._sw = sw;
		this._data = {}
		this.refresh()
	}
		
	refresh() {
		for (var h in handlers ) {
			if (handlers[h].getInfo != undefined) {
				var tmp = handlers[h].getInfo(this._sw);
				if (!tmp) { continue; }
				if (this._data[h] == undefined) {
					this._data[h] = {}
				}
				for (var x in tmp.data) {
					if (this._data[h][x] == undefined) {
						this._data[h][x] = new nmsSwitchItem(tmp.data[x].description,handlers[h])
						this.add(this._data[h][x])
					}
					this._data[h][x].refresh(tmp.data[x])
				}
			}
		}
	}
}

class nmsSwitchItem extends nmsBox {
	constructor(description,handler) {
		super("tr")
		this.add(new nmsBox("td",{html:{textContent:description}}));
		this.html.title = handler.tag;
		this._value = new nmsBox("td")
		this.add(this._value)
	}
	refresh(item) {
		if (item.value == null || item.value == undefined || item.value == "") {
			if (this._hidden == true) { 
				return;
			}
			this._value_content = undefined;
			this._hidden = true;
			this.hide()
			return;
		}
		if (this._value_content != item.value) {
			this._value.html.textContent = item.value;
			this._value_content = item.value;
		}
		if (this._hidden == true) {
			this.show()
			this._hidden = false;
		}
	}
}