Update on numeric inputs
This commit is contained in:
parent
d71a5c25c3
commit
245e76f697
|
|
@ -116,8 +116,15 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
<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
|
||||||
<app-validated-input label="Employees" name="employees" [(ngModel)]="listing.employees" kind="number"></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>
|
||||||
|
|
||||||
<div class="flex mb-4 space-x-4">
|
<div class="flex mb-4 space-x-4">
|
||||||
|
|
@ -160,7 +167,13 @@
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
<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="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>
|
||||||
|
|
||||||
<!-- <div class="mb-4">
|
<!-- <div class="mb-4">
|
||||||
|
|
|
||||||
|
|
@ -146,4 +146,17 @@ export class EditBusinessListingComponent {
|
||||||
changeListingCategory(value: 'business' | 'commercialProperty') {
|
changeListingCategory(value: 'business' | 'commercialProperty') {
|
||||||
routeListingWithState(this.router, value, this.listing);
|
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