/*global AWPCP, ajaxurl, ko */ AWPCP.run( 'awpcp/listing-admin-page', [ 'jquery', 'awpcp/media-center', 'awpcp/settings' ], function( $, MediaCenter, settings ) { var AWPCP = jQuery.AWPCP = jQuery.extend({}, jQuery.AWPCP, AWPCP); /** * handlers for Manage Images/Attachments page */ $(function() { $( '.awpcp-admin-listings .awpcp-media-center' ).StartMediaCenter( { mediaManagerOptions: settings.get( 'media-manager-data' ), mediaUploaderOptions: settings.get( 'media-uploader-data' ) } ); }); /** * handlers for Listings page */ $(function() { var panel = $('#awpcp-admin-listings'), items; // handle row actions panel.admin({ actions: { remove: 'awpcp-listings-delete-ad' }, ajaxurl: ajaxurl, base: '#awpcp-ad-', include: ['trash'] }); // handle Delete Selected Ads button panel.find('[name=action], [name=action2]').siblings('[type=submit]').click(function(event) { event.preventDefault(); var button = $(this), select = button.siblings('select'), form = $(this).closest('form'), message, cancel; if (select.val() === 'bulk-delete' && !button.hasClass('waiting')) { message = AWPCP.l10n('admin-listings', 'delete-message') + '  '; cancel = AWPCP.l10n('admin-listings', 'cancel'); button.before($('' + message + '')) .before($(' ') .css('marginRight', '4px')) .addClass('waiting').addClass('button-primary'); } else { form.get(0).submit(); } }).closest('form').delegate('.cancel:button', 'click', function(event) { event.preventDefault(); var cancel = $(this), button = cancel.siblings('[type=submit]'), form = $(this).closest('form'); form.find('span.delete-verification').remove(); button.removeClass('waiting').removeClass('button-primary'); cancel.remove(); }); // handle items per page dropdown items = panel.find('[name="items-per-page"]').change(function() { var dropdown = $(this); items.val(dropdown.val()); dropdown.closest('form').get(0).submit(); }); }); } );