You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
4.5 KiB
214 lines
4.5 KiB
//
|
|
//
|
|
//
|
|
|
|
var blocks = [];
|
|
|
|
//
|
|
// update or add a new element
|
|
//
|
|
function block_Update(blockdata) {
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (blockdata.name == blocks[i].name) {
|
|
blocks[i].name = blockdata.name;
|
|
blocks[i].flags = blockdata.flags;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// not found add element
|
|
//debug ("Add Interface:" + intdata.name + "(" + intdata.host + ")");
|
|
blocks.push ({
|
|
name: blockdata.name,
|
|
flags: blockdata.flags
|
|
});
|
|
};
|
|
|
|
|
|
//
|
|
// delete element from the list
|
|
// in arrays we can not delete just an element, so we create a new one
|
|
// and replace this one.
|
|
//
|
|
function block_Delete(name) {
|
|
var l = new Array();
|
|
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (name != blocks[i].name) {
|
|
l.push (blocks[i]);
|
|
}
|
|
}
|
|
|
|
// clear list and replace list with new data.
|
|
blocks.lenght = 0;
|
|
blocks = l;
|
|
};
|
|
|
|
|
|
//
|
|
// send new element to server
|
|
//
|
|
function block_server_Add(elm) {
|
|
var request = { command: "addblock", block: elm };
|
|
serverinout (request, serverinout_defaultCallback);
|
|
};
|
|
|
|
|
|
//
|
|
// send delete element to server
|
|
//
|
|
function block_server_Del(elm) {
|
|
var request = { command: "delblock", block: elm };
|
|
serverinout (request, serverinout_defaultCallback);
|
|
};
|
|
|
|
|
|
|
|
function blockdetail_show(name) {
|
|
var win = document.getElementById("blockdetail");
|
|
|
|
debug ("blockdetail_show");
|
|
|
|
if (!win) {
|
|
debug ("blockdetail_show create window");
|
|
win = gWindowCreate("blockdetail", "Block", 400, 300, " \
|
|
<div style=\"float: left\"> \
|
|
Block Name: <input id=\"blockdet_name\" style=\"width: 100\"> \
|
|
</div> <div style=\"float: right\"> \
|
|
<button id=\"blockdet_PREV\"><</button> \
|
|
<button id=\"blockdet_NEXT\">></button> \
|
|
</div> <br> <hr>\
|
|
<div> \
|
|
<table><tr><td><table>\
|
|
</td></tr></table> </div> <hr>\
|
|
<div align=right> \
|
|
<button id=\"blockdet_SAVE\" type=\"button\">Save</button> \
|
|
<button id=\"blockdet_DELETE\" type=\"button\">Delete</button> \
|
|
<button id=\"blockdet_CLOSE\">Close</button> \
|
|
</div> \
|
|
\
|
|
");
|
|
|
|
gAddEventListener("blockdet_CLOSE", 'click', blockdetail_cb_close);
|
|
gAddEventListener("blockdet_DELETE", 'click', blockdetail_cb_delete);
|
|
gAddEventListener("blockdet_SAVE", 'click', blockdetail_cb_save);
|
|
|
|
gAddEventListener("blockdet_NEXT", 'click', blockdetail_cb_next);
|
|
gAddEventListener("blockdet_PREV", 'click', blockdetail_cb_prev);
|
|
}
|
|
|
|
if (name) {
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (name == blocks[i].name) blockdetail_setData(blocks[i]);
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
function blockdetail_cb_close () {
|
|
var win = document.getElementById("blockdetail");
|
|
|
|
if (win) document.body.removeChild(win);
|
|
};
|
|
|
|
|
|
//
|
|
// Callback: Delete Button
|
|
//
|
|
function blockdetail_cb_delete () {
|
|
var elm = {};
|
|
|
|
elm = blockdetail_getData();
|
|
block_Delete(elm.name);
|
|
block_server_Del(elm);
|
|
};
|
|
|
|
|
|
//
|
|
// Callback: Save Button
|
|
//
|
|
function blockdetail_cb_save () {
|
|
var elm = {};
|
|
|
|
elm = blockdetail_getData();
|
|
block_Update(elm);
|
|
block_server_Add(elm);
|
|
};
|
|
|
|
|
|
//
|
|
// Callback: Next Button
|
|
//
|
|
function blockdetail_cb_next () {
|
|
var cursel = -1;
|
|
var name = document.getElementById("blockdet_name");
|
|
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (name.value == blocks[i].name) cursel = i;
|
|
}
|
|
|
|
cursel = cursel + 1;
|
|
if (cursel >= blocks.length) cursel = 0;
|
|
if (cursel < 0) cursel = 0;
|
|
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (i == cursel) blockdetail_setData(blocks[i]);
|
|
}
|
|
|
|
// debug ("Cursel: " + cursel + " interfaces.lenght:" + interfaces.length);
|
|
};
|
|
|
|
|
|
//
|
|
// Callback: Prev Button
|
|
//
|
|
function blockdetail_cb_prev () {
|
|
var cursel = -1;
|
|
var name = document.getElementById("blockdet_name");
|
|
|
|
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (name.value == blocks[i].name) cursel = i;
|
|
}
|
|
|
|
cursel = cursel - 1;
|
|
if (cursel < 0 || cursel >= blocks.length) cursel = blocks.length - 1;
|
|
|
|
for (var i = 0; i < blocks.length; i++) {
|
|
if (i == cursel) blockdetail_setData(blocks[i]);
|
|
}
|
|
|
|
// debug ("Cursel: " + cursel + " interfaces.lenght:" + interfaces.length);
|
|
};
|
|
|
|
|
|
//
|
|
// fill out all the elements on the dialogbox
|
|
//
|
|
function blockdetail_setData(elm) {
|
|
var name = document.getElementById("blockdet_name");
|
|
var flags = document.getElementById("blockdet_flags");
|
|
|
|
if (elm) {
|
|
if (name) name.value = elm.name;
|
|
if (flags) flags.value = elm.flags;
|
|
}
|
|
};
|
|
|
|
|
|
|
|
//
|
|
// return all elements from the dialogbox
|
|
//
|
|
function blockdetail_getData() {
|
|
var res = { name: "", flags:0 };
|
|
var name = document.getElementById("blockdet_name");
|
|
var flags = document.getElementById("blockdet_flags");
|
|
|
|
if (name) res.name = name.value;
|
|
if (flags) res.flags = flags.value;
|
|
|
|
return res;
|
|
};
|
|
|