N°2847 - Add lifecycle states default colors

This commit is contained in:
Molkobain
2020-10-05 08:43:32 +02:00
parent 6fb5d20971
commit ea8a8e3afa
4 changed files with 120 additions and 4 deletions

View File

@@ -66,4 +66,11 @@ $ibo-title--status-dot--border-radius: $ibo-border-radius-full !default;
}
.ibo-title--status-dot + .ibo-title--status-label {
margin-left: $ibo-title--status-dot--spacing;
}
@each $sType, $aColors in $ibo-lifecycle-states-colors {
.ibo-title--status-dot.ibo-is-state-#{$sType} {
color: map-get($aColors, 'secondary-color');
background-color: map-get($aColors, 'primary-color');
}
}

View File

@@ -252,7 +252,7 @@ $ibo-color-danger-700: $ibo-color-red-700 !default;
$ibo-color-danger-800: $ibo-color-red-800 !default;
$ibo-color-danger-900: $ibo-color-red-900 !default;
$ibo-caselog-highlight-color-1: $ibo-color-green-700!default;
$ibo-caselog-highlight-color-1: $ibo-color-green-700 !default;
$ibo-caselog-highlight-color-2: $ibo-color-pink-700 !default;
$ibo-caselog-highlight-color-3: $ibo-color-blue-600 !default;
$ibo-caselog-highlight-color-4: $ibo-color-orange-400 !default;
@@ -327,4 +327,80 @@ $ibo-caselog-highlight-colors: ($ibo-caselog-highlight-color-1, $ibo-caselog-hig
--ibo-caselog-color-highlight-5: #{$ibo-caselog-highlight-color-5};
}
$ibo-colors: ('grey', 'blue-grey', 'blue', 'cyan', 'green', 'orange', 'red', 'pink', 'primary', 'secondary', 'information', 'success', 'warning', 'danger');
$ibo-colors: ('grey', 'blue-grey', 'blue', 'cyan', 'green', 'orange', 'red', 'pink', 'primary', 'secondary', 'information', 'success', 'warning', 'danger');
/* Lifecycle palette */
/* - For workflow */
$ibo-lifecycle-new-state-primary-color: $ibo-color-blue-800 !default;
$ibo-lifecycle-new-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-neutral-state-primary-color: $ibo-color-blue-800 !default;
$ibo-lifecycle-neutral-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-waiting-state-primary-color: $ibo-color-orange-400 !default;
$ibo-lifecycle-waiting-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-success-state-primary-color: $ibo-color-green-700 !default;
$ibo-lifecycle-success-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-failure-state-primary-color: $ibo-color-pink-700 !default;
$ibo-lifecycle-failure-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-frozen-state-primary-color: $ibo-color-grey-200 !default;
$ibo-lifecycle-frozen-state-secondary-color: $ibo-color-grey-700 !default;
/* - For basic lifecycle */
$ibo-lifecycle-active-state-primary-color: $ibo-color-green-700 !default;
$ibo-lifecycle-active-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-inactive-state-primary-color: $ibo-color-orange-400 !default;
$ibo-lifecycle-inactive-state-secondary-color: $ibo-color-white-100 !default;
:root{
--ibo-lifecycle-new-state-primary-color: #{$ibo-lifecycle-new-state-primary-color};
--ibo-lifecycle-new-state-secondary-color: #{$ibo-lifecycle-new-state-secondary-color};
--ibo-lifecycle-neutral-state-primary-color: #{$ibo-lifecycle-neutral-state-primary-color};
--ibo-lifecycle-neutral-state-secondary-color: #{$ibo-lifecycle-neutral-state-secondary-color};
--ibo-lifecycle-waiting-state-primary-color: #{$ibo-lifecycle-waiting-state-primary-color};
--ibo-lifecycle-waiting-state-secondary-color: #{$ibo-lifecycle-waiting-state-secondary-color};
--ibo-lifecycle-success-state-primary-color: #{$ibo-lifecycle-success-state-primary-color};
--ibo-lifecycle-success-state-secondary-color: #{$ibo-lifecycle-success-state-secondary-color};
--ibo-lifecycle-failure-state-primary-color: #{$ibo-lifecycle-failure-state-primary-color};
--ibo-lifecycle-failure-state-secondary-color: #{$ibo-lifecycle-failure-state-secondary-color};
--ibo-lifecycle-frozen-state-primary-color: #{$ibo-lifecycle-frozen-state-primary-color};
--ibo-lifecycle-frozen-state-secondary-color: #{$ibo-lifecycle-frozen-state-secondary-color};
--ibo-lifecycle-active-state-primary-color: #{$ibo-lifecycle-active-state-primary-color};
--ibo-lifecycle-active-state-secondary-color: #{$ibo-lifecycle-active-state-secondary-color};
--ibo-lifecycle-inactive-state-primary-color: #{$ibo-lifecycle-inactive-state-primary-color};
--ibo-lifecycle-inactive-state-secondary-color: #{$ibo-lifecycle-inactive-state-secondary-color};
}
$ibo-lifecycle-states-colors: (
'new': (
'primary-color': $ibo-lifecycle-new-state-primary-color,
'secondary-color': $ibo-lifecycle-new-state-secondary-color,
),
'neutral': (
'primary-color': $ibo-lifecycle-neutral-state-primary-color,
'secondary-color': $ibo-lifecycle-neutral-state-secondary-color,
),
'waiting': (
'primary-color': $ibo-lifecycle-waiting-state-primary-color,
'secondary-color': $ibo-lifecycle-waiting-state-secondary-color,
),
'success': (
'primary-color': $ibo-lifecycle-success-state-primary-color,
'secondary-color': $ibo-lifecycle-success-state-secondary-color,
),
'failure': (
'primary-color': $ibo-lifecycle-failure-state-primary-color,
'secondary-color': $ibo-lifecycle-failure-state-secondary-color,
),
'frozen': (
'primary-color': $ibo-lifecycle-frozen-state-primary-color,
'secondary-color': $ibo-lifecycle-frozen-state-secondary-color,
),
'active': (
'primary-color': $ibo-lifecycle-active-state-primary-color,
'secondary-color': $ibo-lifecycle-active-state-secondary-color,
),
'inactive': (
'primary-color': $ibo-lifecycle-inactive-state-primary-color,
'secondary-color': $ibo-lifecycle-inactive-state-secondary-color,
),
);

View File

@@ -33,9 +33,42 @@ class TitleFactory
$sStatusAttCode = MetaModel::GetStateAttributeCode($sObjClass);
if(!empty($sStatusAttCode))
{
$sStateCode = $oObject->GetState();
$sStatusLabel = $oObject->GetStateLabel();
// TODO 2.8.0 : Dehardcode this
$sStatusColor = 'green';
switch ($sStateCode)
{
case 'new':
$sStatusColor = 'new';
break;
case 'waiting_for_approval':
case 'pending':
$sStatusColor = 'waiting';
break;
case 'escalated_tto':
case 'escalated_ttr':
case 'rejected':
$sStatusColor = 'failure';
break;
case 'resolved':
$sStatusColor = 'success';
break;
case 'closed':
$sStatusColor = 'frozen';
break;
case 'approved':
case 'assigned':
case 'dispatched':
case 'redispatched':
default:
$sStatusColor = 'neutral';
break;
}
$oTitle->SetStatus($sStatusAttCode, $sStatusLabel, $sStatusColor);
}

View File

@@ -5,7 +5,7 @@
{% block iboPageTitleText %}
<h1 class="ibo-title--for-object-details">{{ oUIBlock.GetClassName() }} <span class="ibo-title--emphasis">{{ oUIBlock.GetObjectName()|raw }}</span></h1>
<div class="ibo-title--status">
<span class="ibo-title--status-dot" style="background-color: {{ oUIBlock.GetStatusColor() }}"></span>
<span class="ibo-title--status-dot ibo-is-state-{{ oUIBlock.GetStatusColor() }}"></span>
<span class="ibo-title--status-label">{{ oUIBlock.GetStatusLabel() }}</span>
</div>
{% endblock %}