more work on tablelisting

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2022-02-25 09:52:35 +01:00
parent 5964c3b685
commit c2ec309a01
11 changed files with 336 additions and 237 deletions

View File

@@ -16,81 +16,74 @@
*
*/
use Froxlor\UI\Callbacks\Text;
use Froxlor\UI\Callbacks\Impersonate;
use Froxlor\UI\Callbacks\ProgressBar;
use Froxlor\UI\Listing;
return [
'customer_list' => [
'title' => $lng['admin']['customers'],
'icon' => 'fa-solid fa-user',
'columns' => [
'c.loginname' => [
'label' => $lng['login']['username'],
'column' => 'loginname',
'format_callback' => [Impersonate::class, 'customer'],
],
'a.loginname' => [
'label' => $lng['admin']['admin'],
'column' => 'admin.loginname',
'format_callback' => [Impersonate::class, 'admin'],
],
'c.name' => [
'label' => $lng['customer']['name'],
'column' => 'name',
],
'c.email' => [
'label' => $lng['customer']['email'],
'column' => 'email',
],
'c.firstname' => [
'label' => $lng['customer']['firstname'],
'column' => 'firstname',
],
'c.company' => [
'label' => $lng['customer']['company'],
'column' => 'company',
],
'c.diskspace' => [
'label' => $lng['customer']['diskspace'],
'column' => 'diskspace',
'format_callback' => [ProgressBar::class, 'diskspace'],
],
'c.traffic' => [
'label' => $lng['customer']['traffic'],
'column' => 'traffic',
'format_callback' => [ProgressBar::class, 'traffic'],
],
],
'visible_columns' => Listing::getVisibleColumnsForListing('customer_list', [
'c.loginname',
'a.loginname',
'c.email',
'c.firstname',
'c.company',
'c.diskspace',
'c.traffic',
]),
'actions' => [
'edit' => [
'icon' => 'fa fa-edit',
'href' => [
'section' => 'customers',
'page' => 'customers',
'action' => 'edit',
'id' => ':customerid'
],
],
'delete' => [
'icon' => 'fa fa-trash',
'class' => 'text-danger',
'href' => [
'section' => 'customers',
'page' => 'customers',
'action' => 'delete',
'id' => ':customerid'
],
],
],
]
'customer_list' => [
'title' => $lng['admin']['customers'],
'icon' => 'fa-solid fa-user',
'columns' => [
'c.name' => [
'label' => $lng['customer']['name'],
'column' => 'name',
'format_callback' => [Text::class, 'customerfullname'],
],
'c.loginname' => [
'label' => $lng['login']['username'],
'column' => 'loginname',
'format_callback' => [Impersonate::class, 'customer'],
],
'a.loginname' => [
'label' => $lng['admin']['admin'],
'column' => 'admin.loginname',
'format_callback' => [Impersonate::class, 'admin'],
],
'c.email' => [
'label' => $lng['customer']['email'],
'column' => 'email',
],
'c.diskspace' => [
'label' => $lng['customer']['diskspace'],
'column' => 'diskspace',
'format_callback' => [ProgressBar::class, 'diskspace'],
],
'c.traffic' => [
'label' => $lng['customer']['traffic'],
'column' => 'traffic',
'format_callback' => [ProgressBar::class, 'traffic'],
],
],
'visible_columns' => Listing::getVisibleColumnsForListing('customer_list', [
'c.name',
'c.loginname',
'a.loginname',
'c.email',
'c.diskspace',
'c.traffic',
]),
'actions' => [
'edit' => [
'icon' => 'fa fa-edit',
'href' => [
'section' => 'customers',
'page' => 'customers',
'action' => 'edit',
'id' => ':customerid'
],
],
'delete' => [
'icon' => 'fa fa-trash',
'class' => 'text-danger',
'href' => [
'section' => 'customers',
'page' => 'customers',
'action' => 'delete',
'id' => ':customerid'
],
],
],
]
];