
All capability versions listed on the capability page and report page will now come from the API along with actual capability content. Change-Id: I1e39ef600c60cad7e0ada64a86fab48108fa51bf
80 lines
3.3 KiB
HTML
80 lines
3.3 KiB
HTML
<h3>DefCore Capabilities</h3>
|
|
<strong>Version:</strong>
|
|
<select ng-model="version" ng-change="update()">
|
|
<option ng-repeat="versionFile in versionList" value="{{versionFile}}">{{versionFile.slice(0, -5)}}</option>
|
|
</select>
|
|
<br /><br />
|
|
<strong>Target Program:</strong>
|
|
<select ng-model="target" >
|
|
<option value="platform">OpenStack Powered Platform</option>
|
|
<option value="compute">OpenStack Powered Compute</option>
|
|
<option value="object">OpenStack Powered Object Storage</option>
|
|
</select>
|
|
<span class="program-about"><a target="_blank" href="http://www.openstack.org/brand/interop/">About</a></span>
|
|
<br /><br />
|
|
|
|
<strong>Capability Status:</strong>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="status.required" ng-true-value="'required'" ng-false-value="''">
|
|
<span class="required">Required</span>
|
|
</label>
|
|
<label>
|
|
<input type="checkbox" ng-model="status.advisory" ng-true-value="'advisory'" ng-false-value="''">
|
|
<span class="advisory">Advisory</span>
|
|
</label>
|
|
<label>
|
|
<input type="checkbox" ng-model="status.deprecated" ng-true-value="'deprecated'" ng-false-value="''">
|
|
<span class="deprecated">Deprecated</span>
|
|
</label>
|
|
<label>
|
|
<input type="checkbox" ng-model="status.removed" ng-true-value="'removed'" ng-false-value="''">
|
|
<span class="removed">Removed</span>
|
|
</label>
|
|
</div>
|
|
<p><small>Tests marked with <span class="glyphicon glyphicon-flag text-warning"></span> are tests flagged by DefCore.</small></p>
|
|
|
|
<div cg-busy="{promise:versionsRequest,message:'Loading versions'}"></div>
|
|
<div cg-busy="{promise:capsRequest,message:'Loading capabilities'}"></div>
|
|
<ol ng-show="capabilities" class="capabilities">
|
|
<li class="capability-list-item" ng-repeat="capability in capabilities.capabilities | arrayConverter | filter:filterProgram | filter:filterStatus">
|
|
<span class="capability-name">{{capability.name}}</span><br />
|
|
<em>{{capability.description}}</em><br />
|
|
Status: <span class="{{capability.status}}">{{capability.status}}</span><br />
|
|
<a ng-click="hideAchievements = !hideAchievements">Achievements ({{capability.achievements.length}})</a><br />
|
|
<ol collapse="hideAchievements" class="list-inline">
|
|
<li ng-repeat="achievement in capability.achievements">
|
|
{{achievement}}
|
|
</li>
|
|
</ol>
|
|
|
|
<a ng-click="hideTests = !hideTests">Tests ({{capability.tests.length}})</a>
|
|
<ul collapse="hideTests">
|
|
<li ng-repeat="test in capability.tests">
|
|
<span ng-class="{'glyphicon glyphicon-flag text-warning': capability.flagged.indexOf(test) > -1}"></span>
|
|
{{test}}
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
|
|
<div ng-show="capabilities" class="criteria">
|
|
<hr>
|
|
<h4><a ng-click="hideCriteria = !hideCriteria">Criteria</a></h4>
|
|
<div collapse="hideCriteria">
|
|
<ul>
|
|
<li ng-repeat="(key, criterion) in capabilities.criteria">
|
|
<span class="criterion-name">{{criterion.name}}</span><br />
|
|
<em>{{criterion.Description}}</em><br />
|
|
Weight: {{criterion.weight}}
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-show="showError" class="alert alert-danger" role="alert">
|
|
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
|
|
<span class="sr-only">Error:</span>
|
|
{{error}}
|
|
</div>
|