2017-01-20 18:18:43 +00:00
< form ng-submit = "saveScenes()" class = "form-horizontal" >
2018-12-05 06:42:57 +00:00
< h2 class = "clearfix" >
2017-12-17 19:44:23 +00:00
Interface publique
2018-12-04 02:15:53 +00:00
< select class = "custom-select" style = "width: auto" id = "screenid" ng-model = "screenid" ng-options = "k as 'Écran ' + v for (k, v) in screens" ng-change = "chScreen()" > < / select >
2017-12-17 19:44:23 +00:00
< div class = "float-right dropdown" >
2018-11-18 20:34:08 +00:00
< button type = "button" class = "btn btn-secondary dropdown-toggle mr-sm-2" type = "button" data-toggle = "dropdown" >
2017-12-17 19:44:23 +00:00
Charger scène
< / button >
< div class = "dropdown-menu" >
< a class = "dropdown-item" ng-click = "presetScene('registration')" > Enregistrement équipes< / a >
< a class = "dropdown-item" ng-click = "presetScene('welcome')" > Accueil public< / a >
< a class = "dropdown-item" ng-click = "presetScene('start')" > Lancement< / a >
< div class = "dropdown-divider" > < / div >
< a class = "dropdown-item" ng-click = "presetScene('summary')" > Résumé< / a >
< div class = "dropdown-divider" > < / div >
2018-01-23 02:52:53 +00:00
< a class = "dropdown-item" ng-click = "presetScene('happyhour')" > Happy Hour< / a >
< div class = "dropdown-divider" > < / div >
2017-12-17 19:44:23 +00:00
< a class = "dropdown-item" ng-click = "clearScene()" > Scène vide< / a >
< / div >
< / div >
2018-01-23 02:54:20 +00:00
< button type = "button" ng-click = "addScene()" class = "float-right btn btn-primary mr-sm-2" > < span class = "glyphicon glyphicon-plus" aria-hidden = "true" > < / span > Ajouter un élément< / button >
2018-12-08 02:35:52 +00:00
< button type = "submit" class = "float-right btn mr-sm-2" ng-class = "{'btn-success': someUpdt,'btn-secondary': !someUpdt}" > < span class = "glyphicon glyphicon-save" aria-hidden = "true" > < / span > Publier cette scène< / button >
2017-01-20 18:18:43 +00:00
< / h2 >
2017-11-21 21:23:49 +00:00
< div class = "alert alert-info" ng-if = "!scenes.length" >
< strong ng-if = "!someUpdt" > Aucun contenu n'est actuellement affiché.< / strong >
< strong ng-if = "someUpdt" > Aucun contenu à afficher.< / strong >
< / div >
2017-12-17 19:44:23 +00:00
2018-12-04 02:15:53 +00:00
< div class = "card mb-2" ng-repeat = "scene in scenes" ng-class = "{'bg-secondary': !scene.params.hide, 'bg-light': scene.params.hide}" >
2017-12-17 19:44:23 +00:00
< div class = "card-body" >
< div class = "form-group row" >
< label for = "type" class = "col-sm-2 col-form-label col-form-label-sm" > Type de scène< / label >
< div class = "col-sm-6" >
< select class = "custom-select custom-select-sm" id = "type" ng-model = "scene.type" ng-options = "k as v for (k, v) in types" > < / select >
< / div >
< div class = "col-sm-4 form-inline" >
< div class = "form-check mb-2 mr-sm-2 mb-sm-0" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "scene.params.hide" >
2018-12-04 02:15:53 +00:00
< span class = "custom-control-label" > Masquer< / span >
2017-01-20 18:18:43 +00:00
< / label >
< / div >
2018-11-18 20:34:08 +00:00
< button type = "button" ng-click = "upScene(scene)" class = "btn btn-sm btn-light mb-2 mr-sm-2 mb-sm-0" > < span class = "glyphicon glyphicon-chevron-up" aria-hidden = "true" > < / span > < / button >
< button type = "button" ng-click = "downScene(scene)" class = "btn btn-sm btn-light mb-2 mr-sm-2 mb-sm-0" > < span class = "glyphicon glyphicon-chevron-down" aria-hidden = "true" > < / span > < / button >
< button type = "button" ng-click = "delScene(scene)" class = "btn btn-sm btn-warning mb-2 mr-sm-2 mb-sm-0" > < span class = "glyphicon glyphicon-minus" aria-hidden = "true" > < / span > Supprimer< / button >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2018-02-02 20:10:31 +00:00
< div class = "form-group row" ng-if = "scene.type == 'welcome' || scene.type == 'carousel'" >
2017-12-17 19:44:23 +00:00
< label for = "wtype" class = "col-sm-2 col-form-label col-form-label-sm" > Sorte< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2018-02-02 20:10:31 +00:00
< select class = "custom-select custom-select-sm" id = "wtype" ng-if = "scene.type == 'welcome'" ng-model = "scene.params.kind" ng-options = "k as v for (k, v) in welcome_types" > < / select >
< select class = "custom-select custom-select-sm" id = "wtype" ng-if = "scene.type == 'carousel'" ng-model = "scene.params.kind" ng-options = "k as v for (k, v) in carousel_types" > < / select >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2018-02-02 20:10:31 +00:00
< div class = "form-group row" ng-if = "scene.type == 'panel' || scene.type == 'carousel' || scene.type == 'countdown'" >
2017-12-17 19:44:23 +00:00
< label for = "ptype" class = "col-sm-2 col-form-label col-form-label-sm" > Couleur du cadre< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< select class = "custom-select custom-select-sm" id = "ptype" ng-model = "scene.params.color" ng-options = "k as v for (k, v) in colors" > < / select >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2018-02-02 20:10:31 +00:00
< div class = "form-group row" ng-if = "scene.type == 'message' || scene.type == 'panel' || scene.type == 'carousel' || scene.type == 'countdown'" >
2017-12-17 19:44:23 +00:00
< label for = "mtitle" class = "col-sm-2 col-form-label col-form-label-sm" > Titre< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< input type = "text" id = "mtitle" ng-model = "scene.params.title" class = "form-control form-control-sm" >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'message' || scene.type == 'panel' || scene.type == 'countdown'" >
< label for = "mlead" class = "col-sm-2 col-form-label col-form-label-sm" ng-if = "scene.type != 'countdown'" > Lead< / label >
< label for = "mlead" class = "col-sm-2 col-form-label col-form-label-sm" ng-if = "scene.type == 'countdown'" > Message final< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< input type = "text" id = "mlead" ng-model = "scene.params.lead" class = "form-control form-control-sm" >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'message' || scene.type == 'panel'" >
< label for = "mcnt" class = "col-sm-2 col-form-label col-form-label-sm" > Contenu HTML< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< textarea class = "form-control form-control-sm" id = "mcnt" ng-model = "scene.params.html" > < / textarea >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'exercice'" >
< label for = "eex" class = "col-sm-2 col-form-label col-form-label-sm" > Exercice< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2018-12-04 02:15:53 +00:00
< select class = "custom-select custom-select-sm" id = "eex" ng-model = "scene.params.exercice" ng-options = "ex.id as ex.title group by ex.path.split('/')[0] for ex in exercices" >
2017-12-17 19:44:23 +00:00
< / select >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'countdown'" >
< label for = "cend" class = "col-sm-2 col-form-label col-form-label-sm" > Date de fin< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< input type = "text" id = "cend" ng-model = "scene.params.end" class = "form-control form-control-sm" >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'rank'" >
< label for = "rtype" class = "col-sm-2 col-form-label col-form-label-sm" > Sorte< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< select class = "custom-select custom-select-sm" id = "rtype" ng-model = "scene.params.which" ng-options = "k as v for (k, v) in rank_types" > < / select >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'rank'" >
< label for = "rlimit" class = "col-sm-2 col-form-label col-form-label-sm" > Nombre d'éléments< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< input type = "text" id = "rlimit" ng-model = "scene.params.limit" class = "form-control form-control-sm" integer >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'rank'" >
< label for = "begin" class = "col-sm-2 col-form-label col-form-label-sm" > Début du classement (à partir de 0)< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< input type = "text" id = "rbegin" ng-model = "scene.params.begin" class = "form-control form-control-sm" integer >
2017-01-20 18:18:43 +00:00
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'table'" >
< label for = "ttable" class = "col-sm-2 col-form-label col-form-label-sm" > Quelle table ?< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< select class = "custom-select custom-select-sm" id = "ttable" ng-model = "scene.params.kind" ng-options = "k as v for (k, v) in table_types" >
2017-01-20 18:18:43 +00:00
< / select >
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'table'" >
< label for = "ttheme" class = "col-sm-2 col-form-label col-form-label-sm" > Thèmes à afficher< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2017-12-17 19:44:23 +00:00
< select class = "custom-select custom-select-sm" id = "ttheme" multiple = "1" ng-model = "scene.params.themes" ng-options = "th.id as th.name for th in themes" >
2017-01-20 18:18:43 +00:00
< / select >
< / div >
< / div >
2018-01-23 02:52:24 +00:00
< div class = "form-group row" ng-if = "scene.type == 'table' && scene.params.kind == 'levels'" >
< label for = "ttheme" class = "col-sm-2 col-form-label col-form-label-sm" > Niveaux à afficher< / label >
< div class = "col-sm-10" >
< select class = "custom-select custom-select-sm" id = "tlevels" multiple = "1" ng-model = "scene.params.levels" ng-options = "lvl for lvl in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]" >
< / select >
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'table' && scene.params.kind == 'teams'" >
< label for = "tteams" class = "col-sm-2 col-form-label col-form-label-sm" > Équipes à afficher< / label >
2017-01-20 18:18:43 +00:00
< div class = "col-sm-10" >
2018-12-04 02:15:53 +00:00
< select class = "custom-select custom-select-sm" id = "tteams" multiple = "1" ng-model = "scene.params.teams" ng-options = "tid as (t.rank + 'e - ' + t.name) for (tid,t) in teams" >
2017-01-20 18:18:43 +00:00
< / select >
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< div class = "form-group row" ng-if = "scene.type == 'table'" >
< div class = "col-sm-2" > < / div >
< div class = "col-sm-10" >
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "scene.params.total" >
2018-12-04 02:15:53 +00:00
< span class = "custom-control-label" > Ligne de total< / span >
2017-12-17 19:44:23 +00:00
< / label >
< / div >
< / div >
< / div >
< div class = "form-group row" ng-if = "scene.type == 'welcome'" >
< div class = "col-sm-2" > < / div >
< div class = "col-sm-10" >
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "scene.params.notitle" >
2018-12-04 02:15:53 +00:00
< span class = "custom-control-label" > Masquer le titre< / span >
2017-01-20 18:18:43 +00:00
< / label >
< / div >
< / div >
< / div >
2017-12-17 19:44:23 +00:00
< / div >
2017-01-20 18:18:43 +00:00
< / div >
< / form >