diff --git a/pages/schema.php b/pages/schema.php index 5f5f0022a..adee4e115 100644 --- a/pages/schema.php +++ b/pages/schema.php @@ -653,7 +653,7 @@ EOF */ function DisplayClassDetails($oPage, $sClass, $sContext) { - + DisplayClassHeader($oPage, $sClass); $aParentClasses = array(); foreach(MetaModel::EnumParentClasses($sClass) as $sParentClass) { @@ -835,68 +835,24 @@ EOF } -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// MAIN BLOCK // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** + * Display the dropdown that allow to select the attributes/class display granularity + */ +function DisplayGranularityDisplayer($oPage){ -// Display the menu on the left -$oAppContext = new ApplicationContext(); -$sContext = $oAppContext->GetForLink(); -if (!empty($sContext)) -{ - $sContext = '&'.$sContext; -} -$operation = utils::ReadParam('operation', 'details_class'); -$sClass = utils::ReadParam('class', 'Organization', false, 'class'); - -$oPage = new iTopWebPage(Dict::S('UI:Schema:Title')); -$oPage->no_cache(); - -$oPage->SetBreadCrumbEntry('ui-tool-datamodel', Dict::S('Menu:DataModelMenu'), Dict::S('Menu:DataModelMenu+'), '', utils::GetAbsoluteUrlAppRoot().'images/wrench.png'); -$oPage->add_script( - <<add("
"); -$oPage->add("
"); -DisplayClassesList($oPage, $sContext); -$oPage->add("
"); -$oPage->add("
"); - -//scrollable class name / icon -$oPage->add("
"); -$oPage->add("
" . MetaModel::GetClassIcon($sClass) . "
"); -$oPage->add("

" . MetaModel::GetName($sClass)." (" .$sClass.")

"); -$oPage->add("
"); - -//content header -$oPage->add("
"); -$oPage->add(" + $oPage->add("
"); -$oPage->add("
" . MetaModel::GetClassIcon($sClass) . "
"); -$sClassDescritpion = MetaModel::GetClassDescription($sClass); - -$oPage->add("

".MetaModel::GetName($sClass)." (" .$sClass.")" . ($sClassDescritpion == "" ? "" : " - " . $sClassDescritpion) . "

\n"); -if (MetaModel::IsAbstract($sClass)) -{ - $oPage->p(Dict::S('UI:Schema:AbstractClass')); -} - -$sDisplayDropDownValue = htmlentities(appUserPreferences::GetPref('datamodel_viewer_display_granularity','labelandcode'),ENT_QUOTES,"UTF-8"); + $sDisplayDropDownValue = htmlentities(appUserPreferences::GetPref('datamodel_viewer_display_granularity','labelandcode'),ENT_QUOTES,"UTF-8"); //granularity displayer listener -$oPage->add_ready_script( - <<add_ready_script( + <<add_ready_script( SetUserPreference("datamodel_viewer_display_granularity", $('#displaySelector').val(), true); }); $('#displaySelector').val("$sDisplayDropDownValue").trigger("change"); +EOF + ); +} +/** + * Display the header of the class details page + */ +function DisplayClassHeader($oPage, $sClass){ + //scrollable class name / icon + $oPage->add("
"); + $oPage->add("
" . MetaModel::GetClassIcon($sClass) . "
"); + $oPage->add("

" . MetaModel::GetName($sClass)." (" .$sClass.")

"); + $oPage->add("
"); + +//content header + $oPage->add("
"); + DisplayGranularityDisplayer($oPage); + $oPage->add("
" . MetaModel::GetClassIcon($sClass) . "
"); + $sClassDescritpion = MetaModel::GetClassDescription($sClass); + + $oPage->add("

".MetaModel::GetName($sClass)." (" .$sClass.")" . ($sClassDescritpion == "" ? "" : " - " . $sClassDescritpion) . "

\n"); + if (MetaModel::IsAbstract($sClass)) + { + $oPage->p(Dict::S('UI:Schema:AbstractClass')); + } +} +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// MAIN BLOCK // +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +// Display the menu on the left +$oAppContext = new ApplicationContext(); +$sContext = $oAppContext->GetForLink(); +if (!empty($sContext)) +{ + $sContext = '&'.$sContext; +} +$operation = utils::ReadParam('operation', ''); + +$oPage = new iTopWebPage(Dict::S('UI:Schema:Title')); +$oPage->no_cache(); + +$oPage->SetBreadCrumbEntry('ui-tool-datamodel', Dict::S('Menu:DataModelMenu'), Dict::S('Menu:DataModelMenu+'), '', utils::GetAbsoluteUrlAppRoot().'images/wrench.png'); +$oPage->add_script( + <<add("
"); +$oPage->add("
"); +DisplayClassesList($oPage, $sContext); +$oPage->add("
"); +$oPage->add("
"); + switch($operation) { case 'details_class': - $sClass = utils::ReadParam('class', 'Organization', false, 'class'); - DisplayClassDetails($oPage, $sClass, $sContext); - break; + $sClass = utils::ReadParam('class', '', false, 'class'); + //if we want to see class details & class is given then display it, otherwise act default (just show the class list) + if($sClass != '') + { + DisplayClassDetails($oPage, $sClass, $sContext); + break; + } default: + DisplayGranularityDisplayer($oPage); } $oPage->add("
"); $oPage->add("
");