diff --git a/resources/js/requests/components/RequestsListing.vue b/resources/js/requests/components/RequestsListing.vue index 0e7d0c7544..6cedd7dbda 100644 --- a/resources/js/requests/components/RequestsListing.vue +++ b/resources/js/requests/components/RequestsListing.vue @@ -399,32 +399,7 @@ export default { const CancelToken = ProcessMaker.apiClient.CancelToken; - let pmql = ''; - - if (this.pmql !== undefined) { - pmql = this.pmql; - } - - let filter = this.filter; - - if (filter && filter.length) { - if (filter.isPMQL()) { - pmql = `(${pmql}) and (${filter})`; - filter = ''; - } - } - - if (this.previousFilter !== filter) { - this.page = 1; - } - - this.previousFilter = filter; - - if (this.previousPmql !== pmql) { - this.page = 1; - } - - this.previousPmql = pmql; + const { pmql, filter } = this.buildPmqlAndFilter(); // Load from our api client ProcessMaker.apiClient @@ -467,6 +442,37 @@ export default { }); }); }, + buildPmqlAndFilter() { + let pmql = ''; + + if (this.pmql !== undefined) { + pmql = this.pmql; + } + + let filter = this.filter; + + if (filter?.length) { + if (filter.isPMQL()) { + pmql = (pmql ? `${pmql} and ` : '') + `(${filter})`; + filter = ''; + } + } + + if (this.previousFilter !== filter) { + this.page = 1; + } + + this.previousFilter = filter; + + if (this.previousPmql !== pmql) { + this.page = 1; + } + + this.previousPmql = pmql; + + return { pmql, filter }; + + }, handleRowClick(row) { window.location.href = this.openRequest(row, 1); }, diff --git a/resources/js/tasks/components/TasksList.vue b/resources/js/tasks/components/TasksList.vue index 6ddd97645e..8ed0487904 100644 --- a/resources/js/tasks/components/TasksList.vue +++ b/resources/js/tasks/components/TasksList.vue @@ -71,9 +71,9 @@