diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js
index 2c249f675..a0fc53b5a 100644
--- a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js
+++ b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js
@@ -13,7 +13,7 @@ var AIRTIME = (function(AIRTIME){
check = false;
//make sure audioclips are selected and a playlist is currently open.
- if (selected.length !== 0 && sortable.length !== 0) {
+ if (selected !== 0 && sortable.length !== 0) {
check = true;
}
@@ -84,6 +84,7 @@ var AIRTIME = (function(AIRTIME){
$toolbar
.append("
")
.find('ul')
+ .append('')
.append('')
.append('');
@@ -122,6 +123,8 @@ var AIRTIME = (function(AIRTIME){
AIRTIME.library.fnDeleteSelectedItems();
});
+
+ mod.createToolbarDropDown();
};
return AIRTIME;
diff --git a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js
index 926678c0c..7c7dfa49e 100644
--- a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js
+++ b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js
@@ -13,7 +13,7 @@ var AIRTIME = (function(AIRTIME){
check = false;
//make sure library items are selected and a cursor is selected.
- if (mod.chosenItems.length !== 0 && cursor.length !== 0) {
+ if (selected !== 0 && cursor.length !== 0) {
check = true;
}
@@ -79,12 +79,12 @@ var AIRTIME = (function(AIRTIME){
};
mod.setupLibraryToolbar = function() {
- var $toolbar = $(".lib-content .fg-toolbar:first"),
- $libTable = $("#library_display");
+ var $toolbar = $(".lib-content .fg-toolbar:first");
$toolbar
.append("")
.find('ul')
+ .append('')
.append('')
.append('');
@@ -133,7 +133,9 @@ var AIRTIME = (function(AIRTIME){
}
AIRTIME.library.fnDeleteSelectedItems();
- });
+ });
+
+ mod.createToolbarDropDown();
};
return AIRTIME;
diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js
index b69ebf385..fc5bc5bb2 100644
--- a/airtime_mvc/public/js/airtime/library/library.js
+++ b/airtime_mvc/public/js/airtime/library/library.js
@@ -18,6 +18,20 @@ var AIRTIME = (function(AIRTIME) {
return selected;
};
+ mod.createToolbarDropDown = function() {
+
+ $.contextMenu({
+ selector: '#library_content .ui-icon-document-b',
+ trigger: "left",
+ ignoreRightClick: true,
+ items: {
+ "sp": {name: "Select This Page", callback: mod.selectCurrentPage},
+ "dp": {name: "Deselect This Page", callback: mod.deselectCurrentPage},
+ "sn": {name: "Deselect All", callback: mod.selectNone}
+ }
+ });
+ };
+
mod.checkDeleteButton = function() {
var selected = mod.getChosenItemsLength(),
check = false;
@@ -100,10 +114,10 @@ var AIRTIME = (function(AIRTIME) {
};
/*
- * select all selects all items which the user can currently see.
+ * selects all items which the user can currently see.
* (behaviour taken from gmail)
*/
- mod.selectAll = function () {
+ mod.selectCurrentPage = function() {
var $trs = $libTable.find("tbody input:checkbox").parents("tr");
$trs.each(function(i, el){
@@ -114,10 +128,10 @@ var AIRTIME = (function(AIRTIME) {
};
/*
- * select none deselects all items that the user can currently see.
+ * deselects all items that the user can currently see.
* (behaviour taken from gmail)
*/
- mod.selectNone = function () {
+ mod.deselectCurrentPage = function() {
var $trs = $libTable.find("tbody input:checkbox").filter(":checked").parents("tr");
@@ -128,6 +142,18 @@ var AIRTIME = (function(AIRTIME) {
});
};
+ mod.selectNone = function() {
+ var $inputs = $libTable.find("tbody input:checkbox"),
+ $trs = $inputs.parents("tr");
+
+ $inputs.attr("checked", false);
+ $trs.removeClass(LIB_SELECTED_CLASS);
+
+ chosenItems = {};
+
+ mod.checkToolBarIcons();
+ };
+
mod.fnDeleteItems = function(aMedia) {
$.post("/library/delete",
@@ -136,7 +162,7 @@ var AIRTIME = (function(AIRTIME) {
if (json.message !== undefined) {
alert(json.message);
}
-
+ chosenItems = {};
oTable.fnDraw();
});
};
@@ -170,7 +196,7 @@ var AIRTIME = (function(AIRTIME) {
//put hidden columns at the top to insure they can never be visible on the table through column reordering.
"aoColumns": [
/* ftype */ {"sTitle": "", "mDataProp": "ftype", "bSearchable": false, "bVisible": false},
- /* Checkbox */ {"sTitle": "", "mDataProp": "checkbox", "bSortable": false, "bSearchable": false, "sWidth": "25px", "sClass": "library_checkbox"},
+ /* Checkbox */ {"sTitle": "", "mDataProp": "checkbox", "bSortable": false, "bSearchable": false, "sWidth": "25px", "sClass": "library_checkbox"},
/* Type */ {"sTitle": "", "mDataProp": "image", "bSearchable": false, "sWidth": "25px", "sClass": "library_type", "iDataSort": 0},
/* Title */ {"sTitle": "Title", "mDataProp": "track_title", "sClass": "library_title"},
/* Creator */ {"sTitle": "Creator", "mDataProp": "artist_name", "sClass": "library_creator"},
@@ -384,17 +410,6 @@ var AIRTIME = (function(AIRTIME) {
.change(function(ev){
oTable.fnDraw();
});
-
- $libTable.find('[name="pl_cb_all"]').click(function() {
-
- if ($(this).is(":checked")) {
-
- AIRTIME.library.selectAll();
- }
- else {
- AIRTIME.library.selectNone();
- }
- });
$libTable.find("tbody").on("click", "input[type=checkbox]", function(ev) {