Project

General

Profile

Actions

Bug #14754

open

table-sorter, view-safer broken in twig

Added by Nicola Chiapolini 3 months ago. Updated about 1 month ago.

Status:
Priorize
Priority:
Normal
Assignee:
Support: Web
Target version:
Start date:
20.09.2022
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No

Description

Der Code für den Tablesorter header wird gemäss dokumentation mit dem command {{ '<uniqueName>' AS _tablesorter-view-saver }} erzeugt.

Das funktioniert gut wenn das command im head steht:

10.sql = SELECT ....
10.head = <table {{ '{{pageAlias:T}}-allperson' AS _tablesorter-view-saver }} class="tablesorter tablesorter-filter tablesorter-column-selector" id="{{pageAlias:T}}-demo">

Für twig ist das aber nicht möglich, da {{ }}-ausdrücke in twig nicht von QFQ sondern von twig ausgewertet werden. Entsprechend muss der output des commands zuerst in eine Variable gespeichert werden. In meinen ersten Tests hat das nicht funktioniert, jetzt habe ich das aber eben zum Laufen gekriegt. Folgendes Setup funktioniert:

15.sql = SELECT "{{ 'testName' AS _tablesorter-view-saver }}" AS tsheader
15.content = hide

21.sql = SELECT ...
21.twig = <table {{ store.record.tsheader|raw }} class="tablesorter tablesorter-filter tablesorter-column-selector" id="somename">

Wichtig ist in 15.sql die Reihenfolge der Anführungszeichen (doppelte aussen, einfache innen). Sonst schlägt das SQL-Query fehl. Ich denke, es wäre hilfreich, wenn dieses Setup auch in der QFQ-Doku erläutert würde.

Actions #1

Updated by Nicola Chiapolini 3 months ago

  • Tracker changed from Feature to Bug
  • Subject changed from Doku für table-sorter, view-safer in twig: to table-sorter, view-safer broken in twig

Es scheint ich habe mich nicht mehr richtig erinnert...

Das obige Setup funktioniert nur solange wie kein Filter gespeichert ist. Sobald ein Filter gespeichert ist, schlägt 15.sql fehl weil

SELECT "data-tablesorter-id='testName' data-tablesorter-sip='...' data-tablesorter-view='[{"name":"test","public":false,"tableId":"testName","view":"..."}]'" AS tsheader

ein Problem mit den Quotes hat...

Das einzig funktionierende Setup ist deshalb:

16.sql = SELECT "" 
16.head = <table {{ 'testName' AS _tablesorter-view-saver }} AS tsheader

22.sql = SELECT ...
22.twig = class="tablesorter tablesorter-filter tablesorter-column-selector" id="somename">

was ein wirklich hässlicher Hack ist...

Actions #2

Updated by Enis Nuredini about 1 month ago

  • Status changed from New to Priorize
Actions

Also available in: Atom PDF