diff --git a/application/Espo/Resources/i18n/en_US/FieldManager.json b/application/Espo/Resources/i18n/en_US/FieldManager.json index e2cdd2495a..ff180e8c0a 100644 --- a/application/Espo/Resources/i18n/en_US/FieldManager.json +++ b/application/Espo/Resources/i18n/en_US/FieldManager.json @@ -110,5 +110,34 @@ "datetimeOptional": { "date": "Date" } + }, + "fieldInfo": { + "varchar": "A single-line text.", + "enum": "Selectbox, only one value can be selected.", + "text": "A multiline text with markdown support.", + "date": "Date w/o time.", + "datetime": "Date and time", + "currency": "A currency value. A float number with a currency code.", + "int": "A whole number.", + "float": "A number with a decimal part.", + "bool": "A checkbox. Two possible values: true and false.", + "multiEnum": "A list of values, multiple values can be selected. The list is ordered.", + "checklist": "A list of checkboxes.", + "array": "A list of values, similar to Multi-Enum field.", + "address": "An address with street, city, state, postal code and country.", + "url": "For storing links.", + "wysiwyg": "A text with HTML support.", + "file": "For file uploading.", + "image": "For image uploading.", + "attachmentMultiple": "Allows to upload multiple files.", + "number": "An auto-incrementing number of string type with a possible prefix and specific length.", + "autoincrement": "A generated read-only auto-incrementing integer number.", + "barcode": "A barcode. Can be printed to PDF.", + "email": "A set of email addresses with their parameters: Opted-out, Invalid, Primary.", + "phone": "A set of phone numbers with their parameters: Type, Opted-out, Invalid, Primary.", + "foreign": "A field of a related record. Read-only.", + "link": "A record related through Belongs-To (many-to-one or one-to-one) relationship.", + "linkParent": "A record related through Belongs-To-Parent relationship. Can be of different entity types.", + "linkMultiple": "A set of records related through Has-Many (many-to-many or one-to-many) relationship. Not all relatioships have their link-multiple fields. Only those do, where Link-Multiple parameter(s) is enabled." } } diff --git a/client/res/templates/admin/field-manager/modals/add-field.tpl b/client/res/templates/admin/field-manager/modals/add-field.tpl index a9aa270837..cf2b48d28e 100644 --- a/client/res/templates/admin/field-manager/modals/add-field.tpl +++ b/client/res/templates/admin/field-manager/modals/add-field.tpl @@ -4,6 +4,9 @@ {{translate this category='fieldTypes' scope='Admin'}} + + + {{/each}} diff --git a/client/src/ui.js b/client/src/ui.js index 2d4a9816bc..bb296dff45 100644 --- a/client/src/ui.js +++ b/client/src/ui.js @@ -429,6 +429,12 @@ define('ui', [], function () { } }); + if (!o.noToggleInit) { + $el.on('click', function () { + $(this).popover('toggle'); + }); + } + if (view) { view.on('remove', function () { $el.popover('destroy'); diff --git a/client/src/views/admin/field-manager/modals/add-field.js b/client/src/views/admin/field-manager/modals/add-field.js index e83c0eddee..5db6f40d6a 100644 --- a/client/src/views/admin/field-manager/modals/add-field.js +++ b/client/src/views/admin/field-manager/modals/add-field.js @@ -75,5 +75,26 @@ define('views/admin/field-manager/modals/add-field', 'views/modal', function (De this.remove(); }, + afterRender: function () { + this.typeList.forEach(function (type) { + var text = this.translate(type, 'fieldInfo', 'FieldManager'); + + var $el = this.$el.find('a.info[data-name="'+type+'"]'); + + if (text === type) { + $el.addClass('hidden'); + return; + } + + var text = this.getHelper().transfromMarkdownText(text, {linksInNewTab: true}).toString(); + + Espo.Ui.popover($el, { + content: text, + placement: 'left', + container: this.$el.find('.modal-body'), + }, this); + }, this); + }, + }); }); diff --git a/client/src/views/header.js b/client/src/views/header.js index 0f72ded60b..9600a23208 100644 --- a/client/src/views/header.js +++ b/client/src/views/header.js @@ -103,6 +103,7 @@ define('views/header', 'view', function (Dep) { isInitialized = true; Espo.Ui.popover($el, { content: text, + noToggleInit: true, }, this); } $el.popover('toggle');