CC-4076: Library: make doubleclick trigger adding files to playlist/timeline
- done
This commit is contained in:
parent
d8e0466721
commit
31f1d5879e
|
@ -88,6 +88,18 @@ var AIRTIME = (function(AIRTIME){
|
|||
});
|
||||
};
|
||||
|
||||
mod.dblClickAdd = function(id, type) {
|
||||
var i,
|
||||
aMediaIds = [];
|
||||
|
||||
//process selected files/playlists.
|
||||
if (type === "audioclip") {
|
||||
aMediaIds.push(id);
|
||||
}
|
||||
|
||||
AIRTIME.playlist.fnAddItems(aMediaIds, undefined, 'after');
|
||||
};
|
||||
|
||||
mod.setupLibraryToolbar = function() {
|
||||
var $toolbar = $(".lib-content .fg-toolbar:first");
|
||||
|
||||
|
|
|
@ -87,6 +87,35 @@ var AIRTIME = (function(AIRTIME){
|
|||
});
|
||||
};
|
||||
|
||||
mod.dblClickAdd = function(id, type) {
|
||||
|
||||
var i,
|
||||
length,
|
||||
temp,
|
||||
aMediaIds = [],
|
||||
aSchedIds = [],
|
||||
aData = [];
|
||||
|
||||
//process selected files/playlists.
|
||||
aMediaIds.push({"id": id, "type": type});
|
||||
|
||||
$("#show_builder_table tr.cursor-selected-row").each(function(i, el){
|
||||
aData.push($(el).prev().data("aData"));
|
||||
});
|
||||
|
||||
//process selected schedule rows to add media after.
|
||||
for (i=0, length = aData.length; i < length; i++) {
|
||||
temp = aData[i];
|
||||
aSchedIds.push({"id": temp.id, "instance": temp.instance, "timestamp": temp.timestamp});
|
||||
}
|
||||
|
||||
if(aSchedIds.length == 0){
|
||||
alert("Please select a cursor position on timeline.");
|
||||
return false;
|
||||
}
|
||||
AIRTIME.showbuilder.fnAdd(aMediaIds, aSchedIds);
|
||||
};
|
||||
|
||||
mod.setupLibraryToolbar = function() {
|
||||
var $toolbar = $(".lib-content .fg-toolbar:first");
|
||||
|
||||
|
|
|
@ -428,11 +428,32 @@ var AIRTIME = (function(AIRTIME) {
|
|||
return false;
|
||||
});
|
||||
|
||||
alreadyclicked=false;
|
||||
//call the context menu so we can prevent the event from propagating.
|
||||
$(nRow).find('td:not(.library_checkbox, .library_type)').click(function(e){
|
||||
|
||||
$(this).contextMenu({x: e.pageX, y: e.pageY});
|
||||
|
||||
var el=$(this);
|
||||
if (alreadyclicked)
|
||||
{
|
||||
alreadyclicked=false; // reset
|
||||
clearTimeout(alreadyclickedTimeout); // prevent this from happening
|
||||
// do what needs to happen on double click.
|
||||
|
||||
$tr = $(el).parent();
|
||||
data = $tr.data("aData");
|
||||
AIRTIME.library.dblClickAdd(data.id, data.ftype);
|
||||
//AIRTIME.playlist.fnAddItems([data.id], undefined, 'after');
|
||||
}
|
||||
else
|
||||
{
|
||||
alreadyclicked=true;
|
||||
alreadyclickedTimeout=setTimeout(function(){
|
||||
alreadyclicked=false; // reset when it happens
|
||||
// do what needs to happen on single click.
|
||||
// use el instead of $(this) because $(this) is
|
||||
// no longer the element
|
||||
el.contextMenu({x: e.pageX, y: e.pageY});
|
||||
},300); // <-- dblclick tolerance here
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue