mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
[system_tracking] Display all facts for latest scan when no diffs
This commit is contained in:
parent
fef3d5d2b0
commit
d41b8a363f
@ -41,7 +41,9 @@ export function compareFacts(module, facts) {
|
||||
.unique('displayKeyPath')
|
||||
.thru(function(result) {
|
||||
return { factData: result,
|
||||
isNestedDisplay: _.isPlainObject(renderOptions.factTemplate)
|
||||
isNestedDisplay: _.isPlainObject(renderOptions.factTemplate),
|
||||
leftData: facts[0].facts,
|
||||
rightData: facts[1].facts
|
||||
};
|
||||
})
|
||||
.value();
|
||||
|
||||
@ -12,6 +12,7 @@ export default
|
||||
leftDataNoScans: '=',
|
||||
rightDataNoScans: '=',
|
||||
isNestedDisplay: '=',
|
||||
singleResultView: '=',
|
||||
factData: '='
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
<section class="FactDataTable SystemTrackingContainer-main" ng-if="!error">
|
||||
<div class="alert alert-info" ng-if="singleResultView">
|
||||
The selected fact scans were identical for this module. Showing all facts from the latest selected scan instead.
|
||||
</div>
|
||||
<div class="FactDataTable-headingRow">
|
||||
<h3 class="FactDataTable-column FactDataTableHeading">
|
||||
<span class="FactDataTableHeading-label">
|
||||
@ -10,7 +13,7 @@
|
||||
<span class="FactDataTableHeading-host" ng-if="!leftDataNoScans">{{leftHostname}}</span>
|
||||
<span class="FactDataTableHeading-date">{{leftScanDate|longDate}}</span>
|
||||
</h3>
|
||||
<h3 class="FactDataTable-column FactDataTableHeading">
|
||||
<h3 class="FactDataTable-column FactDataTableHeading" ng-if="!singleResultView">
|
||||
<span ng-if="rightDataNoScans">No scans for {{rightHostname}} on</span>
|
||||
<span class="FactDataTableHeading-host" ng-if="!rightDataNoScans">{{rightHostname}}</span>
|
||||
<span class="FactDataTableHeading-date">{{rightScanDate|longDate}}</span>
|
||||
@ -25,7 +28,7 @@
|
||||
{{value}}
|
||||
</span>
|
||||
</span>
|
||||
<span class="FactDataTable-column FactDataTable-columnArray">
|
||||
<span class="FactDataTable-column FactDataTable-columnArray" ng-if="!singleResultView">
|
||||
<span class="FactDataTable-columnMember" ng-repeat="value in group.facts.value2">
|
||||
{{value}}
|
||||
</span>
|
||||
@ -34,7 +37,7 @@
|
||||
<div class="FactDataTable-row" ng-if="!group.containsValueArray">
|
||||
<span class="FactDataTable-column">{{group.facts.keyName}}</span>
|
||||
<span class="FactDataTable-column">{{group.facts.value1}}</span>
|
||||
<span class="FactDataTable-column">{{group.facts.value2}}</span>
|
||||
<span class="FactDataTable-column" ng-if="!singleResultView">{{group.facts.value2}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
13
awx/ui/static/js/system-tracking/format-facts.js
Normal file
13
awx/ui/static/js/system-tracking/format-facts.js
Normal file
@ -0,0 +1,13 @@
|
||||
export function formatFactForDisplay(fact, renderOptions) {
|
||||
|
||||
var factTemplate = renderOptions.factTemplate;
|
||||
|
||||
var template = factTemplate;
|
||||
|
||||
// if (!renderOptions.supportsValueArray) {
|
||||
// comparatorFact = comparatorFact[0];
|
||||
// }
|
||||
|
||||
return template.render(fact);
|
||||
|
||||
}
|
||||
@ -6,6 +6,8 @@
|
||||
|
||||
import {searchDateRange} from './search-date-range';
|
||||
import {compareFacts} from './compare-facts/main';
|
||||
import {formatFactForDisplay} from './format-facts';
|
||||
import FactTemplate from './compare-facts/fact-template';
|
||||
|
||||
function controller($rootScope,
|
||||
$scope,
|
||||
@ -75,6 +77,8 @@ function controller($rootScope,
|
||||
$scope.leftDateWarning = false;
|
||||
$scope.rightDateWarning = false;
|
||||
|
||||
$scope.singleFactOnly = false;
|
||||
|
||||
waitIndicator('start');
|
||||
|
||||
return getDataForComparison(
|
||||
@ -173,17 +177,76 @@ function controller($rootScope,
|
||||
$scope.error = null;
|
||||
|
||||
if (_.isEmpty(info.factData)) {
|
||||
info = _.reject({
|
||||
name: 'NoScanDifferences',
|
||||
message: 'No differences in the scans on the dates you selected. Please try selecting different dates.',
|
||||
dateValues:
|
||||
{ leftDate: $scope.leftDate.clone(),
|
||||
rightDate: $scope.rightDate.clone()
|
||||
}
|
||||
// info = _.reject({
|
||||
// name: 'NoScanDifferences',
|
||||
// message: 'No differences in the scans on the dates you selected. Please try selecting different dates.',
|
||||
// dateValues:
|
||||
// { leftDate: $scope.leftDate.clone(),
|
||||
// rightDate: $scope.rightDate.clone()
|
||||
// }
|
||||
// });
|
||||
$scope.singleFactOnly = true;
|
||||
$scope.factData = info.leftData.map(function(fact) {
|
||||
var keyNameMap = activeModule.keyNameMap;
|
||||
var nameKey = activeModule.nameKey;
|
||||
var renderOptions = _.merge({}, activeModule);
|
||||
var isNestedDisplay = false;
|
||||
var facts;
|
||||
|
||||
if (_.isObject(renderOptions.factTemplate) &&
|
||||
_.isArray(renderOptions.compareKey)) {
|
||||
|
||||
isNestedDisplay = true;
|
||||
|
||||
var templates = _.mapValues(renderOptions.factTemplate, function(template, key) {
|
||||
if (template === true) {
|
||||
return { render: function(fact) {
|
||||
return fact[key];
|
||||
}
|
||||
};
|
||||
} else {
|
||||
return new FactTemplate(template);
|
||||
}
|
||||
});
|
||||
|
||||
facts = _.map(templates, function(template, key) {
|
||||
var keyName = key;
|
||||
|
||||
if (_.isObject(keyNameMap) && keyNameMap.hasOwnProperty(key)) {
|
||||
keyName = keyNameMap[key];
|
||||
}
|
||||
|
||||
renderOptions.factTemplate = template;
|
||||
var formattedValue = formatFactForDisplay(fact, renderOptions);
|
||||
return { keyName: keyName,
|
||||
isNestedDisplay: true,
|
||||
value1: formattedValue
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
} else {
|
||||
renderOptions.factTemplate = new FactTemplate(renderOptions.factTemplate);
|
||||
var formattedValue = formatFactForDisplay(fact, renderOptions);
|
||||
isNestedDisplay = false;
|
||||
facts = { keyName: fact[nameKey],
|
||||
value1: formattedValue
|
||||
};
|
||||
}
|
||||
|
||||
$scope.isNestedDisplay = isNestedDisplay;
|
||||
|
||||
return { displayKeyPath: fact[renderOptions.nameKey],
|
||||
nestingLevel: 0,
|
||||
containsValueArray: false,
|
||||
facts: facts
|
||||
};
|
||||
});
|
||||
} else {
|
||||
$scope.singleFactOnly = false;
|
||||
$scope.factData = info.factData;
|
||||
$scope.isNestedDisplay = info.isNestedDisplay;
|
||||
}
|
||||
$scope.factData = info.factData;
|
||||
$scope.isNestedDisplay = info.isNestedDisplay;
|
||||
|
||||
return info;
|
||||
|
||||
|
||||
@ -87,6 +87,7 @@
|
||||
left-data-no-scans="leftDataNoScans"
|
||||
right-data-no-scans="rightDataNoScans"
|
||||
is-nested-display="isNestedDisplay"
|
||||
single-result-view="singleFactOnly"
|
||||
fact-data="factData">
|
||||
</fact-data-table>
|
||||
</section>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user