diff --git a/admin/themes/default/js/batchManagerFilter.js b/admin/themes/default/js/batchManagerFilter.js index 677c11419..594cf3d4f 100644 --- a/admin/themes/default/js/batchManagerFilter.js +++ b/admin/themes/default/js/batchManagerFilter.js @@ -35,10 +35,24 @@ function filter_disable(filter) { function select_album_filter({ album, newSelectedAlbum, getSelectedAlbum }) { $('#selectedAlbumNameFilter').html(album.name); newSelectedAlbum(); + hide_filters_error(str_select_album); $('#filterCategoryValue').val(+getSelectedAlbum()[0]); $('#selectAlbumFilter').hide(); $('#selectedAlbumFilterArea').fadeIn(); } + +// Tags and Albums validation +function show_filters_error(message) { + errorFilters = message; + $('#errorFilter').html(`
${message}
`).fadeIn(); +} + +function hide_filters_error(message) { + if (message === errorFilters) { + $('#errorFilter').hide(); + } +} + $(document).ready(function () { const ab_filter = new AlbumSelector({ selectedCategoriesIds: selected_filter_cat_ids, @@ -83,5 +97,37 @@ $(document).ready(function () { $('.addFilter-dropdown').slideUp(); } }); + + + // Filter JS Validation + $('.filterBlock select[data-selectize="tags"]').on('change', function() { + if ($(this).val()) { + hide_filters_error(str_select_tag); + } + }) + + $('#applyFilter').on('click', function(e) { + if ($('#filter_tags').is(':visible')) { + const tags = $('.filterBlock select[data-selectize="tags"]'); + if (!tags.val()) { + e.preventDefault(); + show_filters_error(str_select_tag); + $('#filter_tags .removeFilter').off('click.apply').on('click.apply', function() { + hide_filters_error(str_select_tag); + }); + } + } + + if ($('#filter_category').is(':visible')) { + const albums = ab_filter.get_selected_albums(); + if (albums.length === 0) { + e.preventDefault(); + show_filters_error(str_select_album); + $('#filter_category .removeFilter').off('click.apply').on('click.apply', function() { + hide_filters_error(str_select_album); + }); + } + } + }); }) diff --git a/admin/themes/default/template/include/batch_manager_filter.inc.tpl b/admin/themes/default/template/include/batch_manager_filter.inc.tpl index f0528d69d..e9311bd50 100644 --- a/admin/themes/default/template/include/batch_manager_filter.inc.tpl +++ b/admin/themes/default/template/include/batch_manager_filter.inc.tpl @@ -49,6 +49,10 @@ const selected_filter_cat_ids = ["{$filter_category_selected|@json_encode|escape {else} const selected_filter_cat_ids = []; {/if} + +const str_select_album = "{'Select at least one album'|@translate|escape:javascript}"; +const str_select_tag = "{'Select at least one tag'|@translate|escape:javascript}"; +let errorFilters = ''; {/footer_script} {combine_script id='batchManagerFilter' load='footer' path='admin/themes/default/js/batchManagerFilter.js'} @@ -256,6 +260,8 @@ const selected_filter_cat_ids = []; + +