1 <div class="container-fluid ng-cloak" ng-cloak>
3 <div class="row" ng-show="state === c.ST_LOADING">
7 <div class="row" ng-show="state === c.ST_STILL_LOADING">
8 <h4>Still loading from backend.</h4>
10 Load time so far: {{ loadTime | number:0 }} s.
14 <div class="row" ng-show="state === c.ST_READY">
16 <tab heading="Unfiled">
18 <div class="container controlBox">
19 <form class="form-inline settingsForm" novalidate >
20 <legend class="simpleLegend">Settings</legend>
21 <div class="checkbox formPadding">
23 <input type="checkbox"
24 ng-model="settings.showThumbnails">Show thumbnails
28 <div class="checkbox formPadding">
30 <input type="checkbox"
31 ng-model="settings.mergeIdenticalRows"
32 ng-change="mergeRowsChanged(mergeIdenticalRows)"> Merge identical rows
36 <div class="form-group formPadding">
37 <label for="imageWidth">Image Width</label>
38 <select ng-model="settings.imageSize"
39 ng-options="iSize for iSize in c.IMAGE_SIZES"
40 class="form-control input-sm">
44 <div class="form-group formPadding">
45 <label>Max records</label>
46 <select ng-model="settings.nRecords"
47 ng-options="n for n in c.MAX_RECORDS"
48 ng-change="maxRecordsChanged();"
49 class="form-control input-sm">
55 <form class="form settingsForm" novalidate>
56 <legend class="simpleLegend">Filters</legend>
57 <div class="container-fluid">
58 <div class="col-lg-2 filterBox" ng-repeat="oneCol in filterCols">
59 <div class="filterKey">{{ oneCol.key }}</div>
61 <!-- If we filter this column using free-form text match... -->
62 <div ng-if="oneCol.ftype === c.FILTER_FREE_FORM">
64 ng-model="filterVals[$index]"
65 typeahead="opt.value for opt in oneCol.foptions | filter:$viewValue"
66 class="form-control input-sm">
68 <a ng-click="filterVals[$index]=''"
69 ng-disabled="'' === filterVals[$index]"
75 <!-- If we filter this column using checkboxes... -->
76 <div ng-if="oneCol.ftype === c.FILTER_CHECK_BOX">
78 <div class="checkbox" ng-repeat="oneOpt in oneCol.foptions">
80 <input type="checkbox"
81 ng-model="filterVals[$parent.$index][$index]">{{oneOpt.value}} ({{ oneOpt.count }})
85 <a ng-click="setFilterAll($index, true)" href="">All</a> -
86 <a ng-click="setFilterAll($index, False)" href="">None</a> -
87 <a ng-click="setFilterToggle($index)" href="">Toggle</a>
94 <div class="container updateBtn">
95 <button class="btn btn-success col-lg-4 pull-left"
96 ng-click="filtersChanged()"
97 ng-disabled="updating">
98 {{ updating && 'Updating ...' || 'Update' }}
108 <!-- results header -->
109 <div class="col-lg-12 resultsHeaderActions well">
110 <div class="col-lg-6">
111 <h4>Showing {{showingRecords}} of {{selectedRecords}} (of {{totalRecords}} total)</h4>
112 <span ng-show="renderTime > 0">
113 Rendered in {{renderTime | number:0 }} ms (filtered and sorted in {{ filterTime | number:0 }} ms).
116 (click on the column header radio buttons to re-sort by that column)
120 <div class="col-lg-6">
122 <button class="btn btn-default btn-sm" ng-click="selectAllImagePairs()">Select</button>
123 <button class="btn btn-default btn-sm" ng-click="clearAllImagePairs()">Clear</button>
124 <button class="btn btn-default btn-sm" ng-click="toggleAllImagePairs()">Toggle</button>
126 <div ng-repeat="otherTab in tabs">
127 <button class="btn btn-default btn-sm"
128 ng-click="moveSelectedImagePairsToTab(otherTab)"
129 ng-disabled="selectedImagePairs.length == 0"
130 ng-show="otherTab != viewingTab">
131 Move {{selectedImagePairs.length}} selected tests to {{otherTab}} tab
139 <table class="table table-bordered">
142 <!-- Most column headers are displayed in a common fashion... -->
143 <th ng-repeat="oneCol in allCols" ng-style="{ 'min-width': getImageWidthStyle(oneCol, 20, 'auto') }">
144 <a ng-class="getSortedClass('sort', $index, '')"
145 ng-click="sortBy($index)"
147 class="sortableHeader">
152 <div class="checkbox">
154 <input type="checkbox" ng-model="allChecked" ng-change="checkAll()">All
161 <tr ng-repeat="oneRow in data">
162 <td ng-repeat="oneColVal in oneRow.dataCols">
166 <td ng-repeat="oneCol in oneRow.imageCols" ng-if="oneRow.rowspan > 0" rowspan="{{ oneRow.rowspan }}">
167 <div ng-show="oneCol.url">
168 <a href="{{ oneCol.url }}" target="_blank">View Image</a><br/>
169 <img ng-if="settings.showThumbnails"
170 ng-style="{ width: settings.imageSize+'px' }"
171 ng-src="{{ oneCol.url }}" />
172 <div ng-if="oneCol.percent && oneCol.value">
173 {{oneCol.percent}}% ({{ oneCol.value }})
176 <div ng-hide="oneCol.url" style="text-align:center">
177 <span ng-show="oneCol.url === null">–none–</span>
178 <span ng-hide="oneCol.url === null"> </span>
182 <td ng-if="oneRow.rowspan > 0" rowspan="{{ oneRow.rowspan }}">
183 <div class="checkbox">
184 <input type="checkbox"
185 ng-model="checkRows[$index]"
186 ng-change="rowCheckChanged($index)">
196 <tab heading="Hidden">
200 <tab heading="Pending Approval">
201 <h3>Pending Approval</h3>