Skip to content

Commit 957ddfd

Browse files
committed
Ajout de la page synthèse + dashbordIt.
1 parent 8af0d7d commit 957ddfd

27 files changed

+723
-178
lines changed

assets/config/nextdom.config.php

+13-14
Original file line numberDiff line numberDiff line change
@@ -370,22 +370,21 @@
370370
),
371371
'info' => array(
372372
'binary' => array(
373-
'default' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red fas fa-times\'></i>')),
374373
'line' => array('template' => 'tmpliconline', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red fas fa-times\'></i>')),
375-
'alert' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-alerte2\'></i>')),
376-
'door' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green icon nextdom-porte-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-porte-ouverte\'></i>')),
377-
'heat' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_red icon nextdom-feu\'></i>', '#_icon_off_#' => '<i class=\'fas fa-times\'></i>')),
378-
'light' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_yellow icon nextdom-lumiere-on\'></i>', '#_icon_off_#' => '<i class=\'icon nextdom-lumiere-off\'></i>')),
379-
'lock' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon nextdom-lock-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-lock-ouvert\'></i>')),
380-
'presence' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-mouvement\'></i>')),
381-
'prise' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon nextdom-prise\'></i>', '#_icon_off_#' => '<i class=\'fas fa-times\'></i>')),
382-
'window' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green icon nextdom-fenetre-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-fenetre-ouverte\'></i>')),
374+
'alert' => array('icon' => '🚨', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-alerte2\'></i>')),
375+
'door' => array('icon' => '🚪', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green icon nextdom-porte-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-porte-ouverte\'></i>')),
376+
'heat' => array('icon' => '🔥', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_red icon nextdom-feu\'></i>', '#_icon_off_#' => '<i class=\'fas fa-times\'></i>')),
377+
'light' => array('icon' => '💡', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_yellow icon nextdom-lumiere-on\'></i>', '#_icon_off_#' => '<i class=\'icon nextdom-lumiere-off\'></i>')),
378+
'lock' => array('icon' => '🔒', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon nextdom-lock-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-lock-ouvert\'></i>')),
379+
'presence' => array('icon' => '🙋', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-mouvement\'></i>')),
380+
'prise' => array('icon' => '🔌', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon nextdom-prise\'></i>', '#_icon_off_#' => '<i class=\'fas fa-times\'></i>')),
381+
'window' => array('icon' => '', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green icon nextdom-fenetre-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-fenetre-ouverte\'></i>')),
383382
'shutter' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green icon nextdom-volet-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-volet-ouvert\'></i>')),
384-
'flood' => array('template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-tint-slash\'></i>', '#_icon_off_#' => '<i class=\'icon_blue fas fa-tint\'></i>')),
385-
'timeDoor' => array('template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green icon nextdom-porte-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-porte-ouverte\'></i>')),
386-
'timePresence' => array('template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-mouvement\'></i>')),
387-
'timeWindow' => array('template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green icon nextdom-fenetre-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-fenetre-ouverte\'></i>')),
388-
'timeAlert' => array('template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-alerte2\'></i>')),
383+
'flood' => array('icon' => '💧', 'template' => 'tmplicon', 'replace' => array('#_icon_on_#' => '<i class=\'icon_green fas fa-tint-slash\'></i>', '#_icon_off_#' => '<i class=\'icon_blue fas fa-tint\'></i>')),
384+
'timeDoor' => array('icon' => '🚪🕑', 'template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green icon nextdom-porte-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-porte-ouverte\'></i>')),
385+
'timePresence' => array('icon' => '🙋🕑', 'template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-mouvement\'></i>')),
386+
'timeWindow' => array('icon' => '◫🕑', 'template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green icon nextdom-fenetre-ferme\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-fenetre-ouverte\'></i>')),
387+
'timeAlert' => array('icon' => '🚨🕑', 'template' => 'tmplicon', 'replace' => array('#_time_widget_#' => '1', '#_icon_on_#' => '<i class=\'icon_green fas fa-check\'></i>', '#_icon_off_#' => '<i class=\'icon_red icon nextdom-alerte2\'></i>')),
389388
),
390389
'numeric' => array(
391390
'heatPiloteWire' => array('template' => 'tmplmultistate',
+158
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
@charset "utf-8";
2+
/* This file is part of NextDom Software.
3+
*
4+
* NextDom is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* NextDom Software is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with NextDom Software. If not, see <http://www.gnu.org/licenses/>.
16+
*
17+
* @Support <https://www.nextdom.org>
18+
* @Email <admin@nextdom.org>
19+
* @Authors/Contributors: Sylvaner, Byackee, cyrilphoenix71, ColonelMoutarde, edgd1er, slobberbone, Astral0, DanoneKiD
20+
*/
21+
22+
/* Need to be first */
23+
@import "../../graphics/_colors.scss";
24+
25+
#objectOverviewContainer {
26+
text-align: center !important;
27+
margin:15px;
28+
> div {
29+
padding: 0 !important;
30+
}
31+
.objectPreview {
32+
height: 230px;
33+
background-color: var(--bg-modal-color) !important;
34+
background-size: cover !important;
35+
background-repeat: no-repeat !important;
36+
color: $verydarkgrey !important;
37+
margin: 5px;
38+
}
39+
.objectPreview:hover .topPreview {
40+
box-shadow: 0 10px 15px 0 rgba(0,0,0,0.2);
41+
}
42+
.objectPreview > .topPreview,
43+
.objectPreview > .bottomPreview {
44+
text-align: left;
45+
opacity: 0.9;
46+
padding: 5px 5px;
47+
transition: box-shadow 0.4s cubic-bezier(.25,.8,.25,1);
48+
}
49+
.objectPreview > .topPreview {
50+
background-color: $middlegrey;
51+
height: 28px;
52+
}
53+
.objectPreview > .topPreview > .name {
54+
font-size: 16px;
55+
font-weight: 200;
56+
max-width: 195px;
57+
max-height: 30px !important;
58+
overflow: hidden;
59+
display: inline-block;
60+
line-height: 1.6;
61+
margin-top: -4px;
62+
}
63+
.objectPreview > .topPreview > .bt_config {
64+
position: absolute;
65+
right: 20px;
66+
opacity: 0.8;
67+
}
68+
.objectPreview > .topPreview > .bt_config:hover {
69+
opacity: 0.5;
70+
}
71+
.objectPreview > .bottomPreview {
72+
background-color: transparent;
73+
position: absolute;
74+
bottom: 0;
75+
width: 100%;
76+
height: 54px;
77+
text-align: right;
78+
}
79+
.objectPreview > .bottomPreview > .resume {
80+
position: absolute;
81+
right: 6px;
82+
bottom: 5px;
83+
text-align: right;
84+
max-width: 100%;
85+
margin-right: 8px !important;
86+
}
87+
88+
89+
.objectPreview .objectSummaryParent,
90+
.objectPreview .objectSummaryParent i {
91+
font-size: 16px !important;
92+
color: var(--link-color) !important;
93+
}
94+
.objectPreview .topPreview .objectSummaryParent {
95+
position: absolute;
96+
min-width: 80px !important;
97+
font-weight: 200;
98+
text-align: right;
99+
}
100+
.objectPreview .resume .objectSummaryParent {
101+
background-color: $middlegrey;
102+
padding: 6px 8px;
103+
margin: 0 -4px !important;
104+
display: inline-block;
105+
}
106+
107+
.objectPreview .objectSummaryParent[data-summary="security"],
108+
.objectPreview .objectSummaryParent[data-summary="motion"] {
109+
background-color: $middlegrey;
110+
padding: 5px;
111+
width: 45px;
112+
height: 28px;
113+
min-width: 0 !important;
114+
font-weight: 700;
115+
text-align: left;
116+
position: relative;
117+
display: table-cell;
118+
left: -5px;
119+
top: -5px;
120+
}
121+
.objectPreview .objectSummaryParent[data-summary="temperature"] {
122+
top: 10px;
123+
right: 58px;
124+
font-size: 20px !important;
125+
}
126+
.objectPreview .objectSummaryParent[data-summary="humidity"] {
127+
top: 10px;
128+
right: 6px;
129+
font-size: 20px !important;
130+
}
131+
.objectPreview .objectSummaryParent[data-summary="temperature"] i,
132+
.objectPreview .objectSummaryParent[data-summary="humidity"] i {
133+
display: none;
134+
}
135+
136+
.objectPreview .success,
137+
.objectPreview .success > i {
138+
color: var(--bt-success-color) !important;
139+
}
140+
.objectPreview .danger,
141+
.objectPreview .danger > i {
142+
color: var(--al-danger-color) !important;
143+
}
144+
145+
.objectPreview .resume .objectSummaryParent:last-child {
146+
border-radius: 0 0 var(--border-radius) 0 !important;
147+
}
148+
}
149+
@media (min-width:1600px) {
150+
#objectOverviewContainer > div.col-lg-3 {
151+
width: 20%;
152+
}
153+
}
154+
@media (min-width:1920px) {
155+
#objectOverviewContainer > div.col-lg-3 {
156+
width: 14.2%;
157+
}
158+
}

assets/css/components/_sliders.scss

+24-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
/* Admin-LTE Surcharge */
2323
.slider {
2424
-webkit-appearance: none;
25-
height: 8px;
25+
height: 4px;
2626
outline: none;
2727
-webkit-transition: .2s;
2828
transition: opacity .2s;
@@ -33,6 +33,29 @@
3333
-moz-border-radius: 10px;
3434
-webkit-border-radius: 10px;
3535
border-radius: 6px;
36+
cursor: pointer;
37+
margin : 5px 10px 8px 10px;
38+
width: 80px;
39+
.sliderValue {
40+
display:none;
41+
font-weight:bold;
42+
position: absolute;
43+
z-index: 1;
44+
padding: 2px 5px 2px 5px;
45+
border-radius:5px;
46+
bottom: 20px;
47+
color: $lightenGrey;
48+
left: 50%;
49+
transform: translate(-50%, 50%);
50+
}
51+
}
52+
.ui-slider-handle,
53+
.ui-slider-handle.ui-state-hover,
54+
.ui-slider-handle.ui-state-focus {
55+
top: -6px !important;
56+
font-size: 13px;
57+
border-radius: 8px !important;
58+
cursor: pointer !important;
3659
}
3760

3861
.input-group .slider {

assets/css/components/_summary.scss

+8-4
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,22 @@
2626
top: 16px;
2727
height: 49px;
2828
list-style-type: none;
29-
display: inline;
30-
position: inherit;
29+
margin: 0 auto;
30+
position: absolute;
31+
left: 195px;
3132
@media (max-width: 767px) {
33+
position: relative;
34+
left: 0;
35+
margin-right: 5px;
36+
float: right;
3237
font-size: small;
33-
left: -3px;
3438
white-space: nowrap;
3539
display: block;
3640
overflow: hidden;
3741
}
3842
}
3943
.objectSummaryParent {
40-
margin-right: 6px !important;
44+
margin: 3px !important;
4145
}
4246

4347
/* Core-Ajout */

assets/css/containers/_navs.scss

+5-1
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,14 @@
8888
}
8989

9090
/* Core-Surcharge */
91-
.nav-tabs li a i {
91+
.nav-tabs li a i ,.flex-column li a i {
9292
margin-right: 8px;
9393
}
9494

95+
.flex-column {
96+
padding-left: 10px !important;
97+
}
98+
9599
.dropdown-menu {
96100
width: 580px !important
97101
}

assets/css/containers/_sidebars.scss

+8-6
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,14 @@
8181
transition: transform .2s ease-in, width .2s ease-in;
8282
}
8383
@media (min-width: 767px) {
84-
.sidebar-mini.sidebar-collapse .main-sidebar {
85-
z-index: 1020;
86-
}
87-
.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
88-
padding-top: 0;
89-
padding-bottom: 0;
84+
.sidebar-mini.sidebar-collapse {
85+
.main-sidebar {
86+
z-index: 1020;
87+
}
88+
.sidebar-menu > li > .treeview-menu {
89+
padding-top: 0;
90+
padding-bottom: 0;
91+
}
9092
}
9193
}
9294
.sidebar-form {

assets/css/divers/_cursors.scss

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*/
2222

2323
/* Core-Surcharge */
24-
.cursor {
24+
.cursor,
25+
a {
2526
cursor: pointer;
26-
}
27+
}

assets/css/graphics/_icons.scss

+3-2
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
float: left;
8181
background-color: transparent;
8282
background-image: none;
83-
padding: 15px 15px 0 4px;
83+
padding: 15px 15px;
8484
font-family: fontAwesome;
8585
color: white;
8686
}
@@ -92,8 +92,9 @@
9292

9393
/* Icon Widgets */
9494
.iconCmd {
95+
position:relative;
9596
top: 0 !important;
96-
font-size: 24px;
97+
font-size: 2.5em;
9798
font-weight: bold;
9899
color: var(--link-color) !important;
99100
& > i {

assets/css/sections/_headers.scss

+5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@
5454
}
5555
}
5656

57+
#generalSearch, .navbar-search .input-group {
58+
width: 105px;
59+
z-index: 2;
60+
}
61+
5762
/* AdminLTE-Surcharge : Menu de droite du header */
5863
.navbar-custom-menu > .navbar-nav > li {
5964
position: unset;

assets/css/themes/_base.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,7 @@ pre::selection {
665665
/* #################################################################################################### */
666666
/* Textes */
667667
body, h1, h2, h3, h4, h5, h6 {
668-
color: map_get($color_theme, 'color10') !important;
668+
color: map_get($color_theme, 'color10');
669669
}
670670
.box-header span:not(.badge) {
671671
color: map_get($color_theme, 'color10') !important;

0 commit comments

Comments
 (0)