email tasks field impr

This commit is contained in:
Yuri Kuznetsov
2024-10-14 13:00:52 +03:00
parent 74a40fdf98
commit df17be4f1b
3 changed files with 53 additions and 8 deletions
@@ -14,7 +14,7 @@
"columns": {
"status": "status"
},
"view": "views/fields/link-multiple-with-status",
"view": "crm:views/task/fields/tasks",
"customizationDefaultDisabled": true
}
},
@@ -0,0 +1,38 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
import LinkMultipleWithStatusFieldView from 'views/fields/link-multiple-with-status';
export default class extends LinkMultipleWithStatusFieldView {
setup() {
super.setup();
this.canceledStatusList = this.getMetadata().get(`scopes.Task.canceledStatusList`) || [];
}
}
@@ -30,6 +30,12 @@ import LinkMultipleFieldView from 'views/fields/link-multiple';
class LinkMultipleWithStatusFieldView extends LinkMultipleFieldView {
/**
* @protected
* @type {string[]}
*/
canceledStatusList
setup() {
super.setup();
@@ -45,6 +51,8 @@ class LinkMultipleWithStatusFieldView extends LinkMultipleFieldView {
this.styleMap = this.getMetadata()
.get(['entityDefs', this.foreignScope, 'fields', this.statusField, 'style']) || {};
this.canceledStatusList = [];
}
getAttributeList() {
@@ -56,15 +64,15 @@ class LinkMultipleWithStatusFieldView extends LinkMultipleFieldView {
}
getDetailLinkHtml(id, name) {
let status = (this.columns[id] || {}).status;
const status = (this.columns[id] || {}).status;
if (!status) {
return super.getDetailLinkHtml(id, name);
}
let style = this.styleMap[status];
const style = this.styleMap[status];
let targetStyleList = ['success', 'danger'];
const targetStyleList = ['success', 'info'];
if (!style || !~targetStyleList.indexOf(style)) {
return super.getDetailLinkHtml(id, name);
@@ -74,12 +82,11 @@ class LinkMultipleWithStatusFieldView extends LinkMultipleFieldView {
if (style === 'success') {
iconStyle = 'fas fa-check text-success small';
}
else if (style === 'danger') {
iconStyle = 'fas fa-times text-danger small';
} else if (this.canceledStatusList.includes(status)) {
iconStyle = `fas fa-times text-${style} small`;
}
return '<span class="' + iconStyle + '"></span> ' +
return `<span class="${iconStyle}" style="display: inline-block; min-width: 12px"></span> ` +
super.getDetailLinkHtml(id, name);
}
}