From 89d2d0141428c7658e5b6320e555d5c330c9fc60 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 15 Jan 2020 11:31:52 +0200 Subject: [PATCH] foreign field ordered lists --- .../views/admin/field-manager/fields/foreign/field.js | 10 +++++++--- .../views/admin/field-manager/fields/foreign/link.js | 8 +++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/client/src/views/admin/field-manager/fields/foreign/field.js b/client/src/views/admin/field-manager/fields/foreign/field.js index 92af99ce9a..f0c2f77aa8 100644 --- a/client/src/views/admin/field-manager/fields/foreign/field.js +++ b/client/src/views/admin/field-manager/fields/foreign/field.js @@ -26,7 +26,7 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -Espo.define('views/admin/field-manager/fields/foreign/field', 'views/fields/enum', function (Dep) { +define('views/admin/field-manager/fields/foreign/field', 'views/fields/enum', function (Dep) { return Dep.extend({ @@ -82,6 +82,10 @@ Espo.define('views/admin/field-manager/fields/foreign/field', 'views/fields/enum this.translatedOptions[item] = this.translate(item, 'fields', scope); }, this); + this.params.options = this.params.options.sort(function (v1, v2) { + return this.translate(v1, 'fields', scope).localeCompare(this.translate(v2, 'fields', scope)); + }.bind(this)); + this.params.options.unshift(''); }, @@ -112,7 +116,7 @@ Espo.define('views/admin/field-manager/fields/foreign/field', 'views/fields/enum } } return data; - } - }); + }, + }); }); diff --git a/client/src/views/admin/field-manager/fields/foreign/link.js b/client/src/views/admin/field-manager/fields/foreign/link.js index 6e7c413339..edca26941d 100644 --- a/client/src/views/admin/field-manager/fields/foreign/link.js +++ b/client/src/views/admin/field-manager/fields/foreign/link.js @@ -47,11 +47,17 @@ define('views/admin/field-manager/fields/foreign/link', 'views/fields/enum', fun return true; }, this); + var scope = this.options.scope; + this.translatedOptions = {}; this.params.options.forEach(function (item) { - this.translatedOptions[item] = this.translate(item, 'links', this.options.scope); + this.translatedOptions[item] = this.translate(item, 'links', scope); }, this); + this.params.options = this.params.options.sort(function (v1, v2) { + return this.translate(v1, 'links', scope).localeCompare(this.translate(v2, 'links', scope)); + }.bind(this)); + this.params.options.unshift(''); }, });