|
142 | 142 | }" |
143 | 143 | /> |
144 | 144 | </div> |
145 | | - <div class="form-group mt-3"> |
| 145 | + <div class="form-group mt-3 col-6"> |
146 | 146 | <label class="form-label" for="placement">{{ "GATEWAY.PLACEMENT-LABEL" | translate }}</label> |
147 | 147 | <mat-select |
148 | 148 | class="form-control" |
|
159 | 159 | </mat-option> |
160 | 160 | </mat-select> |
161 | 161 | </div> |
162 | | - <div class="form-group mt-3"> |
| 162 | + <h3 class="h3">{{ "QUESTION.METADATA" | translate }}</h3> |
| 163 | + <div class="form-group"> |
163 | 164 | <label class="form-label" for="modelName">{{ "QUESTION-LORA-GATEWAY.MODEL-NAME" | translate }}</label> |
164 | 165 | <input |
165 | 166 | type="text" |
|
207 | 208 | </mat-select> |
208 | 209 | </div> |
209 | 210 | <div class="form-group mt-3"> |
| 211 | + <label class="form-label" for="tagsString">{{ "QUESTION-LORA-GATEWAY.METADATA" | translate }}</label> |
| 212 | + <input |
| 213 | + type="text" |
| 214 | + class="form-control" |
| 215 | + id="tagsString" |
| 216 | + name="tagsString" |
| 217 | + [placeholder]="'QUESTION-LORA-GATEWAY.METADATA-PLACEHOLDER' | translate" |
| 218 | + required |
| 219 | + [(ngModel)]="gateway.tagsString" |
| 220 | + [ngClass]="{ |
| 221 | + 'is-invalid': formFailedSubmit && errorFields.includes('tagsString'), |
| 222 | + 'is-valid': formFailedSubmit && !errorFields.includes('tagsString') |
| 223 | + }" |
| 224 | + /> |
| 225 | + </div> |
| 226 | + <h3 class="h3">{{ "QUESTION-LORA-GATEWAY.CONTACT" | translate }}</h3> |
| 227 | + <div class="form-group"> |
210 | 228 | <label class="form-label" for="gatewayResponsible">{{ |
211 | 229 | "QUESTION-LORA-GATEWAY.GATEWAY-RESPONSIBLE" | translate |
212 | 230 | }}</label> |
|
291 | 309 | }" |
292 | 310 | /> |
293 | 311 | </div> |
294 | | - </div> |
295 | | - <div class="form-group mt-3"> |
296 | | - <label class="form-label" for="tagsString">{{ "QUESTION-LORA-GATEWAY.METADATA" | translate }}</label> |
297 | | - <input |
298 | | - type="text" |
299 | | - class="form-control" |
300 | | - id="tagsString" |
301 | | - name="tagsString" |
302 | | - [placeholder]="'QUESTION-LORA-GATEWAY.METADATA-PLACEHOLDER' | translate" |
303 | | - required |
304 | | - [(ngModel)]="gateway.tagsString" |
305 | | - [ngClass]="{ |
306 | | - 'is-invalid': formFailedSubmit && errorFields.includes('tagsString'), |
307 | | - 'is-valid': formFailedSubmit && !errorFields.includes('tagsString') |
308 | | - }" |
309 | | - /> |
| 312 | + <h3 class="h3">{{ "QUESTION-LORA-GATEWAY.ALARMS" | translate }}</h3> |
| 313 | + <label for="notifyOffline">{{ "QUESTION-LORA-GATEWAY.SET-ALARMS" | translate }}</label> |
| 314 | + <div class="row mt-3"> |
| 315 | + <mat-slide-toggle [(ngModel)]="gateway.notifyOffline" id="notifyOffline" name="notifyOffline"> |
| 316 | + {{ "GEN.OFFLINE" | translate }}</mat-slide-toggle |
| 317 | + > |
| 318 | + </div> |
| 319 | + <div *ngIf="gateway.notifyOffline"> |
| 320 | + <div class="form-group mt-3"> |
| 321 | + <label for="notifyOffline">{{ "QUESTION-LORA-GATEWAY.HOW-MANY-MINUTES" | translate }}</label> |
| 322 | + </div> |
| 323 | + |
| 324 | + <div class="form-group mt-3"> |
| 325 | + <label class="form-label" for="offlineAlarmThresholdMinutes">{{ |
| 326 | + "QUESTION-LORA-GATEWAY.AMOUNT-OF-MINUTES" | translate |
| 327 | + }}</label> |
| 328 | + <input |
| 329 | + type="number" |
| 330 | + class="form-control" |
| 331 | + id="offlineAlarmThresholdMinutes" |
| 332 | + name="offlineAlarmThresholdMinutes" |
| 333 | + [(ngModel)]="gateway.offlineAlarmThresholdMinutes" |
| 334 | + step="1" |
| 335 | + maxlength="9" |
| 336 | + (keyup)="onCoordinateKey($event)" |
| 337 | + [ngClass]="{ |
| 338 | + 'is-invalid': formFailedSubmit && errorFields.includes('offlineAlarmThresholdMinutes'), |
| 339 | + 'is-valid': formFailedSubmit && !errorFields.includes('offlineAlarmThresholdMinutes') |
| 340 | + }" |
| 341 | + /> |
| 342 | + </div> |
| 343 | + </div> |
| 344 | + <div class="row mt-3"> |
| 345 | + <mat-slide-toggle |
| 346 | + [(ngModel)]="gateway.notifyUnusualPackages" |
| 347 | + id="notifyUnusualPackages" |
| 348 | + name="notifyUnusualPackages" |
| 349 | + > |
| 350 | + {{ "QUESTION-LORA-GATEWAY.UNUSUAL-PACKAGES" | translate }}</mat-slide-toggle |
| 351 | + > |
| 352 | + </div> |
| 353 | + <div *ngIf="gateway.notifyUnusualPackages"> |
| 354 | + <div class="form-group mt-3"> |
| 355 | + <label for="minimumPackages">{{ "QUESTION-LORA-GATEWAY.SET-INTERVAL" | translate }}</label> |
| 356 | + </div> |
| 357 | + <div class="row d-flex"> |
| 358 | + <div class="form-group mt-3 col-6"> |
| 359 | + <label class="form-label" for="minimumPackages">{{ |
| 360 | + "QUESTION-LORA-GATEWAY.MINIMUM-AMOUNT" | translate |
| 361 | + }}</label> |
| 362 | + <input |
| 363 | + type="number" |
| 364 | + class="form-control" |
| 365 | + id="minimumPackages" |
| 366 | + name="minimumPackages" |
| 367 | + required |
| 368 | + [(ngModel)]="gateway.minimumPackages" |
| 369 | + step="1" |
| 370 | + maxlength="9" |
| 371 | + (keyup)="onCoordinateKey($event)" |
| 372 | + [ngClass]="{ |
| 373 | + 'is-invalid': formFailedSubmit && errorFields.includes('minimumPackages'), |
| 374 | + 'is-valid': formFailedSubmit && !errorFields.includes('minimumPackages') |
| 375 | + }" |
| 376 | + /> |
| 377 | + </div> |
| 378 | + <div class="form-group mt-3 col-6"> |
| 379 | + <label class="form-label" for="maximumPackages">{{ |
| 380 | + "QUESTION-LORA-GATEWAY.MAXIMUM-AMOUNT" | translate |
| 381 | + }}</label> |
| 382 | + <input |
| 383 | + type="number" |
| 384 | + class="form-control" |
| 385 | + id="maximumPackages" |
| 386 | + name="maximumPackages" |
| 387 | + required |
| 388 | + [(ngModel)]="gateway.maximumPackages" |
| 389 | + step="1" |
| 390 | + maxlength="9" |
| 391 | + (keyup)="onCoordinateKey($event)" |
| 392 | + [ngClass]="{ |
| 393 | + 'is-invalid': formFailedSubmit && errorFields.includes('maximumPackages'), |
| 394 | + 'is-valid': formFailedSubmit && !errorFields.includes('maximumPackages') |
| 395 | + }" |
| 396 | + /> |
| 397 | + </div> |
| 398 | + </div> |
| 399 | + </div> |
| 400 | + <div *ngIf="gateway.notifyOffline || gateway.notifyUnusualPackages" class="form-group mt-3"> |
| 401 | + <label class="form-label" for="alarmMail">{{ "QUESTION-LORA-GATEWAY.SET-EMAIL" | translate }}*</label> |
| 402 | + <input |
| 403 | + type="text" |
| 404 | + class="form-control" |
| 405 | + id="alarmMail" |
| 406 | + name="alarmMail" |
| 407 | + [placeholder]="'USERS.EMAIL' | translate" |
| 408 | + [(ngModel)]="gateway.alarmMail" |
| 409 | + [ngClass]="{ |
| 410 | + 'is-invalid': formFailedSubmit && errorFields.includes('alarmMail'), |
| 411 | + 'is-valid': formFailedSubmit && !errorFields.includes('alarmMail') |
| 412 | + }" |
| 413 | + /> |
| 414 | + </div> |
310 | 415 | </div> |
311 | 416 | </div> |
312 | 417 |
|
|
0 commit comments