LaravelRUS / SleepingOwlAdmin

🦉 Administrative interface builder for Laravel (Laravel admin)
http://sleepingowladmin.ru/
MIT License
800 stars 216 forks source link

Экспорт из админки Laravel SleepingOwlAdmin AdminColumn::action #918

Closed OnePeople closed 5 years ago

OnePeople commented 6 years ago

В документации указано и в примерах есть недоделанный экспорт:

"[Feature] Появилась пара новых эвентов

datatables::confirm::init - эвент при котором вы можете получить данные настроек SweetAlert и импровизировать как угодно datatables::confirm::submitting - эвент до действия после согласия SweetAlert datatables::confirm::submitted - эвент после действия после согласия SweetAlert (обычно это отправка формы редирект или что то в этом роде datatables::confirm::cancel - эвент отказа окна SweetAlert На них на всех можно подписаться как описано в документации - это открывает некоторые возможности заполнения форм. Сами скажете как это можно использовать или усовершенствовать."

https://sleepingowladmin.ru/docs/columns#action


ru

Версия в композере

    "laravelrus/sleepingowl": "4.*@dev",

Что надо сделать что бы увидеть ошибку?

в админ

 $model->onDisplay(function () {
        $table = AdminDisplay::table()->setColumns([  AdminColumn::checkbox() ,  ....]);

 $table->setActions([
       AdminColumn::action('export', 'Export')->setIcon('fa fa-share')->setAction('/objects/export' )->usePost()    ]) ; 
...

Что должно сработать?

Должен выполнится запрос (гет или пост -предпочтительнее. т.к. ид может быть много ) чтобы в браузер пошел поток с респонсом (экспортируемым файлом), то есть нужно

  1. или чтобы не открывалось окно , был сразу пост запрос- возможность воооще откл перепрашивающе окна (в старой версии админки так и было)
  2. или чтобы после окна был редирект(или сразу запрос) а не аякс (про это в доках вскользь говориться но реального объяснения как это задействовать - нет)
  3. или SweetAlert не отправка формы а сразу редирект по указанному урл в доках про это вскользь написано: обычно это отправка формы редирект или что то в этом роде

    Что сработало?

    фоновый бессмысленный для экспорта аякс

В подписке на события ни чего интересного не нашел (кроме цвета кнопки).. нужны переопределения действий

Admin.Events.on('datatables::confirm::init', function(vv) { console.log(vv) })

cancelButtonColor:"#d33"
confirmButtonColor:"#3c8dbc"
confirmButtonText:"Да"
showCancelButton:true
text:""
title:"Вы уверены, что хотите совершить это действие?"
type:"warning"
__proto__:Object
OnePeople commented 6 years ago
OnePeople commented 6 years ago

bag adminCheckboxAll не работает если тип табл AdminDisplay::datatables()

ghost commented 6 years ago

@OnePeople понятно - спасибо за проделанную работу - буду смотреть что не так.

ghost commented 6 years ago

@OnePeople попробуй использовать 5.6 тег

sten4eg commented 6 years ago

@aios добрый день , у меня 5.6 и этот баг у меня тоже

kykyryzo commented 5 years ago

@sten4eg добрый день. Удалось как-то решить этот вопрос?

sten4eg commented 5 years ago

@kykyryzo тогда нет, возможно уже починили

daaner commented 5 years ago
  • баг- срабатывает кнопка Отправить даже если не выбрано ни один экшен
  • как переименовать слово Отправить ? image

Баг поправлен в ветке с bootstrap 4