Lines Matching +full:comparator +full:> +full:= +(+path:plugin +path:struct) -(+path:plugin +path:struct +path:lang)

23     public function render($showNotFound = false)
28 if ($this->searchConfig->getCount() <= 0 && !$this->isDynamicallyFiltered() && $showNotFound) {
35 $rendercontext = [
36 'table' => $this,
37 'renderer' => $this->renderer,
38 'format' => $this->mode,
39 'search' => $this->searchConfig,
40 'columns' => $this->columns,
41 'data' => $this->searchConfig->getRows()
44 $event = new Event(
95 $this->renderer->info['struct_table_hash'] = md5(var_export($this->data, true));
120 if ($this->mode != 'xhtml') return;
121 $dynamic = $this->searchConfig->getDynamicParameters();
122 $filters = $dynamic->getFilters();
125 $fltrs = [];
126 foreach ($filters as $column => $filter) {
127 [$comp, $value] = $filter;
131 if ($column === $col->getFullQualifiedLabel()) {
132 $column = $col->getTranslatedLabel();
135 $fltrs[] = sprintf('"%s" %s "%s"', $column, $this->helper->getLang("comparator $comp"), $value);
138 $this->renderer->doc .= '<div class="filter">';
139 $this->renderer->doc .= '<h4>' .
145 $this->renderer->doc .= '<div class="resetfilter">';
147 $this->renderer->doc .= '</div>';
148 $this->renderer->doc .= '</div>';
166 foreach ($this->columns as $num => $column) {
167 $header = '';
169 $header = $this->data['headers'][$num];
175 $header = $column->getTranslatedLabel();
177 $header = 'column ' . $num; // this should never happen
182 if ($this->mode != 'xhtml') {
192 $width = '';
193 if (isset($this->data['widths'][$num]) && $this->data['widths'][$num] != '-') {
194 $width = ' style="min-width: ' . $this->data['widths'][$num] . ';' .
203 $data = 'data-field="' . hsc($column->getFullQualifiedLabel()) . '"';
205 $data = '';
209 $sortclass = '';
210 $sorts = $this->searchConfig->getSorts();
211 $dynamic = $this->searchConfig->getDynamicParameters();
214 [/*colname*/, $currentSort] = $sorts[$column->getFullQualifiedLabel()];
216 $sortclass = 'sort-down';
219 $sortclass = 'sort-up';
222 $link = wl($this->id, $dynamic->getURLParameters());
225 $this->renderer->doc .= "<th $width $data>";
228 $this->renderer->doc .= hsc($header);
230 $this->renderer->doc .= '<a href="' . $link . '" class="' . $sortclass . '" ' .
231 'title="' . $this->helper->getLang('sort') . '">' . hsc($header) . '</a>';
234 $this->renderer->doc .= '</th>';
246 if ($this->mode != 'xhtml') return false;
249 $dynamic = $this->searchConfig->getDynamicParameters();
258 if ($this->mode != 'xhtml') return;
265 $this->renderer->doc .= '<tr class="dataflt">';
269 $this->renderer->doc .= '<th></th>';
274 $this->renderer->doc .= '<th>';
277 $form = new \Doku_Form(
279 'method' => 'GET',
280 'action' => wl($this->id, $this->renderer->info['struct_table_hash'], false, '#')
287 $dynamic = $this->searchConfig->getDynamicParameters();
288 $filters = $dynamic->getFilters();
290 [, $current] = $filters[$column->getFullQualifiedLabel()];
293 $current = '';
297 $params = $dynamic->getURLParameters();
298 foreach ($params as $key => $val) {
303 $key = $column->getFullQualifiedLabel() . $column->getType()->getDefaultComparator();
307 $this->renderer->doc .= $form->getForm();
310 $this->renderer->doc .= '</th>';
312 $this->renderer->doc .= '</tr>';
320 foreach ($this->searchConfig->getRows() as $rownum => $row) {
321 $data = [
322 'id' => $this->id,
323 'mode' => $this->mode,
324 'renderer' => $this->renderer,
325 'searchConfig' => $this->searchConfig,
326 'data' => $this->data,
327 'rownum' => &$rownum,
328 'row' => &$row
330 $evt = new Event('PLUGIN_STRUCT_AGGREGATIONTABLE_RENDERRESULTROW', $data);
349 if ($this->mode == 'xhtml') {
350 $pid = $this->searchConfig->getPids()[$rownum];
351 $rid = $this->searchConfig->getRids()[$rownum];
352 $rev = $this->searchConfig->getRevs()[$rownum];
353 $this->renderer->doc = substr(rtrim($this->renderer->doc), 0, -1); // remove closing '>'
354 $this->renderer->doc .= ' data-pid="' . hsc($pid) . '" data-rev="' . $rev . '" data-rid="' . $rid . '">';
365 foreach ($row as $colnum => $value) {
366 $align = $this->data['align'][$colnum] ?? null;
374 $this->sums[$colnum] = 0;
376 $this->sums[$colnum] += $value->getValue();
401 $this->renderer->info['struct_table_meta'] = true;
402 if ($this->mode == 'xhtml') {
413 $len = count($this->columns);
414 for ($i = 0; $i < $len; $i++) {
419 } elseif ($this->mode == 'xhtml') {
420 $this->renderer->doc .= '&nbsp;';
425 $this->renderer->info['struct_table_meta'] = false;
433 if ($this->mode != 'xhtml') return;
435 $limit = $this->searchConfig->getLimit();
437 $offset = $this->searchConfig->getOffset();
439 $this->renderer->info['struct_table_meta'] = true;
446 $prev = $offset - $limit;
448 $prev = 0;
451 $dynamic = $this->searchConfig->getDynamicParameters();
453 $link = wl($this->id, $dynamic->getURLParameters());
454 $this->renderer->doc .= '<a href="' . $link . '" class="prev">' . $this->helper->getLang('prev') . '</a>';
459 $next = $offset + $limit;
460 $dynamic = $this->searchConfig->getDynamicParameters();
462 $link = wl($this->id, $dynamic->getURLParameters());
463 $this->renderer->doc .= '<a href="' . $link . '" class="next">' . $this->helper->getLang('next') . '</a>';
468 $this->renderer->info['struct_table_meta'] = true;
476 if ($this->mode != 'xhtml') return;
480 $dynamic = $this->searchConfig->getDynamicParameters();
481 $params = $dynamic->getURLParameters();
482 $params['hash'] = $this->renderer->info['struct_table_hash'];
485 $link = exportlink($this->id, 'struct_csv', $params);
487 $this->renderer->doc .= '<a href="' . $link . '" class="export mediafile mf_csv">' .