From 0e4cf7e5c1608fc2fdb9c0cd7b9f9ff3a30bc2ae Mon Sep 17 00:00:00 2001 From: Pranav C Date: Tue, 23 Nov 2021 16:46:33 +0530 Subject: [PATCH] fix: handle negative offset in pagination Signed-off-by: Pranav C --- .../components/project/spreadsheet/components/pagination.vue | 2 +- packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/project/spreadsheet/components/pagination.vue b/packages/nc-gui/components/project/spreadsheet/components/pagination.vue index 21c188ee9a..8cade551d2 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/pagination.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/pagination.vue @@ -46,7 +46,7 @@ export default { this.page = v }, count(c) { - this.$emit('input', Math.min(this.page, Math.ceil(c / this.size))) + this.$emit('input', Math.max(1, Math.min(this.page, Math.ceil(c / this.size)))) } }, mounted() { diff --git a/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts b/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts index 1a191fd21a..92df679ed5 100644 --- a/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts +++ b/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts @@ -1905,6 +1905,7 @@ class BaseModelSql extends BaseModel { parents.split('~').map((parent, index) => { const { cn, rcn } = this.belongsToRelations.find(({ rtn }) => rtn === parent) || {}; + this.belongsToRelations.find(({ rtn }) => rtn === parent) || {}; const parentIds = [ ...new Set(childs.map(c => c[cn] || c[this.columnToAlias[cn]])) ]; @@ -2162,7 +2163,7 @@ class BaseModelSql extends BaseModel { ), this.config.limitMin ); - obj.offset = args.offset || args.o || 0; + obj.offset = Math.max(+(args.offset || args.o) || 0, 0); obj.fields = args.fields || args.f || '*'; obj.sort = args.sort || args.s; return obj;