flexview/webif/plugin/flexview/contextmenu.js

131 lines
3.5 KiB
JavaScript

// Browse context menu enablement - extracted from browse.js
// extremely unfortunate the need to duplicate code
// but needs to be (re)done whenever grids are redrawn since elements
// being tracked are not created at document ready
function dirListReady() {
// Bind context menu to opt+ image
$('img.dopt').contextMenu(
{
menu: 'doptmenu',
leftButton: true,
beforeShow: preparedmenu
},
dmenuclick
);
$('img.doopt').contextMenu(
{
menu: 'dooptmenu',
leftButton: true,
beforeShow: preparedmenu
},
dmenuclick
);
};
function fileListReady() {
// Bind context menu to opt+ image
$('img.opt').contextMenu(
{
menu: 'optmenu',
leftButton: true,
beforeShow: preparemenu
},
menuclick
);
$('img.oopt').contextMenu(
{
menu: 'ooptmenu',
leftButton: true,
beforeShow: prepareomenu
},
omenuclick
);
};
// Cant trigger the imput.fs changed function from grid
function inputChanged() {
var num = $('input.fs:checked').size();
if (num > 0)
$('.onesel').enable();
else
$('.onesel').disable();
var num = $('input.fsts:checked').size();
if (num > 0)
$('.tsonesel').enable();
else
$('.tsonesel').disable();
if (num > 1)
$('.tstwosel').enable();
else
$('.tstwosel').disable();
};
// use browse media view dialog adapted for FV, may need changing if Browse dialog changes
function viewFile(rowid) {
// Use jqGrid column data instead of HTML attributes
var record = $("#filelist").jqGrid('getLocalRow',rowid);
var file = record.dir +'/'+ record.fname;
var file = encodeURI(record.dir +'/'+ record.fname);
var type = record.ftype;
var dlna = record.dlna;
var decr = record.Decrypted;
// e.preventDefault();
// var file = $(this).attr('file');
// var type = $(this).attr('type');
// var opt = $(this).nextAll('a').find('img.opt');
var url = '/browse/file.jim?file=' + file
+ '&type=' + type;
$.dialog.load(url);
$.dialog.attr('file', file);
$.dialog.attr('type', type);
if (type == 'ts' &&
(decr == 1 || dlna == 1))
// (opt.attr('odencd') == 0 || opt.attr('dlna') == 1))
$.dialog.dialog("option", "buttons", $buttonsp);
else
$.dialog.dialog("option", "buttons", $buttons);
$.dialog.dialog('open');
};
var $buttons = {
"Close" : function() {$(this).dialog('close');}
};
var $buttonsp = $.extend(
{"Play" : function() { //doplay();
window.location = '/play/play.jim?' +
'dir=' + encodeURIComponent(dir) +
'&file=' + encodeURIComponent(file);
}
},
$buttons);
$(function() {
// Create reusable dialogue.
if (!$.dialog)
$.dialog = $('#dialogue').dialog({
title: "Media Details",
modal: false, autoOpen: false,
height: 600, width: 700,
show: 'scale', hide: 'fade',
draggable: true, resizable: true,
buttons: $buttons,
close: function(e,u) { $('#dialogue').empty().html(
'<img src="/img/loading.gif">Retrieving data...'); }
});
});