From e12e7ec95a62928b6812d2f9267fc2045c56c785 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 10 Jan 2024 15:26:30 +0200 Subject: [PATCH] link selectOrderBy --- client/src/views/fields/link.js | 20 ++++++++++++++++++++ client/src/views/modals/select-records.js | 13 ++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/client/src/views/fields/link.js b/client/src/views/fields/link.js index 6e9999f445..1e7cfe8353 100644 --- a/client/src/views/fields/link.js +++ b/client/src/views/fields/link.js @@ -543,6 +543,15 @@ class LinkFieldView extends BaseFieldView { url += '&' + $.param({'where': filters.advanced}); } + if (this.panelDefs.selectOrderBy) { + const direction = this.panelDefs.selectOrderDirection || 'asc'; + + url += '&' + $.param({ + orderBy: this.panelDefs.selectOrderBy, + order: direction, + }); + } + resolve(url); }); }); @@ -563,6 +572,15 @@ class LinkFieldView extends BaseFieldView { url += '&' + $.param({'primaryFilter': primary}); } + if (this.panelDefs.selectOrderBy) { + const direction = this.panelDefs.selectOrderDirection || 'asc'; + + url += '&' + $.param({ + orderBy: this.panelDefs.selectOrderBy, + order: direction, + }); + } + return url; } @@ -1111,6 +1129,8 @@ class LinkFieldView extends BaseFieldView { filterList: this.getSelectFilterList(), createAttributesProvider: createAttributesProvider, layoutName: this.panelDefs.selectLayout, + orderBy: this.panelDefs.selectOrderBy, + orderDirection: this.panelDefs.selectOrderDirection, }, view => { view.render(); diff --git a/client/src/views/modals/select-records.js b/client/src/views/modals/select-records.js index 7b91f3b3ec..aab750a336 100644 --- a/client/src/views/modals/select-records.js +++ b/client/src/views/modals/select-records.js @@ -126,12 +126,15 @@ class SelectRecordsModalView extends ModalView { this.scope = this.entityType = this.options.scope || this.scope; - const customDefaultOrderBy = this.getMetadata().get(['clientDefs', this.scope, 'selectRecords', 'orderBy']); - const customDefaultOrder = this.getMetadata().get(['clientDefs', this.scope, 'selectRecords', 'order']); + const orderBy = this.options.orderBy || + this.getMetadata().get(['clientDefs', this.scope, 'selectRecords', 'orderBy']); - if (customDefaultOrderBy) { - this.defaultOrderBy = customDefaultOrderBy; - this.defaultOrder = customDefaultOrder || false; + const order = this.options.orderDirection || + this.getMetadata().get(['clientDefs', this.scope, 'selectRecords', 'order']); + + if (orderBy) { + this.defaultOrderBy = orderBy; + this.defaultOrder = order || false; } if (this.noCreateScopeList.indexOf(this.scope) !== -1) {