diff --git a/client/res/templates/fields/link/detail.tpl b/client/res/templates/fields/link/detail.tpl index b2df4c10aa..bc212dfff3 100644 --- a/client/res/templates/fields/link/detail.tpl +++ b/client/res/templates/fields/link/detail.tpl @@ -1,5 +1,5 @@ {{#if url}} -{{#if iconHtml}}{{{iconHtml}}}{{/if}}{{nameValue}} +{{#if iconHtml}}{{{iconHtml}}}{{/if}}{{nameValue}} {{else}} {{#if valueIsSet}} {{translate 'None'}} diff --git a/client/res/templates/fields/user-with-avatar/detail.tpl b/client/res/templates/fields/user-with-avatar/detail.tpl index c5f73f8db7..3a07bebb98 100644 --- a/client/res/templates/fields/user-with-avatar/detail.tpl +++ b/client/res/templates/fields/user-with-avatar/detail.tpl @@ -1,5 +1,5 @@ {{#if idValue}} -{{{avatar}}}{{nameValue}} +{{{avatar}}}{{nameValue}} {{else}} {{translate 'None'}} {{/if}} diff --git a/client/src/views/fields/assigned-users.js b/client/src/views/fields/assigned-users.js index 853641bdb2..9b19d7d283 100644 --- a/client/src/views/fields/assigned-users.js +++ b/client/src/views/fields/assigned-users.js @@ -30,6 +30,8 @@ import LinkMultipleFieldView from 'views/fields/link-multiple'; class AssignedUsersFieldView extends LinkMultipleFieldView { + linkClass = 'text-default' + init() { this.assignmentPermission = this.getAcl().getPermissionLevel('assignmentPermission'); diff --git a/client/src/views/fields/collaborators.js b/client/src/views/fields/collaborators.js index 632dd54c40..e6cad4f7c3 100644 --- a/client/src/views/fields/collaborators.js +++ b/client/src/views/fields/collaborators.js @@ -30,6 +30,8 @@ import LinkMultipleFieldView from 'views/fields/link-multiple'; export default class CollaboratorsFieldView extends LinkMultipleFieldView { + linkClass = 'text-default' + init() { this.assignmentPermission = this.getAcl().getPermissionLevel('assignmentPermission'); diff --git a/client/src/views/fields/followers.js b/client/src/views/fields/followers.js index 30bdd92582..2ef1358f7d 100644 --- a/client/src/views/fields/followers.js +++ b/client/src/views/fields/followers.js @@ -32,6 +32,7 @@ class FollowersFieldView extends LinkMultipleFieldView { foreignScope = 'User' portionSize = 6 + linkClass = 'text-default' setup() { super.setup(); diff --git a/client/src/views/fields/link-multiple.js b/client/src/views/fields/link-multiple.js index 1a4c2ca3e3..d13b057ff4 100644 --- a/client/src/views/fields/link-multiple.js +++ b/client/src/views/fields/link-multiple.js @@ -76,7 +76,6 @@ class LinkMultipleFieldView extends BaseFieldView { editTemplate = 'fields/link-multiple/edit' searchTemplate = 'fields/link-multiple/search' - // noinspection JSUnusedGlobalSymbols listLinkTemplateContent = ` {{#if value}} @@ -247,6 +246,14 @@ class LinkMultipleFieldView extends BaseFieldView { */ iconHtml = '' + /** + * A link element class name. Applicable in the detail mode. + * + * @protected + * @since 9.1.6 + */ + linkClass + /** @inheritDoc */ events = { /** @this LinkMultipleFieldView */ @@ -834,6 +841,8 @@ class LinkMultipleFieldView extends BaseFieldView { if (this.mode === this.MODE_LIST) { $a.addClass('text-default'); + } else if (this.linkClass) { + $a.addClass(this.linkClass); } if (iconHtml) { diff --git a/client/src/views/fields/link.js b/client/src/views/fields/link.js index 3ab61c5e30..4c0605ceed 100644 --- a/client/src/views/fields/link.js +++ b/client/src/views/fields/link.js @@ -209,6 +209,14 @@ class LinkFieldView extends BaseFieldView { */ autocompleteOnEmpty = false + /** + * A link element class name. Applicable in the detail mode. + * + * @protected + * @since 9.1.6 + */ + linkClass + /** @inheritDoc */ events = { /** @this LinkFieldView */ @@ -265,6 +273,7 @@ class LinkFieldView extends BaseFieldView { iconHtml: iconHtml, url: this.getUrl(), createButton: createButton, + linkClass: this.linkClass, }; } diff --git a/client/src/views/fields/user.js b/client/src/views/fields/user.js index 02ff10a204..aa8ffa809b 100644 --- a/client/src/views/fields/user.js +++ b/client/src/views/fields/user.js @@ -32,6 +32,7 @@ import Autocomplete from 'ui/autocomplete'; class UserFieldView extends LinkFieldView { searchTemplate = 'fields/user/search' + linkClass = 'text-default' setupSearch() { super.setupSearch(); diff --git a/client/src/views/stream/reactions.js b/client/src/views/stream/reactions.js index 05487a12b5..52aba986b3 100644 --- a/client/src/views/stream/reactions.js +++ b/client/src/views/stream/reactions.js @@ -27,7 +27,6 @@ ************************************************************************/ import View from 'view'; -import Collection from 'collection'; import ListRecordView from 'views/record/list'; import ReactionsHelper from 'helpers/misc/reactions'; @@ -42,7 +41,7 @@ export default class NoteReactionsView extends View { title="{{label}}" data-type="{{type}}" > - + {{count}} {{/each}} diff --git a/frontend/less/espo/custom.less b/frontend/less/espo/custom.less index 48fdc26689..36989fac9f 100644 --- a/frontend/less/espo/custom.less +++ b/frontend/less/espo/custom.less @@ -2369,13 +2369,18 @@ td > span.color-icon { span.text-primary { color: var(--link-hover-color); } + + span.text-primary { + color: var(--link-hover-color); + } + + span.text-warning { + color: var(--state-warning-text-10); + } } text-align: right; min-width: var(--30px); - - - } } } @@ -4102,21 +4107,36 @@ body > .autocomplete-suggestions.text-search-suggestions { width: var(--220px); } + &:has(.popover-content > .list > table) { + padding-left: 0; + padding-right: 0; + } + .popover-content { &:has(> .list > table) { padding: 0; } - > .list > table > tbody { - > tr { - > td:first-child { - padding-left: var(--14px); - } + > .list > table { + > tbody { + > tr { + > td:first-child { + padding-left: var(--14px); + } - > td:last-child { - padding-right: var(--14px); + > td:last-child { + padding-right: var(--14px); + border-bottom: 0; + } + + > td { + border-left: 0; + border-right: 0; + } } } + + background-color: unset; } } }