CC-6066 - initial work on add/remove content dialog; some selection fixes

This commit is contained in:
Duncan Sommerville 2015-08-21 14:19:28 -04:00
parent f7733757f6
commit 812dca9409
13 changed files with 86 additions and 33 deletions

View file

@ -306,7 +306,7 @@ var AIRTIME = (function(AIRTIME) {
return;
}
var selection = $(".media_type_selector.selected").attr("selection_id");
var selection = $(".media_type_selector.selected").attr("data-selection-id");
if (selection == 2) {
AIRTIME.playlist.fnNew();

View file

@ -199,7 +199,7 @@ var AIRTIME = (function(AIRTIME) {
};
mod.checkNewButton = function() {
var selected = $(".media_type_selector.selected").attr("selection_id"),
var selected = $(".media_type_selector.selected").attr("data-selection-id"),
check = false;
if (selected != 1) {
@ -386,7 +386,7 @@ var AIRTIME = (function(AIRTIME) {
openTabObjectIds.each(function(i, el) {
var v = parseInt($(el).val());
if ($.inArray(v, mediaIds) > -1) {
AIRTIME.playlist.closeTab($(el).closest(".pl-content").attr("tab-id"));
AIRTIME.playlist.closeTab($(el).closest(".pl-content").attr("data-tab-id"));
}
});
@ -524,7 +524,7 @@ var AIRTIME = (function(AIRTIME) {
function getLibraryDatatableStrings() {
//Set up the datatables string translation table with different strings depending on
//whether you're viewing files, playlists, smart blocks, etc.
var type = parseInt($(".media_type_selector.selected").attr("selection_id"));
var type = parseInt($(".media_type_selector.selected").attr("data-selection-id"));
type = (type === undefined) ? 1 : type;
//FIXME: The code that calls this function doesn't work as intended because you can't
@ -681,7 +681,7 @@ var AIRTIME = (function(AIRTIME) {
aoData.push( { name: "advSearch", value: advSearchValid} );
// push whether to search files/playlists or all.
type = $(".media_type_selector.selected").attr("selection_id");
type = $(".media_type_selector.selected").attr("data-selection-id");
type = (type === undefined) ? 1 : type;
aoData.push( { name: "type", value: type} );
@ -836,7 +836,7 @@ var AIRTIME = (function(AIRTIME) {
AIRTIME.library.dblClickAdd(data, data.ftype);
});
$libTable.find("tbody").on("mousedown", "tr.lib-audio > td.library_checkbox", function(ev) {
$libTable.find("tbody").on("mousedown", "tr[class*='lib'] > td.library_checkbox", function(ev) {
var $tr = $(this).parent(),
// Get the ID of the selected row
$rowId = $tr.attr("id");
@ -865,7 +865,7 @@ var AIRTIME = (function(AIRTIME) {
}
});
$libTable.find("tbody").on("mousedown", "tr.lib-audio > td:not(.library_checkbox)", function(ev) {
$libTable.find("tbody").on("mousedown", "tr[class*='lib'] > td:not(.library_checkbox)", function(ev) {
var $tr = $(this).parent(),
// Get the ID of the selected row
$rowId = $tr.attr("id");
@ -894,6 +894,9 @@ var AIRTIME = (function(AIRTIME) {
mod.selectItem($tr);
} else if (ev.ctrlKey) {
mod.deselectItem($tr);
} else if (ev.which === 3 /* Right click */) {
mod.selectNone();
mod.selectItem($tr);
}
});
@ -932,7 +935,7 @@ var AIRTIME = (function(AIRTIME) {
// begin context menu initialization.
AIRTIME.library.ctxMenu = $.contextMenu({
selector: '#library_display tr.lib-audio:has(td)',
selector: "#library_display tr[class*='lib']:has(td)",
//trigger: "left",
trigger: "custom",

View file

@ -444,14 +444,14 @@ var AIRTIME = (function(AIRTIME){
}
$tabCount++;
var wrapper = "<div tab-type='" + json.type + "' tab-id='" + $tabCount + "' id='pl-tab-content-" + $tabCount + "' class='side_playlist pl-content'><div class='editor_pane_wrapper'></div></div>",
var wrapper = "<div data-tab-type='" + json.type + "' data-tab-id='" + $tabCount + "' id='pl-tab-content-" + $tabCount + "' class='side_playlist pl-content'><div class='editor_pane_wrapper'></div></div>",
t = $("#show_builder").append(wrapper).find("#pl-tab-content-" + $tabCount),
pane = $(".editor_pane_wrapper:last"),
name = json.type == "md" ? // file
pane.append(json.html).find("#track_title").val() + $.i18n._(" - Metadata Editor")
: pane.append(json.html).find(".playlist_name_display").text(),
tab =
"<li tab-id='" + $tabCount + "' tab-type='" + json.type + "' id='pl-tab-" + $tabCount + "' role='presentation' class='active'>" +
"<li data-tab-id='" + $tabCount + "' data-tab-type='" + json.type + "' id='pl-tab-" + $tabCount + "' role='presentation' class='active'>" +
"<a href='#'><span class='tab-name'></span>" +
"<span href='#' class='lib_pl_close icon-remove'></span>" +
"</a>" +
@ -521,13 +521,13 @@ var AIRTIME = (function(AIRTIME){
function closeTab(id) {
var curr = $(".active-tab"),
pane = id ? $(".pl-content[tab-id='" + id + "']") : curr,
tab = id ? $(".nav.nav-tabs [tab-id='" + id + "']") : $(".nav.nav-tabs .active"),
pane = id ? $(".pl-content[data-tab-id='" + id + "']") : curr,
tab = id ? $(".nav.nav-tabs [data-tab-id='" + id + "']") : $(".nav.nav-tabs .active"),
toPane = pane.next().length > 0 ? pane.next() : pane.prev(),
toTab = tab.next().length > 0 ? tab.next() : tab.prev(),
objId = pane.find(".obj_id").val(),
pl = id ? pane : $pl;
delete $openTabs[tab.attr("tab-type") + objId]; // Remove the closed tab from our open tabs array
delete $openTabs[tab.attr("data-tab-type") + objId]; // Remove the closed tab from our open tabs array
// Remove the relevant DOM elements (the tab and the tab content)
tab.remove();
@ -906,8 +906,8 @@ var AIRTIME = (function(AIRTIME){
});
$pl.find("#webstream_cancel, #cancel_button").on("click", function() {
var tabId = $pl.attr("tab-id");
$("li[tab-id=" + tabId + "] .lib_pl_close").click();
var tabId = $pl.attr("data-tab-id");
$("li[data-tab-id=" + tabId + "] .lib_pl_close").click();
});
$lib.on("click", "#pl_edit", function() {
@ -932,7 +932,7 @@ var AIRTIME = (function(AIRTIME){
$(this).unbind("click"); // Prevent repeated clicks in quick succession from closing multiple tabs
var tabId = $(this).closest("li").attr("tab-id");
var tabId = $(this).closest("li").attr("data-tab-id");
//AIRTIME.showbuilder.switchTab($("#pl-tab-content-" + tabId), $("#pl-tab-" + tabId));
//$pl.hide();