Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Important information for almost every question:
V1: Which Visforms version is running?
V2: Which Joomla version is running?
V3: Which PHP version is running?

Listbox - Mehrfachselektion - durchsuchbar

  • eduard.gradl@reg-mfr.bayern.de
  • Topic Author
  • Offline
More
1 year 10 months ago - 1 year 10 months ago #8726 by eduard.gradl@reg-mfr.bayern.de
Listbox - Mehrfachselektion - durchsuchbar was created by eduard.gradl@reg-mfr.bayern.de
Bei Auswahl des Feldtypen "Listbox" kann man durch Anhaken von "Mehrfachselektion erlauben" und "Suchfeld" ein Verhalten des Feldes erreichen, wie man es z. B. bei der Schlagwörtereingabe bei den Beiträgen findet.
Nun hat das Feld aber die Eigenschaft, dass bei mehrfacher Auswahl nicht das erste ausgewählte Item an erste Stelle gesetzt wird, sondern das vorderste Item der Optionsliste.
Beispiel: Das Feld hat als Optionen die Zahlen 1, 2 und 3. Zuerst wird die 2 ausgewählt, dann die drei und als letztes die 1. Als Ergebnis steht nun im Eingabefeld aber nicht 2, 3, 1, sondern 1, 2, 3.
Kann diese Verhalten irgendwie geändert werden, dass in dem Feld auch die Reihenfolge der Optionsauswahl berücksichtigt wird, wie es z. B. bei choices-js.github.io/Choices der Fall ist?
Das wäre für unsere Anforderung sehr wichtig, da die Reihenfolge der gewählten Optionen ebenso wichtig ist wie die ausgewählten Optionen selbst.

Desweiteren ist es bei einer sql-Listbox nicht möglich, diese auch als "durchsuchbar" zu markieren. Gerade bei einer Mehrfachselektion wäre das für die Benutzer sehr komfortabel, da die Darstellung als reine Listbox mit der Mehrfachselektionsmöglichkeit einzig durch die Kombination von STRG-Taste und Mausklick sehr unkomfortabel ist.

Danke für die Hilfe!
Last edit: 1 year 10 months ago by eduard.gradl@reg-mfr.bayern.de.

More
1 year 10 months ago #8730 by Administrator IV
Replied by Administrator IV on topic Listbox - Mehrfachselektion - durchsuchbar
Hallo Eduard,

wir verwenden im Frontend zur Anzeige der Listboxen mit 'Durchsuchbar' die Bibliothek 'Select2'.
Select2 unterstützt die Reihenfolge der ausgewählten Optionen nach der Reihenfolge der Auswahl leider nicht.

Es geht bei der Integration einer Bibliothek nicht nur um eine einfache Anzeige, sondern vor allem
- um die Anzeige mit gänzlich unterschiedlichen UI-Frameworks und
- das Funktionieren mit weiteren Visforms-Optionen, etwa die 'Bedingte Anzeige' oder den 'Reload'.

Chosen und Choices werden wir auch in Zukunft nicht in Visforms integrieren.
Choices hat sich übrigens bei einem Kundenprojekt als äußerst unhandlich (Funktion und Darstellung) und im Detail als eher schlecht bis gar nicht mehr Dokumentiert herausgestellt.

Es gibt aber einen Workaround für dich für beide Fragen.
Der Workaround hat bei mir mit 'Ui Framework' = 'Bootstrap 5' und 'Sublayout' = 'Horizontal' im Test sehr gut funktioniert.

Das Formular mit den beiden Feldern 'sql-6' (Listbox Sql) und 'select-1' (Listbox):
vi-solutions.de/forum-uploads/searchable...elect-order_form.png

Mehrfachselektion in Auswahlreihenfolge, Feld 'select-1' (Listbox):
Der folgende JavaScript Code-Schnipsel erhält die Reihenfolge der Auswahl wie von dir gewünscht.
Der Code ändert gleichzeitig auch die aktuelle Reihenfolge der Optionen in der Optionsliste.
Damit bleibt die Reihenfolge der Auswahl bis hinein in die Datenbank und bei der Anzeige der gespeicherten Optionen erhalten (Backend/Frontend).
Code:
jQuery(document).ready(function() {         jQuery("select").on("select2:select", function (evt) {             let element = evt.params.data.element;             let jQueryElement = jQuery(element);             let remember = this;             window.setTimeout(function () {                 if (jQuery(remember).find(":selected").length > 1) {                     let jQuerySecond = jQuery(remember).find(":selected").eq(-1);                     jQuerySecond.after(jQueryElement);                 } else {                     jQueryElement.detach();                     jQuery(remember).prepend(jQueryElement);                 }             }, 1);         }); });

Bei der nachträglichen Änderung der Daten (Backend/Frontend) allerdings funktioniert es nicht mehr.
Aber vielleicht ist das für dich nicht wichtig.

'Durchsuchbar' für SQL-Listboxen, Feld 'sql-6' (Listbox Sql):
Der folgende  JavaScript Code-Schnipsel macht auch SQL-Listboxen nachträglich durchsuchbar.
Zusätzlich bleibt auch hier die Mehrfachselektion in der Auswahlreihenfolge.
Code:
jQuery(document).ready(function () {jQuery(".bind-select2").select2({width: "computedstyle"});});

Obiger Code bindet alle SQL-Listboxen, die in der Feldkonfiguration, Reiter 'Erweitert', Gruppe 'Layout' gesetzt haben 'CSS Klasse des Feldes' = 'bind-select2':
vi-solutions.de/forum-uploads/searchable...rm-configuration.png

Eigenen Custom-JavaScript in Joomla einfügen:
Ich gehe davon aus, dass du weißt, wie du Custom-JavaScript in deine Joomla-Instanz einfügen kannst.
Dafür gibt es zahlreiche Möglichkeiten, etwa im Rahmen von Joomla oder deines Templates.

Mit Visforms geht es mit der Erstellung eines Overrides, in das du dein JavaScript einfügst:
docs.joomla-4.visforms.vi-solutions.de/d...yout-with-overrides/

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

  • eduard.gradl@reg-mfr.bayern.de
  • Topic Author
  • Offline
More
1 year 10 months ago #8731 by eduard.gradl@reg-mfr.bayern.de
Replied by eduard.gradl@reg-mfr.bayern.de on topic Listbox - Mehrfachselektion - durchsuchbar
Hallo Ingmar,

wow, vielen Dank für den Code. Das teste ich gleich aus. Wirklich ein toller Service bei Euch.
Das mit Choices sollte nur als Beispiel dienen, dass es nicht direkt übernommen werden kann, war mir schon klar.

Herzliche Grüße und ein erfolgreiches neues Jahr!

More
1 year 10 months ago - 1 year 10 months ago #8732 by Administrator IV
Replied by Administrator IV on topic Listbox - Mehrfachselektion - durchsuchbar
Hallo Eduard,

vielen Dank für dein tolles Feedback, worüber ich mich sehr freue :).
Ich wünsche Dir ebenfalls ein ordentlich erfolgreiches neues Jahr!

Es ist mir nicht ganz klar, warum das Feld vom Typ 'Listbox SQL' die Option 'Durchsuchbar' nicht hat.
Ich habe dazu einen Issue zur Entwicklung für die Wunschliste angelegt:
Issue [VF-689] Forum: Listbox Sql: Add option 'searchable'

Wenn wir das neue Feature releasen, wirst du explizit über das Release hier im Thema informiert.
Vielen Dank nochmal für deine Anregung!

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Last edit: 1 year 10 months ago by Administrator IV.

  • eduard.gradl@reg-mfr.bayern.de
  • Topic Author
  • Offline
More
1 year 10 months ago #8733 by eduard.gradl@reg-mfr.bayern.de
Replied by eduard.gradl@reg-mfr.bayern.de on topic Listbox - Mehrfachselektion - durchsuchbar
Hallo Ingmar,
ja, das war mir auch nicht klar, aber mit Deinem Workaround läuft jetzt alles so wie Du geschrieben hast. Aber dass Ihr die sql-Möglichkeiten überhaupt programmiert habt, ist wirklich toll. Ganz großes Lob!!! Dadurch kann ich mir den Inhalt der Listbox abhängig von einer vorher gemachten Eingabe variabal aus einer Tabelle ziehen.
Auch zeigt sich, wie Du geschrieben hast, dass sich die Reihenfolge der Auswahlpunkte bei einer nachträglichen Änderung (also beim erneuten Anzeigen der Listbox mit den ausgewählten Items) in die ursprünglich festgelegte Reihenfolge zurücksetzt. Sollte es dafür noch ein Workaround geben, wäre ich sehr dankbar. Falls nicht, würde ich mir anders behelfen (besonderer Hinweis darauf mit der Bitte um Nachbearbeitung).
Evtl. könnte man dann das Workaround ja in einer späteren Version als Option mit anbieten.

Nochmals herzlichen Dank!

  • eduard.gradl@reg-mfr.bayern.de
  • Topic Author
  • Offline
More
1 year 10 months ago - 1 year 10 months ago #8734 by eduard.gradl@reg-mfr.bayern.de
Replied by eduard.gradl@reg-mfr.bayern.de on topic Listbox - Mehrfachselektion - durchsuchbar
Entschuldige, nochmals ich.
Noch ein Hinweis: Dein Workaround funktioniert nur dann, wenn im Formular vor den vom Workaround betroffenen Feldern eine andere Listbox mit "Mehrfachselektion" und "Durchsuchen" eingebaut wurde. Existiert dieses zusätzliche Feld nicht, werden die sql-Listboxen als reguläre Listboxen angezeigt. Aber das Anlegen einer "leeren" Listbox mit bootstrap d-none (Anzeige unterdrücken) löst das Problem.
Wie Ihr sicher wisst, sind die Bibliotheken von chosen und choices in der Joomla-Core integriert /media/vendor/... die Verschlagwortung von Joomla verwendet z. B. choices. Aber wenn das für Visforms nichts nutzt, z. B. wegen der reload-Funktion, ist es ja nicht verwendbar. 
Last edit: 1 year 10 months ago by eduard.gradl@reg-mfr.bayern.de.

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum