From 61603d038933270176640fb18505be613576b9af Mon Sep 17 00:00:00 2001 From: Matthias Stein Date: Fri, 6 Dec 2024 21:40:10 +0100 Subject: [PATCH] Fix type filter --- .../PortalItemLoaderController.ts | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/js/bundles/dn_portalitemloader/PortalItemLoaderController.ts b/src/main/js/bundles/dn_portalitemloader/PortalItemLoaderController.ts index b4217bc..98409df 100644 --- a/src/main/js/bundles/dn_portalitemloader/PortalItemLoaderController.ts +++ b/src/main/js/bundles/dn_portalitemloader/PortalItemLoaderController.ts @@ -118,7 +118,6 @@ export default class PortalItemLoaderWidgetController { private async queryPortal(portal: __esri.Portal, pagination: any, searchText: string, spaceFilter: "all" | "organisation" | "my-content" | "fav", typeFilter: string, sortAscending: boolean, sortByField: string): Promise<__esri.PortalQueryResult> { - const model = this.portalItemLoaderModel; const page = pagination.page; const rowsPerPage = pagination.rowsPerPage; @@ -147,19 +146,23 @@ export default class PortalItemLoaderWidgetController { } query += "(title:" + searchText + " OR description:" + searchText + " OR snippet:" + searchText + " OR tags:" + searchText + ")"; } - if (typeFilter !== "all") { + if (typeFilter.length) { if (query !== "") { query += " AND "; } - model.typeFilter.forEach((type: string, index: number) => { - if (index === 0) { - query += "(type:" + type; - } else if (index === model.typeFilters.length - 1) { - query += " OR type:" + type + ")"; - } else { - query += " OR type:" + type; - } - }); + if (typeFilter.length === 1) { + query += "type:" + typeFilter[0]; + } else { + typeFilter.forEach((type: string, index: number) => { + if (index === 0) { + query += "(type:" + type; + } else if (index === typeFilter.length - 1) { + query += " OR type:" + type + ")"; + } else { + query += " OR type:" + type; + } + }); + } } const queryParams: __esri.PortalQueryParamsProperties = { query: query,