Ankündigung

Einklappen
Keine Ankündigung bisher.

Multiselect-Tabellenzeilen -> "Promise" - Kommunikation mit dem Backend

Einklappen
X

Multiselect-Tabellenzeilen -> "Promise" - Kommunikation mit dem Backend

Einklappen
  • Filter
  • Zeit
Alles löschen
neue Beiträge

  • Multiselect-Tabellenzeilen -> "Promise" - Kommunikation mit dem Backend

    Hallo,

    ich habe eine Multiselect-Tabellenzeilen Lösung geschrieben und diese maßgeblich mit JS implementiert.

    Die selektierten und an einen Prozess gesendeten Zeilen verschwinden aus der Tabelle. Entsprechend benötige ich einen Reload der Tabelle.

    Aktuell implementiere ich dies - indem ich den Browser über einen per Velocity in die Seite inkludierten Overlay einfriere mit setTimeout - das wird zwar in 98% der Fälle funktionieren - ist aber nicht schön.

    Meine Frage:

    Kann ich triggerUserWorkflowEvent wie eine Art Promise aufrufen bzw. aus dem Backend Prozess ein Signal an das FE schicken, wann die Seite wieder freigegeben werden und reloaded werden soll?

    Kann ich den

    HTML-Code:
    function handleCheckboxClick(row, textBoxGUID) {
    const checkedRowsElement = getElement(textBoxGUID); /*Gecheckte ID'S textareacontrol*/ /*Gecheckte ID'S textareacontrol*/
    const recordId = row.dataset.recid
    var checkedRowsElementValue = checkedRowsElement.value;
    var checkedRows;
    
    if(checkedRowsElementValue == "") {
    checkedRows = []
    } else {
    var checkedRows = checkedRowsElementValue.split(",")
    }
    
    if(checkedRows.length > 0 ) {
    const index = checkedRows.indexOf(recordId);
    if (index > -1) {
    checkedRows.splice(index, 1)
    } else {
    checkedRows.push(recordId)
    }
    } else {
    checkedRows.push(recordId)
    }
    Browser.setValue(checkedRowsElement, checkedRows)
    
    return true
    }
    // onClick Event für Button Nach multipler Auswahl, STRIDS an Backend schicken
    function handleSendMultipleSelectToBackendClick (textBoxGUID, workflowEventGUID, freezeDuration, tableGUID) {
    const modal = document.querySelector(".modal");
    const pageCover = document.querySelector(".pageCover");
    const checkedRowsElement = getElement(textBoxGUID);
    const checkedRowsElementValue = checkedRowsElement.value; /*Gecheckte ID'S textareacontrol*/;
    if(checkedRowsElementValue === "") {
    return alert("Keine Datensätze ausgewählt")
    } else {
    triggerUserWorkflowEvent(workflowEventGUID, {"recordIds":checkedRowsElementValue});
    modal.classList.remove("hidden");
    pageCover.classList.remove("hidden");
    setTimeout(() => {
    Browser.setValue(checkedRowsElement, "")
    getElement(tableGUID).oUp.reload();
    modal.classList.add("hidden");
    pageCover.classList.add("hidden");
    }, freezeDuration);
    
    }
    return true
    }

  • #2
    Der Rückgabewert von triggerUserWorkflowEvent ist ein Promise. In den docs findest du dazu ein Beispiel: https://docs.intrexx.com/intrexx/ver...rWorkflowEvent

    Kommentar

    Lädt...
    X