Merge remote-tracking branch 'origin/support/2.7' into support/3.0

# Conflicts:
#	core/displayablegraph.class.inc.php
#	pages/UI.php
This commit is contained in:
acognet
2022-03-18 15:51:45 +01:00
14 changed files with 35 additions and 9 deletions

View File

@@ -1421,13 +1421,14 @@ class DisplayableGraph extends SimpleGraph
* @param int $iObjKey
* @param string $sContextKey
* @param array $aContextParams
* @param bool $bLazyLoading since 2.7.7 3.0.1
*
* @throws \CoreException
* @throws \DictExceptionMissingString
*/
function Display(WebPage $oP, $aResults, $sRelation, ApplicationContext $oAppContext, $aExcludedObjects, $sObjClass, $iObjKey, $sContextKey, $aContextParams = array(), bool $sLazyLoading = false)
function Display(WebPage $oP, $aResults, $sRelation, ApplicationContext $oAppContext, $aExcludedObjects, $sObjClass, $iObjKey, $sContextKey, $aContextParams = array(), bool $bLazyLoading = false)
{
list($aExcludedByClass, $aAdditionalContexts) = $this->DisplayFiltering($sContextKey, $aContextParams, $aExcludedObjects, $oP, $aResults, $sLazyLoading);
list($aExcludedByClass, $aAdditionalContexts) = $this->DisplayFiltering($sContextKey, $aContextParams, $aExcludedObjects, $oP, $aResults, $bLazyLoading);
$iGroupingThreshold = utils::ReadParam('g', 5);
@@ -1508,10 +1509,12 @@ class DisplayableGraph extends SimpleGraph
// Export as Attachment requires GD (for building the PDF) AND a valid objclass/objkey couple
unset($aParams['export_as_attachment']);
}
if ($oP->IsPrintableVersion() || !$sLazyLoading) {
if ($oP->IsPrintableVersion() || !$bLazyLoading) {
$oP->add_ready_script(" $('#$sId').simple_graph(".json_encode($aParams).");");
} else {
$oP->add_script("function Load(){var aExcluded = []; $('input[name^=excluded]').each( function() {if (!$(this).prop('checked')) { aExcluded.push($(this).val()); }} ); var params= $.extend(".json_encode($aParams).", {excluded_classes: aExcluded}); $('#$sId').simple_graph(params);}");
$oP->add_ready_script("$('#impacted_objects_lists').html('".utils::TextToHtml(Dict::S('Relation:impacts/NoFilteredData'))."');$('#impacted_groups').html('".utils::TextToHtml(Dict::S('Relation:impacts/NoFilteredData'))."');");
}
}
catch(Exception $e)
@@ -1551,6 +1554,7 @@ EOF
* @param array $aExcludedObjects
* @param \WebPage $oP
* @param array $aResults
* @param bool $bLazyLoading
*
* @return array
* @throws \CoreException
@@ -1590,7 +1594,7 @@ EOF
$("#ReloadMovieBtn").button().button("disable");
EOF
);
if ($sLazyLoading) {
if ($bLazyLoading) {
$oP->add_ready_script("$('#ReloadMovieBtn').button('enable');");
} else {
$oP->add_ready_script("$('#dh_flash').addClass('closed');");
@@ -1614,7 +1618,7 @@ EOF
$idx++;
}
$oUiHtmlBlock->AddHtml("</div>");
if ($sLazyLoading) {
if ($bLazyLoading) {
$sOnCLick = "Load(); $('#ReloadMovieBtn').attr('onclick','DoReload()');$('#ReloadMovieBtn').html('".Dict::S('UI:Button:Refresh')."');";
$oUiHtmlBlock->AddHtml("<button type=\"button\" id=\"ReloadMovieBtn\" class=\"ibo-button ibo-is-neutral ibo-is-regular\" onClick=\"$sOnCLick\">".Dict::S('Relation:impacts/LoadData')."</button></div></form>");
} else {

View File

@@ -32,6 +32,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Relation:depends on/Description' => 'Elemente, von denen dieses Element abhängt.',
'Relation:depends on/DownStream' => 'Hängt ab von ...',
'Relation:depends on/UpStream' => 'Wirkt auf ...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -36,6 +36,8 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Relation:depends on/Description' => 'Elementos de los cuales depende',
'Relation:depends on/DownStream' => 'Depende de...',
'Relation:depends on/UpStream' => 'Impactos...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -29,6 +29,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Relation:depends on/Description' => 'Konfigurációs elemtől függnek',
'Relation:depends on/DownStream' => 'Függőségek',
'Relation:depends on/UpStream' => 'Hatások',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -29,6 +29,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Relation:depends on/Description' => 'Elementi di questo elemento dipende da',
'Relation:depends on/DownStream' => 'Dipende da...',
'Relation:depends on/UpStream' => 'Impatto...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -29,6 +29,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Relation:depends on/Description' => 'この要素が依存している要素',
'Relation:depends on/DownStream' => '依存...',
'Relation:depends on/UpStream' => 'インパクト...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -41,6 +41,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Relation:depends on/Description' => 'Elementen waarvan dit object afhankelijk van is',
'Relation:depends on/DownStream' => 'Is afhankelijk van...',
'Relation:depends on/UpStream' => 'Impact op...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -35,6 +35,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Relation:depends on/Description' => 'Elementos estes, que dependem deste elemento',
'Relation:depends on/DownStream' => 'Depende de...',
'Relation:depends on/UpStream' => 'Impactos...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -22,6 +22,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Relation:depends on/Description' => 'Элементы, от которых зависит',
'Relation:depends on/DownStream' => 'Зависит от...',
'Relation:depends on/UpStream' => 'Влияет на...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -34,6 +34,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Relation:depends on/Description' => 'Prvky, od ktorých závisí tento prvok',
'Relation:depends on/DownStream' => 'Depends on...~~',
'Relation:depends on/UpStream' => 'Impacts...~~',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -36,6 +36,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Relation:depends on/Description' => 'Bu kaleme bağımlı olan kalemler',
'Relation:depends on/DownStream' => 'Bağımlı olanlar...',
'Relation:depends on/UpStream' => 'Etkiledikleri...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -34,6 +34,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Relation:depends on/Description' => '该元素依赖的元素...',
'Relation:depends on/DownStream' => '依赖于...',
'Relation:depends on/UpStream' => '影响...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -1779,7 +1779,7 @@ EOF
$oP->SetCurrentTabContainer('Navigator');
$sFirstTab = MetaModel::GetConfig()->Get('impact_analysis_first_tab');
$sLazyLoading = MetaModel::GetConfig()->Get('impact_analysis_lazy_loading');
$bLazyLoading = MetaModel::GetConfig()->Get('impact_analysis_lazy_loading');
$sContextKey = "itop-config-mgmt/relation_context/$sClass/$sRelation/$sDirection";
// Check if the current object supports Attachments, similar to AttachmentPlugin::IsTargetObject
@@ -1800,13 +1800,13 @@ EOF
{
DisplayNavigatorListTab($oP, $aResults, $sRelation, $sDirection, $oObj);
$oP->SetCurrentTab('UI:RelationshipGraph');
$oDisplayGraph->Display($oP, $aResults, $sRelation, $oAppContext, array(), $sClassForAttachment, $iIdForAttachment, $sContextKey, array('this' => $oObj),$sLazyLoading);
$oDisplayGraph->Display($oP, $aResults, $sRelation, $oAppContext, array(), $sClassForAttachment, $iIdForAttachment, $sContextKey, array('this' => $oObj),$bLazyLoading);
DisplayNavigatorGroupTab($oP);
}
else
{
$oP->SetCurrentTab('UI:RelationshipGraph');
$oDisplayGraph->Display($oP, $aResults, $sRelation, $oAppContext, array(), $sClassForAttachment, $iIdForAttachment, $sContextKey, array('this' => $oObj),$sLazyLoading);
$oDisplayGraph->Display($oP, $aResults, $sRelation, $oAppContext, array(), $sClassForAttachment, $iIdForAttachment, $sContextKey, array('this' => $oObj),$bLazyLoading);
DisplayNavigatorListTab($oP, $aResults, $sRelation, $sDirection, $oObj);
DisplayNavigatorGroupTab($oP);
}

View File

@@ -2312,7 +2312,7 @@ EOF;
*
* @param MFElement $oNewNode The replacement
*
* @since 2.7.7 3.0.1 3.1.0 N°3129 rename method (from `ReplaceWith` to `MFReplaceWith`) to avoid collision with parent `\DOMElement::replaceWith` method (different method modifier and parameters :
* @since 2.7.7 3.0.1 3.1.0 N°3129 rename method (from `ReplaceWith` to `ReplaceWithSingleNode`) to avoid collision with parent `\DOMElement::replaceWith` method (different method modifier and parameters :
* throws fatal error in PHP 8.0)
*/
protected function ReplaceWithSingleNode($oNewNode)