Project

General

Profile

Feature #11534

Report: Action on selected rows - Table batchprocessing feature

Added by Simon Grüning 8 months ago. Updated 8 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
Start date:
17.11.2020
Due date:
% Done:

0%

Estimated time:
Discuss:

Description

See attached picture. A feature to add an additional column of check-boxes at the beginning of a table, and the ability to have buttons ex. "with selected: move all to bla". So batch processing of table rows / records.

Implementation idea: via javascript? Buttons passing list of id's (or respective sip's) of records and action onto backend.


Files

table batch proccessing sample qfq request.png (57.1 KB) table batch proccessing sample qfq request.png Simon Grüning, 17.11.2020 12:03
selectRow.png (115 KB) selectRow.png Carsten Rose, 17.11.2020 17:13
#1

Updated by Carsten Rose 8 months ago

  • File selectRow.png selectRow.png added
  • Subject changed from Table batchprocessing feature to Report: Action on selected rows - Table batchprocessing feature
  • Hat Philipp bereits via JS implementiert (selectRow.png / webwork18/semlive / man muss eingeloggt sein)
  • Wir sollten ein allgemeines QFQ Feature implementieren:
  • `Select All` Checkbox:
    • Als '... AS _link'
    • Neuer Qualifier fuer SelectRow: Bsp: `rowCheckAll:myRowSelect`
    • 'myRowSelect' ist dann die Class ueber die alle Row-Checkboxen eingesammelt werden.
  • Row-Checkboxen
    • Als '... AS _link'
    • Neuer Qualifier `rowCheck:myRowSelect`.
    • Mittels 'U:var=value' werden die per Row Values gesetzt.
    • Wird der Qualifier 's' (SIP) gesetzt, wird nicht der Value, sondern die generierte SIP uebergeben.
  • Row-Action
    • Als '... AS _link'
    • Neuer Qualifier `rowAction:myRowSelect`.
    • Sobald min. eine Checkbox selektiert ist, sind die rowAction Elemente aktiv.
    • Wenn keine Checkbox mehr aktiv ist, werden die Elemente inaktiv.
    • Action Elemente sind alle Button / Links mit der Custom CSS Class 'myRowSelect' (evtl. einfach alle die keine Checkbox sind).
    • Auf dem Action Element gibt es ein HTML Attribut 'data-name=s' (bei SIP Betrieb) und 'data-name=value' falls kein SIP verwendet wird. Der JS Code setzt in Window.location den GET Parameter entsprechend 's' oder 'value'.
  • SIP Auswertung: enthaelt der 's'-GET Parameter kommagetrennte SIPs, dann fuehrt diese zu einer entsprechenden Kommaliste mit den angegebenen Variablen. Beispiel:
    • Drei Beispiel Checkbox Values (rowCheck): s=10000001 (a=10,b=199) / s=10000002 (a=11,b=200) / s=10000003 (a=12,b=201)
    • Ein Action Link (rowAction): window.location('...id=moveAction&s=10000001,10000002,10000003')
    • Ziel Page (moveAction): {{a:S}}=10,11,12 / {{b:S}}=199,200,201

Features:

  • Pro Seite kann es mehrere Checkbox Columns geben - daher ist es sinnvoll eine Custom CCS-Class (als Identifier) a la `myRowSelect` zu definieren.
  • Es kann mehr als ein Action Element geben.
  • Es kann mit und ohne SIP gearbeitet werden.
  • Falls ohne SIP
  • Der Javascript Code sammelt die SIPs/Values erst bei onClick() auf einem der Action Elemente ein.
  • Wir koennten Probleme mit der maximal Laenge der GET Variablen bekommen. In QFQ by default 50. Es gibt ein QFQ Namingscheme <GET Variable Name>_<length> - ich bin nicht sicher ob uns das helfen koennte.

Also available in: Atom PDF