diff --git a/themes/bootstrap3/js/cart.js b/themes/bootstrap3/js/cart.js index 31410581dc1de85d02d5360388f4a684b044adf1..74c4f4fa7f38fc97c21a3f9746739c1858a30958 100644 --- a/themes/bootstrap3/js/cart.js +++ b/themes/bootstrap3/js/cart.js @@ -170,11 +170,8 @@ function cartSubmit($form) { url += '&id[]='+checks[i].value; } document.location.href = url; - } else if ((submit != 'empty' || confirm(vufindString['confirmEmpty'])) - && (submit != 'delete' || confirm(vufindString['confirmDelete']))) { - Lightbox.submit($form, Lightbox.changeContent); } else { - $('#modal').find('.fa.fa-spinner').remove(); + Lightbox.submit($form, Lightbox.changeContent); } } diff --git a/themes/bootstrap3/templates/cart/cart.phtml b/themes/bootstrap3/templates/cart/cart.phtml index 09dbfe6e597ae00e857a605e6ef76b241ff55479..5b9c31cb403bee64171835b06826bdbcc6ac4c05 100644 --- a/themes/bootstrap3/templates/cart/cart.phtml +++ b/themes/bootstrap3/templates/cart/cart.phtml @@ -1,30 +1,64 @@ -<? - // Set page title. - $this->headTitle($this->translate('Book Bag')); - - // Set up breadcrumbs: - $this->layout()->breadcrumbs = '<li>' . $this->getLastSearchLink($this->transEsc('Search'), '', '</li> ') - . '<li class="active">' . $this->transEsc('Book Bag') . '</li>'; -?> -<?=$this->flashmessages()?> -<form class="form-inline" action="<?=$this->url('cart-home')?>" method="post" name="cartForm"> - <? if (!$this->cart()->isEmpty()): ?> - <div class="checkbox"> - <label> - <input type="checkbox" name="selectAll" class="checkbox-select-all"/> <?=$this->transEsc('select_page')?> - | <?=$this->transEsc('with_selected')?>: - </label> - </div> - <? if ($this->userlist()->getMode() !== 'disabled'): ?> - <input class="btn btn-default" type="submit" name="saveCart" value="<?=$this->transEsc('bookbag_save_selected')?>" title="<?=$this->transEsc('bookbag_save')?>"/> - <? endif; ?> - <input class="btn btn-default" type="submit" name="email" value="<?=$this->transEsc('bookbag_email_selected')?>" title="<?=$this->transEsc('bookbag_email')?>"/> - <? $exportOptions = $this->export()->getBulkOptions(); if (count($exportOptions) > 0): ?> - <input class="btn btn-default" type="submit" name="export" value="<?=$this->transEsc('bookbag_export_selected')?>" title="<?=$this->transEsc('bookbag_export')?>"/> - <? endif; ?> - <input class="btn btn-default" type="submit" name="print" value="<?=$this->transEsc('bookbag_print_selected')?>" title="<?=$this->transEsc('print_selected')?>"/> - <input class="btn btn-default" type="submit" name="delete" value="<?=$this->transEsc('bookbag_delete_selected')?>" title="<?=$this->transEsc('bookbag_delete')?>"/> - <input class="btn btn-default" type="submit" name="empty" value="<?=$this->transEsc('Empty Book Bag')?>" title="<?=$this->transEsc('Empty Book Bag')?>"/> - <? endif; ?> - <?=$this->render('cart/contents.phtml')?> -</form> +<? + // Set page title. + $this->headTitle($this->translate('Book Bag')); + + // Set up breadcrumbs: + $this->layout()->breadcrumbs = '<li>' . $this->getLastSearchLink($this->transEsc('Search'), '', '</li> ') + . '<li class="active">' . $this->transEsc('Book Bag') . '</li>'; +?> +<?=$this->flashmessages()?> +<form class="form-inline" action="<?=$this->url('cart-home')?>" method="post" name="cartForm"> + <? if (!$this->cart()->isEmpty()): ?> + <div class="checkbox"> + <label> + <input type="checkbox" name="selectAll" class="checkbox-select-all"/> <?=$this->transEsc('select_page')?> + | <?=$this->transEsc('with_selected')?>: + </label> + </div> + <? if ($this->userlist()->getMode() !== 'disabled'): ?> + <input class="btn btn-default" type="submit" name="saveCart" value="<?=$this->transEsc('bookbag_save_selected')?>" title="<?=$this->transEsc('bookbag_save')?>"/> + <? endif; ?> + <input class="btn btn-default" type="submit" name="email" value="<?=$this->transEsc('bookbag_email_selected')?>" title="<?=$this->transEsc('bookbag_email')?>"/> + <? $exportOptions = $this->export()->getBulkOptions(); if (count($exportOptions) > 0): ?> + <input class="btn btn-default" type="submit" name="export" value="<?=$this->transEsc('bookbag_export_selected')?>" title="<?=$this->transEsc('bookbag_export')?>"/> + <? endif; ?> + <input class="btn btn-default" type="submit" name="print" value="<?=$this->transEsc('bookbag_print_selected')?>" title="<?=$this->transEsc('print_selected')?>"/> + <div class="btn-group" id="cartDelete"> + <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="cart-delete-label"><?=$this->transEsc('bookbag_delete_selected')?></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="cart-delete-label"> + <li><a onClick="submitFormWithIds(this, path+'/AJAX/JSON?method=getLightbox&submodule=Cart&subaction=Home', {'delete':'delete'}, Lightbox.changeContent)" title="<?=$this->transEsc('confirm_delete')?>"><?=$this->transEsc('confirm_delete')?></a></li> + <li><a><?=$this->transEsc('confirm_dialog_no')?></a></li> + </ul> + </div> + <div class="btn-group"> + <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="cart-empty-label"><?=$this->transEsc('Empty Book Bag')?></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="cart-empty-label"> + <li><a onClick="$.post(path+'/AJAX/JSON?method=getLightbox&submodule=Cart&subaction=Home', {'empty':'empty'}, Lightbox.changeContent)" title="<?=$this->transEsc('bookbag_confirm_empty')?>"><?=$this->transEsc('bookbag_confirm_empty')?></a></li> + <li><a><?=$this->transEsc('confirm_dialog_no')?></a></li> + </ul> + </div> + <? endif; ?> + <?=$this->render('cart/contents.phtml')?> +</form> +<? + $script = <<<JS + function submitFormWithIds(elem, url, data, callback) { + data['ids[]'] = []; + var form = $(elem).closest('form')[0]; + var checkboxes = form.querySelectorAll('[name="ids[]"]:checked'); + for(var i=0;i<checkboxes.length;i++) { + data['ids[]'].push(checkboxes[i].value); + } + $.post(url, data, callback); + } + $('#cartDelete').on('show.bs.dropdown', function () { + var form = $(this).closest('form')[0]; + var checkboxes = form.querySelectorAll('[name="ids[]"]:checked'); + if(checkboxes.length == 0) { + Lightbox.displayError(vufindString['bulk_noitems_advice']); + return false; + } + }) +JS; +?> +<?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET') ?> \ No newline at end of file