Feature #4621
closedAbfragen des aktuellen Pills in Reports
0%
Description
Verlinken auf bestimmte Pills funktioniert bereits. Praktisch wäre, wenn man im Report den aktuellen hash der Seite auslesen kann, z.B. für eine Seite "?id=pagealias&s=12343565231#person_1234" per
10.sql = SELECT IF({{hash:C:alnumx}} = 'person_1234', '<button>Proceed</button>', '')
Updated by Carsten Rose over 6 years ago
- Status changed from New to Feedback
Der Hash setzt sich zusammen aus: <formname>_<FormElement.id>
Du solltest ihn also selber einfach bestimmen koennen
SELECT f.name, '_', fe.id FROM Form AS f, FormElement AS fe WHERE fe.name='....' and f.name='....'
oder aehnlich
Updated by Carsten Rose over 6 years ago
ahh, sorry - habe ich falsch versanden - Loesung sollte bereits implementiert sein, kommt gleich.
Updated by Elias Villiger over 6 years ago
Den Teil 'person_1234' kann ich damit selbst bestimmen, ja. Bei dem Feature Request geht es mehr darum, dass ich in einem SQL statement den aktuellen hash nicht abfragen kann. Der Feature request wäre also, dass man z.B. per {{hash:C:alnumx}} den aktuellen Hash abfragen kann. Dann kann man je nach Pill unterschiedlichen Content anzeigen auf dem Report.
(Mit javascript kann man den hash per window.location.hash abfragen)
Updated by Carsten Rose over 6 years ago
Ich glaube das wird schwierig - ganz naiv war ich davon ausgegangen das die URL per _SERVER abgefragt werden kann - das stimmt leider nur fuer HOST / PATH / QUERY ... nicht jedoch fuer HASHMARK - das bleibt im Browser und wird im Browser gehandelt (deswegen funktioniert auch Dein JS).
Das einzige was mir einfaellt: wenn Du einen Link mit einem HASH erzeugst, haeng noch eine SIP Variable dran, die kannst Du dann abfragen.
CU
Carsten
Updated by Elias Villiger over 6 years ago
Ok, macht Sinn.
Folgenden JS workaround habe ich soeben getestet, funktioniert aber nicht dynamisch, weil beim Pill-Wechsel die Seite nicht neu geladen wird (nach page reload funktionierts):
<script> document.getElementById("proceedBtn").style.visibility = (window.location.hash == "#mastersThesisA_1129") ? "visible" : "hidden"; </script>
Fazit: Aktuell nicht machbar - Ticket schliessen?
Updated by Elias Villiger over 6 years ago
Mit der neuen Funktion, dass man in FormElement note und value Report-Syntax hat, ist sowieso mehr möglich.
Ich kann ja jetzt meinen "Proceed" Button, den ich nur bei Auswahl eines bestimmten Pills anzeigen will, direkt innerhalb des Formulars anzeigen!
Updated by Carsten Rose over 6 years ago
- Status changed from Feedback to Rejected
Auf Serverseite nicht loesbar >> close