Choose customer would refresh while fetching customers.

This commit is contained in:
2026-09-04 03:33:17 +00:00
parent 227f5b5f74
commit 30cbb60efe
3 changed files with 70 additions and 72 deletions
+12 -5
View File
@@ -32,7 +32,9 @@
"input": "public" "input": "public"
} }
], ],
"styles": ["src/styles.sass"], "styles": [
"src/styles.sass"
],
"allowedCommonJsDependencies": [ "allowedCommonJsDependencies": [
"typed-function", "typed-function",
"javascript-natural-sort", "javascript-natural-sort",
@@ -46,8 +48,8 @@
"budgets": [ "budgets": [
{ {
"type": "initial", "type": "initial",
"maximumWarning": "500kb", "maximumWarning": "1000kb",
"maximumError": "1mb" "maximumError": "2mb"
}, },
{ {
"type": "anyComponentStyle", "type": "anyComponentStyle",
@@ -86,14 +88,19 @@
"lint": { "lint": {
"builder": "@angular-eslint/builder:lint", "builder": "@angular-eslint/builder:lint",
"options": { "options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] "lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
} }
} }
} }
} }
}, },
"cli": { "cli": {
"schematicCollections": ["@angular-eslint/schematics"], "schematicCollections": [
"@angular-eslint/schematics"
],
"analytics": false "analytics": false
}, },
"schematics": { "schematics": {
@@ -1,10 +1,5 @@
@if (customersResource.isLoading()) { <h2 mat-dialog-title>Customer</h2>
<app-skeleton-loader type="card" [count]="1" /> <mat-dialog-content>
} @else if (customersResource.error()) {
<app-error-state (retryAction)="customersResource.reload()" />
} @else {
<h2 mat-dialog-title>Customer</h2>
<mat-dialog-content>
<form class="flex-col"> <form class="flex-col">
<div class="row-container"> <div class="row-container">
<mat-form-field class="flex-auto"> <mat-form-field class="flex-auto">
@@ -55,9 +50,8 @@
</ul> </ul>
</div> </div>
</form> </form>
</mat-dialog-content> </mat-dialog-content>
<mat-dialog-actions align="end"> <mat-dialog-actions align="end">
<button mat-button [mat-dialog-close]="false">Cancel</button> <button mat-button [mat-dialog-close]="false">Cancel</button>
<button type="button" mat-raised-button color="primary" (click)="save()">Select</button> <button type="button" mat-raised-button color="primary" (click)="save()">Select</button>
</mat-dialog-actions> </mat-dialog-actions>
}
@@ -13,8 +13,6 @@ import { MatInputModule } from '@angular/material/input';
import { Customer } from '../../core/customer'; import { Customer } from '../../core/customer';
import { CustomerDiscount } from '../../core/customer-discount'; import { CustomerDiscount } from '../../core/customer-discount';
import { CustomerService } from '../../customers/customer.service'; import { CustomerService } from '../../customers/customer.service';
import { ErrorStateComponent } from '../../shared/error-state/error-state.component';
import { SkeletonLoaderComponent } from '../../shared/skeleton-loader/skeleton-loader.component';
export interface ChooseCustomerFormData { export interface ChooseCustomerFormData {
id: string; id: string;
@@ -40,8 +38,6 @@ export interface ChooseCustomerFormData {
MatOptionModule, MatOptionModule,
PercentPipe, PercentPipe,
FormField, FormField,
ErrorStateComponent,
SkeletonLoaderComponent,
], ],
}) })
export class ChooseCustomerComponent { export class ChooseCustomerComponent {
@@ -66,7 +62,8 @@ export class ChooseCustomerComponent {
form = form(this.formModel); form = form(this.formModel);
phoneSignal = computed(() => { phoneSignal = computed(() => {
return this.formModel().phone; const p = this.formModel().phone;
return typeof p === 'string' ? p.trim() : null;
}); });
debouncedPhone = debounced(this.phoneSignal, 150); debouncedPhone = debounced(this.phoneSignal, 150);