From de4fb84a7fe732750ff81c385a62bc164cad8e8b Mon Sep 17 00:00:00 2001 From: Dollerino Date: Mon, 5 Feb 2024 16:17:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A6=D0=98=D0=A2=D0=9A-784=20(=D0=94=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D1=86=D0=B2=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=BC=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=B0,=20=D0=B3=D1=80=D0=B0=D0=B4=D0=B8=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=BB=D0=B8=D0=B2=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BB=D0=B5=D0=B3=D0=B5=D0=BD=D0=B4=D1=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/p8p_gantt.js | 18 +++++++++++++++--- db/PKG_P8PANELS_VISUAL.pck | 3 +++ libs/frappe-gantt/frappe-gantt.js | 3 +++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/components/p8p_gantt.js b/app/components/p8p_gantt.js index 3f39842..83ce867 100644 --- a/app/components/p8p_gantt.js +++ b/app/components/p8p_gantt.js @@ -59,7 +59,8 @@ const P8P_GANTT_TASK_SHAPE = PropTypes.shape({ readOnlyDates: PropTypes.bool, readOnlyProgress: PropTypes.bool, bgColor: PropTypes.string, - textColor: PropTypes.string + textColor: PropTypes.string, + bgProgressColor: PropTypes.string }); //Структура динамического атрибута задачи @@ -72,6 +73,7 @@ const P8P_GANTT_TASK_ATTRIBUTE_SHAPE = PropTypes.shape({ const P8P_GANTT_TASK_COLOR_SHAPE = PropTypes.shape({ bgColor: PropTypes.string, textColor: PropTypes.string, + bgProgressColor: PropTypes.string, desc: PropTypes.string.isRequired }); @@ -126,14 +128,24 @@ const P8PGanttTaskEditor = ({ //Описание легенды для задачи let legend = null; if (Array.isArray(taskColors)) { - const colorDesc = taskColors.find(color => task.bgColor === color.bgColor && task.textColor === color.textColor); + const colorDesc = taskColors.find( + color => task.bgColor === color.bgColor && task.textColor === color.textColor && task.bgProgressColor === color.bgProgressColor + ); if (colorDesc) legend = ( SRESP_ATTR_TASK_TEXT_COLOR, SVALUE => RGANTT.RTASK_COLORS(I).STEXT_COLOR); end if; + if (RGANTT.RTASK_COLORS(I).SBG_PROGRESS_COLOR is not null) then + PKG_XFAST.ATTR(SNAME => SRESP_ATTR_TASK_BG_PRG_COLOR, SVALUE => RGANTT.RTASK_COLORS(I).SBG_PROGRESS_COLOR); + end if; PKG_XFAST.ATTR(SNAME => SRESP_ATTR_DESC, SVALUE => RGANTT.RTASK_COLORS(I).SDESC); /* Закрываем описание цвета задачи */ PKG_XFAST.UP(); diff --git a/libs/frappe-gantt/frappe-gantt.js b/libs/frappe-gantt/frappe-gantt.js index 0ca18a0..da08f9f 100644 --- a/libs/frappe-gantt/frappe-gantt.js +++ b/libs/frappe-gantt/frappe-gantt.js @@ -473,6 +473,9 @@ var Gantt = (function () { class: 'bar-progress', append_to: this.bar_group, }); + //ЦИТК + if (this.task.bgProgressColor) this.$bar_progress.style.fill = this.task.bgProgressColor; + //ЦИТК animateSVG(this.$bar_progress, 'width', 0, this.progress_width); }