X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fprefs.js;h=314c90eba633f63ae0b6fce93cd885be8ca13a37;hb=refs%2Fheads%2Fpost-bold;hp=4fe20b8cb4519aa0b0d6febb7b39bc8d7d050f58;hpb=b65dddf6cb8fdc5a98719ed170ca38c2059b362c;p=brisk.git diff --git a/web/prefs.js b/web/prefs.js index 4fe20b8..314c90e 100644 --- a/web/prefs.js +++ b/web/prefs.js @@ -1,6 +1,11 @@ -var l_list_all = 0x00; +var l_list_all = 0x00; var l_list_auth = 0x01; var l_list_isol = 0x02; +var l_prefs_list_idx = new Array( 0x00, 0x01, 0x02 ); +var l_prefs_list_id = new Array( "all", "auth", "isol" ); +var l_comps_name = new Array('s_fg_r', 's_fg_g', 's_fg_b', 's_bg_r', 's_bg_g', 's_bg_b'); + +var standup_data_notisol = null; function client_prefs(old) { @@ -26,28 +31,27 @@ function prefs_assign(content) return (prefs_new); } -var prefs_list_idx = new Array( 0x00, 0x01, 0x02 ); -var prefs_list_id = new Array( "all", "auth", "isol" ); - function prefs_apply(prefs_new, is_update, is_volat) { var i; var relo = false; + console.log('prefs_apply: begin'); + if (typeof(g_prefs) == 'undefined') return false; /* listen management */ if (g_prefs.listen != prefs_new.listen || is_update) { - for (i = 0 ; i < prefs_list_idx.length ; i++) { - set_checked_value($('ra_listen_'+prefs_list_id[i]), prefs_new.listen); - if (prefs_new.listen == prefs_list_idx[i]) { + for (i = 0 ; i < l_prefs_list_idx.length ; i++) { + set_checked_value($('ra_listen_'+l_prefs_list_id[i]), prefs_new.listen); + if (prefs_new.listen == l_prefs_list_idx[i]) { if (!is_volat) - $('list_'+prefs_list_id[i]).style.color = 'red'; + $('list_'+l_prefs_list_id[i]).style.color = 'red'; $('list_info').innerHTML = mlang_commons['tit_list'][i][g_lang]; } else { if (!is_volat) - $('list_'+prefs_list_id[i]).style.color = 'black'; + $('list_'+l_prefs_list_id[i]).style.color = 'black'; } } @@ -56,11 +60,15 @@ function prefs_apply(prefs_new, is_update, is_volat) // supporter component management if (g_prefs.supp_comp != prefs_new.supp_comp || is_update) { + + for (i = 0 ; i < 6 ; i++) { + $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2,2), 16); + } $('s_img').src = 'suprend.php?comp='+prefs_new.supp_comp; } if (relo || !is_update) { - for (i = g_tables_auth_n ; i < g_tables_n ; i++) { + for (i = g_tables_appr_n ; i < g_tables_n ; i++) { if (i % 4 == 0) { $('tr_noauth'+i).style.display = (prefs_new.listen == l_list_isol ? 'none' : ''); } @@ -74,9 +82,27 @@ function prefs_apply(prefs_new, is_update, is_volat) tra.show_noauth(); } - if (false) { + if (typeof(prefs) != "undefined") { + if (prefs.listen != l_list_isol && prefs_new.listen == l_list_isol) { + if (standup_data_old != null) { + standup_data_notisol = standup_data_old.slice(); + } + } + else if (prefs.listen == l_list_isol && prefs_new.listen != l_list_isol) { + if (standup_data_notisol != null) { + standup_data_old = standup_data_notisol; + standup_data_notisol = null; + } + } + } + + if (g_prefs.listen != prefs_new.listen) { // ricalculation of standup area + g_prefs.listen = prefs_new.listen; + + console.log('here we are'); if (standup_data_old != null) { + console.log('here we are2'); standup_data = standup_data_old; standup_data_old = null; j_stand_cont(standup_data); @@ -107,10 +133,21 @@ function prefs_save() if (typeof(g_prefs) == 'undefined') return false; - ret = server_request('mesg', 'prefs','__POST__', 'prefs', JSON.stringify(g_prefs)); + ret = server_request('mesg', 'prefs|save','__POST__', 'prefs', JSON.stringify(g_prefs)); - if (ret == 1) + if (ret == 1) { $('preferences').style.visibility = 'hidden'; + } + else { + alert(ret); + } +} + +function prefs_reset() +{ + var ret; + + ret = server_request('mesg', 'prefs|reset'); } function prefs_update(field) @@ -118,7 +155,6 @@ function prefs_update(field) var i; var prefs_new; var relo = false; - // console.log("prefs_update("+field+")"); if (typeof(g_prefs) == 'undefined') @@ -128,14 +164,32 @@ function prefs_update(field) if (field == 'listen') { /* listen management */ - for (i = 0 ; i < prefs_list_idx.length ; i++) { - prefs_new.listen = get_checked_value($('ra_listen_'+prefs_list_id[i])); + for (i = 0 ; i < l_prefs_list_idx.length ; i++) { + prefs_new.listen = get_checked_value($('ra_listen_'+l_prefs_list_id[i])); if (prefs_new.listen != '') break; } } else if (field == 'supp') { - prefs_new.supp_comp = "" + dec2hex($('s_fg_r').value, 2) + dec2hex($('s_fg_g').value, 2) + dec2hex($('s_fg_b').value, 2) + dec2hex($('s_bg_r').value, 2) + dec2hex($('s_bg_g').value, 2) + dec2hex($('s_bg_b').value, 2); + for (i = 0 ; i < 6 ; i++) { + if (parseInt($(l_comps_name[i]).value) < 0 || parseInt($(l_comps_name[i]).value) > 255 || + isNaN(parseInt($(l_comps_name[i]).value))) { + break; + } + } + + if (i == 6) { + prefs_new.supp_comp = ""; + for (i = 0 ; i < 6 ; i++) { + prefs_new.supp_comp += dec2hex(parseInt($(l_comps_name[i]).value), 2); + } + } + + // console.log("prefs_update:: i break "+i+" ["+prefs_new.supp_comp+"]"); + + for (i = 0 ; i < 6 ; i++) { + $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2, 2), 16); + } } /* from form to struct */ @@ -184,7 +238,7 @@ function list_set(what, is_update, info) if (relo || !is_update) { - for (i = g_tables_auth_n ; i < g_tables_n ; i++) { + for (i = g_tables_appr_n ; i < g_tables_n ; i++) { if (i % 4 == 0) { $('tr_noauth'+i).style.display = (what == 'isolation' ? 'none' : '');