From 720d831f6e97ec8d1aec5af8aa6df07a80468f29 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Fri, 16 Feb 2024 15:16:06 -0800 Subject: [PATCH 1/2] Use advanced filter for defaults and fix translations --- .../Http/Controllers/RequestController.php | 2 +- .../Http/Controllers/TaskController.php | 2 +- .../js/common/advancedFilterStatusMixin.js | 7 +----- .../common/setDefaultAdvancedFilterStatus.js | 25 +++++++++++++++++++ resources/js/components/shared/PmqlInput.vue | 9 ++++++- .../requests/components/RequestsListing.vue | 18 ++++++------- resources/js/requests/index.js | 13 ++-------- resources/js/tasks/components/TasksList.vue | 18 ++++++------- resources/js/tasks/index.js | 14 ++--------- resources/lang/en.json | 5 +++- 10 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 resources/js/common/setDefaultAdvancedFilterStatus.js diff --git a/ProcessMaker/Http/Controllers/RequestController.php b/ProcessMaker/Http/Controllers/RequestController.php index 52798281da..36f26e271c 100644 --- a/ProcessMaker/Http/Controllers/RequestController.php +++ b/ProcessMaker/Http/Controllers/RequestController.php @@ -70,7 +70,7 @@ public function index($type = null) SavedSearch::KEY_REQUESTS, ); if ($defaultSavedSearch) { - $defaultColumns = SavedSearchController::adjustColumnsOf($defaultSavedSearch->columns); + $defaultColumns = SavedSearchController::adjustColumnsOf($defaultSavedSearch->columns, SavedSearch::TYPE_REQUEST); } else { $defaultColumns = null; } diff --git a/ProcessMaker/Http/Controllers/TaskController.php b/ProcessMaker/Http/Controllers/TaskController.php index 24948a90c3..0acf2a4718 100644 --- a/ProcessMaker/Http/Controllers/TaskController.php +++ b/ProcessMaker/Http/Controllers/TaskController.php @@ -52,7 +52,7 @@ public function index() SavedSearch::KEY_TASKS, ); if ($defaultSavedSearch) { - $defaultColumns = SavedSearchController::adjustColumnsOf($defaultSavedSearch->columns); + $defaultColumns = SavedSearchController::adjustColumnsOf($defaultSavedSearch->columns, SavedSearch::TYPE_TASK); } else { $defaultColumns = null; } diff --git a/resources/js/common/advancedFilterStatusMixin.js b/resources/js/common/advancedFilterStatusMixin.js index 778a200489..d900237502 100644 --- a/resources/js/common/advancedFilterStatusMixin.js +++ b/resources/js/common/advancedFilterStatusMixin.js @@ -18,7 +18,7 @@ export default { for(const filter of filters) { result.push([ this.formatBadgeSubject(filter), - [{name: this.formatBadgeValue(filter), advanced_filter: true}] + [{name: filter.value, operator: filter.operator, advanced_filter: true}] ]); if (filter.or && filter.or.length > 0) { @@ -29,11 +29,6 @@ export default { formatBadgeSubject(filter) { return get(filter, '_column_label', ''); }, - formatBadgeValue(filter) { - let result = filter.operator; - result = result + " " + filter.value; - return result; - }, }, computed: { formatAdvancedFilterForBadges() { diff --git a/resources/js/common/setDefaultAdvancedFilterStatus.js b/resources/js/common/setDefaultAdvancedFilterStatus.js new file mode 100644 index 0000000000..a95dac93e7 --- /dev/null +++ b/resources/js/common/setDefaultAdvancedFilterStatus.js @@ -0,0 +1,25 @@ +import { get } from "lodash"; + +export default (status, ignoreSavedFilter = false) => { + let advancedFilter = get(window, 'ProcessMaker.advanced_filter.filters', []); + if (ignoreSavedFilter) { + // Remove any Status filters that might be set by the user + advancedFilter = advancedFilter.filter(f => f.subject?.type !== "Status"); + } else { + if (advancedFilter.some(f => f.subject?.type === "Status")) { + // Already has a status filter set by the user + return; + } + } + advancedFilter.push({ + subject: { + type: "Status" + }, + operator: "=", + value: status, + _column_field: "status", + _column_label: "Status" + }); + window.ProcessMaker.advanced_filter.filters = advancedFilter; + +} \ No newline at end of file diff --git a/resources/js/components/shared/PmqlInput.vue b/resources/js/components/shared/PmqlInput.vue index 779d1a0aad..0b5d998407 100755 --- a/resources/js/components/shared/PmqlInput.vue +++ b/resources/js/components/shared/PmqlInput.vue @@ -153,7 +153,14 @@ class="selected-filter-item d-flex align-items-center" > {{ $t(capitalizeString(filter[0])) }} - {{ filter[1][0].name ? filter[1][0].name : filter[1][0].fullname }} + {{ filter[1][0].operator ?? '' }} + + -
{{ column.label }}
+
{{ $t(column.label) }}