SAAS-744 - Updated double click and Add button functionality on Now Playing and Add/Remove content screens
This commit is contained in:
parent
4e37788d92
commit
8aea86b451
3 changed files with 65 additions and 9 deletions
|
@ -213,3 +213,21 @@ function resizeToMaxHeight(ele, targetHeight){
|
||||||
img.css("width", newWidth+"px");
|
img.css("width", newWidth+"px");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* From http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport/#7557433 */
|
||||||
|
function isInView(el) {
|
||||||
|
//special bonus for those using jQuery
|
||||||
|
if (typeof jQuery === "function" && el instanceof jQuery) {
|
||||||
|
el = el[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
var rect = el.getBoundingClientRect();
|
||||||
|
|
||||||
|
return (
|
||||||
|
rect.top >= 0 &&
|
||||||
|
rect.left >= 0 &&
|
||||||
|
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
|
||||||
|
rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,20 +8,31 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
mod = AIRTIME.library;
|
mod = AIRTIME.library;
|
||||||
|
|
||||||
mod.checkAddButton = function() {
|
mod.checkAddButton = function() {
|
||||||
var selected = mod.getChosenItemsLength(), $cursor = $('tr.sb-selected'), check = false;
|
var selected = mod.getChosenItemsLength(), $cursor = $('tr.sb-selected'), check = false,
|
||||||
|
shows = $('tr.sb-header'), current = $('tr.sb-current-show'),
|
||||||
|
cursorText = $.i18n._('Add to next show');
|
||||||
|
|
||||||
// make sure library items are selected and a cursor is selected.
|
// make sure library items are selected and a cursor is selected.
|
||||||
if (selected !== 0 && $cursor.length !== 0) {
|
if (selected !== 0) {
|
||||||
check = true;
|
check = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (shows.length === 0) {
|
||||||
|
check = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (check === true) {
|
if (check === true) {
|
||||||
AIRTIME.button.enableButton("btn-group #library-plus", false);
|
AIRTIME.button.enableButton("btn-group #library-plus", false);
|
||||||
} else {
|
} else {
|
||||||
AIRTIME.button.disableButton("btn-group #library-plus", false);
|
AIRTIME.button.disableButton("btn-group #library-plus", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), ' '+$.i18n._('Add to selected show'));
|
if ($cursor.length !== 0) {
|
||||||
|
cursorText = $.i18n._('Add before selected items');
|
||||||
|
} else if (current.length !== 0) {
|
||||||
|
cursorText = $.i18n._('Add to current show');
|
||||||
|
}
|
||||||
|
AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), ' '+ cursorText);
|
||||||
};
|
};
|
||||||
|
|
||||||
mod.fnRowCallback = function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
|
mod.fnRowCallback = function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
|
||||||
|
@ -98,7 +109,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
"type" : type
|
"type" : type
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#show_builder_table tr.cursor-selected-row").each(function(i, el) {
|
$("#show_builder_table tr.sb-selected").each(function(i, el) {
|
||||||
aData.push($(el).prev().data("aData"));
|
aData.push($(el).prev().data("aData"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -113,12 +124,35 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aSchedIds.length == 0) {
|
if (aSchedIds.length == 0) {
|
||||||
alert($.i18n._("Please select a cursor position on timeline."));
|
addToCurrentOrNext(aSchedIds);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AIRTIME.showbuilder.fnAdd(aMediaIds, aSchedIds);
|
AIRTIME.showbuilder.fnAdd(aMediaIds, aSchedIds);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function addToCurrentOrNext(arr) {
|
||||||
|
var el;
|
||||||
|
// Get the show instance id of the first non-data row (id = 0)
|
||||||
|
// The second last row in the table with that instance id is the
|
||||||
|
// last schedule item for the first show. (This is important for
|
||||||
|
// the Now Playing screen if multiple shows are in view).
|
||||||
|
el = $("[si_id="+$("#0").attr("si_id")+"]");
|
||||||
|
var temp = el.eq(-2).data("aData");
|
||||||
|
arr.push({
|
||||||
|
"id" : temp.id,
|
||||||
|
"instance" : temp.instance,
|
||||||
|
"timestamp" : temp.timestamp
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!isInView(el)) {
|
||||||
|
$('.dataTables_scrolling.sb-padded').animate({
|
||||||
|
scrollTop: el.offset().top
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
|
||||||
mod.setupLibraryToolbar = function() {
|
mod.setupLibraryToolbar = function() {
|
||||||
var $toolbar = $(".lib-content .fg-toolbar:first");
|
var $toolbar = $(".lib-content .fg-toolbar:first");
|
||||||
|
|
||||||
|
@ -162,6 +196,10 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (aSchedIds.length == 0) {
|
||||||
|
addToCurrentOrNext(aSchedIds);
|
||||||
|
}
|
||||||
|
|
||||||
AIRTIME.showbuilder.fnAdd(aMediaIds, aSchedIds);
|
AIRTIME.showbuilder.fnAdd(aMediaIds, aSchedIds);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
mod.changeAddButtonText = function($button, btnText) {
|
mod.changeAddButtonText = function($button, btnText) {
|
||||||
$button.text(btnText);
|
$button.text(btnText);
|
||||||
}
|
};
|
||||||
|
|
||||||
mod.createToolbarButtons = function() {
|
mod.createToolbarButtons = function() {
|
||||||
$menu = $("<div class='btn-toolbar' />");
|
$menu = $("<div class='btn-toolbar' />");
|
||||||
|
@ -135,7 +135,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
"<i class='icon-white icon-trash'></i>" +
|
"<i class='icon-white icon-trash'></i>" +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
}
|
};
|
||||||
|
|
||||||
mod.createToolbarDropDown = function() {
|
mod.createToolbarDropDown = function() {
|
||||||
$('#sb-select-page').click(function(){mod.selectCurrentPage();});
|
$('#sb-select-page').click(function(){mod.selectCurrentPage();});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue