From 1b6a37f03b16f7d62dc0c4fc602ac8ea1a9c186d Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Tue, 6 Jul 2021 19:28:56 +0300 Subject: [PATCH] fix(plugin-data-viewer): CB-1020 change constraints orderPosition logic --- .../ResultSet/ResultSetConstraintAction.ts | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/Actions/ResultSet/ResultSetConstraintAction.ts b/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/Actions/ResultSet/ResultSetConstraintAction.ts index 39ab27591b..be74c3e409 100644 --- a/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/Actions/ResultSet/ResultSetConstraintAction.ts +++ b/webapp/packages/plugin-data-viewer/src/DatabaseDataModel/Actions/ResultSet/ResultSetConstraintAction.ts @@ -59,24 +59,19 @@ export class ResultSetConstraintAction extends DatabaseDataAction constraint.attribute !== attribute); } - private reorderConstraints() { - if (!this.source.options) { - return; - } - - this.source.options.constraints = this.source.options.constraints - .map((constaint, idx) => ({ ...constaint, orderPosition: idx })); - } - private deleteEmptyConstraint(attribute: string) { const constraint = this.get(attribute); if (constraint && !isFilterConstraint(constraint) && !isOrderConstraint(constraint)) { this.deleteConstraint(attribute); - this.reorderConstraints(); } } + private getMaxOrderPosition() { + return Math.max(0, ...this.orderConstraints + .map(constraint => constraint.orderPosition !== undefined ? constraint.orderPosition + 1 : -1)); + } + get(attribute: string): SqlDataFilterConstraint | undefined { if (!this.source.options) { throw new Error('Options must be provided'); @@ -111,7 +106,7 @@ export class ResultSetConstraintAction extends DatabaseDataAction