N°7835 - Dashboard - modification on iTop UI with header static without icon

This commit is contained in:
Anne-Cath
2025-08-18 13:16:29 +02:00
parent 965c9dba14
commit e6a0d95cba
19 changed files with 33 additions and 2 deletions

View File

@@ -1967,7 +1967,10 @@ class DashletHeaderStatic extends Dashlet
$sIcon = $this->aProperties['icon'];
$oIconSelect = $this->oModelReflection->GetIconSelectionField('icon');
$sIconPath = utils::HtmlEntities($oIconSelect->MakeFileUrl($sIcon));
$sIconPath = '';
if (Utils::IsNotNullOrEmptyString($sIcon)) {
$sIconPath = utils::HtmlEntities($oIconSelect->MakeFileUrl($sIcon));
}
return DashletFactory::MakeForDashletHeaderStatic($this->oModelReflection->DictString($sTitle), $sIconPath);
}
@@ -1981,6 +1984,7 @@ class DashletHeaderStatic extends Dashlet
$oForm->AddField($oField);
$oField = $this->oModelReflection->GetIconSelectionField('icon', Dict::S('UI:DashletHeaderStatic:Prop-Icon'), $this->aProperties['icon']);
$oField->AddAllowedValue(['value' => '', 'label' => Dict::S('UI:DashletIcon:None'), 'icon' => '']);
$oForm->AddField($oField);
}
@@ -2093,7 +2097,10 @@ class DashletHeaderDynamic extends Dashlet
$sGroupBy = $this->aProperties['group_by'];
$oIconSelect = $this->oModelReflection->GetIconSelectionField('icon');
$sIconPath = $oIconSelect->MakeFileUrl($sIcon);
$sIconPath = '';
if (Utils::IsNotNullOrEmptyString($sIcon)) {
$sIconPath = $oIconSelect->MakeFileUrl($sIcon);
}
$aValues = $this->GetValues();
if (count($aValues) > 0) {
@@ -2223,6 +2230,7 @@ class DashletHeaderDynamic extends Dashlet
$oForm->AddField($oField);
$oField = $this->oModelReflection->GetIconSelectionField('icon', Dict::S('UI:DashletHeaderDynamic:Prop-Icon'), $this->aProperties['icon']);
$oField->AddAllowedValue(['value' => '', 'label' => Dict::S('UI:DashletIcon:None'), 'icon' => '']);
$oForm->AddField($oField);
$oField = new DesignerTextField('subtitle', Dict::S('UI:DashletHeaderDynamic:Prop-Subtitle'), $this->aProperties['subtitle']);

View File

@@ -1501,6 +1501,11 @@ class DesignerIconSelectionField extends DesignerFormField
$this->aAllowedValues = $aAllowedValues;
}
public function AddAllowedValue($aValue)
{
// Add a null value to the list of allowed values
$this->aAllowedValues = array_merge([$aValue], $this->aAllowedValues);
}
public function EnableUpload($sIconUploadUrl)
{
$this->sUploadUrl = $sIconUploadUrl;

View File

@@ -1294,6 +1294,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:DashletHeaderStatic:Prop-Title' => 'Titul',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kontakty',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ikona',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Hlavička se statistikami',
'UI:DashletHeaderDynamic:Description' => 'Hlavička se statistikami',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titul',

View File

@@ -1296,6 +1296,7 @@ Ved tilknytningen til en trigger, bliver hver handling tildelt et "rækkefølge"
'UI:DashletHeaderStatic:Prop-Title' => 'Titel',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kontakter',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ikon',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Header med statistik',
'UI:DashletHeaderDynamic:Description' => 'Header med stats (grupperet efter...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titel',

View File

@@ -1296,6 +1296,7 @@ Wenn Aktionen mit Trigger verknüpft sind, bekommt jede Aktion eine Auftragsnumm
'UI:DashletHeaderStatic:Prop-Title' => 'Titel',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kontakte',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icon',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Header mit Statistiken',
'UI:DashletHeaderDynamic:Description' => 'Header mit Statistiken (gruppiert nach...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titel',

View File

@@ -1367,6 +1367,7 @@ When associated with a trigger, each action is given an "order" number, specifyi
'UI:DashletHeaderStatic:Prop-Title' => 'Title',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contacts',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icon',
'UI:DashletIcon:None' => 'None',
'UI:DashletHeaderDynamic:Label' => 'Header with statistics',
'UI:DashletHeaderDynamic:Description' => 'Header with stats (grouped by...)',

View File

@@ -1365,6 +1365,7 @@ When associated with a trigger, each action is given an "order" number, specifyi
'UI:DashletHeaderStatic:Prop-Title' => 'Title',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contacts',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icon',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Header with statistics',
'UI:DashletHeaderDynamic:Description' => 'Header with stats (grouped by...)',

View File

@@ -1296,6 +1296,7 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
'UI:DashletHeaderStatic:Prop-Title' => 'Título',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contactos',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icono',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Encabezado con Estadísticas',
'UI:DashletHeaderDynamic:Description' => 'Encabezado con estadísticas (agrupado por)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Título',

View File

@@ -1303,6 +1303,7 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
'UI:DashletHeaderStatic:Prop-Title' => 'Titre',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contacts',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icône',
'UI:DashletIcon:None' => 'Aucune',
'UI:DashletHeaderDynamic:Label' => 'En-tête dynamique',
'UI:DashletHeaderDynamic:Description' => 'En-tête avec statistiques (regroupements)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titre',

View File

@@ -1301,6 +1301,7 @@ A művelet eseményindítóhoz rendelésekor kap egy sorszámot , amely meghatá
'UI:DashletHeaderStatic:Prop-Title' => 'Cím',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kapcsolattartók',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ikon',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Fejléc statisztikákkal',
'UI:DashletHeaderDynamic:Description' => 'Fejléc statisztikákkal (csoportosítva...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Cím',

View File

@@ -1298,6 +1298,7 @@ Quando è associata a un trigger, a ogni azione è assegnato un numero "ordine",
'UI:DashletHeaderStatic:Prop-Title' => 'Titolo',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contatti',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icona',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Intestazione con statistiche',
'UI:DashletHeaderDynamic:Description' => 'Intestazione con statistiche (raggruppate per...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titolo',

View File

@@ -1302,6 +1302,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:DashletHeaderStatic:Prop-Title' => '題名',
'UI:DashletHeaderStatic:Prop-Title:Default' => '連絡先',
'UI:DashletHeaderStatic:Prop-Icon' => 'アイコン',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => '統計付ヘッダー',
'UI:DashletHeaderDynamic:Description' => '状態付ヘッダー (..によるグループ化)',
'UI:DashletHeaderDynamic:Prop-Title' => '題名',

View File

@@ -1297,6 +1297,7 @@ Bij die koppeling wordt aan elke actie een volgorde-nummer gegeven. Dit bepaalt
'UI:DashletHeaderStatic:Prop-Title' => 'Titel',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contacten',
'UI:DashletHeaderStatic:Prop-Icon' => 'Icoon',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Kolom met gegevens',
'UI:DashletHeaderDynamic:Description' => 'Kolom met statistieken (gegroepeerd aan de hand van...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Titel',

View File

@@ -1307,6 +1307,7 @@ W przypadku powiązania z wyzwalaczem, każde działanie otrzymuje numer "porzą
'UI:DashletHeaderStatic:Prop-Title' => 'Tytuł',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kontakty',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ikona',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Nagłówek ze statystykami',
'UI:DashletHeaderDynamic:Description' => 'Nagłówek ze statystykami (pogrupowane według ...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Tytuł',

View File

@@ -1295,6 +1295,7 @@ Quando associada a um gatilho, cada ação recebe um número de "ordem", especif
'UI:DashletHeaderStatic:Prop-Title' => 'Título',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Contatos',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ícone',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Cabeçalho com estatísticas',
'UI:DashletHeaderDynamic:Description' => 'Cabeçalho com estatística (agrupado por...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Título',

View File

@@ -1296,6 +1296,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:DashletHeaderStatic:Prop-Title' => 'Заголовок',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Контакты',
'UI:DashletHeaderStatic:Prop-Icon' => 'Иконка',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Заголовок со статистикой',
'UI:DashletHeaderDynamic:Description' => 'Заголовок со статистикой (группировать по ...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Заголовок',

View File

@@ -1302,6 +1302,7 @@ Keď sú priradené spúštačom, každej akcii je dané číslo "príkazu", šp
'UI:DashletHeaderStatic:Prop-Title' => 'Nadpis',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kontakty',
'UI:DashletHeaderStatic:Prop-Icon' => 'Ikonka',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'Hlavička so štatistikami',
'UI:DashletHeaderDynamic:Description' => 'Hlavička s vlastnosťami (zoskupené podľa...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Nadpis',

View File

@@ -1303,6 +1303,7 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
'UI:DashletHeaderStatic:Prop-Title' => 'Başlık',
'UI:DashletHeaderStatic:Prop-Title:Default' => 'Kişiler',
'UI:DashletHeaderStatic:Prop-Icon' => 'Simge',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => 'İstatistikli Başlık',
'UI:DashletHeaderDynamic:Description' => 'İstatistiklerle başlık (Gruplandırılmış ...)',
'UI:DashletHeaderDynamic:Prop-Title' => 'Başlık',

View File

@@ -1298,6 +1298,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:DashletHeaderStatic:Prop-Title' => '标题',
'UI:DashletHeaderStatic:Prop-Title:Default' => '联系人',
'UI:DashletHeaderStatic:Prop-Icon' => '图标',
'UI:DashletIcon:None' => 'None~',
'UI:DashletHeaderDynamic:Label' => '统计标头',
'UI:DashletHeaderDynamic:Description' => '统计标头 (分组...)',
'UI:DashletHeaderDynamic:Prop-Title' => '标题',