[Update] Manage history order + State `machineDefault/getState`"

[Todo] Test
This commit is contained in:
xdrm-brackets 2017-02-19 18:07:04 +01:00
parent 4e017aeb2f
commit 934545aae4
8 changed files with 633 additions and 595 deletions

View File

@ -6,6 +6,7 @@
use \error\core\Error; use \error\core\Error;
use \error\core\Err; use \error\core\Err;
use \database\core\Repo; use \database\core\Repo;
use \api\core\Request;
class machineDefault{ class machineDefault{
@ -315,6 +316,110 @@
/* RETURN MACHINE STATE
*
* @id_machine<int> UID of the machine
*
* @return state<string> Machine state
*
*/
public function getState($params){
extract($params);
/* [1] Get machine info
=========================================================*/
/* (1) Write request */
$machine_req = new Request('machineDefault/getById', ['id_machine' => $id_machine]);
/* (2) Execute request */
$machine_res = $machine_req->dispatch();
/* (3) Manage error */
if( $machine_res->error->get() != Err::Success )
return [ 'error' => $machine_res->error ];
/* [2] Get action id=>name
=========================================================*/
$action = [];
/* (1) Write request */
$action_req = new Repo('action/getAll', []);
/* (2) Manage error */
if( $action_req->error->get() != Err::Success )
return [ 'error' => $action_req->error ];
/* (3) Create association array */
foreach($action_req->answer() as $a)
$action[ strtolower($a['name']) ] = $a['id_action'];
/* [3] Get history for the machine
=========================================================*/
/* (1) Write request */
$history_req = new Repo('history/getByIdMachine', [$id_machine]);
/* (2) Manage error */
if( $history_req->error->get() != Err::Success )
return [ 'error' => $history_req->error ];
/* (3) Extract history */
$history = $history_req->answer();
/* [4] Process state
=========================================================*/
/* (1) LOCKED (last = lock)
---------------------------------------------------------*/
if( count($history) > 0 && $history[0]['id_action'] == $action['lock'] )
return [ 'state' => 'locked' ];
/* (2) STOPPED (last = unlock | stop)
---------------------------------------------------------*/
if( count($history) > 0 && in_array($history[0]['id_action'], [$action['stop'], $action['unlock']]) )
return [ 'state' => 'stopped' ];
/* (3) SIGNALED (start|stop ..... signal)
---------------------------------------------------------*/
if( count($history) > 0 && $history[0]['id_action'] == $action['signal'] )
return [ 'state' => 'signaled' ];
for( $c = 1 ; $c < count($history) ; $c++ ){
/* (1) If (start|stop), continue to search */
if( in_array($history[$c]['id_action'] , [$action['start'], $action['stop']]) )
continue;
/* (2) If (signal) found, therefore it is signaled */
else if( $history[$c]['id_action'] == $action['signal'] )
return [ 'state' => 'signaled' ];
/* (4) STARTED (last state)
---------------------------------------------------------*/
else
return [ 'state' => 'started' ];
}
/* (5) DETACHED (no state)
---------------------------------------------------------*/
return [ 'state' => 'detached' ];
}

View File

@ -132,7 +132,7 @@
->join('id_action', $actions) ->join('id_action', $actions)
->select('id_history') ->select('id_history')
->select('timestamp') ->select('timestamp')
->orderby('timestamp', Rows::ORDER_ASC); ->orderby('timestamp', Rows::ORDER_DESC);
return $history->fetch(); return $history->fetch();
} }

View File

@ -299,6 +299,7 @@
=========================================================*/ =========================================================*/
$user = Table::get('user') $user = Table::get('user')
->whereIdWarehouse($id_warehouse) ->whereIdWarehouse($id_warehouse)
->orderby('username', Rows::ORDER_ASC)
->select('*'); ->select('*');
return $user->fetch(); return $user->fetch();

View File

@ -40,8 +40,16 @@
return $answer->get('machines'); return $answer->get('machines');
})); }));
$twig->addFunction(new \Twig_Function('f_getstate', function(){ $twig->addFunction(new \Twig_Function('f_getstate', function($id_machine){
/* (1) Write / Execute request */
$req = new Request('machineDefault/getState', ['id_machine' => $id_machine]);
$res = $req->dispatch();
/* (2) Manage error */
if( $res->error->get() != Err::Success )
return 'detached'; return 'detached';
return $res->get('state');
})); }));
$twig->addFunction(new \Twig_Function('f_clusters', function($id_machine){ $twig->addFunction(new \Twig_Function('f_clusters', function($id_machine){

View File

@ -348,6 +348,17 @@
"output": { "output": {
"status": { "description": "Status de la suppression.", "type": "boolean" } "status": { "description": "Status de la suppression.", "type": "boolean" }
} }
},
"POST::getState": {
"description": "Retourne l'état d'une machine.",
"permissions": ["warehouse", "admin"],
"parameters": {
"id_machine": { "description": "UID de la machine", "type": "id" }
},
"output": {
"state": { "description": "Etat de la machine", "type": "text" }
}
} }
}, },

View File

@ -6,9 +6,9 @@
"search", "search",
"getAll", "getAll",
"getByUser", "getByIdUser",
"getByMachine", "getByIdMachine",
"getByCluster" "getByIdAction"
], ],

View File

@ -123,8 +123,8 @@
background-color: #ddd; background-color: #ddd;
&[data-state='stop']{ background-color: #ddd; } &[data-state='stopped']{ background-color: #ddd; }
&[data-state='start']{ background-color: #22E07B; } &[data-state='started']{ background-color: #22E07B; }
&[data-state='signaled']{ background-color: #3897D6; } &[data-state='signaled']{ background-color: #3897D6; }
&[data-state='locked']{ background-color: #EA460A; } &[data-state='locked']{ background-color: #EA460A; }
&[data-state='detached']{ background-color: #AB1EE2; } &[data-state='detached']{ background-color: #AB1EE2; }

View File

@ -14,26 +14,21 @@
/* [3] Formulaires /* [3] Formulaires
=========================================================*/ =========================================================*/
/* (1) Champs de texte */ /* (1) Champs de texte */
/* (2) Boutons */ /* (2) Boutons */ }
} #WRAPPER > #CONTAINER > section {
#WRAPPER > #CONTAINER > section {
display: none; display: none;
flex-grow: 1; flex-grow: 1; }
} #WRAPPER > #CONTAINER > section.active {
#WRAPPER > #CONTAINER > section.active {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: flex-start; align-items: flex-start;
justify-content: flex-start; justify-content: flex-start;
flex-wrap: wrap; flex-wrap: wrap; }
} #WRAPPER > #CONTAINER > section.active .inline-box {
#WRAPPER > #CONTAINER > section.active .inline-box { flex: 0 0 1; }
flex: 0 0 1; #WRAPPER > #CONTAINER > section.active .inline-row {
} flex: 3em 0 1; }
#WRAPPER > #CONTAINER > section.active .inline-row { #WRAPPER > #CONTAINER > section.active .searchbar {
flex: 3em 0 1;
}
#WRAPPER > #CONTAINER > section.active .searchbar {
display: inline-block; display: inline-block;
position: relative; position: relative;
flex: calc( 100% - 2*1em - 2*1em ); flex: calc( 100% - 2*1em - 2*1em );
@ -44,12 +39,10 @@
border: 1px solid #b1b1b1; border: 1px solid #b1b1b1;
background: #fff url("/src/static/sub-menu-side/search@b1b1b1.svg") 0.5em center no-repeat; background: #fff url("/src/static/sub-menu-side/search@b1b1b1.svg") 0.5em center no-repeat;
background-size: 1em; background-size: 1em;
transition: border .4s ease-in-out; transition: border .4s ease-in-out; }
} #WRAPPER > #CONTAINER > section.active .searchbar:hover, #WRAPPER > #CONTAINER > section.active .searchbar:focus {
#WRAPPER > #CONTAINER > section.active .searchbar:hover, #WRAPPER > #CONTAINER > section.active .searchbar:focus { border-color: #5630ed; }
border-color: #5630ed; #WRAPPER > #CONTAINER > section.active .error {
}
#WRAPPER > #CONTAINER > section.active .error {
display: inline-block; display: inline-block;
position: relative; position: relative;
width: calc( 100% - 2*1em - 2*1em ); width: calc( 100% - 2*1em - 2*1em );
@ -60,9 +53,8 @@
border: 1px solid #d52918; border: 1px solid #d52918;
background: #d52918; background: #d52918;
color: #fff; color: #fff;
text-shadow: 1px 1px #a72013; text-shadow: 1px 1px #a72013; }
} #WRAPPER > #CONTAINER > section > .inline-box, #WRAPPER > #CONTAINER > section > .inline-row {
#WRAPPER > #CONTAINER > section > .inline-box, #WRAPPER > #CONTAINER > section > .inline-row {
display: inline-block; display: inline-block;
position: relative; position: relative;
flex: calc( 50% - 2*1em - 2*1em ); flex: calc( 50% - 2*1em - 2*1em );
@ -77,67 +69,53 @@
/* (3) Adresse mail */ /* (3) Adresse mail */
/* (4) Groupes */ /* (4) Groupes */
/* (5) Lien vers la modification */ /* (5) Lien vers la modification */
/* (6) Lien vers la suppression */ /* (6) Lien vers la suppression */ }
} #WRAPPER > #CONTAINER > section > .inline-box.hidden, #WRAPPER > #CONTAINER > section > .inline-row.hidden {
#WRAPPER > #CONTAINER > section > .inline-box.hidden, #WRAPPER > #CONTAINER > section > .inline-row.hidden { display: none; }
display: none; #WRAPPER > #CONTAINER > section > .inline-box a, #WRAPPER > #CONTAINER > section > .inline-row a {
}
#WRAPPER > #CONTAINER > section > .inline-box a, #WRAPPER > #CONTAINER > section > .inline-row a {
text-decoration: none; text-decoration: none;
color: inherit; color: inherit; }
} #WRAPPER > #CONTAINER > section > .inline-box.selected, #WRAPPER > #CONTAINER > section > .inline-row.selected {
#WRAPPER > #CONTAINER > section > .inline-box.selected, #WRAPPER > #CONTAINER > section > .inline-row.selected {
border: 1px solid #7362ff; border: 1px solid #7362ff;
transition: box-shadow .2s ease-in-out; transition: box-shadow .2s ease-in-out; }
} #WRAPPER > #CONTAINER > section > .inline-box.selected:hover, #WRAPPER > #CONTAINER > section > .inline-row.selected:hover {
#WRAPPER > #CONTAINER > section > .inline-box.selected:hover, #WRAPPER > #CONTAINER > section > .inline-row.selected:hover { box-shadow: 2px 2px 7px #aaa; }
box-shadow: 2px 2px 7px #aaa; #WRAPPER > #CONTAINER > section > .inline-box .state, #WRAPPER > #CONTAINER > section > .inline-row .state {
}
#WRAPPER > #CONTAINER > section > .inline-box .state, #WRAPPER > #CONTAINER > section > .inline-row .state {
display: inline-block; display: inline-block;
width: .7em; width: .7em;
height: .7em; height: .7em;
margin-right: .3em; margin-right: .3em;
border-radius: 50% / 50%; border-radius: 50% / 50%;
background-color: #ddd; background-color: #ddd; }
} #WRAPPER > #CONTAINER > section > .inline-box .state[data-state='stopped'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='stopped'] {
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='stop'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='stop'] { background-color: #ddd; }
background-color: #ddd; #WRAPPER > #CONTAINER > section > .inline-box .state[data-state='started'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='started'] {
} background-color: #22E07B; }
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='start'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='start'] { #WRAPPER > #CONTAINER > section > .inline-box .state[data-state='signaled'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='signaled'] {
background-color: #22E07B; background-color: #3897D6; }
} #WRAPPER > #CONTAINER > section > .inline-box .state[data-state='locked'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='locked'] {
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='signaled'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='signaled'] { background-color: #EA460A; }
background-color: #3897D6; #WRAPPER > #CONTAINER > section > .inline-box .state[data-state='detached'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='detached'] {
} background-color: #AB1EE2; }
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='locked'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='locked'] { #WRAPPER > #CONTAINER > section > .inline-box .title, #WRAPPER > #CONTAINER > section > .inline-row .title {
background-color: #EA460A;
}
#WRAPPER > #CONTAINER > section > .inline-box .state[data-state='detached'], #WRAPPER > #CONTAINER > section > .inline-row .state[data-state='detached'] {
background-color: #AB1EE2;
}
#WRAPPER > #CONTAINER > section > .inline-box .title, #WRAPPER > #CONTAINER > section > .inline-row .title {
display: inline-block; display: inline-block;
font-size: 1.15em; font-size: 1.15em;
font-weight: bold; font-weight: bold;
color: #ea4c06; color: #ea4c06;
white-space: nowrap; white-space: nowrap; }
} #WRAPPER > #CONTAINER > section > .inline-box .title > span, #WRAPPER > #CONTAINER > section > .inline-row .title > span {
#WRAPPER > #CONTAINER > section > .inline-box .title > span, #WRAPPER > #CONTAINER > section > .inline-row .title > span {
font-size: .8em; font-size: .8em;
color: #333; color: #333; }
} #WRAPPER > #CONTAINER > section > .inline-box .code,
#WRAPPER > #CONTAINER > section > .inline-box .code, #WRAPPER > #CONTAINER > section > .inline-box .mail, #WRAPPER > #CONTAINER > section > .inline-row .code,
#WRAPPER > #CONTAINER > section > .inline-box .mail, #WRAPPER > #CONTAINER > section > .inline-row .code, #WRAPPER > #CONTAINER > section > .inline-row .mail {
#WRAPPER > #CONTAINER > section > .inline-row .mail {
display: block; display: block;
margin: 1em; margin: 1em;
color: #333; color: #333;
white-space: nowrap; white-space: nowrap; }
} #WRAPPER > #CONTAINER > section > .inline-box .code svg,
#WRAPPER > #CONTAINER > section > .inline-box .code svg, #WRAPPER > #CONTAINER > section > .inline-box .mail svg, #WRAPPER > #CONTAINER > section > .inline-row .code svg,
#WRAPPER > #CONTAINER > section > .inline-box .mail svg, #WRAPPER > #CONTAINER > section > .inline-row .code svg, #WRAPPER > #CONTAINER > section > .inline-row .mail svg {
#WRAPPER > #CONTAINER > section > .inline-row .mail svg {
display: inline-block; display: inline-block;
position: relative; position: relative;
margin-left: .5em; margin-left: .5em;
@ -145,26 +123,22 @@
margin-bottom: -.6em; margin-bottom: -.6em;
width: 1.5em; width: 1.5em;
height: 2em; height: 2em;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .code svg path#stylisable,
#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stylisable,
#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stylisable {
#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stylisable {
fill: #333 !important; fill: #333 !important;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .code svg path#stroke-stylisable,
#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stroke-stylisable,
#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stroke-stylisable {
#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stroke-stylisable {
stroke: #333 !important; stroke: #333 !important;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups, #WRAPPER > #CONTAINER > section > .inline-row .groups {
#WRAPPER > #CONTAINER > section > .inline-box .groups, #WRAPPER > #CONTAINER > section > .inline-row .groups {
display: block; display: block;
margin: 1em; margin: 1em;
color: #333; color: #333; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups svg, #WRAPPER > #CONTAINER > section > .inline-row .groups svg {
#WRAPPER > #CONTAINER > section > .inline-box .groups svg, #WRAPPER > #CONTAINER > section > .inline-row .groups svg {
display: inline-block; display: inline-block;
position: relative; position: relative;
margin-left: .5em; margin-left: .5em;
@ -172,13 +146,11 @@
margin-bottom: -.6em; margin-bottom: -.6em;
width: 1.5em; width: 1.5em;
height: 2em; height: 2em;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups svg path, #WRAPPER > #CONTAINER > section > .inline-row .groups svg path {
#WRAPPER > #CONTAINER > section > .inline-box .groups svg path, #WRAPPER > #CONTAINER > section > .inline-row .groups svg path {
fill: #333 !important; fill: #333 !important;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore), #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span {
display: inline-block; display: inline-block;
position: relative; position: relative;
padding: .1em .5em; padding: .1em .5em;
@ -189,13 +161,11 @@
box-shadow: inset 0 0 2px #fafafa; box-shadow: inset 0 0 2px #fafafa;
background-color: #f9f9f9; background-color: #f9f9f9;
color: #333; color: #333;
cursor: default; cursor: default; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member {
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex-wrap: nowrap; flex-wrap: nowrap;
@ -211,18 +181,15 @@
overflow-y: auto; overflow-y: auto;
background: #fff; background: #fff;
box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15); box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15);
z-index: 100; z-index: 100; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span {
padding: .5em; padding: .5em;
padding-left: 1em; padding-left: 1em;
flex: 2em 1 1; flex: 2em 1 1;
cursor: pointer; cursor: pointer; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span:hover {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span.add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore).add-member > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-permission > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-group > div.dropdown > span:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span.add-member > div.dropdown > span:hover { background-color: #F8F8F8; }
background-color: #F8F8F8; #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member {
}
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member {
display: block; display: block;
position: absolute; position: absolute;
top: -1px; top: -1px;
@ -237,82 +204,68 @@
background-size: auto 70%; background-size: auto 70%;
background-color: #f9f9f9; background-color: #f9f9f9;
color: inherit; color: inherit;
cursor: pointer; cursor: pointer; }
} #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member:hover {
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.rem-member:hover { background-image: url("/src/static/sub-menu-side/remove@d52918.svg"); }
background-image: url("/src/static/sub-menu-side/remove@d52918.svg"); #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover {
}
#WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.ignore > span > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span:not(.ignore) > span.icon-permission:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.ignore > span > span.icon-permission:hover {
border-color: #ddd; border-color: #ddd;
background-color: #eee; background-color: #eee;
cursor: default; cursor: default;
background-image: url("/src/static/sub-menu-side/permission.svg"); background-image: url("/src/static/sub-menu-side/permission.svg"); }
} #WRAPPER > #CONTAINER > section > .inline-box .link_edit,
#WRAPPER > #CONTAINER > section > .inline-box .link_edit, #WRAPPER > #CONTAINER > section > .inline-box .link_remove, #WRAPPER > #CONTAINER > section > .inline-row .link_edit,
#WRAPPER > #CONTAINER > section > .inline-box .link_remove, #WRAPPER > #CONTAINER > section > .inline-row .link_edit, #WRAPPER > #CONTAINER > section > .inline-row .link_remove {
#WRAPPER > #CONTAINER > section > .inline-row .link_remove {
display: inline-block; display: inline-block;
float: right; float: right;
position: relative; position: relative;
width: 1em; width: 1em;
height: 1em; height: 1em;
margin-left: 1em; margin-left: 1em;
cursor: pointer; cursor: pointer; }
} #WRAPPER > #CONTAINER > section > .inline-box .link_edit > svg,
#WRAPPER > #CONTAINER > section > .inline-box .link_edit > svg, #WRAPPER > #CONTAINER > section > .inline-box .link_remove > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit > svg,
#WRAPPER > #CONTAINER > section > .inline-box .link_remove > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove > svg {
#WRAPPER > #CONTAINER > section > .inline-row .link_remove > svg {
width: 100%; width: 100%;
height: 100%; height: 100%;
fill: #ddd !important; fill: #ddd !important;
transition: fill .4s ease-in-out; transition: fill .4s ease-in-out;
pointer-events: none; pointer-events: none; }
} #WRAPPER > #CONTAINER > section > .inline-box .link_edit:hover > svg,
#WRAPPER > #CONTAINER > section > .inline-box .link_edit:hover > svg, #WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit:hover > svg,
#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg {
#WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg { fill: #2193e6 !important; }
fill: #2193e6 !important; #WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg {
} fill: #d52918 !important; }
#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg { #WRAPPER > #CONTAINER > section.fstart {
fill: #d52918 !important;
}
#WRAPPER > #CONTAINER > section.fstart {
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center; }
} #WRAPPER > #CONTAINER > section.fstart .searchbar {
#WRAPPER > #CONTAINER > section.fstart .searchbar { flex: auto 1 1; }
flex: auto 1 1; #WRAPPER > #CONTAINER > section.active > .inline-row {
} flex: auto 1 1; }
#WRAPPER > #CONTAINER > section.active > .inline-row { #WRAPPER > #CONTAINER > section > .inline-row {
flex: auto 1 1;
}
#WRAPPER > #CONTAINER > section > .inline-row {
width: calc( 100% - 4em - 2*1em ); width: calc( 100% - 4em - 2*1em );
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
overflow: hidden; overflow: hidden; }
} #WRAPPER > #CONTAINER > section > .inline-row > span {
#WRAPPER > #CONTAINER > section > .inline-row > span {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-around; justify-content: space-around;
flex: 100% 1 1; flex: 100% 1 1;
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
text-align: center; text-align: center; }
} #WRAPPER > #CONTAINER > section > .inline-row > span:first-child {
#WRAPPER > #CONTAINER > section > .inline-row > span:first-child { border-left: 0; }
border-left: 0; #WRAPPER > #CONTAINER > section > .inline-row button {
}
#WRAPPER > #CONTAINER > section > .inline-row button {
flex: auto; flex: auto;
width: 5em; width: 5em; }
} #WRAPPER > #CONTAINER > section > form, #WRAPPER > #CONTAINER .form {
#WRAPPER > #CONTAINER > section > form, #WRAPPER > #CONTAINER .form {
display: inline-block; display: inline-block;
position: relative; position: relative;
left: 50%; left: 50%;
@ -322,123 +275,110 @@
border-color: #d52918; border-color: #d52918;
box-shadow: 0 0 1px #b7b7b7; box-shadow: 0 0 1px #b7b7b7;
background-color: #fff; background-color: #fff;
transform: translateX(-50%); transform: translateX(-50%); }
} #WRAPPER > #CONTAINER > section > form.valid, #WRAPPER > #CONTAINER .form.valid {
#WRAPPER > #CONTAINER > section > form.valid, #WRAPPER > #CONTAINER .form.valid { border-color: #27a560; }
border-color: #27a560; #WRAPPER > #CONTAINER > section > form.neutral, #WRAPPER > #CONTAINER .form.neutral {
} border-color: #2193e6; }
#WRAPPER > #CONTAINER > section > form.neutral, #WRAPPER > #CONTAINER .form.neutral { #WRAPPER > #CONTAINER > section > form.search, #WRAPPER > #CONTAINER .form.search {
border-color: #2193e6; border-color: #2193e6; }
} #WRAPPER > #CONTAINER > section > form .edit_search_view,
#WRAPPER > #CONTAINER > section > form.search, #WRAPPER > #CONTAINER .form.search { #WRAPPER > #CONTAINER > section > form .remove_search_view, #WRAPPER > #CONTAINER .form .edit_search_view,
border-color: #2193e6; #WRAPPER > #CONTAINER .form .remove_search_view {
}
#WRAPPER > #CONTAINER > section > form .edit_search_view,
#WRAPPER > #CONTAINER > section > form .remove_search_view, #WRAPPER > #CONTAINER .form .edit_search_view,
#WRAPPER > #CONTAINER .form .remove_search_view {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
text-align: center; text-align: center;
color: #aaaaaa; color: #aaaaaa; }
} #WRAPPER > #CONTAINER > section > form .edit_search_view span,
#WRAPPER > #CONTAINER > section > form .edit_search_view span, #WRAPPER > #CONTAINER > section > form .remove_search_view span, #WRAPPER > #CONTAINER .form .edit_search_view span,
#WRAPPER > #CONTAINER > section > form .remove_search_view span, #WRAPPER > #CONTAINER .form .edit_search_view span, #WRAPPER > #CONTAINER .form .remove_search_view span {
#WRAPPER > #CONTAINER .form .remove_search_view span { color: #888888; }
color: #888888; #WRAPPER > #CONTAINER input[type=text],
} #WRAPPER > #CONTAINER input[type=mail],
#WRAPPER > #CONTAINER input[type=text], #WRAPPER > #CONTAINER input[type=password],
#WRAPPER > #CONTAINER input[type=mail], #WRAPPER > #CONTAINER select, #WRAPPER > #CONTAINER.invalid > input[type=text], #WRAPPER > #CONTAINER.invalid > input[type=mail], #WRAPPER > #CONTAINER.invalid > input[type=password], #WRAPPER > #CONTAINER.invalid > select,
#WRAPPER > #CONTAINER input[type=password], #WRAPPER > #CONTAINER input.invalid[type=text],
#WRAPPER > #CONTAINER select, #WRAPPER > #CONTAINER.invalid > input[type=text], #WRAPPER > #CONTAINER.invalid > input[type=mail], #WRAPPER > #CONTAINER.invalid > input[type=password], #WRAPPER > #CONTAINER.invalid > select, #WRAPPER > #CONTAINER input.invalid[type=mail],
#WRAPPER > #CONTAINER input.invalid[type=text], #WRAPPER > #CONTAINER input.invalid[type=password],
#WRAPPER > #CONTAINER input.invalid[type=mail], #WRAPPER > #CONTAINER select.invalid {
#WRAPPER > #CONTAINER input.invalid[type=password],
#WRAPPER > #CONTAINER select.invalid {
display: inline-block; display: inline-block;
margin: 1em 0; margin: 1em 0;
padding: .7em 1em; padding: .7em 1em;
border-radius: 3px; border-radius: 3px;
border: 1px solid #d7dde8; border: 1px solid #d7dde8;
color: #2f3033; color: #2f3033;
transition: border .4s ease-in-out; transition: border .4s ease-in-out; }
} #WRAPPER > #CONTAINER input[type=text]:focus, #WRAPPER > #CONTAINER input[type=text]:hover,
#WRAPPER > #CONTAINER input[type=text]:focus, #WRAPPER > #CONTAINER input[type=text]:hover, #WRAPPER > #CONTAINER input[type=mail]:focus,
#WRAPPER > #CONTAINER input[type=mail]:focus, #WRAPPER > #CONTAINER input[type=mail]:hover,
#WRAPPER > #CONTAINER input[type=mail]:hover, #WRAPPER > #CONTAINER input[type=password]:focus,
#WRAPPER > #CONTAINER input[type=password]:focus, #WRAPPER > #CONTAINER input[type=password]:hover,
#WRAPPER > #CONTAINER input[type=password]:hover, #WRAPPER > #CONTAINER select:focus,
#WRAPPER > #CONTAINER select:focus, #WRAPPER > #CONTAINER select:hover, #WRAPPER > #CONTAINER.invalid > input[type=text]:focus, #WRAPPER > #CONTAINER.invalid > input[type=text]:hover, #WRAPPER > #CONTAINER.invalid > input[type=mail]:focus, #WRAPPER > #CONTAINER.invalid > input[type=mail]:hover, #WRAPPER > #CONTAINER.invalid > input[type=password]:focus, #WRAPPER > #CONTAINER.invalid > input[type=password]:hover, #WRAPPER > #CONTAINER.invalid > select:focus, #WRAPPER > #CONTAINER.invalid > select:hover,
#WRAPPER > #CONTAINER select:hover, #WRAPPER > #CONTAINER.invalid > input[type=text]:focus, #WRAPPER > #CONTAINER.invalid > input[type=text]:hover, #WRAPPER > #CONTAINER.invalid > input[type=mail]:focus, #WRAPPER > #CONTAINER.invalid > input[type=mail]:hover, #WRAPPER > #CONTAINER.invalid > input[type=password]:focus, #WRAPPER > #CONTAINER.invalid > input[type=password]:hover, #WRAPPER > #CONTAINER.invalid > select:focus, #WRAPPER > #CONTAINER.invalid > select:hover, #WRAPPER > #CONTAINER input.invalid[type=text]:focus,
#WRAPPER > #CONTAINER input.invalid[type=text]:focus, #WRAPPER > #CONTAINER input.invalid[type=text]:hover,
#WRAPPER > #CONTAINER input.invalid[type=text]:hover, #WRAPPER > #CONTAINER input.invalid[type=mail]:focus,
#WRAPPER > #CONTAINER input.invalid[type=mail]:focus, #WRAPPER > #CONTAINER input.invalid[type=mail]:hover,
#WRAPPER > #CONTAINER input.invalid[type=mail]:hover, #WRAPPER > #CONTAINER input.invalid[type=password]:focus,
#WRAPPER > #CONTAINER input.invalid[type=password]:focus, #WRAPPER > #CONTAINER input.invalid[type=password]:hover,
#WRAPPER > #CONTAINER input.invalid[type=password]:hover, #WRAPPER > #CONTAINER select.invalid:focus,
#WRAPPER > #CONTAINER select.invalid:focus, #WRAPPER > #CONTAINER select.invalid:hover {
#WRAPPER > #CONTAINER select.invalid:hover { border-color: #d52918; }
border-color: #d52918; #WRAPPER > #CONTAINER select {
}
#WRAPPER > #CONTAINER select {
width: 100%; width: 100%;
display: block; display: block;
background: #fff; background: #fff; }
} #WRAPPER > #CONTAINER select option {
#WRAPPER > #CONTAINER select option { padding: .5em; }
padding: .5em; #WRAPPER > #CONTAINER .valid > input[type=text]:focus, #WRAPPER > #CONTAINER .valid > input[type=text]:hover,
} #WRAPPER > #CONTAINER .valid > input[type=mail]:focus,
#WRAPPER > #CONTAINER .valid > input[type=text]:focus, #WRAPPER > #CONTAINER .valid > input[type=text]:hover, #WRAPPER > #CONTAINER .valid > input[type=mail]:hover,
#WRAPPER > #CONTAINER .valid > input[type=mail]:focus, #WRAPPER > #CONTAINER .valid > input[type=password]:focus,
#WRAPPER > #CONTAINER .valid > input[type=mail]:hover, #WRAPPER > #CONTAINER .valid > input[type=password]:hover,
#WRAPPER > #CONTAINER .valid > input[type=password]:focus, #WRAPPER > #CONTAINER .valid > select:focus,
#WRAPPER > #CONTAINER .valid > input[type=password]:hover, #WRAPPER > #CONTAINER .valid > select:hover,
#WRAPPER > #CONTAINER .valid > select:focus, #WRAPPER > #CONTAINER input.valid[type=text]:focus,
#WRAPPER > #CONTAINER .valid > select:hover, #WRAPPER > #CONTAINER input.valid[type=text]:hover,
#WRAPPER > #CONTAINER input.valid[type=text]:focus, #WRAPPER > #CONTAINER input.valid[type=mail]:focus,
#WRAPPER > #CONTAINER input.valid[type=text]:hover, #WRAPPER > #CONTAINER input.valid[type=mail]:hover,
#WRAPPER > #CONTAINER input.valid[type=mail]:focus, #WRAPPER > #CONTAINER input.valid[type=password]:focus,
#WRAPPER > #CONTAINER input.valid[type=mail]:hover, #WRAPPER > #CONTAINER input.valid[type=password]:hover,
#WRAPPER > #CONTAINER input.valid[type=password]:focus, #WRAPPER > #CONTAINER select.valid:focus,
#WRAPPER > #CONTAINER input.valid[type=password]:hover, #WRAPPER > #CONTAINER select.valid:hover {
#WRAPPER > #CONTAINER select.valid:focus, border-color: #27a560; }
#WRAPPER > #CONTAINER select.valid:hover { #WRAPPER > #CONTAINER .neutral > input[type=text]:focus, #WRAPPER > #CONTAINER .neutral > input[type=text]:hover,
border-color: #27a560; #WRAPPER > #CONTAINER .neutral > input[type=mail]:focus,
} #WRAPPER > #CONTAINER .neutral > input[type=mail]:hover,
#WRAPPER > #CONTAINER .neutral > input[type=text]:focus, #WRAPPER > #CONTAINER .neutral > input[type=text]:hover, #WRAPPER > #CONTAINER .neutral > input[type=password]:focus,
#WRAPPER > #CONTAINER .neutral > input[type=mail]:focus, #WRAPPER > #CONTAINER .neutral > input[type=password]:hover,
#WRAPPER > #CONTAINER .neutral > input[type=mail]:hover, #WRAPPER > #CONTAINER .neutral > select:focus,
#WRAPPER > #CONTAINER .neutral > input[type=password]:focus, #WRAPPER > #CONTAINER .neutral > select:hover,
#WRAPPER > #CONTAINER .neutral > input[type=password]:hover, #WRAPPER > #CONTAINER input.neutral[type=text]:focus,
#WRAPPER > #CONTAINER .neutral > select:focus, #WRAPPER > #CONTAINER input.neutral[type=text]:hover,
#WRAPPER > #CONTAINER .neutral > select:hover, #WRAPPER > #CONTAINER input.neutral[type=mail]:focus,
#WRAPPER > #CONTAINER input.neutral[type=text]:focus, #WRAPPER > #CONTAINER input.neutral[type=mail]:hover,
#WRAPPER > #CONTAINER input.neutral[type=text]:hover, #WRAPPER > #CONTAINER input.neutral[type=password]:focus,
#WRAPPER > #CONTAINER input.neutral[type=mail]:focus, #WRAPPER > #CONTAINER input.neutral[type=password]:hover,
#WRAPPER > #CONTAINER input.neutral[type=mail]:hover, #WRAPPER > #CONTAINER select.neutral:focus,
#WRAPPER > #CONTAINER input.neutral[type=password]:focus, #WRAPPER > #CONTAINER select.neutral:hover {
#WRAPPER > #CONTAINER input.neutral[type=password]:hover, border-color: #2193e6; }
#WRAPPER > #CONTAINER select.neutral:focus, #WRAPPER > #CONTAINER .search > input[type=text]:focus, #WRAPPER > #CONTAINER .search > input[type=text]:hover,
#WRAPPER > #CONTAINER select.neutral:hover { #WRAPPER > #CONTAINER .search > input[type=mail]:focus,
border-color: #2193e6; #WRAPPER > #CONTAINER .search > input[type=mail]:hover,
} #WRAPPER > #CONTAINER .search > input[type=password]:focus,
#WRAPPER > #CONTAINER .search > input[type=text]:focus, #WRAPPER > #CONTAINER .search > input[type=text]:hover, #WRAPPER > #CONTAINER .search > input[type=password]:hover,
#WRAPPER > #CONTAINER .search > input[type=mail]:focus, #WRAPPER > #CONTAINER .search > select:focus,
#WRAPPER > #CONTAINER .search > input[type=mail]:hover, #WRAPPER > #CONTAINER .search > select:hover,
#WRAPPER > #CONTAINER .search > input[type=password]:focus, #WRAPPER > #CONTAINER input.search[type=text]:focus,
#WRAPPER > #CONTAINER .search > input[type=password]:hover, #WRAPPER > #CONTAINER input.search[type=text]:hover,
#WRAPPER > #CONTAINER .search > select:focus, #WRAPPER > #CONTAINER input.search[type=mail]:focus,
#WRAPPER > #CONTAINER .search > select:hover, #WRAPPER > #CONTAINER input.search[type=mail]:hover,
#WRAPPER > #CONTAINER input.search[type=text]:focus, #WRAPPER > #CONTAINER input.search[type=password]:focus,
#WRAPPER > #CONTAINER input.search[type=text]:hover, #WRAPPER > #CONTAINER input.search[type=password]:hover {
#WRAPPER > #CONTAINER input.search[type=mail]:focus, border-color: #5630ed; }
#WRAPPER > #CONTAINER input.search[type=mail]:hover, #WRAPPER > #CONTAINER button,
#WRAPPER > #CONTAINER input.search[type=password]:focus, #WRAPPER > #CONTAINER button.invalid,
#WRAPPER > #CONTAINER input.search[type=password]:hover { #WRAPPER > #CONTAINER .invalid > button {
border-color: #5630ed;
}
#WRAPPER > #CONTAINER button,
#WRAPPER > #CONTAINER button.invalid,
#WRAPPER > #CONTAINER .invalid > button {
display: inline-block; display: inline-block;
position: relative; position: relative;
left: 50%; left: 50%;
@ -448,83 +388,70 @@
background: #d52918 center center no-repeat; background: #d52918 center center no-repeat;
color: #fff; color: #fff;
transition: background .4s ease-in-out; transition: background .4s ease-in-out;
transform: translateX(-50%); transform: translateX(-50%); }
} #WRAPPER > #CONTAINER button:hover, #WRAPPER > #CONTAINER button:focus, #WRAPPER > #CONTAINER button:disabled,
#WRAPPER > #CONTAINER button:hover, #WRAPPER > #CONTAINER button:focus, #WRAPPER > #CONTAINER button:disabled, #WRAPPER > #CONTAINER button.invalid:hover,
#WRAPPER > #CONTAINER button.invalid:hover, #WRAPPER > #CONTAINER button.invalid:focus,
#WRAPPER > #CONTAINER button.invalid:focus, #WRAPPER > #CONTAINER button.invalid:disabled,
#WRAPPER > #CONTAINER button.invalid:disabled, #WRAPPER > #CONTAINER .invalid > button:hover,
#WRAPPER > #CONTAINER .invalid > button:hover, #WRAPPER > #CONTAINER .invalid > button:focus,
#WRAPPER > #CONTAINER .invalid > button:focus, #WRAPPER > #CONTAINER .invalid > button:disabled {
#WRAPPER > #CONTAINER .invalid > button:disabled {
background-color: #fff; background-color: #fff;
color: #d52918; color: #d52918; }
} #WRAPPER > #CONTAINER button.valid,
#WRAPPER > #CONTAINER button.valid, #WRAPPER > #CONTAINER .valid > button {
#WRAPPER > #CONTAINER .valid > button {
border-color: #27a560; border-color: #27a560;
background-color: #27a560; background-color: #27a560; }
} #WRAPPER > #CONTAINER button.valid:hover, #WRAPPER > #CONTAINER button.valid:focus, #WRAPPER > #CONTAINER button.valid:disabled,
#WRAPPER > #CONTAINER button.valid:hover, #WRAPPER > #CONTAINER button.valid:focus, #WRAPPER > #CONTAINER button.valid:disabled, #WRAPPER > #CONTAINER .valid > button:hover,
#WRAPPER > #CONTAINER .valid > button:hover, #WRAPPER > #CONTAINER .valid > button:focus,
#WRAPPER > #CONTAINER .valid > button:focus, #WRAPPER > #CONTAINER .valid > button:disabled {
#WRAPPER > #CONTAINER .valid > button:disabled {
background-color: #fff; background-color: #fff;
color: #27a560; color: #27a560; }
} #WRAPPER > #CONTAINER button.neutral,
#WRAPPER > #CONTAINER button.neutral, #WRAPPER > #CONTAINER .neutral > button {
#WRAPPER > #CONTAINER .neutral > button {
border-color: #2193e6; border-color: #2193e6;
background-color: #2193e6; background-color: #2193e6; }
} #WRAPPER > #CONTAINER button.neutral:hover, #WRAPPER > #CONTAINER button.neutral:focus, #WRAPPER > #CONTAINER button.neutral:disabled,
#WRAPPER > #CONTAINER button.neutral:hover, #WRAPPER > #CONTAINER button.neutral:focus, #WRAPPER > #CONTAINER button.neutral:disabled, #WRAPPER > #CONTAINER .neutral > button:hover,
#WRAPPER > #CONTAINER .neutral > button:hover, #WRAPPER > #CONTAINER .neutral > button:focus,
#WRAPPER > #CONTAINER .neutral > button:focus, #WRAPPER > #CONTAINER .neutral > button:disabled {
#WRAPPER > #CONTAINER .neutral > button:disabled {
background-color: #fff; background-color: #fff;
color: #2193e6; color: #2193e6; }
} #WRAPPER > #CONTAINER button.search,
#WRAPPER > #CONTAINER button.search, #WRAPPER > #CONTAINER .search > button {
#WRAPPER > #CONTAINER .search > button {
border-color: #5630ed; border-color: #5630ed;
background-color: #5630ed; background-color: #5630ed; }
} #WRAPPER > #CONTAINER button.search:hover, #WRAPPER > #CONTAINER button.search:focus, #WRAPPER > #CONTAINER button.search:disabled,
#WRAPPER > #CONTAINER button.search:hover, #WRAPPER > #CONTAINER button.search:focus, #WRAPPER > #CONTAINER button.search:disabled, #WRAPPER > #CONTAINER .search > button:hover,
#WRAPPER > #CONTAINER .search > button:hover, #WRAPPER > #CONTAINER .search > button:focus,
#WRAPPER > #CONTAINER .search > button:focus, #WRAPPER > #CONTAINER .search > button:disabled {
#WRAPPER > #CONTAINER .search > button:disabled {
background-color: #fff; background-color: #fff;
color: #5630ed; color: #5630ed; }
} #WRAPPER > #CONTAINER .invalid > button.active,
#WRAPPER > #CONTAINER .invalid > button.active, #WRAPPER > #CONTAINER button.invalid.active,
#WRAPPER > #CONTAINER button.invalid.active, #WRAPPER > #CONTAINER button.active {
#WRAPPER > #CONTAINER button.active {
background-color: #fff; background-color: #fff;
background-image: url("/src/static/container/active@d52918.svg") !important; background-image: url("/src/static/container/active@d52918.svg") !important;
background-size: 1em auto; background-size: 1em auto;
color: transparent !important; color: transparent !important; }
} #WRAPPER > #CONTAINER button.valid.active,
#WRAPPER > #CONTAINER button.valid.active, #WRAPPER > #CONTAINER .valid > button.active {
#WRAPPER > #CONTAINER .valid > button.active { background-image: url("/src/static/container/active@27a560.svg") !important; }
background-image: url("/src/static/container/active@27a560.svg") !important; #WRAPPER > #CONTAINER button.neutral.active,
} #WRAPPER > #CONTAINER .neutral > button.active {
#WRAPPER > #CONTAINER button.neutral.active, background-image: url("/src/static/container/active@2193e6.svg") !important; }
#WRAPPER > #CONTAINER .neutral > button.active { #WRAPPER > #CONTAINER button.search.active,
background-image: url("/src/static/container/active@2193e6.svg") !important; #WRAPPER > #CONTAINER .search > button.active {
} background-image: url("/src/static/container/active@5630ed.svg") !important; }
#WRAPPER > #CONTAINER button.search.active, #WRAPPER > #CONTAINER hr.OR[data-label] {
#WRAPPER > #CONTAINER .search > button.active {
background-image: url("/src/static/container/active@5630ed.svg") !important;
}
#WRAPPER > #CONTAINER hr.OR[data-label] {
display: block; display: block;
position: relative; position: relative;
width: 100%; width: 100%;
height: 0; height: 0;
border: 0; border: 0;
border-bottom: 1px dashed #d52918; border-bottom: 1px dashed #d52918; }
} #WRAPPER > #CONTAINER hr.OR[data-label]:before {
#WRAPPER > #CONTAINER hr.OR[data-label]:before {
content: attr(data-label); content: attr(data-label);
display: inline-block; display: inline-block;
position: relative; position: relative;
@ -533,32 +460,25 @@
padding: 0 1em; padding: 0 1em;
background-color: #fff; background-color: #fff;
color: #d52918; color: #d52918;
transform: translateX(-50%) translatey(-50%); transform: translateX(-50%) translatey(-50%); }
} #WRAPPER > #CONTAINER .valid > hr.OR,
#WRAPPER > #CONTAINER .valid > hr.OR, #WRAPPER > #CONTAINER hr.OR.valid {
#WRAPPER > #CONTAINER hr.OR.valid { border-bottom: 1px dashed #27a560; }
border-bottom: 1px dashed #27a560; #WRAPPER > #CONTAINER .valid > hr.OR:before,
} #WRAPPER > #CONTAINER hr.OR.valid:before {
#WRAPPER > #CONTAINER .valid > hr.OR:before, color: #27a560; }
#WRAPPER > #CONTAINER hr.OR.valid:before { #WRAPPER > #CONTAINER .neutral > hr.OR,
color: #27a560; #WRAPPER > #CONTAINER hr.OR.neutral {
} border-bottom: 1px dashed #2193e6; }
#WRAPPER > #CONTAINER .neutral > hr.OR, #WRAPPER > #CONTAINER .neutral > hr.OR:before,
#WRAPPER > #CONTAINER hr.OR.neutral { #WRAPPER > #CONTAINER hr.OR.neutral:before {
border-bottom: 1px dashed #2193e6; color: #2193e6; }
} #WRAPPER > #CONTAINER .search > hr.OR,
#WRAPPER > #CONTAINER .neutral > hr.OR:before, #WRAPPER > #CONTAINER hr.OR.search {
#WRAPPER > #CONTAINER hr.OR.neutral:before { border-bottom: 1px dashed #5630ed; }
color: #2193e6; #WRAPPER > #CONTAINER .search > hr.OR:before,
} #WRAPPER > #CONTAINER hr.OR.search:before {
#WRAPPER > #CONTAINER .search > hr.OR, color: #5630ed; }
#WRAPPER > #CONTAINER hr.OR.search {
border-bottom: 1px dashed #5630ed;
}
#WRAPPER > #CONTAINER .search > hr.OR:before,
#WRAPPER > #CONTAINER hr.OR.search:before {
color: #5630ed;
}
/* [4] Tableau à cocher /* [4] Tableau à cocher
=========================================================*/ =========================================================*/
@ -568,9 +488,8 @@ article.check-table {
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
border-radius: 3px; border-radius: 3px;
border: 1px solid #ddd; border: 1px solid #ddd; }
} article.check-table > div {
article.check-table > div {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
@ -581,23 +500,19 @@ article.check-table > div {
background: #f8f8f8; background: #f8f8f8;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
transition: background .2s ease-in-out; transition: background .2s ease-in-out;
overflow: hidden; overflow: hidden; }
} article.check-table > div:nth-child(2n) {
article.check-table > div:nth-child(2n) { background: #fdfdfd; }
background: #fdfdfd; article.check-table > div > span {
}
article.check-table > div > span {
flex: 100%; flex: 100%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
justify-content: center; justify-content: center;
/* (1) Gestion du checkbox hack */ /* (1) Gestion du checkbox hack */ }
} article.check-table > div > span input[type='checkbox'] {
article.check-table > div > span input[type='checkbox'] { display: none; }
display: none; article.check-table > div > span input[type='checkbox'] + label[for] {
}
article.check-table > div > span input[type='checkbox'] + label[for] {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
width: 1.2em; width: 1.2em;
@ -605,10 +520,8 @@ article.check-table > div > span input[type='checkbox'] + label[for] {
background: url("/src/static/container/checkbox@999999.svg") center center no-repeat; background: url("/src/static/container/checkbox@999999.svg") center center no-repeat;
background-size: 100% auto; background-size: 100% auto;
transition: box-shadow .2s ease-in-out; transition: box-shadow .2s ease-in-out;
cursor: pointer; cursor: pointer; }
} article.check-table > div > span input[type='checkbox']:checked + label[for] {
article.check-table > div > span input[type='checkbox']:checked + label[for] { background-image: url("/src/static/container/checkbox@checked@007dd8.svg"); }
background-image: url("/src/static/container/checkbox@checked@007dd8.svg");
}
/*# sourceMappingURL=container.css.map */ /*# sourceMappingURL=container.css.map */