Paul Van Eck 96558296aa Use Refstack API to get capabilities and versions
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
2015-05-08 17:20:26 -07:00

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>