@bitpoolos/edge-bacnet 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +151 -1
- package/bacnet_client.js +202 -108
- package/bacnet_device.js +3 -1
- package/bacnet_gateway.html +100 -2
- package/bacnet_gateway.js +382 -250
- package/bacnet_inspector.html +43 -0
- package/bacnet_inspector.js +1564 -0
- package/bacnet_inspector_worker.js +535 -0
- package/bacnet_read.html +47 -50
- package/bacnet_read.js +0 -3
- package/common.js +201 -38
- package/inspector.html +460 -0
- package/package.json +6 -2
- package/resources/Logo_Simplified_Positive.svg +32 -0
- package/resources/downloadAsHtml.js +654 -0
- package/resources/icons/device-id-change-icon.svg +4 -0
- package/resources/icons/device-id-conflict-icon.svg +4 -0
- package/resources/icons/favicon.ico +0 -0
- package/resources/icons/points-error-icon.svg +4 -0
- package/resources/icons/points-missing-icon.svg +4 -0
- package/resources/icons/points-ok-icon.svg +4 -0
- package/resources/icons/points-unmapped-icon.svg +5 -0
- package/resources/icons/points-warning-icon.svg +4 -0
- package/resources/inspector.css +25312 -0
- package/resources/inspectorStyle.css +254 -0
- package/resources/inspectorStyles.css +478 -0
- package/resources/node-bacstack-ts/dist/lib/client.js +7 -3
- package/resources/primevue.min.js +1 -0
- package/resources/style.css +17 -1
- package/resources/vue3513.global.prod.js +9 -0
- package/ssrHtmlExporter.js +535 -0
- package/treeBuilder.js +3 -3
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
body {
|
|
2
|
+
background: #133547;
|
|
3
|
+
color: #333;
|
|
4
|
+
font-family: Arial, sans-serif;
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 20px;
|
|
7
|
+
background-repeat: no-repeat;
|
|
8
|
+
background-attachment: fixed;
|
|
9
|
+
height: 100vh;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
h1 {
|
|
15
|
+
color: #fff;
|
|
16
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
|
|
17
|
+
padding-bottom: 0px;
|
|
18
|
+
line-height: 70px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.headertext {
|
|
22
|
+
color: #fff;
|
|
23
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
|
|
24
|
+
padding-top: 10px !important;
|
|
25
|
+
padding-bottom: 10px !important;
|
|
26
|
+
margin-top: 0px !important;
|
|
27
|
+
margin-bottom: 0px !important;
|
|
28
|
+
/*font-size: 28px !important;*/
|
|
29
|
+
background: #164e67 !important;
|
|
30
|
+
/*#0688bc !important;*/
|
|
31
|
+
border-radius: 10px !important;
|
|
32
|
+
align-items: center !important;
|
|
33
|
+
font-size: 1.5rem;
|
|
34
|
+
font-weight: bold;
|
|
35
|
+
height: 100%;
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* When the screen width is less than 1800px */
|
|
42
|
+
@media (max-width: 1800px) {
|
|
43
|
+
.container {
|
|
44
|
+
font-size: 1.0rem !important;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.container-fluid {
|
|
49
|
+
flex-grow: 1;
|
|
50
|
+
display: flex;
|
|
51
|
+
flex-direction: column;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.container {
|
|
55
|
+
display: grid;
|
|
56
|
+
grid-template-columns: 25% 50% 25%;
|
|
57
|
+
align-items: center;
|
|
58
|
+
/* Aligns items vertically */
|
|
59
|
+
width: 100vw !important;
|
|
60
|
+
height: auto;
|
|
61
|
+
padding: 5px;
|
|
62
|
+
padding-bottom: 0px;
|
|
63
|
+
max-width: 100%;
|
|
64
|
+
/* Ensure no extra margin */
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.left {
|
|
68
|
+
display: flex;
|
|
69
|
+
/*justify-content: center; /* Center the image horizontally */
|
|
70
|
+
justify-content: flex-start;
|
|
71
|
+
/* Push image to the left */
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.center {
|
|
75
|
+
text-align: center;
|
|
76
|
+
/* Centers the text */
|
|
77
|
+
height: 60px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.right {
|
|
81
|
+
display: flex;
|
|
82
|
+
justify-content: flex-end;
|
|
83
|
+
/* Aligns buttons to the right */
|
|
84
|
+
/*gap: 10px; /* Adds spacing between buttons */
|
|
85
|
+
height: 60px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* When the screen width is less than 1800px, adjust the columns */
|
|
89
|
+
@media (max-width: 1800px) {
|
|
90
|
+
.container {
|
|
91
|
+
grid-template-columns: 35% 30% 35%;
|
|
92
|
+
/* Adjusted layout */
|
|
93
|
+
display: block;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.right {
|
|
97
|
+
justify-content: center;
|
|
98
|
+
/* Aligns buttons to the centre */
|
|
99
|
+
padding-top: 10px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.center {
|
|
103
|
+
/*padding-top: 10px;*/
|
|
104
|
+
margin-top: 10px;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.btn-custom {
|
|
109
|
+
margin-left: 5px;
|
|
110
|
+
margin-right: 5px;
|
|
111
|
+
/*padding: 10px 30px;*/
|
|
112
|
+
font-size: 1.1rem;
|
|
113
|
+
font-weight: bold;
|
|
114
|
+
display: flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
justify-content: center;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@media (max-width: 500px) {
|
|
120
|
+
.btn-custom {
|
|
121
|
+
font-size: 0.9rem;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.headertext {
|
|
125
|
+
font-size: 1.0rem;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.btn-primary {
|
|
130
|
+
background-color: #164e67;
|
|
131
|
+
border-color: #164e67;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.btn-primary:hover {
|
|
135
|
+
background-color: #08b3f7 !important;
|
|
136
|
+
border-color: #08b3f7 !important;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.btn-header {
|
|
140
|
+
background-color: #0688bc;
|
|
141
|
+
border-color: #0689bc;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.btn-header:hover {
|
|
145
|
+
background-color: #0688bc;
|
|
146
|
+
border-color: #0689bc;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.filter-input {
|
|
150
|
+
margin-bottom: 0px;
|
|
151
|
+
background-color: #164e67;
|
|
152
|
+
border: none;
|
|
153
|
+
border-radius: 10px;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.filter-input::placeholder {
|
|
157
|
+
color: #fff;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.table-container {
|
|
161
|
+
flex-grow: 1;
|
|
162
|
+
/*height: calc(100vh - 180px);*/
|
|
163
|
+
overflow-y: auto;
|
|
164
|
+
background: #f5f5f5;
|
|
165
|
+
border-radius: 10px;
|
|
166
|
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
|
|
167
|
+
height: 500px;
|
|
168
|
+
/* Adjust this based on your need */
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
table {
|
|
172
|
+
width: 100%;
|
|
173
|
+
table-layout: fixed !important;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
th,
|
|
177
|
+
td {
|
|
178
|
+
text-align: left;
|
|
179
|
+
padding: 10px;
|
|
180
|
+
font-size: 1rem;
|
|
181
|
+
|
|
182
|
+
white-space: nowrap;
|
|
183
|
+
/* Prevent text wrapping */
|
|
184
|
+
overflow: hidden;
|
|
185
|
+
/* Hide overflow content */
|
|
186
|
+
text-overflow: ellipsis;
|
|
187
|
+
/* Add ellipsis (...) for overflowing content */
|
|
188
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
th {
|
|
192
|
+
background: #fff !important;
|
|
193
|
+
color: #000 !important;
|
|
194
|
+
position: sticky;
|
|
195
|
+
top: 0;
|
|
196
|
+
cursor: pointer;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
tbody tr {
|
|
200
|
+
transition: background-color 0.3s;
|
|
201
|
+
cursor: pointer;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
tbody tr:hover {
|
|
205
|
+
background-color: #08b3f7;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
tbody tr.selected {
|
|
209
|
+
background-color: #0689bc;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.status-ok {
|
|
213
|
+
background-color: #d4edda;
|
|
214
|
+
/* Green */
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.status-error {
|
|
218
|
+
background-color: #f8c7ca;
|
|
219
|
+
/* Red */
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.status-warning {
|
|
223
|
+
background-color: #edb50230;
|
|
224
|
+
/*#fff3cd; /* Yellow */
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.status-missing {
|
|
228
|
+
background-color: #f8d7da;
|
|
229
|
+
/* Red */
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.status-unmapped {
|
|
233
|
+
background-color: #c0c1c2;
|
|
234
|
+
/* Grey */
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.status-moved {
|
|
238
|
+
background-color: #fc9803;
|
|
239
|
+
/* Orange */
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.status-deviceidchange {
|
|
243
|
+
background-color: #fc9803;
|
|
244
|
+
/* Orange */
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.DefaultText {
|
|
248
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.logo {
|
|
252
|
+
height: 80px;
|
|
253
|
+
width: 280px;
|
|
254
|
+
}
|
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans,
|
|
3
|
+
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important;
|
|
4
|
+
margin: 0;
|
|
5
|
+
padding: 0;
|
|
6
|
+
background-color: #fafafa;
|
|
7
|
+
}
|
|
8
|
+
#app {
|
|
9
|
+
margin-left: 2em;
|
|
10
|
+
margin-right: 2em;
|
|
11
|
+
}
|
|
12
|
+
.card {
|
|
13
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans,
|
|
14
|
+
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important;
|
|
15
|
+
background: #ffffff;
|
|
16
|
+
padding: 2rem;
|
|
17
|
+
border-radius: 10px;
|
|
18
|
+
margin-bottom: 1rem;
|
|
19
|
+
}
|
|
20
|
+
.p-field {
|
|
21
|
+
margin-bottom: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
.p-inputtext {
|
|
24
|
+
width: 100%;
|
|
25
|
+
}
|
|
26
|
+
.action-buttons .p-button {
|
|
27
|
+
margin-right: 0.5rem;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.logo {
|
|
31
|
+
height: 100%;
|
|
32
|
+
width: 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.dividerRight {
|
|
36
|
+
border-right: 1px solid #d4d4d4;
|
|
37
|
+
padding-right: 20px;
|
|
38
|
+
height: 40px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.statusItem {
|
|
42
|
+
padding-right: 10px;
|
|
43
|
+
margin-right: 5px;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.right {
|
|
48
|
+
float: right;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.header {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: row;
|
|
54
|
+
flex-wrap: nowrap;
|
|
55
|
+
justify-content: flex-start;
|
|
56
|
+
align-items: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.headertext {
|
|
60
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans,
|
|
61
|
+
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important;
|
|
62
|
+
font-weight: 500;
|
|
63
|
+
font-size: 17px;
|
|
64
|
+
margin: 0 !important;
|
|
65
|
+
padding-top: 10px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.actionButtons {
|
|
69
|
+
margin-left: auto;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.refreshButton {
|
|
73
|
+
color: #00adef !important;
|
|
74
|
+
border: 1px solid #00adef !important;
|
|
75
|
+
padding: 8px !important;
|
|
76
|
+
border-radius: 5px !important;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.bitpool-blue {
|
|
80
|
+
color: white !important;
|
|
81
|
+
background-color: #00adef !important;
|
|
82
|
+
border: 1px solid #00adef !important;
|
|
83
|
+
padding: 8px !important;
|
|
84
|
+
border-radius: 5px !important;
|
|
85
|
+
margin-left: 10px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.statBlockKey {
|
|
89
|
+
font-weight: 500;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.searchBar {
|
|
93
|
+
font-family: Inter, Poppins, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans,
|
|
94
|
+
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important;
|
|
95
|
+
width: 100% !important;
|
|
96
|
+
background: white !important;
|
|
97
|
+
border: 1px solid #d4d4d4 !important;
|
|
98
|
+
border-radius: 20px !important;
|
|
99
|
+
height: 40px !important;
|
|
100
|
+
padding-left: 15px !important;
|
|
101
|
+
}
|
|
102
|
+
.searchBarContainer {
|
|
103
|
+
width: 100% !important;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.columnSelector {
|
|
107
|
+
border: 1px solid #e5e5e5 !important;
|
|
108
|
+
border-radius: 15px !important;
|
|
109
|
+
width: 250px;
|
|
110
|
+
padding-right: 10px;
|
|
111
|
+
margin-bottom: 20px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.p-multiselect {
|
|
115
|
+
margin-top: 22px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.p-multiselect-overlay {
|
|
119
|
+
border: 1px solid #e5e5e5 !important;
|
|
120
|
+
border-radius: 5px !important;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.p-multiselect-option {
|
|
124
|
+
margin-top: 5px !important;
|
|
125
|
+
margin-left: 2px !important;
|
|
126
|
+
margin-right: 2px !important;
|
|
127
|
+
padding-top: 2px !important;
|
|
128
|
+
padding-bottom: 2px !important;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.p-multiselect-option:hover {
|
|
132
|
+
background-color: #00adef !important;
|
|
133
|
+
border: 1px solid #00adef !important;
|
|
134
|
+
border-radius: 5px !important;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.p-datatable .p-datatable-header {
|
|
138
|
+
padding-top: 0em !important;
|
|
139
|
+
padding-bottom: 0 !important;
|
|
140
|
+
padding-left: 0 !important;
|
|
141
|
+
padding-right: 0 !important;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.tableHeaderDiv {
|
|
145
|
+
display: flex;
|
|
146
|
+
flex-direction: row;
|
|
147
|
+
width: 100%;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.pi-search:before {
|
|
151
|
+
position: absolute;
|
|
152
|
+
right: 15px;
|
|
153
|
+
top: 41px;
|
|
154
|
+
transform: translateY(-50%);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.p-datatable-header {
|
|
158
|
+
background: inherit !important;
|
|
159
|
+
border: none !important;
|
|
160
|
+
display: flex;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.p-datatable-table-container {
|
|
164
|
+
border: 1px solid #e5e5e5;
|
|
165
|
+
border-radius: 15px;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.p-datatable-paginator-bottom {
|
|
169
|
+
border: none !important;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.p-datatable-wrapper {
|
|
173
|
+
overflow-x: auto;
|
|
174
|
+
max-width: 100%;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.p-datatable th,
|
|
178
|
+
.p-datatable td {
|
|
179
|
+
min-width: 150px;
|
|
180
|
+
white-space: nowrap;
|
|
181
|
+
overflow: hidden;
|
|
182
|
+
text-overflow: ellipsis;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
/* changes start */
|
|
187
|
+
|
|
188
|
+
/* Add these rules to forcefully control table height */
|
|
189
|
+
.fixed-height-table {
|
|
190
|
+
height: 800px !important; /* Fixed height matching scrollHeight */
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.fixed-height-table .p-datatable-wrapper {
|
|
194
|
+
height: calc(800px - 92px) !important; /* Subtract header and paginator height */
|
|
195
|
+
min-height: calc(800px - 92px) !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.fixed-height-table .p-datatable-table {
|
|
199
|
+
min-height: 800px !important; /* Force table to maintain minimum height */
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Make sure the table body expands to fill available space */
|
|
203
|
+
.fixed-height-table .p-datatable-tbody {
|
|
204
|
+
min-height: 760px !important; /* Approximate calculation for body only */
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/* Add an empty row to maintain height when filtered results are few */
|
|
208
|
+
.p-datatable-emptymessage td {
|
|
209
|
+
height: 760px !important;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.row-missing {
|
|
213
|
+
background-color: #00adef;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.p-paginator-page.p-paginator-page-selected {
|
|
217
|
+
background-color: #00adef !important;
|
|
218
|
+
color: white !important;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.header-content {
|
|
222
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
223
|
+
position: fixed;
|
|
224
|
+
z-index: 9999;
|
|
225
|
+
width: 100%;
|
|
226
|
+
left: 0;
|
|
227
|
+
margin: auto;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.content-wrapper {
|
|
231
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
232
|
+
top: 100px;
|
|
233
|
+
position: absolute;
|
|
234
|
+
width: -webkit-fill-available;
|
|
235
|
+
margin: 5px;
|
|
236
|
+
left: 0px;
|
|
237
|
+
height: 1000px !important;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.datatable-card {
|
|
241
|
+
padding-top: 0 !important;
|
|
242
|
+
padding-bottom: 1rem !important;
|
|
243
|
+
padding-left: 2rem;
|
|
244
|
+
padding-right: 2rem;
|
|
245
|
+
height: 1000px !important;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.p-multiselect-overlay {
|
|
249
|
+
background-color: #ffffff !important;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* Hide the default checkbox that comes with PrimeVue */
|
|
253
|
+
.p-multiselect-option .p-checkbox {
|
|
254
|
+
display: none !important;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/* Make sure our custom checkbox is visible */
|
|
258
|
+
.custom-checkbox {
|
|
259
|
+
display: flex !important;
|
|
260
|
+
margin-right: 0.5rem;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Style for the checkbox container */
|
|
264
|
+
.custom-checkbox-box {
|
|
265
|
+
border: 1px solid #ced4da;
|
|
266
|
+
width: 18px;
|
|
267
|
+
height: 18px;
|
|
268
|
+
border-radius: 3px;
|
|
269
|
+
display: flex;
|
|
270
|
+
align-items: center;
|
|
271
|
+
justify-content: center;
|
|
272
|
+
background-color: #ffffff;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* Style for selected checkbox */
|
|
276
|
+
.custom-checkbox-box.selected {
|
|
277
|
+
background-color: #2196F3;
|
|
278
|
+
border-color: #2196F3;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/* Style for the checkmark icon */
|
|
282
|
+
.custom-checkbox-icon {
|
|
283
|
+
color: white;
|
|
284
|
+
font-size: 12px;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.status {
|
|
288
|
+
display: flex;
|
|
289
|
+
align-items: center;
|
|
290
|
+
gap: 10px;
|
|
291
|
+
margin-left: 25px;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.status-with-icon {
|
|
295
|
+
display: flex;
|
|
296
|
+
align-items: center;
|
|
297
|
+
gap: 8px;
|
|
298
|
+
height: 50px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.status-icon {
|
|
302
|
+
font-size: 24px;
|
|
303
|
+
width: 18px;
|
|
304
|
+
height: 18px;
|
|
305
|
+
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.status-icon-wrapper {
|
|
309
|
+
border-radius: 6px;
|
|
310
|
+
width: 31px;
|
|
311
|
+
height: 31px;
|
|
312
|
+
display: flex;
|
|
313
|
+
align-items: center;
|
|
314
|
+
justify-content: center;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.status-text {
|
|
318
|
+
display: flex;
|
|
319
|
+
flex-direction: column;
|
|
320
|
+
justify-content: center;
|
|
321
|
+
height: 100%;
|
|
322
|
+
text-align: left;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
.status-text .statBlockValue {
|
|
326
|
+
font-size: 14px;
|
|
327
|
+
line-height: 1.2;
|
|
328
|
+
font-weight: normal;
|
|
329
|
+
order: -1; /* This moves the value to the top */
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.status-text .statBlockKey {
|
|
333
|
+
font-size: 12px;
|
|
334
|
+
line-height: 1.2;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/* Keep the original showing results item styling */
|
|
338
|
+
.statusItem:first-child {
|
|
339
|
+
display: flex;
|
|
340
|
+
align-items: center;
|
|
341
|
+
height: 40px;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.stat-percentage {
|
|
345
|
+
display: inline-block;
|
|
346
|
+
background-color: #e0e0e0;
|
|
347
|
+
color: #333;
|
|
348
|
+
border-radius: 4px;
|
|
349
|
+
padding: 2px 6px;
|
|
350
|
+
margin-left: 6px;
|
|
351
|
+
font-size: 0.85em;
|
|
352
|
+
font-weight: 500;
|
|
353
|
+
text-align: center;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
/* responsive updates */
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
/* Base styles for the header */
|
|
361
|
+
.header {
|
|
362
|
+
display: flex;
|
|
363
|
+
flex-wrap: wrap;
|
|
364
|
+
gap: 15px;
|
|
365
|
+
align-items: center;
|
|
366
|
+
padding: 10px;
|
|
367
|
+
width: 100%;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* Logo section */
|
|
371
|
+
.dividerRight {
|
|
372
|
+
flex: 0 0 auto;
|
|
373
|
+
min-width: 120px;
|
|
374
|
+
max-width: 180px;
|
|
375
|
+
border-right: 1px solid #d4d4d4;
|
|
376
|
+
padding-right: 20px;
|
|
377
|
+
height: 40px;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/* Status section */
|
|
381
|
+
.status {
|
|
382
|
+
display: flex;
|
|
383
|
+
flex-wrap: wrap;
|
|
384
|
+
gap: 10px;
|
|
385
|
+
flex: 1 1 auto;
|
|
386
|
+
justify-content: flex-start;
|
|
387
|
+
align-items: center;
|
|
388
|
+
margin: 0;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/* Individual status items */
|
|
392
|
+
.statusItem {
|
|
393
|
+
flex: 0 1 auto;
|
|
394
|
+
min-width: 150px;
|
|
395
|
+
margin: 0;
|
|
396
|
+
padding: 5px;
|
|
397
|
+
border-radius: 6px;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/* Styling for active filter */
|
|
401
|
+
.statusItem.active-filter {
|
|
402
|
+
background-color: rgba(0, 173, 239, 0.1);
|
|
403
|
+
border: 1px solid #00ADEF;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
/* Cursor change to indicate clickable */
|
|
407
|
+
.statusItem:hover {
|
|
408
|
+
background-color: rgba(0, 173, 239, 0.05);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/* Action buttons section */
|
|
412
|
+
.actionButtons {
|
|
413
|
+
flex: 0 0 auto;
|
|
414
|
+
display: flex;
|
|
415
|
+
gap: 10px;
|
|
416
|
+
margin: 0;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/* Responsive breakpoints */
|
|
420
|
+
@media screen and (max-width: 1400px) {
|
|
421
|
+
.status {
|
|
422
|
+
justify-content: center;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.statusItem {
|
|
426
|
+
min-width: 140px;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
@media screen and (max-width: 1200px) {
|
|
431
|
+
.header {
|
|
432
|
+
justify-content: center;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.dividerRight {
|
|
436
|
+
border-right: none;
|
|
437
|
+
padding-right: 0;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.actionButtons {
|
|
441
|
+
width: 100%;
|
|
442
|
+
justify-content: center;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@media screen and (max-width: 768px) {
|
|
447
|
+
.statusItem {
|
|
448
|
+
min-width: calc(50% - 20px);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@media screen and (max-width: 480px) {
|
|
453
|
+
.statusItem {
|
|
454
|
+
min-width: 100%;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.actionButtons {
|
|
458
|
+
flex-direction: column;
|
|
459
|
+
align-items: stretch;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.actionButtons .p-button {
|
|
463
|
+
margin: 5px 0;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* Adjust the header content container */
|
|
468
|
+
.header-content {
|
|
469
|
+
position: fixed;
|
|
470
|
+
z-index: 9999;
|
|
471
|
+
width: 100%;
|
|
472
|
+
left: 0;
|
|
473
|
+
margin: auto;
|
|
474
|
+
padding: 0.8rem;
|
|
475
|
+
box-sizing: border-box;
|
|
476
|
+
max-height: 80vh;
|
|
477
|
+
overflow-y: auto;
|
|
478
|
+
}
|