Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bugfix_search_not_working_with_pagination #980

Merged
merged 23 commits into from
Sep 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
cf1f5f1
Merge branch 'master' of https://github.com/timisenco2015/common-host…
timisenco2015 Aug 22, 2023
51559bc
fix: fix search field not working with pagination
timisenco2015 Aug 24, 2023
203f537
bugfix_search_not_working_with_pagination
timisenco2015 Aug 24, 2023
73fe22b
fix: updated the search algorithm for the server-side pagination
timisenco2015 Aug 28, 2023
b776069
Merge branch 'master' of https://github.com/timisenco2015/common-host…
timisenco2015 Aug 28, 2023
d0829c3
Merge branch 'FORMS-764_api_pagination_ehancement' into FORMS-764_api…
timisenco2015 Aug 28, 2023
d530532
fix: updated the search algorithm for the server-side pagination
timisenco2015 Aug 28, 2023
4c93680
Merge branch 'master' into FORMS-764_api_pagination_ehancement
WalterMoar Aug 28, 2023
605e768
Merge branch 'master' of https://github.com/timisenco2015/common-host…
timisenco2015 Sep 5, 2023
2879066
Merge branch 'FORMS-764_api_pagination_ehancement' of https://github.…
timisenco2015 Sep 5, 2023
7c1aac2
update: update branch with master branch
timisenco2015 Sep 5, 2023
2043375
fix: changes range end calculation in pagination
timisenco2015 Sep 6, 2023
9244cd5
fix: replace message displayed when search did not match records
timisenco2015 Sep 6, 2023
30f38d0
fix wrong message displayed when search did not match any record
timisenco2015 Sep 6, 2023
e97da8d
fix: filtered out submissionId from the submissions data when searching
timisenco2015 Sep 7, 2023
0a7126b
fix: filtered out submissionId from the submissions data when searching
timisenco2015 Sep 7, 2023
3ffbb08
filtered out submissionId from the submissions data when searching
timisenco2015 Sep 7, 2023
fc04b5e
fix: fix search functionalitity in submissions pages to be case-insen…
timisenco2015 Sep 8, 2023
afc64bf
fix: change case-sensitive to case-insensitive search in submission p…
timisenco2015 Sep 8, 2023
876dc23
fix: backend units test and some fixes
timisenco2015 Sep 11, 2023
7d0d3ad
update: update branch with upstream master branch
timisenco2015 Sep 13, 2023
14a6ef3
Merge branch 'master' into FORMS-764_api_pagination_ehancement
timisenco2015 Sep 13, 2023
38a7690
fix: fixed date search not marching
timisenco2015 Sep 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/frontend/src/components/designer/FormViewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ export default {
return this.$t('trans.formViewer.formScheduleExpireMessage');
},
...mapGetters('auth', ['authenticated', 'token', 'tokenParsed', 'user']),
...mapGetters('form', ['lang', 'isRTL', 'lang']),
...mapGetters('form', ['lang', 'isRTL']),
NOTIFICATIONS_TYPES() {
return NotificationTypes;
},
Expand Down
41 changes: 33 additions & 8 deletions app/frontend/src/components/forms/SubmissionsTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,12 @@
<!-- search input -->
<div class="submissions-search">
<v-text-field
v-model="search"
append-icon="mdi-magnify"
:label="$t('trans.submissionsTable.search')"
single-line
hide-details
class="pb-5"
@input="handleSearch"
:class="{ label: isRTL }"
:lang="lang"
/>
Expand All @@ -124,12 +124,16 @@
:headers="HEADERS"
item-key="submissionId"
:items="submissionTable"
:search="search"
:page="PAGE_RESET"
:loading="loading"
:show-select="!switchSubmissionView"
v-model="selectedSubmissions"
:loading-text="$t('trans.submissionsTable.loadingText')"
:no-data-text="$t('trans.submissionsTable.noDataText')"
:no-data-text="
searchEnabled
? $t('trans.submissionsTable.noMachingRecordText')
: $t('trans.submissionsTable.noDataText')
"
:lang="lang"
:server-items-length="totalSubmissions"
@update:options="updateTableOptions"
Expand Down Expand Up @@ -327,7 +331,7 @@
import { mapGetters, mapActions } from 'vuex';
import { FormManagePermissions } from '@/utils/constants';
import moment from 'moment';

import _ from 'lodash';
import { faTrash } from '@fortawesome/free-solid-svg-icons';
import { library } from '@fortawesome/fontawesome-svg-core';
library.add(faTrash);
Expand All @@ -345,7 +349,8 @@ export default {
currentUserOnly: false,
deletedOnly: false,
itemsPerPage: 10,
page: 0,
page: 1,
pageReset: 0,
filterData: [],
sortBy: undefined,
sortDesc: false,
Expand All @@ -369,6 +374,7 @@ export default {
loading: true,
restoreItem: {},
search: '',
searchEnabled: false,
showColumnsDialog: false,
showRestoreDialog: false,
submissionTable: [],
Expand Down Expand Up @@ -494,7 +500,9 @@ export default {
},
];
},

PAGE_RESET() {
return this.pageReset;
},
SELECT_COLUMNS_HEADERS() {
return [...this.FILTER_HEADERS, ...this.MODIFY_HEADERS].concat(
this.formFields?.map((ff) => {
Expand Down Expand Up @@ -634,7 +642,6 @@ export default {
? this.deleteSingleSubs()
: this.deleteMultiSubs();
},

async restoreSub() {
this.singleSubmissionRestore
? this.restoreSingleSub()
Expand Down Expand Up @@ -679,6 +686,8 @@ export default {
filterformSubmissionStatusCode: true,
sortBy: this.sortBy,
sortDesc: this.sortDesc,
search: this.search,
searchEnabled: this.searchEnabled,
createdAt: Object.values({
minDate:
this.userFormPreferences &&
Expand Down Expand Up @@ -818,9 +827,25 @@ export default {

await this.populateSubmissionsTable();
},
async handleSearch(value) {
this.searchEnabled = true;
this.search = value;
if (value === '') {
this.page = 0;
this.pageReset = 0;
this.searchEnabled = false;
await this.getSubmissionData();
} else {
this.page = 0;
this.pageReset = 1;
this.debounceInput();
}
},
},

mounted() {
this.debounceInput = _.debounce(async () => {
await this.getSubmissionData();
}, 300);
this.refreshSubmissions();
},
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
:class="isRTL ? 'float-left' : 'float-right'"
>
<v-text-field
v-model="search"
@input="handleSearch"
append-icon="mdi-magnify"
:label="$t('trans.mySubmissionsTable.search')"
single-line
Expand All @@ -84,9 +84,14 @@
item-key="title"
:items="submissionTable"
:search="search"
:page="PAGE_RESET"
:loading="loading"
:loading-text="$t('trans.mySubmissionsTable.loadingText')"
:no-data-text="$t('trans.mySubmissionsTable.noDataText')"
:no-data-text="
searchEnabled
? $t('trans.mySubmissionsTable.noMachingRecordText')
: $t('trans.mySubmissionsTable.noDataText')
"
:lang="lang"
:server-items-length="totalSubmissions"
@update:options="updateTableOptions"
Expand Down Expand Up @@ -155,9 +160,12 @@ export default {
return {
headers: [],
itemsPerPage: 10,
page: 0,
page: 1,
pageReset: 0,
filterData: [],
preSelectedData: [],
search: '',
searchEnabled: false,
sortBy: undefined,
sortDesc: false,
filterIgnore: [
Expand All @@ -180,7 +188,6 @@ export default {
showColumnsDialog: false,
submissionTable: [],
loading: true,
search: '',
};
},
computed: {
Expand Down Expand Up @@ -265,7 +272,9 @@ export default {
(h) => !this.filterIgnore.some((fd) => fd.value === h.value)
);
},

PAGE_RESET() {
return this.pageReset;
},
HEADERS() {
let headers = this.DEFAULT_HEADERS;

Expand Down Expand Up @@ -350,6 +359,8 @@ export default {
itemsPerPage: this.itemsPerPage,
page: this.page,
sortBy: this.sortBy,
search: this.search,
searchEnabled: this.searchEnabled,
sortDesc: this.sortDesc,
});
// Build up the list of forms for the table
Expand Down Expand Up @@ -388,6 +399,20 @@ export default {
this.filterData = data;
this.showColumnsDialog = false;
},
async handleSearch(value) {
this.searchEnabled = true;
this.search = value;
if (value === '') {
this.page = 0;
this.pageReset = 0;
this.searchEnabled = false;
await this.populateSubmissionsTable();
} else {
this.page = 0;
this.pageReset = 1;
this.debounceInput();
}
},
},

async mounted() {
Expand All @@ -397,8 +422,10 @@ export default {
formVersionId: this.form.versions[0].id,
});
});

await this.populateSubmissionsTable();
this.debounceInput = _.debounce(async () => {
await this.populateSubmissionsTable();
}, 300);
},
};
</script>
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/ar/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "البريد الالكتروني مطلوب"
},
"submissionsTable": {
"noMachingRecordText": "لم يتم العثور على سجلات مطابقة",
"submissions": "التقديمات",
"submissionsTable": "الجدول",
"selectColumns": "حدد الأعمدة",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "تحرير هذه المسودة"
},
"mySubmissionsTable": {
"noMachingRecordText": "لم يتم العثور على سجلات مطابقة",
"previousSubmissions": "عمليات الإرسال السابقة",
"selectColumns": "حدد الأعمدة",
"createNewSubmission": "إنشاء إرسال جديد",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/de/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "E-Mail ist erforderlich"
},
"submissionsTable": {
"noMachingRecordText": "Keine übereinstimmenden Aufzeichnungen gefunden",
"submissions": "Einsendungen",
"submissionsTable": "Einreichungstabelle",
"selectColumns": "Wählen Sie Spalten aus",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "Bearbeiten Sie diesen Entwurf"
},
"mySubmissionsTable": {
"noMachingRecordText": "Keine übereinstimmenden Aufzeichnungen gefunden",
"previousSubmissions": "Frühere Einsendungen",
"selectColumns": "Wählen Sie Spalten aus",
"createNewSubmission": "Erstellen Sie eine neue Einreichung",
Expand Down
4 changes: 3 additions & 1 deletion app/frontend/src/internationalization/trans/chefs/en/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@
"search": "Search",
"loadingText": "Loading... Please wait",
"noDataText": "There are no submissions for this form",
"noMachingRecordText": "No matching records found",
"delSelectedSubmissions": "Delete selected submissions",
"resSelectedSubmissions": "Restore selected submissions",
"yes": "YES",
Expand Down Expand Up @@ -492,7 +493,8 @@
"errSubmittingForm": "An error occurred submitting this form",
"errorSavingFile": "Error saving files. Filename: {fileName}. Error: {error}",
"submittingDraftErrMsg": "An error occurred while saving a draft",
"submittingDraftConsErrMsg": "Error saving draft. SubmissionId: {submissionId}. Error: {error}"
"submittingDraftConsErrMsg": "Error saving draft. SubmissionId: {submissionId}. Error: {error}",
"noMachingRecordText": "No matching records found"
},
"notesPanel": {
"addNewNote": "Add New Note",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/es/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "Correo electrónico es requerido"
},
"submissionsTable": {
"noMachingRecordText": "No se encontraron registros coincidentes",
"submissions": "Presentaciones",
"submissionsTable": "Tabla de envíos",
"selectColumns": "Seleccionar columnas",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "Editar este borrador"
},
"mySubmissionsTable": {
"noMachingRecordText": "No se encontraron registros coincidentes",
"previousSubmissions": "Envíos anteriores",
"selectColumns": "Seleccionar columnas",
"createNewSubmission": "Crear una nueva presentación",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/fa/fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "ایمیل الزامی است"
},
"submissionsTable": {
"noMachingRecordText": "هیچ رکورد منطبقی یافت نشد",
"submissions": "موارد ارسالی",
"submissionsTable": "جدول ارسالی",
"selectColumns": "ستون ها را انتخاب کنید",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "این پیش نویس را ویرایش کنید"
},
"mySubmissionsTable": {
"noMachingRecordText": "هیچ رکورد منطبقی یافت نشد",
"previousSubmissions": "ارسالی های قبلی",
"selectColumns": "ستون ها را انتخاب کنید",
"createNewSubmission": "یک ارسال جدید ایجاد کنید",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/fr/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "L'e-mail est requis"
},
"submissionsTable": {
"noMachingRecordText": "Aucun enregistrements correspondants trouvés",
"submissions": "Soumissions",
"submissionsTable": "Tableau des soumissions",
"selectColumns": "Sélectionnez les colonnes",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "Modifier ce brouillon"
},
"mySubmissionsTable": {
"noMachingRecordText": "Aucun enregistrements correspondants trouvés",
"previousSubmissions": "Soumissions précédentes",
"selectColumns": "Sélectionnez les colonnes",
"createNewSubmission": "Créer une nouvelle soumission",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/hi/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "ईमेल की जरूरत है"
},
"submissionsTable": {
"noMachingRecordText": "कोई मिलान रिकॉर्ड पाया",
"submissions": "प्रविष्टियों",
"submissionsTable": "सबमिशनटेबल",
"selectColumns": "कॉलम चुनें",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "इस ड्राफ्ट को संपादित करें"
},
"mySubmissionsTable": {
"noMachingRecordText": "कोई मिलान रिकॉर्ड पाया",
"previousSubmissions": "पिछली प्रस्तुतियाँ",
"selectColumns": "कॉलम चुनें",
"createNewSubmission": "एक नया सबमिशन बनाएं",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/it/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "L'e-mail è obbligatoria"
},
"submissionsTable": {
"noMachingRecordText": "nessuna corrispondenza trovata",
"submissions": "Contributi",
"submissionsTable": "Tabella degli invii",
"selectColumns": "Seleziona Colonne",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "Modifica questa bozza"
},
"mySubmissionsTable": {
"noMachingRecordText": "nessuna corrispondenza trovata",
"previousSubmissions": "Invii precedenti",
"selectColumns": "Seleziona Colonne",
"createNewSubmission": "Crea un nuovo invio",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/ja/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "電子メールは必須です"
},
"submissionsTable": {
"noMachingRecordText": "該当する記録が見つかりません",
"submissions": "提出物",
"submissionsTable": "提出物テーブル",
"selectColumns": "列の選択",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "この下書きを編集する"
},
"mySubmissionsTable": {
"noMachingRecordText": "該当する記録が見つかりません",
"previousSubmissions": "以前の投稿",
"selectColumns": "列の選択",
"createNewSubmission": "新しい提出物を作成する",
Expand Down
2 changes: 2 additions & 0 deletions app/frontend/src/internationalization/trans/chefs/ko/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@
"emailRequired": "이메일이 필요합니다"
},
"submissionsTable": {
"noMachingRecordText": "일치하는 기록이 없습니다",
"submissions": "제출물",
"submissionsTable": "제출물표",
"selectColumns": "열 선택",
Expand Down Expand Up @@ -464,6 +465,7 @@
"editThisDraft": "이 초안 편집"
},
"mySubmissionsTable": {
"noMachingRecordText": "일치하는 기록이 없습니다",
"previousSubmissions": "이전 제출물",
"selectColumns": "열 선택",
"createNewSubmission": "새 제출물 만들기",
Expand Down
Loading
Loading