BLUE-18: implemented a "select all" button on the album admin page, which can also select all items in an album

This commit is contained in:
Andy Heathershaw
2016-10-30 19:10:20 +00:00
parent 5b915f911e
commit 2f65c6085d
4 changed files with 105 additions and 16 deletions

View File

@@ -116,7 +116,9 @@ function EditPhotosViewModel(album_id, language, urls) {
self.albums = ko.observableArray();
self.bulkModifyMethod = ko.observable();
self.photoIDs = ko.observableArray();
self.photoIDsAvailable = ko.observableArray();
self.isSubmitting = false;
self.selectAllInAlbum = ko.observable(0);
/* Called when the Apply button on the "bulk apply selected actions" form is clicked */
self.bulkModifySelected = function()
@@ -146,8 +148,8 @@ function EditPhotosViewModel(album_id, language, urls) {
{
// Prompt for a confirmation - are you sure?!
bootbox.dialog({
message: language.delete_bulk_confirm_message.replace(':number', self.photoIDs().length),
title: language.delete_bulk_confirm_title.replace(':number', self.photoIDs().length),
message: language.delete_bulk_confirm_message,
title: language.delete_bulk_confirm_title,
buttons: {
cancel: {
label: language.action_cancel,
@@ -385,6 +387,48 @@ function EditPhotosViewModel(album_id, language, urls) {
return false;
};
self.selectAll = function() {
bootbox.dialog({
title: language.select_all_choice_title,
message: language.select_all_choice_message,
buttons: {
select_all: {
label: language.select_all_choice_all_action,
className: 'btn-default',
callback: function()
{
self.selectAllInAlbum(1);
for (i = 0; i < self.photoIDsAvailable().length; i++)
{
self.photoIDs.push(self.photoIDsAvailable()[i]);
}
}
},
select_visible: {
label: language.select_all_choice_visible_action,
className: 'btn-primary',
callback: function()
{
self.selectAllInAlbum(0);
for (i = 0; i < self.photoIDsAvailable().length; i++)
{
self.photoIDs.push(self.photoIDsAvailable()[i]);
}
}
}
}
});
return false;
};
self.selectNone = function() {
self.photoIDs.removeAll();
self.selectAllInAlbum(0);
return false;
};
self.selectPhotoSingle = function (link_item) {
// Get the photo ID from the clicked link
var parent = $(link_item).parents('.photo');