Better handle cannot when we cannot swap checkboxes, added scroll, added swap/scroll to duplicate review

This commit is contained in:
Deon George 2024-10-04 22:21:59 +10:00
parent 648f18dae1
commit f6d2a132a4
3 changed files with 63 additions and 12 deletions

View File

@ -44,20 +44,32 @@
var that = $(this); var that = $(this);
var tr = that.closest('tr'); var tr = that.closest('tr');
['duplicate','remove'].forEach(function(item) { try {
var items = tr.find('input[name^="'+item+'\["]'); ['duplicate','remove'].forEach(function(item) {
var items = tr.find('input[name^="'+item+'\["]');
if (items.length !== 2) { if (items.length !== 2) {
alert('cannot swap'); alert('cannot swap');
return false; throw new Error('CANNOT SWAP');
} }
var rotate = items[0].checked; var rotate = items[0].checked;
$(items[0]).prop('checked',items[1].checked); $(items[0]).prop('checked',items[1].checked);
$(items[1]).prop('checked',rotate); $(items[1]).prop('checked',rotate);
that.removeData(); that.removeData();
}); });
} catch (e) {
// NOOP
}
});
$('span.scroll').on('click',function() {
var next = $(this).closest('div.card').closest('tr').next();
if (next.length)
$('html,body').animate({scrollTop: next.offset().top},'fast');
}); });
}); });
</script> </script>

View File

@ -35,4 +35,42 @@
NONE! NONE!
@endif @endif
</div> </div>
@endsection @endsection
@section('page-scripts')
<script type="text/javascript">
$(document).ready(function() {
$('span.swap').on('click',function() {
var that = $(this);
var tr = that.closest('tr');
try {
['duplicate','remove'].forEach(function(item) {
var items = tr.find('input[name^="'+item+'\["]');
if (items.length !== 2) {
alert('cannot swap');
throw new Error('CANNOT SWAP');
}
var rotate = items[0].checked;
$(items[0]).prop('checked',items[1].checked);
$(items[1]).prop('checked',rotate);
that.removeData();
});
} catch (e) {
// NOOP
}
});
$('span.scroll').on('click',function() {
var next = $(this).closest('div.card').closest('tr').next();
if (next.length)
$('html,body').animate({scrollTop: next.offset().top},'fast');
});
});
</script>
@append

View File

@ -22,6 +22,7 @@
<div class="card-body"> <div class="card-body">
<x-photo.thumbnail :id="$o->id" :css="$css ?? NULL"/> <x-photo.thumbnail :id="$o->id" :css="$css ?? NULL"/>
<span class="btn btn-sm float-right scroll"> <i class="fas fa-fw fa-level-down-alt"></i></span>
<span class="btn btn-sm btn-outline-dark float-right swap">SWAP</span> <span class="btn btn-sm btn-outline-dark float-right swap">SWAP</span>
</div> </div>