Fix horizontal labels should stay centered to field on error

This commit is contained in:
shamoon 2023-11-04 23:11:15 -07:00
parent 638e8881f2
commit 6a78dde3e3
5 changed files with 14 additions and 14 deletions

View File

@ -1,4 +1,4 @@
<div class="mb-3"> <div class="mb-3" [class.pb-3]="error">
<div class="row"> <div class="row">
<div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal"> <div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal">
<label class="form-label mb-md-0" [for]="inputId">{{title}}</label> <label class="form-label mb-md-0" [for]="inputId">{{title}}</label>
@ -8,7 +8,7 @@
</svg>&nbsp;<ng-container i18n>Remove</ng-container> </svg>&nbsp;<ng-container i18n>Remove</ng-container>
</button> </button>
</div> </div>
<div [class.col-md-9]="horizontal"> <div class="position-relative" [class.col-md-9]="horizontal">
<div class="input-group" [class.is-invalid]="error"> <div class="input-group" [class.is-invalid]="error">
<input #inputField class="form-control" [class.is-invalid]="error" [placeholder]="placeholder" [id]="inputId" maxlength="10" <input #inputField class="form-control" [class.is-invalid]="error" [placeholder]="placeholder" [id]="inputId" maxlength="10"
(dateSelect)="onChange(value)" (change)="onChange(value)" (keypress)="onKeyPress($event)" (paste)="onPaste($event)" (dateSelect)="onChange(value)" (change)="onChange(value)" (keypress)="onKeyPress($event)" (paste)="onPaste($event)"
@ -24,7 +24,7 @@
</svg> </svg>
</button> </button>
</div> </div>
<div class="invalid-feedback" i18n>Invalid date.</div> <div class="invalid-feedback position-absolute top-100" i18n>Invalid date.</div>
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small> <small *ngIf="hint" class="form-text text-muted">{{hint}}</small>
<small *ngIf="getSuggestions().length > 0"> <small *ngIf="getSuggestions().length > 0">
<span i18n>Suggestions:</span>&nbsp; <span i18n>Suggestions:</span>&nbsp;

View File

@ -1,4 +1,4 @@
<div class="mb-3"> <div class="mb-3" [class.pb-3]="error">
<div class="row"> <div class="row">
<div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal"> <div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal">
<label class="form-label mb-md-0" [for]="inputId">{{title}}</label> <label class="form-label mb-md-0" [for]="inputId">{{title}}</label>
@ -8,12 +8,12 @@
</svg>&nbsp;<ng-container i18n>Remove</ng-container> </svg>&nbsp;<ng-container i18n>Remove</ng-container>
</button> </button>
</div> </div>
<div [class.col-md-9]="horizontal"> <div class="position-relative" [class.col-md-9]="horizontal">
<div class="input-group" [class.is-invalid]="error"> <div class="input-group" [class.is-invalid]="error">
<input #inputField type="number" class="form-control" [step]="step" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [class.is-invalid]="error" [disabled]="disabled"> <input #inputField type="number" class="form-control" [step]="step" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [class.is-invalid]="error" [disabled]="disabled">
<button *ngIf="showAdd" class="btn btn-outline-secondary" type="button" id="button-addon1" (click)="nextAsn()" [disabled]="disabled">+1</button> <button *ngIf="showAdd" class="btn btn-outline-secondary" type="button" id="button-addon1" (click)="nextAsn()" [disabled]="disabled">+1</button>
</div> </div>
<div class="invalid-feedback"> <div class="invalid-feedback position-absolute top-100">
{{error}} {{error}}
</div> </div>
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small> <small *ngIf="hint" class="form-text text-muted">{{hint}}</small>

View File

@ -1,9 +1,9 @@
<div class="mb-3 paperless-input-select paperless-input-tags" [class.disabled]="disabled"> <div class="mb-3 paperless-input-select paperless-input-tags" [class.disabled]="disabled" [class.pb-3]="suggestions">
<div class="row"> <div class="row">
<div class="d-flex align-items-center" [class.col-md-3]="horizontal"> <div class="d-flex align-items-center" [class.col-md-3]="horizontal">
<label class="form-label mb-md-0" for="tags" i18n>{{title}}</label> <label class="form-label mb-md-0" for="tags" i18n>{{title}}</label>
</div> </div>
<div [class.col-md-9]="horizontal"> <div class="position-relative" [class.col-md-9]="horizontal">
<div class="input-group flex-nowrap"> <div class="input-group flex-nowrap">
<ng-select #tagSelect name="tags" [items]="tags" bindLabel="name" bindValue="id" [(ngModel)]="value" <ng-select #tagSelect name="tags" [items]="tags" bindLabel="name" bindValue="id" [(ngModel)]="value"
[disabled]="disabled" [disabled]="disabled"
@ -42,7 +42,7 @@
</button> </button>
</div> </div>
<small class="form-text text-muted" *ngIf="hint">{{hint}}</small> <small class="form-text text-muted" *ngIf="hint">{{hint}}</small>
<small *ngIf="getSuggestions().length > 0"> <small *ngIf="getSuggestions().length > 0" class="position-absolute top-100">
<span i18n>Suggestions:</span>&nbsp; <span i18n>Suggestions:</span>&nbsp;
<ng-container *ngFor="let tag of getSuggestions()"> <ng-container *ngFor="let tag of getSuggestions()">
<a (click)="addTag(tag.id)" [routerLink]="[]">{{tag?.name}}</a>&nbsp; <a (click)="addTag(tag.id)" [routerLink]="[]">{{tag?.name}}</a>&nbsp;

View File

@ -1,4 +1,4 @@
<div class="mb-3"> <div class="mb-3" [class.pb-3]="error">
<div class="row"> <div class="row">
<div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal"> <div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal">
<label class="form-label mb-md-0" [for]="inputId">{{title}}</label> <label class="form-label mb-md-0" [for]="inputId">{{title}}</label>
@ -8,10 +8,10 @@
</svg>&nbsp;<ng-container i18n>Remove</ng-container> </svg>&nbsp;<ng-container i18n>Remove</ng-container>
</button> </button>
</div> </div>
<div [class.col-md-9]="horizontal"> <div class="position-relative" [class.col-md-9]="horizontal">
<input #inputField type="text" class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [disabled]="disabled"> <input #inputField type="text" class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [disabled]="disabled">
<small *ngIf="hint" class="form-text text-muted" [innerHTML]="hint | safeHtml"></small> <small *ngIf="hint" class="form-text text-muted" [innerHTML]="hint | safeHtml"></small>
<div class="invalid-feedback"> <div class="invalid-feedback position-absolute top-100">
{{error}} {{error}}
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
<div class="mb-3"> <div class="mb-3" [class.pb-3]="error">
<div class="row"> <div class="row">
<div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal"> <div class="d-flex align-items-center position-relative hidden-button-container" [class.col-md-3]="horizontal">
<label class="form-label mb-md-0" [for]="inputId">{{title}}</label> <label class="form-label mb-md-0" [for]="inputId">{{title}}</label>
@ -16,7 +16,7 @@
<use xlink:href="assets/bootstrap-icons.svg#box-arrow-up-right" /> <use xlink:href="assets/bootstrap-icons.svg#box-arrow-up-right" />
</svg> </svg>
</a> </a>
<div class="invalid-feedback"> <div class="invalid-feedback position-absolute top-100">
{{error}} {{error}}
</div> </div>
</div> </div>