From 7083807319e8058fcabf431073c34364b96d6c5d Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Wed, 25 Aug 2021 11:02:55 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B03928=20Migrate=20impact=20analysis=20pag?= =?UTF-8?q?e=20to=203.0=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/backoffice/pages/_impact-analysis.scss | 11 ++++++++++- js/simple_graph.js | 6 ++++-- pages/UI.php | 20 ++++++++++++------- pages/ajax.render.php | 23 +++++++++++----------- 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/css/backoffice/pages/_impact-analysis.scss b/css/backoffice/pages/_impact-analysis.scss index be24bc372..6df970c1e 100644 --- a/css/backoffice/pages/_impact-analysis.scss +++ b/css/backoffice/pages/_impact-analysis.scss @@ -10,6 +10,7 @@ $ibo-simple-graph--grouping-threshold-additional-context--container--margin-righ $ibo-simple-graph--grouping-threshold-additional-context--content--margin-right: 1em !default; $ibo-impact-analysis--graph-zoom-slider--width: 10em !default; +$ibo-impact-analysis--impacted-objects-lists--div--margin-top: 24px !default; $ibo-display-graph--search-box--criterion--content--padding-y: 0 !default; $ibo-display-graph--search-box--criterion--content--padding-x: 15px !default; @@ -108,4 +109,12 @@ $ibo-display-graph--search-box--criterion--content--checkbox--margin-right: 10px #ReloadMovieBtn { align-self: flex-end; } -} \ No newline at end of file +} +#impacted_objects_lists{ + > div ~ div{ + margin-top: $ibo-impact-analysis--impacted-objects-lists--div--margin-top; + } +} +#impacted_objects_lists_placeholder, #impacted_groups_placeholder{ + height: 250px; +} diff --git a/js/simple_graph.js b/js/simple_graph.js index 544707a6d..79e8265d4 100644 --- a/js/simple_graph.js +++ b/js/simple_graph.js @@ -749,9 +749,10 @@ $(function() else { this.element.closest('[data-role="ibo-tab-container"]').tab_container("GetTabWidget").enable(2); - $('#impacted_groups').html(''); + $('#impacted_groups').block({message:this.options.labels.loading}); var sUrl = GetAbsoluteUrlAppRoot()+'pages/ajax.render.php'; $.post(sUrl, { operation: 'relation_groups', groups: aGroups }, function(data) { + $('#impacted_groups').unblock(); $('#impacted_groups').html(data); }); } @@ -772,9 +773,10 @@ $(function() } else { - $('#impacted_objects_lists').html(''); + $('#impacted_objects_lists').block({message:this.options.labels.loading}); var sUrl = GetAbsoluteUrlAppRoot()+'pages/ajax.render.php'; $.post(sUrl, { operation: 'relation_lists', lists: aLists }, function(data) { + $('#impacted_objects_lists').unblock(); $('#impacted_objects_lists').html(data); }); } diff --git a/pages/UI.php b/pages/UI.php index 6354c6715..b20863d1d 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -244,15 +244,14 @@ function DisplayMultipleSelectionForm(WebPage $oP, DBSearch $oFilter, string $sN function DisplayNavigatorListTab($oP, $aResults, $sRelation, $sDirection, $oObj) { $oP->SetCurrentTab('UI:RelationshipList'); - $oP->add("
"); + $oP->add("
"); $sOldRelation = $sRelation; if (($sRelation == 'impacts') && ($sDirection == 'up')) { $sOldRelation = 'depends on'; } - $oP->add("

".MetaModel::GetRelationDescription($sOldRelation).' '.$oObj->GetName()."

\n"); $oP->add("
"); - $oP->add(''); + $oP->add("
"); /* * Content is rendered asynchronously via pages/ajax.render.php?operation=relation_lists */ @@ -264,8 +263,9 @@ function DisplayNavigatorListTab($oP, $aResults, $sRelation, $sDirection, $oObj) function DisplayNavigatorGroupTab($oP) { $oP->SetCurrentTab('UI:RelationGroups'); - $oP->add("
"); - $oP->add(''); + $oP->add("
"); + $oP->add("
"); + /* * Content is rendered asynchronously via pages/ajax.render.php?operation=relation_groups */ @@ -1774,8 +1774,14 @@ EOF $aResults = $oRelGraph->GetObjectsByClass(); $oDisplayGraph = DisplayableGraph::FromRelationGraph($oRelGraph, $iGroupingThreshold, ($sDirection == 'down')); - - $oP->AddTabContainer('Navigator'); + $oPanel = PanelUIBlockFactory::MakeForClass($sClass, MetaModel::GetRelationDescription($sRelation).' '.$oObj->GetName()); + $sClassIcon = MetaModel::GetClassIcon($sClass, false); + if (strlen($sClassIcon) > 0){ + $oPanel->SetIcon($sClassIcon); + } + + $oP->AddUiBlock($oPanel); + $oP->AddTabContainer('Navigator', '', $oPanel); $oP->SetCurrentTabContainer('Navigator'); $sFirstTab = MetaModel::GetConfig()->Get('impact_analysis_first_tab'); diff --git a/pages/ajax.render.php b/pages/ajax.render.php index eb19c0fb4..27776aa70 100644 --- a/pages/ajax.render.php +++ b/pages/ajax.render.php @@ -2239,13 +2239,13 @@ EOF $oSearch = new DBObjectSearch($sListClass); $oSearch->AddCondition('id', $aDefinition['keys'], 'IN'); $oSearch->SetShowObsoleteData(utils::ShowObsoleteData()); - $oPage->add("

".Dict::Format('UI:RelationGroupNumber_N', (1 + $idx))."

\n"); - $oPage->add("
\n"); - $oPage->add("

".MetaModel::GetClassIcon($sListClass)." ".Dict::Format('UI:Search:Count_ObjectsOf_Class_Found', count($aDefinition['keys']), Metamodel::GetName($sListClass))."

\n"); - $oPage->add("
\n"); + $oPage->AddUiBlock(TitleUIBlockFactory::MakeNeutral(Dict::Format('UI:RelationGroupNumber_N', (1 + $idx)))); $oBlock = new DisplayBlock($oSearch, 'list'); - $oBlock->Display($oPage, 'group_'.$iBlock++); - $oPage->p(' '); // Some space ? + $oBlock->Display($oPage, 'group_'.$iBlock++, array('surround_with_panel' => true, + 'panel_class' => $sListClass, + 'panel_title' => Dict::Format('UI:Search:Count_ObjectsOf_Class_Found', count($aDefinition['keys']), Metamodel::GetName($sListClass)), + 'panel_icon' => MetaModel::GetClassIcon($sListClass, false), + )); } $oKPI->ComputeAndReport('Data fetch and format'); break; @@ -2259,12 +2259,13 @@ EOF $oSearch = new DBObjectSearch($sListClass); $oSearch->AddCondition('id', $aKeys, 'IN'); $oSearch->SetShowObsoleteData(utils::ShowObsoleteData()); - $oPage->add("
\n"); - $oPage->add("

".MetaModel::GetClassIcon($sListClass)." ".Dict::Format('UI:Search:Count_ObjectsOf_Class_Found', count($aKeys), Metamodel::GetName($sListClass))."

\n"); - $oPage->add("
\n"); $oBlock = new DisplayBlock($oSearch, 'list'); - $oBlock->Display($oPage, 'list_'.$iBlock++, array('table_id' => 'ImpactAnalysis_'.$sListClass)); - $oPage->p(' '); // Some space ? + $oBlock->Display($oPage, 'list_'.$iBlock++, array('table_id' => 'ImpactAnalysis_'.$sListClass, + 'surround_with_panel' => true, + 'panel_class' => $sListClass, + 'panel_title' => Dict::Format('UI:Search:Count_ObjectsOf_Class_Found', count($aKeys), Metamodel::GetName($sListClass)), + 'panel_icon' => MetaModel::GetClassIcon($sListClass, false), + )); } $oKPI->ComputeAndReport('Data fetch and format'); break;