Update on numeric inputs
This commit is contained in:
parent
d71a5c25c3
commit
245e76f697
|
|
@ -116,8 +116,15 @@
|
|||
</div>
|
||||
</div> -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<app-validated-input label="Years Established Since" name="established" [(ngModel)]="listing.established" kind="number"></app-validated-input>
|
||||
<app-validated-input label="Employees" name="employees" [(ngModel)]="listing.employees" kind="number"></app-validated-input>
|
||||
<app-validated-input
|
||||
label="Years Established Since"
|
||||
name="established"
|
||||
[(ngModel)]="listing.established"
|
||||
kind="number"
|
||||
mask="0000"
|
||||
(ngModelChange)="onNumericInputChange($event, 'listing.established')"
|
||||
></app-validated-input>
|
||||
<app-validated-input label="Employees" name="employees" [(ngModel)]="listing.employees" kind="number" mask="0000" (ngModelChange)="onNumericInputChange($event, 'listing.employees')"></app-validated-input>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-4 space-x-4">
|
||||
|
|
@ -160,7 +167,13 @@
|
|||
</div> -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<app-validated-input label="Broker Licensing" name="brokerLicencing" [(ngModel)]="listing.brokerLicencing"></app-validated-input>
|
||||
<app-validated-input label="Internal Listing Number" name="internalListingNumber" [(ngModel)]="listing.internalListingNumber" kind="number"></app-validated-input>
|
||||
<app-validated-input
|
||||
label="Internal Listing Number"
|
||||
name="internalListingNumber"
|
||||
[(ngModel)]="listing.internalListingNumber"
|
||||
kind="number"
|
||||
(ngModelChange)="onNumericInputChange($event, 'listing.internalListingNumber')"
|
||||
></app-validated-input>
|
||||
</div>
|
||||
|
||||
<!-- <div class="mb-4">
|
||||
|
|
|
|||
|
|
@ -146,4 +146,17 @@ export class EditBusinessListingComponent {
|
|||
changeListingCategory(value: 'business' | 'commercialProperty') {
|
||||
routeListingWithState(this.router, value, this.listing);
|
||||
}
|
||||
onNumericInputChange(value: string, modelProperty: string): void {
|
||||
const newValue = value === '' ? null : +value;
|
||||
this.setPropertyByPath(this, modelProperty, newValue);
|
||||
}
|
||||
|
||||
private setPropertyByPath(obj: any, path: string, value: any): void {
|
||||
const keys = path.split('.');
|
||||
let target = obj;
|
||||
for (let i = 0; i < keys.length - 1; i++) {
|
||||
target = target[keys[i]];
|
||||
}
|
||||
target[keys[keys.length - 1]] = value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue