correct up2k mode in mixed-r/w

This commit is contained in:
ed 2021-02-22 21:11:30 +01:00
parent 5148c4f2e9
commit fc0c7ff374
2 changed files with 23 additions and 16 deletions

View file

@ -983,7 +983,8 @@ function apply_perms(perms) {
(have_write || tds[a].getAttribute('data-perm') == 'read') ? (have_write || tds[a].getAttribute('data-perm') == 'read') ?
'table-cell' : 'none'; 'table-cell' : 'none';
} }
if (!have_write && up2k)
if (window['up2k'])
up2k.set_fsearch(); up2k.set_fsearch();
} }
@ -1021,5 +1022,8 @@ function reload_browser(not_mp) {
widget.close(); widget.close();
mp = init_mp(); mp = init_mp();
} }
if (window['up2k'])
up2k.set_fsearch();
} }
reload_browser(true); reload_browser(true);

View file

@ -282,7 +282,7 @@ function up2k_init(have_crypto) {
var flag = false; var flag = false;
apply_flag_cfg(); apply_flag_cfg();
apply_fsearch_cfg(); set_fsearch();
function nav() { function nav() {
ebi('file' + fdom_ctr).click(); ebi('file' + fdom_ctr).click();
@ -1061,12 +1061,24 @@ function up2k_init(have_crypto) {
} }
function tgl_fsearch() { function tgl_fsearch() {
fsearch = !fsearch; set_fsearch(!fsearch);
bcfg_set('fsearch', fsearch);
apply_fsearch_cfg();
} }
function apply_fsearch_cfg() { function set_fsearch(new_state) {
var perms = document.body.getAttribute('perms');
if (!ebi('fsearch')) {
new_state = false;
}
else if (perms && perms.indexOf('write') === -1) {
new_state = true;
}
if (new_state !== undefined) {
fsearch = new_state;
bcfg_set('fsearch', fsearch);
}
try { try {
var fun = fsearch ? 'add' : 'remove'; var fun = fsearch ? 'add' : 'remove';
ebi('op_up2k').classList[fun]('srch'); ebi('op_up2k').classList[fun]('srch');
@ -1078,11 +1090,6 @@ function up2k_init(have_crypto) {
catch (ex) { } catch (ex) { }
} }
function set_fsearch() {
if (!fsearch)
tgl_fsearch();
}
function tgl_flag_en() { function tgl_flag_en() {
flag_en = !flag_en; flag_en = !flag_en;
bcfg_set('flag_en', flag_en); bcfg_set('flag_en', flag_en);
@ -1131,12 +1138,8 @@ function up2k_init(have_crypto) {
for (var a = nodes.length - 1; a >= 0; a--) for (var a = nodes.length - 1; a >= 0; a--)
nodes[a].addEventListener('touchend', nop, false); nodes[a].addEventListener('touchend', nop, false);
var perms = document.body.getAttribute('perms'); set_fsearch();
if (perms && perms.indexOf('write') === -1)
set_fsearch();
bumpthread({ "target": 1 }) bumpthread({ "target": 1 })
return { "init_deps": init_deps, "set_fsearch": set_fsearch } return { "init_deps": init_deps, "set_fsearch": set_fsearch }
} }