Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
Was ist das für ein Eingabefeld / Eingabefunktion?

Hi Leute,

mein Kollege bittet mich euch zu fragen. Er hat einen Prozess vorgestellt bekommen, bei dem in ein Eingabefeld Schlagwörter eingegeben werden können. Ähnlich wie Hashtags bei YouTube oder ähnliches. Eben um z.B. Merkmale zu hinterlegen.

Könnt ihr mir / uns sagen, was das für eine JR-Funktion ist? Die könnte durchaus hilfreich sien :).

Siehe hier:
schlagworte.png

1
1
Gepostet vor 3 Jahren
Stimmen Neuste

Antworten 3


Ich begrüße Sie,
dies nennt die JobRouter "MultiSelect"-Felder. Hierzu gibt es zwei Bibliotheken, einmal die von Timo Günter gefundenen "Selectize" und "Select2", wobei sich ersteres mehr durchgesetzt hat und meines Wissens mit dem JobRouter mitgeliefert wird.
Wie funktioniert das? Üblicherweise gibt es ein Anzeige-, und ein Speicherfeld, wobei im Speicherfeld eine JSON-Codierte oder kommagetrennte Liste ebgelegt wird, welche beim Laden des Dialoges wieder in das Multiselect-Ansichtsfeld konvertiert wird.

file

file

Hier etwas Beispielcode, wie das aussehen kann:

function initSelectize() {
    jQuery('#userListSelectize').selectize({
    delimiter: ',',
    persist: false,
    maxItems: null,
    plugins: ['remove_button'],
    create: function(input) {
        return {
            value: input,
            text: input
        }
    },
    onChange: function(input) {
        onChangeSelectize(input);
    }
});
}

function onChangeSelectize(input) {
    if (input) {
        document.getElementById('userListSaveSelectize').value = input.join();
    }
}

function clearSelectize() {
    var sel = jQuery('#userListSelectize').selectize();
    sel[0].selectize.clear();
}

function restoreSelectize() {
    var listString = document.getElementById('userListSaveSelectize').value;
    var list = listString.split(',');
    var sel = jQuery('#userListSelectize').selectize();
    list.forEach(function(item) {
        sel[0].selectize.addItem(item);
    });
}
1
1
Gepostet vor 3 Jahren
Bearbeitet vor 3 Jahren
Stefan Köngeter
309 × 7 Administrator
  
  

Danke für die ausführliche Erklärung und das Beispiel!

Timo Günter   vor 3 Jahren Melden

Hallo zusammen,

konnte das schon jemand erfolgreich nachbauen? Bei mir kommt es noch zu einem Fehler.

file

Unser Testsystem, wo ich einen Demoprozess gebaut habe, läuft auf Version 5.2.7.

  
  
Gepostet vor 2 Jahren

Hallo,

ich habe mir den Quellcode des Prozesses in der Demoumgebung angeschaut. Hierhinter steckt erst einmal eine gewöhnliche Liste. Jedoch ist diese mit der selectize.js-Library erweitert worden.
Wie genau dann die Speicherung und weitere Verarbeitung funktioniert, erschließt sich mir jedoch auch nicht, da hier ein Array das Ergebnis ist.

Im Code wird dafür auf eine Klasse namens "myJRMultiSelect" zurückgegriffen, die aber leider an anderer Stelle definiert ist.

Diese Funktionalität ist also fernab der JR-Norm und muss selbst entwickelt werden.

1
1
Gepostet vor 3 Jahren
6K Ansichten
3 Antworten
vor 3 Jahren
vor 2 Jahren
Stichwörter