improve overall exercices interfaces

This commit is contained in:
nemunaire 2018-01-08 00:17:46 +01:00
parent 11d0fe8d1f
commit beba0a615f
6 changed files with 69 additions and 76 deletions

View file

@ -28,33 +28,31 @@
<div class="col-md-4" ng-controller="ExerciceHintsController">
<div class="card border-info">
<div class="card-header">
<div class="card-header bg-info text-light">
<button ng-click="addHint()" class="float-right btn btn-sm btn-primary" style="margin-left: 7px"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
<button ng-click="syncHints()" class="float-right btn btn-sm btn-light"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
<h4 style="margin:0">Indices</h4>
</div>
<div class="list-group">
<form ng-submit="saveHint()" class="list-group-item form-horizontal" ng-repeat="hint in hints">
<div class="form-group">
<label for="htitle{{hint.id}}" class="col-xs-2 col-form-label">Titre</label>
<div class="col-xs-10">
<input type="text" id="htitle{{hint.id}}" ng-model="hint.title" class="form-control">
</div>
</div>
<div class="form-group">
<label for="hcnt{{hint.id}}" class="col-xs-2 col-form-label">Contenu</label>
<div class="col-xs-10">
<textarea class="form-control" id="hcnt{{hint.id}}" ng-model="hint.content"></textarea>
</div>
</div>
<div class="form-group">
<label for="hcost{{hint.id}}" class="col-xs-2 col-form-label">Coût</label>
<div class="col-xs-10">
<form ng-submit="saveHint()" class="list-group-item form-horizontal bg-light text-dark" ng-repeat="hint in hints">
<input type="text" id="htitle{{hint.id}}" ng-model="hint.title" class="form-control form-control-sm" placeholder="Titre">
<textarea class="form-control form-control-sm" id="hcnt{{hint.id}}" ng-model="hint.content" ng-if="!hint.file"></textarea>
<p ng-if="hint.file">
Fichier&nbsp;: <samp>{{ hint.file }}</samp><br>
Hash&nbsp;: <samp class="cksum">{{ hint.content }}</samp><br>
</p>
<div class="row">
<div class="col-8 input-group input-group-sm mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-sm">Coût</span>
</div>
<input type="text" id="hcost{{hint.id}}" ng-model="hint.cost" class="form-control" integer>
</div>
<div class="col-4">
<button type="submit" class="btn btn-sm btn-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
<button ng-click="deleteHint()" class="btn btn-sm btn-danger" ng-show="hint.id"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
</div>
</div>
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
<a ng-click="deleteHint()" class="btn btn-danger" ng-show="hint.id"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
</form>
</div>
</div>
@ -62,19 +60,21 @@
<div class="col-md-4" ng-controller="ExerciceFilesController">
<div class="card border-secondary">
<div class="card-header">
<div class="card-header bg-secondary text-light">
<button ng-click="addFile()" class="float-right btn btn-sm btn-primary" style="margin-left: 7px"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
<button ng-click="syncFiles()" class="float-right btn btn-sm btn-light"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
<h4 style="margin:0">Téléchargements</h4>
</div>
<div class="list-group">
<form ng-submit="saveFile()" class="list-group-item form" ng-repeat="file in files">
<input type="text" ng-model="file.name">
<a href="{{file.path}}" class="btn btn-default"><span class="glyphicon glyphicon-download" aria-hidden="true"></span></a>
<a ng-click="deleteFile()" class="btn btn-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button><br>
Taille : <span title="{{ file.size }} octets">{{ file.size | size }}</span><br>
BLAKE2b sum : <samp class="cksum">{{ file.checksum | cksum }}</samp>
<form ng-submit="saveFile()" class="list-group-item bg-light text-dark" ng-repeat="file in files">
<div class="row form-group">
<input type="text" ng-model="file.name" class="col form-control form-control-sm" placeholder="Nom de fichier">
<a href="{{file.path}}" class="btn btn-sm btn-secondary col-auto"><span class="glyphicon glyphicon-download" aria-hidden="true"></span></a>
<button type="submit" class="btn btn-sm btn-success col-auto"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button><br>
<button ng-click="deleteFile()" class="btn btn-sm btn-danger col-auto"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
</div>
Taille&nbsp;: <span title="{{ file.size }} octets">{{ file.size | size }}</span><br>
BLAKE2b sum&nbsp;: <samp class="cksum">{{ file.checksum | cksum }}</samp>
</form>
</div>
</div>
@ -82,37 +82,28 @@
<div class="col-md-4" ng-controller="ExerciceKeysController">
<div class="card border-success">
<div class="card-header">
<div class="card-header bg-success text-light">
<button ng-click="addKey()" class="float-right btn btn-sm btn-primary" style="margin-left: 7px"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
<button ng-click="syncKeys()" class="float-right btn btn-sm btn-light"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
<h4>Drapeaux</h4>
</div>
<div class="list-group">
<form ng-submit="saveKey()" class="list-group-item form-horizontal" ng-repeat="key in keys">
<div class="form-group" id="key-{{key.id}}">
<label for="klabel{{key.id}}" class="col-xs-2 col-form-label">Intitulé</label>
<div class="col-xs-8">
<input type="text" id="klabel{{key.id}}" ng-model="key.type" class="form-control">
</div>
<div class="col-xs-1" ng-show="key.id">
<a ng-click="deleteKey()" class="btn btn-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
<form ng-submit="saveKey()" class="list-group-item form-horizontal bg-light text-dark" ng-repeat="key in keys">
<div class="form-group row" id="key-{{key.id}}">
<input type="text" id="klabel{{key.id}}" ng-model="key.label" class="col form-control" placeholder="Intitulé">
<div class="col-auto" ng-show="key.id">
<button ng-click="deleteKey()" class="btn btn-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
</div>
</div>
<div class="form-group" ng-show="key.id">
<label for="kvalue{{key.id}}" class="col-xs-2 col-form-label">Hash</label>
<div class="col-xs-8">
<input type="text" id="kvalue{{key.id}}" ng-model="key.value" class="form-control">
</div>
<div class="col-xs-1">
<div class="form-group row" ng-show="key.id">
<input type="text" id="kvalue{{key.id}}" ng-model="key.value" class="col form-control" placeholder="Condensat">
<div class="col-auto">
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</div>
</div>
<div class="form-group" ng-show="!key.id">
<label for="kvalue{{key.id}}" class="col-xs-2 col-form-label">Clef brute</label>
<div class="col-xs-8">
<input type="text" id="kvalue{{key.id}}" ng-model="key.key" class="form-control">
</div>
<div class="col-xs-1">
<div class="form-group row" ng-show="!key.id">
<input type="text" id="kvalue{{key.id}}" ng-model="key.key" class="col form-control" placeholder="Chaîne à valider">
<div class="col-auto">
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</div>
</div>