95 lines
7.1 KiB
HTML
95 lines
7.1 KiB
HTML
<div class="row">
|
|
<div class="col-md btn-group btn-group-toggle" data-toggle="buttons" ng-controller="TagsController" style="overflow: auto; width: inherit">
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !tagsSelect, 'btn-primary': tagsSelect}" ng-click="toggleAllTags()">All</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !tagsReverse, 'btn-primary': tagsReverse}" ng-click="toggleReverseTags()"><span class="glyphicon" ng-class="{'glyphicon-resize-full': tagsReverse, 'glyphicon-resize-small': !tagsReverse}" aria-hidden="true"></span></button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !tagsShown[tag], 'btn-primary': tagsShown[tag]}" ng-click="toggleTagS(tag)" ng-repeat="tag in tagsX">{{tag}}</button>
|
|
</div>
|
|
<div class="col-md-auto btn-group btn-group-toggle" data-toggle="buttons" style="overflow: auto; width: inherit">
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !statesSelect, 'btn-primary': statesSelect}" ng-click="toggleAllStates()">All</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['na'], 'btn-light': stateShown['na']}" ng-click="toggleStateS('na')"><span class="glyphicon glyphicon-inbox" aria-hidden="true"></span></button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['yes'], 'btn-success': stateShown['yes']}" ng-click="toggleStateS('yes')">OK</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['yesbut'], 'btn-info': stateShown['yesbut']}" ng-click="toggleStateS('yesbut')">OK</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['nobut'], 'btn-warning': stateShown['nobut']}" ng-click="toggleStateS('nobut')">KO</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['no'], 'btn-danger': stateShown['no']}" ng-click="toggleStateS('no')">KO</button>
|
|
<button type="button" class="btn" ng-class="{'btn-secondary': !stateShown['next'], 'btn-dark': stateShown['next']}" ng-click="toggleStateS('next')"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span></button>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-repeat="room in rooms" ng-controller="ItemsRoomController">
|
|
<h2 ng-click="toggleRoom()" ng-dblclick="showOnlyThisRoom()" id="room-{{room.id}}">
|
|
{{room.label}}
|
|
<small class="text-muted" ng-show="room.closed">(<ng-pluralize count="items.length" when="{'0': 'aucun élément', 'one': '{} élément masqué', other: '{} éléments masqués'}"></ng-pluralize>)</small>
|
|
</h2>
|
|
|
|
<div ng-repeat="item in items" ng-controller="ChecksItemController">
|
|
<div class="card" ng-if="!room.closed && filterByTag() && filterByCheck()">
|
|
<div class="card-header" ng-class="{'bg-success': min_checks() == 'yes', 'bg-info': min_checks() == 'yesbut', 'bg-warning': min_checks() == 'nobut', 'bg-danger': min_checks() == 'no', 'bg-secondary': min_checks() == 'N/A'}" ng-controller="TagsItemController" ng-click="toggleDescription()">
|
|
<div class="row">
|
|
<div class="col-sm-auto">
|
|
<span ng-if="min_checks() == 'yes'" class="badge badge-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></span>
|
|
<span ng-if="min_checks() == 'yesbut'" class="badge badge-info"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></span>
|
|
<span ng-if="min_checks() == 'nobut'" class="badge badge-warning"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></span>
|
|
<span ng-if="min_checks() == 'no'" class="badge badge-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></span>
|
|
<span ng-if="min_checks() == 'next'" class="badge badge-dark"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span></span>
|
|
<span ng-if="min_checks() != 'next' && min_checks() != 'no' && min_checks() != 'nobut' && min_checks() != 'yes' && min_checks() != 'yesbut'" class="badge badge-secondary"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true" ng-if="!item.open"></span><span class="glyphicon glyphicon-chevron-down" aria-hidden="true" ng-if="item.open"></span></span>
|
|
<strong>{{item.label}}</strong>
|
|
</div>
|
|
<div class="col-sm text-right">
|
|
<button type="button" class="btn btn-sm btn-success" ng-click="checkOk(false)" ng-dblclick="checkOk(true)">OK</button>
|
|
<button type="button" class="btn btn-sm btn-info" ng-click="checkMok(true)">OK mais…</button>
|
|
<button type="button" class="btn btn-sm btn-warning" ng-click="checkMko(true)">KO mais…</button>
|
|
<button type="button" class="btn btn-sm btn-danger" ng-click="checkKo(true)">KO</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body" ng-if="item.description || item.tags" ng-show="item.open">
|
|
<p class="card-text" ng-if="item.description" ng-bind="item.description"></p>
|
|
<p class="card-text" ng-if="item.tags">
|
|
<span class="badge" ng-class="{'badge-secondary': !tagsShown[tag], 'badge-primary': tagsShown[tag]}" ng-repeat="tag in item.tags">{{tag}}</span>
|
|
</p>
|
|
</div>
|
|
<ul class="list-group list-group-flush" ng-if="item.open">
|
|
<li class="list-group-item" ng-repeat="(ck, check) in checks">
|
|
<span ng-if="check.passed == 'yes'" class="badge badge-success">OK</span>
|
|
<span ng-if="check.passed == 'yesbut'" class="badge badge-info">OK</span>
|
|
<span ng-if="check.passed == 'nobut'" class="badge badge-warning">KO</span>
|
|
<span ng-if="check.passed == 'no'" class="badge badge-danger">KO</span>
|
|
<span ng-if="check.passed == 'next'" class="badge badge-dark"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span></span>
|
|
<a ng-click="delCheck(ck)" class="float-right" ng-if="!check.id_user">
|
|
<span class="glyphicon glyphicon-minus" aria-hidden="true"></span>
|
|
</a>
|
|
{{check.date | date : 'medium'}}<span ng-show="check.comment"> :</span>
|
|
{{check.comment}}
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="commentModal" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<form ng-submit="submitModal()">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="commentModalLabel">{{selectedItem.label}}</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p ng-if="selectedItem.comment" ng-bind="selectedItem"></p>
|
|
<div class="form-group">
|
|
<label for="comment">Commentaire</label>
|
|
<input type="text" class="form-control" id="comment" placeholder="Commentaire...">
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
|
|
<button type="submit" class="btn btn-primary" ng-class="{'btn-success': selectedItem.action == 'yes', 'btn-info': selectedItem.action == 'yesbut', 'btn-warning': selectedItem.action == 'nobut', 'btn-danger': selectedItem.action == 'no', 'btn-dark': selectedItem.action == 'next'}">Continuer …</button>
|
|
<button type="button" class="btn btn-dark" ng-show="selectedItem.action == 'no'" ng-click="skipCheck()">Tester plus tard</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|