2016-12-26 00:23:31 +00:00
< h2 > {{exercice.title}}< / h2 >
2017-12-17 15:07:04 +00:00
< form ng-submit = "saveExercice()" >
< div class = "form-group row" ng-repeat = "field in fields" >
< label for = "{{ field }}" class = "col-sm-1 col-form-label-sm" > {{ field | capitalize }}< / label >
< div class = "col-sm-11" >
< input type = "text" class = "form-control form-control-sm" id = "{{ field }}" ng-model = "exercice[field]" ng-show = "field != 'statement' && field != 'overview' && field != 'depend' && field != 'gain' && field != 'coefficient'" >
< input type = "text" class = "form-control form-control-sm" id = "{{ field }}" ng-model = "exercice[field]" ng-show = "field == 'gain'" integer >
< input type = "text" class = "form-control form-control-sm" id = "{{ field }}" ng-model = "exercice[field]" ng-show = "field == 'coefficient'" float >
< textarea class = "form-control form-control-sm" id = "{{field}}" ng-model = "exercice[field]" ng-show = "field == 'statement' || field == 'overview'" > < / textarea >
< select class = "form-control form-control-sm" id = "{{field}}" ng-model = "exercice[field]" ng-options = "ex.id as ex.title for ex in exercices" ng-show = "field == 'depend'" >
2016-12-26 00:23:31 +00:00
< option value = "" > Aucune< / option >
< / select >
< / div >
< / div >
2016-12-27 20:08:36 +00:00
< div class = "text-right" ng-show = "exercice.id" >
2016-12-26 00:23:31 +00:00
< button type = "submit" class = "btn btn-primary" > < span class = "glyphicon glyphicon-save" aria-hidden = "true" > < / span > Save< / button >
2017-12-17 15:07:04 +00:00
< button class = "btn btn-danger" ng-click = "deleteExercice()" > < span class = "glyphicon glyphicon-remove" aria-hidden = "true" > < / span > Delete< / button >
2016-12-27 20:08:36 +00:00
< / div >
< div class = "text-right" ng-show = "!exercice.id" >
< button type = "submit" class = "btn btn-primary" > < span class = "glyphicon glyphicon-plus" aria-hidden = "true" > < / span > Create exercice< / button >
2016-12-26 00:23:31 +00:00
< / div >
< / form >
< hr >
2016-12-27 20:08:36 +00:00
< div class = "row" ng-show = "exercice.id" >
2016-12-26 00:23:31 +00:00
< div class = "col-md-4" ng-controller = "ExerciceHintsController" >
2017-12-17 15:07:04 +00:00
< div class = "card border-info" >
2018-01-07 23:17:46 +00:00
< div class = "card-header bg-info text-light" >
2017-12-17 15:07:04 +00:00
< 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 >
2016-12-26 00:23:31 +00:00
< / div >
< div class = "list-group" >
2018-01-07 23:17:46 +00:00
< 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 : < samp > {{ hint.file }}< / samp > < br >
Hash : < 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 >
2016-12-27 20:08:36 +00:00
< input type = "text" id = "hcost{{hint.id}}" ng-model = "hint.cost" class = "form-control" integer >
2016-12-26 00:23:31 +00:00
< / div >
2018-01-07 23:17:46 +00:00
< 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 >
2016-12-26 00:23:31 +00:00
< / div >
< / form >
< / div >
< / div >
< / div >
< div class = "col-md-4" ng-controller = "ExerciceFilesController" >
2017-12-17 15:07:04 +00:00
< div class = "card border-secondary" >
2018-01-07 23:17:46 +00:00
< div class = "card-header bg-secondary text-light" >
2017-12-17 15:07:04 +00:00
< 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 >
2016-12-26 00:23:31 +00:00
< / div >
< div class = "list-group" >
2018-01-07 23:17:46 +00:00
< 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 : < span title = "{{ file.size }} octets" > {{ file.size | size }}< / span > < br >
BLAKE2b sum : < samp class = "cksum" > {{ file.checksum | cksum }}< / samp >
2016-12-26 00:23:31 +00:00
< / form >
< / div >
< / div >
< / div >
< div class = "col-md-4" ng-controller = "ExerciceKeysController" >
2017-12-17 15:07:04 +00:00
< div class = "card border-success" >
2018-01-07 23:17:46 +00:00
< div class = "card-header bg-success text-light" >
2017-12-17 15:07:04 +00:00
< 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 >
2016-12-26 00:23:31 +00:00
< / div >
< div class = "list-group" >
2018-01-07 23:17:46 +00:00
< 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 >
2016-12-27 20:08:36 +00:00
< / div >
2016-12-26 00:23:31 +00:00
< / div >
2018-01-07 23:17:46 +00:00
< 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" >
2016-12-27 20:08:36 +00:00
< button type = "submit" class = "btn btn-success" > < span class = "glyphicon glyphicon-ok" aria-hidden = "true" > < / span > < / button >
< / div >
< / div >
2018-01-07 23:17:46 +00:00
< 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" >
2016-12-27 20:08:36 +00:00
< button type = "submit" class = "btn btn-success" > < span class = "glyphicon glyphicon-ok" aria-hidden = "true" > < / span > < / button >
< / div >
2016-12-26 00:23:31 +00:00
< / div >
< / form >
< / div >
< / div >
< / div >
< / div >