| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- @unless($scriptOnly ?? false)
- <div class="row">
- <div class="@if(!($right ?? null)) offset-md-{{ $offset ?? 4 }} col-md-{{ (isset($offset)) ? 12 - $offset : 8 }} @endif buttons d-flex flex-wrap gap-1">
- <button type="submit" class="btn btn-sm mb-1 btn-primary text-white" @disabled($disabled ?? false)>{{ $name ?? 'Сохранить' }}</button>
- @if(isset($delete) && !($deleteDisabled ?? false))
- <a href="#" class="btn btn-sm mb-1 btn-danger delete">{{ $delete['title'] ?? 'Удалить' }}</a>
- @endif
- <a href="{!! $backurl ?? ($back_url ?? url()->previous()) !!}" class="btn btn-sm mb-1 btn-outline-secondary">Назад</a>
- </div>
- </div>
- @push('scripts')
- <script type="module">
- $('a.delete').on('click', function (e){
- e.preventDefault();
- customConfirm('{{ $delete['question'] ?? 'Удалить запись?' }}', function () {
- $('#{{ $delete['form_id'] ?? 'destroy_form'}}').submit();
- }, 'Подтверждение удаления');
- });
- </script>
- @endpush
- @endunless
- @once
- @push('scripts')
- <script type="module">
- const submitLockDuration = 3000;
- document.addEventListener('submit', function (event) {
- const form = event.target;
- if (!(form instanceof HTMLFormElement)) {
- return;
- }
- if (form.dataset.submitLocked === '1') {
- event.preventDefault();
- event.stopImmediatePropagation();
- return;
- }
- form.dataset.submitLocked = '1';
- const submitButtons = Array.from(document.querySelectorAll('button[type="submit"], input[type="submit"]'))
- .filter((button) => button.form === form);
- submitButtons.forEach((button) => {
- if (!button.disabled) {
- button.dataset.submitLockDisabled = '1';
- button.disabled = true;
- }
- });
- setTimeout(function () {
- delete form.dataset.submitLocked;
- submitButtons.forEach((button) => {
- if (button.dataset.submitLockDisabled === '1') {
- button.disabled = false;
- delete button.dataset.submitLockDisabled;
- }
- });
- }, submitLockDuration);
- }, true);
- </script>
- @endpush
- @endonce
|