List View: Listeneinträge mit Client Script abwählen

Hallo,
ich habe eine Funktion geschrieben, bei der in der List View ausgewählte Datensätze bearbeitet werden. Am Ende dieser Funktion soll die Markierung wieder aufgehoben werden:

Im Frappe-Source-Code habe ich interessante Ansätze gefunden:

function set_rows_as_unchecked() {
	$results = $wrapper.find('.results');
    this.$checks = this.$result.find(".list-row-checkbox:checked");
    $.each(this.$checks, (i, el) => {
        let docname = $(el).attr("data-name");
        this.$result
            .find(`.list-row-checkbox[data-name='${docname}']`)
            .prop("checked", false);
    });
}

Ich weiss nicht, wie ich $wrapper initialisieren soll, um Zugriff auf die Checkboxen zu erhalten.
Kann mir jemand weiterhelfen?

Mit location.reload() kann ich durch Neuladen der Seite die Checkboxen löschen, aber dadurch lande ich auch wieder am Anfang der Liste.
Ich würde gern den aktuellen Zustand behalten und nur die Checkboxen löschen.

Mit diesem Code werden alle Listeneinträge deselektiert, allerdings verursachen danach auch alle Aufrufe von get_checked_items() eine Exception, schade:

function uncheck_all() {
	$.each(cur_list.$checks, (i, el) => {
		let docname = $(el).attr("data-name");
		cur_list.$result
			.find(`.list-row-checkbox[data-name='${docname}']`)
			.prop("checked", false);
	});
	cur_list.on_row_checked();

    console.log(get_checked_items()); // Verursacht bei diesem und allen zukünftigen Aufrufen eine Exception
}

Hi @thkr_ituc,

hast du es schon probiert das deselektieren der Zeilen im Callback deiner Funktion aufzurufen?

Ich habe das bei meinem Beispiel mit deiner uncheck_all Funktion getestet und hatte keinen Error:

            const docs = listview.get_checked_items(true);
            frappe.call({
                method: "path.to.function",
                args: {
                    docs: "docs"
                },
                callback: function (r) {
                    $.each(cur_list.$checks, (i, el) => {
                        let docname = $(el).attr("data-name");
                        cur_list.$result
                            .find(`.list-row-checkbox[data-name='${docname}']`)
                            .prop("checked", false);
                    });
                    cur_list.on_row_checked();
                    console.log(get_checked_items());
                }
            })

Vielleicht hilft dir das weiter, falls du es noch nicht gelöst hattest

Hallo Manu,
vielen Dank. Problem ist gelöst.