forked from hummypkg/webif
Make use of unique element IDs for img consistent
Fixes https://hummy.tv/forum/threads/webif-web-interface-1-4-x.7712/post-153127
This commit is contained in:
parent
ccf7304ce0
commit
1de256ec16
|
@ -10,6 +10,18 @@ var plugins = {
|
||||||
dmenu_prepare: {}
|
dmenu_prepare: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// pattern matches directory path prefix
|
||||||
|
var pathre = /.*\/|\.[^.]*$/g;
|
||||||
|
|
||||||
|
// IDs of size, img, etc elements for folders use RFC4648 s5 encoding of folder name
|
||||||
|
function folderID(folder) {
|
||||||
|
return btoa(escape(folder))
|
||||||
|
.replace(/\+/g, '-')
|
||||||
|
.replace(/\//g, '_')
|
||||||
|
.replace(/=/g, '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function blockpage(msg)
|
function blockpage(msg)
|
||||||
{
|
{
|
||||||
if (!msg)
|
if (!msg)
|
||||||
|
@ -111,22 +123,14 @@ function epginfo_callback(data, status, xhr)
|
||||||
|
|
||||||
function insert_folder_size(folder, size)
|
function insert_folder_size(folder, size)
|
||||||
{
|
{
|
||||||
// folder = folder.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1');
|
|
||||||
// ID of size element is ID + RFC4648 s5 encoding of folder name
|
|
||||||
folder = "ID" +
|
|
||||||
btoa(escape(folder))
|
|
||||||
.replace(/\+/g, '-')
|
|
||||||
.replace(/\//g, '_')
|
|
||||||
.replace(/=/g, '');
|
|
||||||
//console.log("Folder: (%s) = (%s)", folder, size);
|
|
||||||
if (size.search(/\d$/) == -1)
|
if (size.search(/\d$/) == -1)
|
||||||
size += 'iB';
|
size += 'iB';
|
||||||
else
|
else
|
||||||
size += ' bytes';
|
size += ' bytes';
|
||||||
if (folder == "")
|
folder = folderID(folder);
|
||||||
$('#dirsize').text(' (' + size + ')');
|
//console.log("Folder: (%s) = (%s)", folder, size);
|
||||||
else
|
$(folder == "" ? '#dirsize': '#ID' + folder)
|
||||||
$('#' + folder).text(' (' + size + ')');
|
.text(' (' + size + ')');
|
||||||
}
|
}
|
||||||
|
|
||||||
function folder_size_callback(data, status, xhr)
|
function folder_size_callback(data, status, xhr)
|
||||||
|
@ -138,11 +142,9 @@ function folder_size_callback(data, status, xhr)
|
||||||
|
|
||||||
function set_folder_new(folder, cnt)
|
function set_folder_new(folder, cnt)
|
||||||
{
|
{
|
||||||
folder = folder.replace(/ /g, '');
|
|
||||||
folder = folder.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1');
|
|
||||||
//console.log("Folder: (%s) = (%s)", folder, cnt);
|
//console.log("Folder: (%s) = (%s)", folder, cnt);
|
||||||
left = cnt > 99 ? 11 : (cnt > 9 ? 14 : 17);
|
left = cnt > 99 ? 11 : (cnt > 9 ? 14 : 17);
|
||||||
$('#img' + folder)
|
$('#img' + folderID(folder))
|
||||||
.attr('src', '/img/Folder_New.png')
|
.attr('src', '/img/Folder_New.png')
|
||||||
.next('span.foldernum')
|
.next('span.foldernum')
|
||||||
.css('left', left + 'px')
|
.css('left', left + 'px')
|
||||||
|
@ -161,10 +163,8 @@ function new_folder_callback(data, status, xhr)
|
||||||
|
|
||||||
function set_folder__(folder)
|
function set_folder__(folder)
|
||||||
{
|
{
|
||||||
folder = folder.replace(/ /g, '');
|
|
||||||
folder = folder.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1');
|
|
||||||
//console.log("Folder: (%s)", folder);
|
//console.log("Folder: (%s)", folder);
|
||||||
$('#img' + folder + ' ~ span.folderu').show();
|
$('#img' + folderID(folder) + ' ~ span.folderu').show();
|
||||||
}
|
}
|
||||||
|
|
||||||
function __folder_callback(data, status, xhr)
|
function __folder_callback(data, status, xhr)
|
||||||
|
@ -261,7 +261,7 @@ var $confirm; // Populated after DOM is loaded.
|
||||||
|
|
||||||
function confirm_action(action, callback, file, type, id)
|
function confirm_action(action, callback, file, type, id)
|
||||||
{
|
{
|
||||||
var bfile = file.replace(/.*\/|\.[^.]*$/g, '');
|
var bfile = file.replace(pathre, '');
|
||||||
$confirm.dialog('option', 'buttons', {
|
$confirm.dialog('option', 'buttons', {
|
||||||
'Yes': function() { $(this).dialog('close');
|
'Yes': function() { $(this).dialog('close');
|
||||||
callback(file, type, id); },
|
callback(file, type, id); },
|
||||||
|
@ -434,7 +434,7 @@ var menuclick = function(action, el, pos)
|
||||||
{
|
{
|
||||||
var file = $(el).parent().prevAll('a.bf').last().attr('file');
|
var file = $(el).parent().prevAll('a.bf').last().attr('file');
|
||||||
var efile = encodeURIComponent(file);
|
var efile = encodeURIComponent(file);
|
||||||
var bfile = file.replace(/.*\/|\.[^.]*$/g, '');
|
var bfile = file.replace(pathre, '');
|
||||||
bfile = bfile.replace(/[\x00-\x1f]+/g, '');
|
bfile = bfile.replace(/[\x00-\x1f]+/g, '');
|
||||||
var type = $(el).attr('type');
|
var type = $(el).attr('type');
|
||||||
var id = $(el).attr('did');
|
var id = $(el).attr('did');
|
||||||
|
|
Loading…
Reference in New Issue