|
7 | 7 | } |
8 | 8 | } |
9 | 9 |
|
10 | | - $selectedFiles = json_encode($selectedFiles); |
11 | | - $selectedTypes = json_encode($selectedTypes); |
12 | | - |
13 | 10 | function getBadgeClass($type) { |
14 | 11 | $type = strtolower($type); |
15 | 12 |
|
|
27 | 24 |
|
28 | 25 | return ''; |
29 | 26 | } |
| 27 | + |
| 28 | + $queryParams = $this->getRequest()->getQueryParams(); |
30 | 29 | ?> |
31 | 30 |
|
32 | 31 | <!DOCTYPE html> |
|
51 | 50 | </style> |
52 | 51 |
|
53 | 52 | <script type="text/javascript"> |
54 | | - var selectedFiles = <?= $selectedFiles ?>; |
55 | | - var selectedTypes = <?= $selectedTypes ?>; |
| 53 | + var selectedFiles = <?= json_encode($selectedFiles) ?>; |
| 54 | + var selectedTypes = <?= json_encode($selectedTypes) ?>; |
56 | 55 | </script> |
57 | 56 |
|
58 | 57 | <body> |
|
87 | 86 | 'onchange' => 'this.form.submit()', |
88 | 87 | 'class' => 'form-control', |
89 | 88 | 'templates' => [ |
90 | | - 'inputContainer' => '<div class="form-group col-md-6 col-lg-6">{{content}}</div>' |
| 89 | + 'inputContainer' => '<div class="form-group col-md-4 col-lg-4">{{content}}</div>' |
| 90 | + ] |
| 91 | + ]); ?> |
| 92 | + |
| 93 | + <?= $this->Form->control('limit', [ |
| 94 | + 'label' => 'Limit', |
| 95 | + 'required' => false, |
| 96 | + 'id' => 'limit', |
| 97 | + 'options' => ['25' => '25', '50' => '50', '100' => '100', '500' => '500', '1000' => '1000'], |
| 98 | + 'default' => '100', |
| 99 | + 'value' => $pagination['limit'], |
| 100 | + 'onchange' => 'this.form.submit()', |
| 101 | + 'class' => 'form-control', |
| 102 | + 'templates' => [ |
| 103 | + 'inputContainer' => '<div class="form-group col-md-2 col-lg-2">{{content}}</div>' |
91 | 104 | ] |
92 | 105 | ]); ?> |
93 | 106 | </div> |
|
97 | 110 |
|
98 | 111 | <div class="row"> |
99 | 112 | <div class="col-md-12"> |
100 | | - <div class="table-responsive"> |
101 | | - <table class="table table-white-bordered"> |
102 | | - <thead class="thead-dark"> |
103 | | - <tr> |
104 | | - <th width="200" scope="col">Date</th> |
105 | | - <th width="120" scope="col">Type</th> |
106 | | - <th width="1100" scope="col">Message</th> |
107 | | - </tr> |
108 | | - </thead> |
109 | | - <tbody> |
110 | | - <?php foreach ($logs as $log): ?> |
111 | | - <?php $badgeClass = getBadgeClass($log['type']); ?> |
112 | | - <tr> |
113 | | - <td><?= $log['date'] ?></td> |
114 | | - <td class="badge <?= $badgeClass ?>"><?= $log['type'] ?></td> |
115 | | - <td><?= $log['message'] ?></td> |
116 | | - </tr> |
117 | | - <?php endforeach; ?> |
118 | | - </tbody> |
119 | | - </table> |
120 | | - </div> |
| 113 | + <?php if(!empty($selectedFiles)) : ?> |
| 114 | + <div class="table-responsive"> |
| 115 | + <table class="table table-white-bordered"> |
| 116 | + <thead class="thead-dark"> |
| 117 | + <tr> |
| 118 | + <th width="200" scope="col">Date</th> |
| 119 | + <th width="120" scope="col">Type</th> |
| 120 | + <th width="1100" scope="col">Message</th> |
| 121 | + </tr> |
| 122 | + </thead> |
| 123 | + <tbody> |
| 124 | + <?php foreach ($logs as $log): ?> |
| 125 | + <?php $badgeClass = getBadgeClass($log['type']); ?> |
| 126 | + <tr> |
| 127 | + <td><?= $log['date'] ?></td> |
| 128 | + <td class="badge <?= $badgeClass ?>"><?= $log['type'] ?></td> |
| 129 | + <td><?= $log['message'] ?></td> |
| 130 | + </tr> |
| 131 | + <?php endforeach; ?> |
| 132 | + </tbody> |
| 133 | + </table> |
| 134 | + </div> |
| 135 | + |
| 136 | + <nav aria-label="Page navigation"> |
| 137 | + <ul class="pagination justify-content-center"> |
| 138 | + <?php |
| 139 | + $pageLimit = $pagination['page'] + 10; |
| 140 | + $i = $pagination['page'] - 10; |
| 141 | + if($i < 1) $i = 1; |
| 142 | + ?> |
| 143 | + |
| 144 | + <?php if($pagination['page'] > 1) : ?> |
| 145 | + <li class="page-item <?= ($pagination['page'] == 1) ? 'disabled' : ''; ?>"> |
| 146 | + <?php $queryParams['page'] = 1; ?> |
| 147 | + <a class="page-link" href="<?= '?' . http_build_query($queryParams); ?>">First</a> |
| 148 | + </li> |
| 149 | + <?php endif; ?> |
| 150 | + |
| 151 | + <li class="page-item <?= ($pagination['page'] == 1) ? 'disabled' : ''; ?>"> |
| 152 | + <?php $queryParams['page'] = $pagination['page'] - 1; ?> |
| 153 | + <a class="page-link" href="<?= '?' . http_build_query($queryParams); ?>">Previous</a> |
| 154 | + </li> |
| 155 | + |
| 156 | + <?php for($i; $i <= $pagination['pages']; $i++) : ?> |
| 157 | + <?php |
| 158 | + if($i > $pageLimit) break; |
| 159 | + $queryParams['page'] = $i; |
| 160 | + $buildParams = '?' . http_build_query($queryParams); |
| 161 | + ?> |
| 162 | + <li class="page-item <?= ($pagination['page'] == $i) ? 'active' : ''; ?>"> |
| 163 | + <a class="page-link" href="<?= $buildParams ?>"><?= $i ?></a> |
| 164 | + </li> |
| 165 | + <?php endfor; ?> |
| 166 | + |
| 167 | + <?php if(($pagination['page'] + 1) <= $pagination['pages']) : ?> |
| 168 | + <?php $queryParams['page'] = ++$pagination['page']; ?> |
| 169 | + <li class="page-item <?= ($pagination['page'] >= $pagination['pages']) ? 'disabled' : '' ?>"> |
| 170 | + <a class="page-link" href="<?= '?' . http_build_query($queryParams); ?>">Next</a> |
| 171 | + </li> |
| 172 | + <?php endif; ?> |
| 173 | + |
| 174 | + <?php if($pagination['page'] < $pagination['pages']) : ?> |
| 175 | + <?php $queryParams['page'] = $pagination['pages']; ?> |
| 176 | + <li class="page-item <?= ($pagination['page'] >= $pagination['pages']) ? 'disabled' : '' ?>"> |
| 177 | + <a class="page-link" href="<?= '?' . http_build_query($queryParams); ?>">Last</a> |
| 178 | + </li> |
| 179 | + <?php endif; ?> |
| 180 | + </ul> |
| 181 | + </nav> |
| 182 | + |
| 183 | + <?php else : ?> |
| 184 | + <h3><?= __d('LogReader', 'Please select one or more files for viewing') ?></h3> |
| 185 | + <?php endif; ?> |
121 | 186 | </div> |
122 | 187 | </div> |
123 | 188 | </div> |
|
0 commit comments