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');