From e2a2e64e61ec462eb3a41e01b71b2b013fcae19b Mon Sep 17 00:00:00 2001 From: Nate Date: Sat, 19 Oct 2019 16:55:46 -0600 Subject: [PATCH] Paging: Integrate Button class. Theme: Add supporting classes for upcoming changes to list pages. --- app/devices/app_languages.php | 20 -------- resources/app_languages.php | 20 ++++++++ resources/paging.php | 28 +++++------ themes/default/css.php | 90 +++++++++++++++++++++++++++++++++-- themes/default/template.php | 48 +++++++++++++++++-- 5 files changed, 165 insertions(+), 41 deletions(-) diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php index 400e29a16b..cf0f1a68c6 100644 --- a/app/devices/app_languages.php +++ b/app/devices/app_languages.php @@ -1881,26 +1881,6 @@ $text['label-multicast_paging']['ru-ru'] = "Multicast Paging"; $text['label-multicast_paging']['sv-se'] = "Multicast Paging"; $text['label-multicast_paging']['uk-ua'] = ""; -$text['label-page']['en-us'] = "Page"; -$text['label-page']['ar-eg'] = ""; -$text['label-page']['de-at'] = "Page"; //copied from de-de -$text['label-page']['de-ch'] = "Page"; //copied from de-de -$text['label-page']['de-de'] = "Page"; -$text['label-page']['es-cl'] = ""; -$text['label-page']['es-mx'] = ""; -$text['label-page']['fr-ca'] = "Page"; -$text['label-page']['fr-fr'] = "Page"; -$text['label-page']['he-il'] = ""; -$text['label-page']['it-it'] = "Page"; -$text['label-page']['nl-nl'] = ""; -$text['label-page']['pl-pl'] = ""; -$text['label-page']['pt-br'] = ""; -$text['label-page']['pt-pt'] = ""; -$text['label-page']['ro-ro'] = ""; -$text['label-page']['ru-ru'] = "Page"; -$text['label-page']['sv-se'] = "Page"; -$text['label-page']['uk-ua'] = ""; - $text['label-park']['en-us'] = "Park"; $text['label-park']['ar-eg'] = ""; $text['label-park']['de-at'] = "Park"; //copied from de-de diff --git a/resources/app_languages.php b/resources/app_languages.php index 612bb227db..f99a2ea534 100644 --- a/resources/app_languages.php +++ b/resources/app_languages.php @@ -3351,6 +3351,26 @@ $text['label-tickets']['ru-ru'] = ""; $text['label-tickets']['sv-se'] = ""; $text['label-tickets']['uk-ua'] = ""; +$text['label-page']['en-us'] = "Page"; +$text['label-page']['ar-eg'] = ""; +$text['label-page']['de-at'] = "Page"; //copied from de-de +$text['label-page']['de-ch'] = "Page"; //copied from de-de +$text['label-page']['de-de'] = "Page"; +$text['label-page']['es-cl'] = ""; +$text['label-page']['es-mx'] = ""; +$text['label-page']['fr-ca'] = "Page"; +$text['label-page']['fr-fr'] = "Page"; +$text['label-page']['he-il'] = ""; +$text['label-page']['it-it'] = "Page"; +$text['label-page']['nl-nl'] = ""; +$text['label-page']['pl-pl'] = ""; +$text['label-page']['pt-br'] = ""; +$text['label-page']['pt-pt'] = ""; +$text['label-page']['ro-ro'] = ""; +$text['label-page']['ru-ru'] = "Page"; +$text['label-page']['sv-se'] = "Page"; +$text['label-page']['uk-ua'] = ""; + $text['button-tickets']['en-us'] = "Tickets"; $text['button-tickets']['ar-eg'] = ""; $text['button-tickets']['de-at'] = ""; //copied from de-de diff --git a/resources/paging.php b/resources/paging.php index 96697d2c00..a8a9e972cd 100644 --- a/resources/paging.php +++ b/resources/paging.php @@ -32,7 +32,7 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count if (!is_numeric($result_count)) { $result_count = 0; } // if $_get['page'] defined, use it as page number - if(isset($_GET['page']) && is_numeric($_GET['page'])) { + if (isset($_GET['page']) && is_numeric($_GET['page'])) { $page_number = $_GET['page']; } else { @@ -52,7 +52,7 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count //validate order by $sanitized_parameters .= "&order_by=". preg_replace('#[^a-zA-Z0-9_\-]#', '', $value); } - elseif ($key == 'order' && strlen($value) > 0) { + else if ($key == 'order' && strlen($value) > 0) { //validate order switch ($value) { case 'asc': @@ -63,7 +63,7 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count break; } } - elseif (strlen($value) > 0 && is_numeric($value)) { + else if (strlen($value) > 0 && is_numeric($value)) { $sanitized_parameters .= "&".$key."=".$value; } else { @@ -88,37 +88,37 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count //print the link to access each page $self = htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'); $nav = ''; - for($page = 1; $page <= $max_page; $page++){ + for ($page = 1; $page <= $max_page; $page++){ if ($page == $page_number) { $nav .= " $page "; // no need to create a link to current page } else { - $nav .= " $page \n"; + $nav .= " ".$page." \n"; } } if ($page_number > 0) { $page = $page_number - 1; - $prev = "\n"; //◀ - $first = "\n"; //▲ + $prev = button::create(['type'=>'button','label'=>(!$mini ? $text['button-back'] : null),'icon'=>($mini ? 'chevron-left' : null),'link'=>$self."?page=".$page.$sanitized_parameters,'title'=>$text['label-page'].' '.($page+1)]); + $first = button::create(['type'=>'button','label'=>(!$mini ? $text['button-next'] : null),'icon'=>($mini ? 'chevron-left' : null),'link'=>$self."?page=1".$sanitized_parameters]); } else { - $prev = "\n"; //◀ + $prev = button::create(['type'=>'button','label'=>(!$mini ? $text['button-back'] : null),'icon'=>($mini ? 'chevron-left' : null),'onclick'=>"return false;",'title'=>'','style'=>'opacity: 0.4; -moz-opacity: 0.4; cursor: default;']); } if (($page_number + 1) < $max_page) { $page = $page_number + 1; - $next = "\n"; //▶ - $last = "\n"; //▼ + $next = button::create(['type'=>'button','label'=>(!$mini ? $text['button-next'] : null),'icon'=>($mini ? 'chevron-right' : null),'link'=>$self."?page=".$page.$sanitized_parameters,'title'=>$text['label-page'].' '.($page+1)]); + $last = button::create(['type'=>'button','label'=>(!$mini ? $text['button-back'] : null),'icon'=>($mini ? 'chevron-right' : null),'link'=>$self."?page=".$max_page.$sanitized_parameters]); } else { - $last = "\n"; //▼ - $next = "\n"; //▶ + $last = button::create(['type'=>'button','label'=>(!$mini ? $text['button-next'] : null),'icon'=>($mini ? 'chevron-right' : null),'link'=>$self."?page=".$max_page.$sanitized_parameters]); + $next = button::create(['type'=>'button','label'=>(!$mini ? $text['button-next'] : null),'icon'=>($mini ? 'chevron-right' : null),'onclick'=>"return false;",'title'=>'','style'=>'opacity: 0.4; -moz-opacity: 0.4; cursor: default;']); } //if the result count is less than the rows per page then this is the last page of results if ($result_count > 0 and $result_count < $rows_per_page) { - $next = "\n"; //▶ + $next = button::create(['type'=>'button','label'=>(!$mini ? $text['button-next'] : null),'icon'=>($mini ? 'chevron-right' : null),'onclick'=>"return false;",'title'=>'','style'=>'opacity: 0.4; -moz-opacity: 0.4; cursor: default;']); } $array = array(); @@ -191,4 +191,4 @@ function paging($num_rows, $param, $rows_per_page, $mini = false, $result_count } -?> +?> \ No newline at end of file diff --git a/themes/default/css.php b/themes/default/css.php index 9c8a3538a2..42e62c2a17 100644 --- a/themes/default/css.php +++ b/themes/default/css.php @@ -1239,8 +1239,8 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false; display: none; } - /* expand search input on focus */ - input[type=text].search { + /* expand list search input on focus */ + input[type=text].list-search { width: 70px; min-width: 70px; margin-left: 15px; @@ -1249,7 +1249,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false; transition: all .5s ease; } - input[type=text].search:focus { + input[type=text].list-search:focus { width: 150px; } @@ -2097,7 +2097,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false; white-space: nowrap; } -/*******************************************************************************/ +/* LIST ACTION BAR *************************************************************/ div.action_bar { position: -webkit-sticky; @@ -2141,3 +2141,85 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false; background: ; box-shadow: ; } + +/* LIST ************************************************************************/ + + .list { + width: 100%; + } + + .list tr { + cursor: default; + } + + .list tr:hover td:not(.no-link), + .list tr:hover td:not(.no-link) a { + color: ; + cursor: pointer; + } + + .list-header > th { + padding: 4px 7px; + text-align: left; + color: ; + font-size: ; + font-family: ; + background: ; + border-bottom: 1px solid ; + } + + .list-row:nth-child(odd) > :not(.action-button) { + background: ; + } + + .list-row:nth-child(even) > :not(.action-button) { + background: ; + } + + .list-row > td:not(.action-button) { + border-bottom: 1px solid ; + color: ; + font-family: ; + font-size: ; + text-align: left; + } + + .list-row > :not(.checkbox) { + padding: ; + } + + .list-row > td.description { + background: !important; + } + + .list-header > .checkbox, + .list-row > .checkbox { + width: 1px; + text-align: center; + } + + .list-row > .checkbox { + padding: 3px 7px 1px 7px; + } + + .list-row > .button { + margin: 0; + padding-top: 0; + padding-bottom: 0; + white-space: nowrap; + } + + .list-row > .overflow { + max-width: 50px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .list-header > .action-button, + .list-row > .action-button { + width: 1px; + white-space: nowrap; + background: none; + padding: 0; + } \ No newline at end of file diff --git a/themes/default/template.php b/themes/default/template.php index fc29a76e44..de76d2385c 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -205,8 +205,8 @@ echo "