improve list views (#1191)

This commit is contained in:
Kevin Papst
2019-10-25 16:21:30 +02:00
committed by GitHub
parent 1114538f41
commit 949c59230f
6 changed files with 106 additions and 41 deletions

View File

@@ -69,9 +69,10 @@ class DatatableExtensions extends AbstractExtension
*
* @param string $dataTable
* @param string $column
* @param array $columns
* @return bool
*/
public function isColumnVisible(string $dataTable, string $column)
public function isColumnVisible(string $dataTable, string $column, array $columns)
{
// name handling is spread between here and datatables.html.twig (data_table_column_modal)
$cookie = $this->getVisibilityCookieName($dataTable);
@@ -86,13 +87,34 @@ class DatatableExtensions extends AbstractExtension
$values = $this->cookies[$cookie];
if (empty($values) || !is_array($values)) {
return true;
return $this->checkInColumDefinition($columns, $column);
}
if (isset($values[$column]) && $values[$column] === false) {
if (!isset($values[$column])) {
return $this->checkInColumDefinition($columns, $column);
}
if ($values[$column] === false) {
return false;
}
return true;
}
private function checkInColumDefinition(array $columns, string $column)
{
if (array_key_exists($column, $columns)) {
$tmp = $columns[$column];
if (is_array($tmp)) {
$tmp = $tmp['class'];
}
foreach (explode(' ', $tmp) as $class) {
if ($class === 'hidden') {
return false;
}
}
}
return true;
}
}

View File

@@ -18,65 +18,68 @@ final class IconExtension extends AbstractExtension
* @var string[]
*/
private static $icons = [
'about' => 'fas fa-info-circle',
'activity' => 'fas fa-tasks',
'admin' => 'fas fa-wrench',
'audit' => 'fas fa-history',
'avatar' => 'fas fa-user',
'back' => 'fas fa-long-arrow-alt-left',
'calendar' => 'far fa-calendar-alt',
'customer' => 'fas fa-user-tie',
'clock' => 'far fa-clock',
'configuration' => 'fas fa-cogs',
'copy' => 'far fa-copy',
'create' => 'far fa-plus-square',
'csv' => 'fas fa-table',
'customer' => 'fas fa-user-tie',
'dashboard' => 'fas fa-tachometer-alt',
'debug' => 'far fa-file-alt',
'delete' => 'far fa-trash-alt',
'doctor' => 'fas fa-medkit',
'download' => 'fas fa-download',
'duration' => 'far fa-hourglass',
'edit' => 'far fa-edit',
'export' => 'fas fa-file-export',
'filter' => 'fas fa-filter',
'help' => 'far fa-question-circle',
'home' => 'fas fa-home',
'invoice' => 'fas fa-file-invoice',
'list' => 'fas fa-list',
'logout' => 'fas fa-sign-out-alt',
'mail' => 'fas fa-envelope-open',
'mail-sent' => 'fas fa-paper-plane',
'manual' => 'fas fa-book',
'mobile' => 'fas fa-mobile',
'money' => 'far fa-money-bill-alt',
'ods' => 'fas fa-table',
'off' => 'fas fa-toggle-off',
'on' => 'fas fa-toggle-on',
'pdf' => 'fas fa-file-pdf',
'permissions' => 'fas fa-user-lock',
'phone' => 'fas fa-phone',
'plugin' => 'fas fa-plug',
'print' => 'fas fa-print',
'profile' => 'fas fa-user-edit',
'profile-stats' => 'far fa-chart-bar',
'project' => 'fas fa-briefcase',
'repeat' => 'fas fa-redo-alt',
'search' => 'fas fa-search',
'settings' => 'fas fa-cog',
'shop' => 'fas fa-shopping-cart',
'start' => 'fas fa-play-circle',
'start-small' => 'far fa-play-circle',
'stop' => 'fas fa-stop',
'stop-small' => 'far fa-stop-circle',
'timesheet' => 'fas fa-clock',
'trash' => 'far fa-trash-alt',
'success' => 'fas fa-check',
'tag' => 'fas fa-tags',
'team' => 'fas fa-users',
'timesheet' => 'fas fa-clock',
'timesheet-team' => 'fas fa-user-clock',
'trash' => 'far fa-trash-alt',
'unlocked' => 'fas fa-unlock-alt',
'user' => 'fas fa-user-friends',
'visibility' => 'far fa-eye',
'settings' => 'fas fa-cog',
'export' => 'fas fa-file-export',
'pdf' => 'fas fa-file-pdf',
'csv' => 'fas fa-table',
'ods' => 'fas fa-table',
'xlsx' => 'fas fa-file-excel',
'on' => 'fas fa-toggle-on',
'off' => 'fas fa-toggle-off',
'audit' => 'fas fa-history',
'home' => 'fas fa-home',
'shop' => 'fas fa-shopping-cart',
'about' => 'fas fa-info-circle',
'debug' => 'far fa-file-alt',
'profile-stats' => 'far fa-chart-bar',
'profile' => 'fas fa-user-edit',
'warning' => 'fas fa-exclamation-triangle',
'permissions' => 'fas fa-user-lock',
'unlocked' => 'fas fa-unlock-alt',
'back' => 'fas fa-long-arrow-alt-left',
'tag' => 'fas fa-tags',
'avatar' => 'fas fa-user',
'timesheet-team' => 'fas fa-user-clock',
'plugin' => 'fas fa-plug',
'configuration' => 'fas fa-cogs',
'mail-sent' => 'fas fa-paper-plane',
'mail' => 'fas fa-envelope-open',
'doctor' => 'fas fa-medkit',
'success' => 'fas fa-check',
'xlsx' => 'fas fa-file-excel',
];
/**