@qubesense/customer-farm 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/customer-farm.component.mjs +11 -3
- package/esm2020/lib/customer-farm.service.mjs +11 -1
- package/esm2020/lib/dependencies/customer-farm-api-urls.mjs +3 -1
- package/esm2020/lib/dependencies/customer-farm-model.mjs +4 -1
- package/fesm2015/qubesense-customer-farm.mjs +27 -2
- package/fesm2015/qubesense-customer-farm.mjs.map +1 -1
- package/fesm2020/qubesense-customer-farm.mjs +25 -2
- package/fesm2020/qubesense-customer-farm.mjs.map +1 -1
- package/lib/customer-farm.service.d.ts +1 -0
- package/lib/dependencies/customer-farm-api-urls.d.ts +1 -0
- package/lib/dependencies/customer-farm-model.d.ts +3 -0
- package/package.json +1 -1
|
@@ -45,6 +45,8 @@ class CustomerFarmApiUrls {
|
|
|
45
45
|
this.getWarehouseDropdownListUrl = 'api/CustomerFarm/GetWarehouseDropdownList';
|
|
46
46
|
//api Url string for get Customer dropdown list
|
|
47
47
|
this.getcustomerlistbykeyword = 'api/CustomerFarm/SearchCustomer';
|
|
48
|
+
//api Url string for get Client number validation
|
|
49
|
+
this.getClientNumberValidationUrl = 'api/CustomerFarm/ValidateClientNumber';
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
|
|
@@ -194,6 +196,18 @@ class CustomerFarmService {
|
|
|
194
196
|
}
|
|
195
197
|
});
|
|
196
198
|
}
|
|
199
|
+
ValidateClientNumber(value) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
try {
|
|
202
|
+
const url = this.customerFarmApiUrls.getClientNumberValidationUrl + '/' + value;
|
|
203
|
+
const resultResponse = yield this.dataAccessService.GetDataById(url);
|
|
204
|
+
return resultResponse;
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
197
211
|
}
|
|
198
212
|
CustomerFarmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmService, deps: [{ token: i2.DataAccessService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
199
213
|
CustomerFarmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmService, providedIn: 'root' });
|
|
@@ -211,6 +225,7 @@ class CustomerFarmModel {
|
|
|
211
225
|
this.recordId = null;
|
|
212
226
|
this.customerId = null;
|
|
213
227
|
this.clientNumber = '';
|
|
228
|
+
this.standardDeliveryCost = 0;
|
|
214
229
|
this.customerName = '';
|
|
215
230
|
this.defaultWarehouse = '';
|
|
216
231
|
this.personInCharge = '';
|
|
@@ -242,6 +257,7 @@ class CustomerFarmConfigrationModel {
|
|
|
242
257
|
class RequiredCustomerFarmFields {
|
|
243
258
|
constructor() {
|
|
244
259
|
this.clientNumber = true;
|
|
260
|
+
this.standardDeliveryCost = true;
|
|
245
261
|
this.customerName = true;
|
|
246
262
|
this.customerId = true;
|
|
247
263
|
this.defaultWarehouse = true;
|
|
@@ -255,6 +271,7 @@ class RequiredCustomerFarmFields {
|
|
|
255
271
|
class AllowedCustomerFarmFields {
|
|
256
272
|
constructor() {
|
|
257
273
|
this.clientNumber = true;
|
|
274
|
+
this.standardDeliveryCost = true;
|
|
258
275
|
this.customerName = true;
|
|
259
276
|
this.defaultWarehouse = true;
|
|
260
277
|
this.personInCharge = true;
|
|
@@ -324,6 +341,7 @@ class CustomerFarmComponent {
|
|
|
324
341
|
recordId: [null],
|
|
325
342
|
customerId: [null],
|
|
326
343
|
clientNumber: [null],
|
|
344
|
+
standardDeliveryCost: [0],
|
|
327
345
|
customerName: [null],
|
|
328
346
|
defaultWarehouse: [null],
|
|
329
347
|
personInCharge: [null],
|
|
@@ -342,6 +360,10 @@ class CustomerFarmComponent {
|
|
|
342
360
|
this.customerFarmForm.get('clientNumber').addValidators(Validators.required);
|
|
343
361
|
this.customerFarmForm.get('clientNumber').addValidators(Validators.minLength(3));
|
|
344
362
|
}
|
|
363
|
+
if (this.customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost) {
|
|
364
|
+
this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.required);
|
|
365
|
+
this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.pattern('^[0-9]+(\\.[0-9]{1,2})?$'));
|
|
366
|
+
}
|
|
345
367
|
if (this.customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse) {
|
|
346
368
|
this.customerFarmForm.get('defaultWarehouse').addValidators(Validators.required);
|
|
347
369
|
}
|
|
@@ -375,12 +397,14 @@ class CustomerFarmComponent {
|
|
|
375
397
|
this.customerFarmForm.controls['recordId'].setValue(getResponse.apiData.recordId);
|
|
376
398
|
this.customerFarmForm.controls['customerId'].setValue(getResponse.apiData.customerId);
|
|
377
399
|
this.customerFarmForm.controls['clientNumber'].setValue(getResponse.apiData.clientNumber);
|
|
400
|
+
this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);
|
|
378
401
|
this.customerFarmForm.controls['customerName'].setValue(getResponse.apiData.customerName);
|
|
379
402
|
this.customerFarmForm.controls['defaultWarehouse'].setValue(getResponse.apiData.defaultWarehouse);
|
|
380
403
|
this.customerFarmForm.controls['personInCharge'].setValue(getResponse.apiData.personInCharge);
|
|
381
404
|
this.customerFarmForm.controls['displayName'].setValue(getResponse.apiData.displayName);
|
|
382
405
|
this.customerFarmForm.controls['primaryVetId'].setValue(getResponse.apiData.primaryVetId);
|
|
383
406
|
this.customerFarmForm.controls['PICTattoo'].setValue(getResponse.apiData.picTattoo);
|
|
407
|
+
this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);
|
|
384
408
|
this.customerFarmForm.controls['isActive'].setValue(getResponse.apiData.isActive);
|
|
385
409
|
});
|
|
386
410
|
}
|
|
@@ -395,6 +419,7 @@ class CustomerFarmComponent {
|
|
|
395
419
|
const customerFarmModel = new CustomerFarmModel();
|
|
396
420
|
customerFarmModel.recordId = this.customerFarmForm.value.recordId;
|
|
397
421
|
customerFarmModel.clientNumber = this.customerFarmForm.value.clientNumber;
|
|
422
|
+
customerFarmModel.standardDeliveryCost = this.customerFarmForm.value.standardDeliveryCost;
|
|
398
423
|
customerFarmModel.customerName = this.customerFarmForm.value.customerName;
|
|
399
424
|
customerFarmModel.defaultWarehouse = this.customerFarmForm.value.defaultWarehouse;
|
|
400
425
|
customerFarmModel.personInCharge = this.customerFarmForm.value.personInCharge;
|
|
@@ -517,10 +542,10 @@ class CustomerFarmComponent {
|
|
|
517
542
|
}
|
|
518
543
|
}
|
|
519
544
|
CustomerFarmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmComponent, deps: [{ token: CustomerFarmService }, { token: i2.JsonFormsService }, { token: i2.ApplicationRoleMenusService }, { token: i3.FormBuilder }, { token: i2.ErrorLogService }, { token: i2.ToastrNotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
520
|
-
CustomerFarmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CustomerFarmComponent, selector: "lib-customer-farm", inputs: { customerFarmConfiguration: "customerFarmConfiguration" }, outputs: { customerFarmData: "customerFarmData" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <div class=\"flex-auto w-full\"></div>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i2.KendoGridViewComponent, selector: "lib-kendo-grid-view", inputs: ["configuration"], outputs: ["events"] }] });
|
|
545
|
+
CustomerFarmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CustomerFarmComponent, selector: "lib-customer-farm", inputs: { customerFarmConfiguration: "customerFarmConfiguration" }, outputs: { customerFarmData: "customerFarmData" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.standardDeliveryCost\">\r\n <mat-label>Standard Delivery Cost</mat-label>\r\n <input matInput type=\"number\" min=\"0\" step=\"0.01\" id=\"standardDeliveryCost\" placeholder=\"Standard Delivery Cost\" [formControlName]=\"'standardDeliveryCost'\"\r\n (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost\">\r\n Standard Delivery Cost is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('min')\">\r\n Standard Delivery Cost must be a positive number\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i2.KendoGridViewComponent, selector: "lib-kendo-grid-view", inputs: ["configuration"], outputs: ["events"] }] });
|
|
521
546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmComponent, decorators: [{
|
|
522
547
|
type: Component,
|
|
523
|
-
args: [{ selector: 'lib-customer-farm', template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <
|
|
548
|
+
args: [{ selector: 'lib-customer-farm', template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.standardDeliveryCost\">\r\n <mat-label>Standard Delivery Cost</mat-label>\r\n <input matInput type=\"number\" min=\"0\" step=\"0.01\" id=\"standardDeliveryCost\" placeholder=\"Standard Delivery Cost\" [formControlName]=\"'standardDeliveryCost'\"\r\n (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost\">\r\n Standard Delivery Cost is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('min')\">\r\n Standard Delivery Cost must be a positive number\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n" }]
|
|
524
549
|
}], ctorParameters: function () { return [{ type: CustomerFarmService }, { type: i2.JsonFormsService }, { type: i2.ApplicationRoleMenusService }, { type: i3.FormBuilder }, { type: i2.ErrorLogService }, { type: i2.ToastrNotificationService }]; }, propDecorators: { customerFarmData: [{
|
|
525
550
|
type: Output
|
|
526
551
|
}], customerFarmConfiguration: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qubesense-customer-farm.mjs","sources":["../../../projects/customer-farm/src/lib/dependencies/customer-farm-api-urls.ts","../../../projects/customer-farm/src/lib/customer-farm.service.ts","../../../projects/customer-farm/src/lib/dependencies/customer-farm-model.ts","../../../projects/customer-farm/src/lib/customer-farm.component.ts","../../../projects/customer-farm/src/lib/customer-farm.component.html","../../../projects/customer-farm/src/lib/customer-farm.module.ts","../../../projects/customer-farm/src/public-api.ts","../../../projects/customer-farm/src/qubesense-customer-farm.ts"],"sourcesContent":["export class CustomerFarmApiUrls {\r\n //api Url string for get data by Id\r\n getCustomerFarmByIdUrl: string = 'api/CustomerFarm/GetById';\r\n \r\n //api Url string for insert Customer data\r\n insertCustomerFarmDataUrl: string = 'api/CustomerFarm/Create';\r\n\r\n //api Url string for update Customer record\r\n updateCustomerFarmDataUrl: string = 'api/CustomerFarm/Update';\r\n\r\n //api Url string for delete Customer record\r\n deleteCustomerFarmDataUrl: string = 'api/CustomerFarm/Delete';\r\n\r\n //api Url string for get Customer list\r\n getCustomerFarmListUrl: string = 'api/CustomerFarm/GetAll';\r\n \r\n //api Url string for get Customer dropdown list\r\n getCustomerFarmDropdownListUrl: string = 'api/CustomerFarm/GetDropdownList';\r\n\r\n //api Url string for get Warehouse dropdown list\r\n getWarehouseDropdownListUrl: string = 'api/CustomerFarm/GetWarehouseDropdownList';\r\n\r\n //api Url string for get Customer dropdown list\r\n getcustomerlistbykeyword: string = 'api/CustomerFarm/SearchCustomer';\r\n}","import { Injectable } from '@angular/core';\r\nimport { DataAccessService, WebApiResult } from '@qubesense/base-services';\r\nimport { CustomerFarmApiUrls } from './dependencies/customer-farm-api-urls';\r\nimport { CustomerFarmModel } from './dependencies/customer-farm-model';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerFarmService {\r\n\r\n constructor(private dataAccessService: DataAccessService) { }\r\n\r\n customerFarmApiUrls = new CustomerFarmApiUrls();\r\n\r\n private customerNameSource = new BehaviorSubject<string>('');\r\n currentCustomerName = this.customerNameSource.asObservable();\r\n\r\n updateCustomerName(customerName: string) {\r\n this.customerNameSource.next(customerName);\r\n }\r\n\r\n /**\r\n * service for get customer data by Id\r\n * \r\n * @param customerGUID \r\n * \r\n * @returns Response Data from Database\r\n */\r\n public async GetDataById(customerGUID: string): Promise<WebApiResult> {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmByIdUrl + '/' + customerGUID;\r\n const resultResponse = await this.dataAccessService.GetDataById(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for inserting customer data into database\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async InsertData(customerFarmModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.insertCustomerFarmDataUrl;\r\n const resultResponse = await this.dataAccessService.InsertData(url, customerFarmModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for update customer Data\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async UpdateData(customerFarmModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.updateCustomerFarmDataUrl;\r\n const resultResponse = await this.dataAccessService.UpdateData(url, customerFarmModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for delete customer data by GUID\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async DeleteData(recordId: any) {\r\n try {\r\n const url = this.customerFarmApiUrls.deleteCustomerFarmDataUrl + '/' + recordId;\r\n const resultResponse = await this.dataAccessService.DeleteData(url);\r\n return resultResponse;\r\n }\r\n catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for get data for customer grid \r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response Data from Database\r\n */\r\n public async GetListData(customerDataModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmListUrl;\r\n const resultResponse = await this.dataAccessService.GetListData(url, customerDataModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for get data for customer DropDown List\r\n * \r\n * @returns \r\n */\r\n public async GetCustomersDropdownList() {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmDropdownListUrl;\r\n const resultResponse = await this.dataAccessService.GetDropdownListData(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public async GetCustomerListByKeyword(value:string) {\r\n try {\r\n const url = this.customerFarmApiUrls.getcustomerlistbykeyword + '/' + value;\r\n const resultResponse = await this.dataAccessService.GetDataById(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public async GetWarehouseDropdownList() {\r\n try {\r\n const url = this.customerFarmApiUrls.getWarehouseDropdownListUrl;\r\n const resultResponse = await this.dataAccessService.GetDropdownListData(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n}\r\n","export class CustomerFarmModel {\r\n formCode: string = null;\r\n formId: string = '';\r\n recordId: string = null;\r\n customerId: string = null;\r\n clientNumber: string = '';\r\n customerName: string = '';\r\n defaultWarehouse: string = '';\r\n personInCharge: string = '';\r\n displayName: string = '';\r\n primaryVetId: string = '';\r\n PICTattoo: string = '';\r\n isActive: boolean = true;\r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class CustomerFarmConfigrationModel {\r\n formCode: string = null;\r\n customerId: string = null;\r\n defaultView: boolean = false;\r\n showModal: boolean = false;\r\n showGrid: boolean = false;\r\n isSearchable: boolean = false;\r\n showClientData: boolean = false;\r\n customerData: CustomerFarmModel = null;\r\n userMessages: boolean = false;\r\n requiredCustomerFarmSection: boolean = false;\r\n allowedCustomerFarmSection: boolean = false;\r\n requiredCustomerFarmFields: RequiredCustomerFarmFields = new RequiredCustomerFarmFields();\r\n allowedCustomerFarmFields: AllowedCustomerFarmFields = new AllowedCustomerFarmFields();\r\n customerFarmGridConfigration: CustomerFarmGridConfigration = new CustomerFarmGridConfigration();\r\n}\r\n\r\nexport class RequiredCustomerFarmFields {\r\n clientNumber: boolean = true;\r\n customerName: boolean = true;\r\n customerId: boolean = true;\r\n defaultWarehouse: boolean = true;\r\n personInCharge: boolean = true;\r\n primaryVetId: boolean = true;\r\n displayName: boolean = true;\r\n PICTattoo: boolean = false;\r\n profileImageURL: boolean = false;\r\n}\r\n\r\nexport class AllowedCustomerFarmFields {\r\n clientNumber: boolean = true;\r\n customerName: boolean = true;\r\n defaultWarehouse: boolean = true;\r\n personInCharge: boolean = true;\r\n primaryVetId: boolean = true;\r\n PICTattoo: boolean = true;\r\n displayName: boolean = true;\r\n profileImageURL: boolean = false;\r\n}\r\n\r\nexport class CustomerFarmGridConfigration {\r\n formCodeForJsonHeader: string = null;\r\n formCodeForGridPermission: string = null;\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CustomerFarmConfigrationModel, CustomerFarmModel } from './dependencies/customer-farm-model';\r\nimport { ApplicationRoleMenusService, ErrorLogService, GridEventsModel, JsonFormsService, KendoGridviewConfigurationModel, ToastrNotificationService } from '@qubesense/base-services';\r\nimport { CustomerFarmService } from './customer-farm.service';\r\n\r\n@Component({\r\n selector: 'lib-customer-farm',\r\n templateUrl: './customer-farm.component.html',\r\n styleUrls: ['./customer-farm.component.scss']\r\n})\r\nexport class CustomerFarmComponent implements OnInit {\r\n @Output() customerFarmData = new EventEmitter<any>();\r\n @Input() public customerFarmConfiguration: CustomerFarmConfigrationModel = new CustomerFarmConfigrationModel();\r\n customerFarmForm: FormGroup;\r\n userMessages: string[] = [];\r\n public gridData: any[] = [];\r\n gridConfiguration: KendoGridviewConfigurationModel = new KendoGridviewConfigurationModel();\r\n hideButtons = false;\r\n isViewCall = false;\r\n speciesList: any[] = [];\r\n warehouseList: any[] = [];\r\n filteredCustomers: [];\r\n\r\n permission: any = [];\r\n userData: any = [];\r\n HideAddButton: boolean;\r\n\r\n\r\n constructor(private customerFarmService: CustomerFarmService,\r\n private jsonForms: JsonFormsService,\r\n private applicationRoleMenusService: ApplicationRoleMenusService,\r\n private formBuilder: FormBuilder,\r\n private errorLogService: ErrorLogService,\r\n private toastr: ToastrNotificationService\r\n ) {\r\n this.gridConfiguration.formCodeForJsonHeader = 'CUFA';\r\n this.gridConfiguration.formCodeForGridPermissions = this.customerFarmConfiguration.customerFarmGridConfigration.formCodeForGridPermission;\r\n }\r\n\r\n async ngOnInit() {\r\n this.DeclareForm();\r\n if (this.customerFarmConfiguration.showGrid) {\r\n this.gridConfiguration.formCodeForJsonHeader = 'CUFA';\r\n this.gridConfiguration.formCodeForGridPermissions = this.customerFarmConfiguration.customerFarmGridConfigration.formCodeForGridPermission;\r\n this.gridConfiguration.showModal = true;\r\n await this.permissionMethod();\r\n //this.gridConfiguration.actions = { 'View': false, 'Edit': true, 'Delete': true, 'Generate PDF': false }; \r\n this.GetListData();\r\n //this.getWarehouseList();\r\n }\r\n this.getWarehouseList();\r\n\r\n this.customerFarmForm.get('customerName').valueChanges.subscribe((value) => {\r\n this.customerFarmService.updateCustomerName(value);\r\n });\r\n }\r\n\r\n public async permissionMethod() {\r\n this.userData = JSON.parse(localStorage.getItem(\"sessionUser\"));\r\n const getResponse = await this.applicationRoleMenusService.GetAssignedRoleAuth(this.userData.sessionUser.userEmail, this.gridConfiguration.formCodeForGridPermissions);\r\n this.permission = getResponse.apiData[0];\r\n this.HideAddButton = this.permission.canAdd == false ? true : false;\r\n }\r\n\r\n DeclareForm() {\r\n this.customerFarmForm = this.formBuilder.group({\r\n recordId: [null],\r\n customerId: [null],\r\n clientNumber: [null],\r\n customerName: [null],\r\n defaultWarehouse: [null],\r\n personInCharge: [null],\r\n displayName: [null],\r\n primaryVetId: [null],\r\n PICTattoo: [null],\r\n isActive: [true]\r\n });\r\n this.onChanges();\r\n\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.customerName) {\r\n this.customerFarmForm.get('customerName').addValidators(Validators.required);\r\n this.customerFarmForm.get('customerName').addValidators(Validators.pattern('^[a-zA-Z ]*$'));\r\n this.customerFarmForm.get('customerName').addValidators(Validators.minLength(3));\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.clientNumber) {\r\n this.customerFarmForm.get('clientNumber').addValidators(Validators.required);\r\n this.customerFarmForm.get('clientNumber').addValidators(Validators.minLength(3));\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse) {\r\n this.customerFarmForm.get('defaultWarehouse').addValidators(Validators.required);\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.personInCharge) {\r\n this.customerFarmForm.get('personInCharge').addValidators(Validators.required);\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId) {\r\n this.customerFarmForm.get('primaryVetId').addValidators(Validators.required);\r\n }\r\n }\r\n\r\n ///////////////////////////////////standard methods/////////////////////////////////////////////////////\r\n\r\n onChanges(): void {\r\n this.customerFarmForm.get('customerName').valueChanges.subscribe(val => {\r\n this.customerFarmForm.patchValue({\r\n displayName: val\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * edit data list item using data item GUID\r\n *\r\n * @param customerId\r\n *\r\n * gets customer GUID from gridData and passes it to this function\r\n */\r\n async EditData(customerId: string) {\r\n const getResponse = await this.customerFarmService.GetDataById(customerId);\r\n this.customerFarmForm.controls['recordId'].setValue(getResponse.apiData.recordId);\r\n this.customerFarmForm.controls['customerId'].setValue(getResponse.apiData.customerId);\r\n this.customerFarmForm.controls['clientNumber'].setValue(getResponse.apiData.clientNumber);\r\n this.customerFarmForm.controls['customerName'].setValue(getResponse.apiData.customerName);\r\n this.customerFarmForm.controls['defaultWarehouse'].setValue(getResponse.apiData.defaultWarehouse);\r\n this.customerFarmForm.controls['personInCharge'].setValue(getResponse.apiData.personInCharge);\r\n this.customerFarmForm.controls['displayName'].setValue(getResponse.apiData.displayName);\r\n this.customerFarmForm.controls['primaryVetId'].setValue(getResponse.apiData.primaryVetId);\r\n this.customerFarmForm.controls['PICTattoo'].setValue(getResponse.apiData.picTattoo);\r\n this.customerFarmForm.controls['isActive'].setValue(getResponse.apiData.isActive);\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * this method converts all form inputs into model class\r\n *\r\n * @returns model with new form values\r\n */\r\n ConvertFormToModel() {\r\n const customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel.recordId = this.customerFarmForm.value.recordId;\r\n customerFarmModel.clientNumber = this.customerFarmForm.value.clientNumber;\r\n customerFarmModel.customerName = this.customerFarmForm.value.customerName;\r\n customerFarmModel.defaultWarehouse = this.customerFarmForm.value.defaultWarehouse;\r\n customerFarmModel.personInCharge = this.customerFarmForm.value.personInCharge;\r\n customerFarmModel.displayName = this.customerFarmForm.value.displayName;\r\n customerFarmModel.primaryVetId = this.customerFarmForm.value.primaryVetId;\r\n customerFarmModel.PICTattoo = this.customerFarmForm.value.PICTattoo;\r\n customerFarmModel.customerId = this.customerFarmConfiguration.customerId;\r\n customerFarmModel.formCode = this.customerFarmConfiguration.formCode;\r\n\r\n return customerFarmModel;\r\n }\r\n\r\n /**\r\n * @description\r\n * clear form data\r\n */\r\n ClearForm() {\r\n this.DeclareForm();\r\n }\r\n\r\n emitDataToParent() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n this.customerFarmData.emit(customerFarmModel);\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * Insert customer data into database\r\n */\r\n public async InsertData() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n const getResponse = await this.customerFarmService.InsertData(customerFarmModel);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * update customer data into database\r\n */\r\n public async UpdateData() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n const getResponse = await this.customerFarmService.UpdateData(customerFarmModel);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * Delete customer data into database\r\n */\r\n public async DeleteData(value) {\r\n const getResponse = await this.customerFarmService.DeleteData(value);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n * \r\n * Grid events calls\r\n */\r\n handleGridEvents(gridEvents: GridEventsModel) {\r\n gridEvents.editRecord.subscribe((recordId) => {\r\n this.hideButtons = false;\r\n this.isViewCall = false;\r\n this.EditData(recordId);\r\n this.customerFarmForm.enable();\r\n });\r\n gridEvents.deleteRecord.subscribe((recordId) => {\r\n this.DeleteData(recordId);\r\n });\r\n gridEvents.viewRecord.subscribe(async (recordId) => {\r\n this.EditData(recordId);\r\n this.customerFarmForm.disable();\r\n\r\n });\r\n }\r\n\r\n public async getWarehouseList() {\r\n try {\r\n const getResponse = await this.customerFarmService.GetWarehouseDropdownList();\r\n this.warehouseList = getResponse.apiData;\r\n }\r\n catch (error) {\r\n this.errorLogService.saveError(error);\r\n this.toastr.ShowAllErrors(error.error.message.userMessage);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * @description\r\n * get data for Customer grid list\r\n */\r\n public async GetListData() {\r\n const customerFarmModel = new CustomerFarmModel();\r\n try {\r\n const getResponse = await this.customerFarmService.GetListData(customerFarmModel);\r\n getResponse.apiData.forEach(record => {\r\n record.createdOnUTC = new Date(record.createdOnUTC);\r\n });\r\n this.gridData = getResponse.apiData;\r\n } catch (error) {\r\n this.errorLogService.saveError(error);\r\n this.toastr.ShowAllErrors(error.error.message.userMessage);\r\n }\r\n }\r\n}\r\n","<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <div class=\"flex-auto w-full\"></div>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CustomerFarmComponent } from './customer-farm.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatOptionModule, MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { GridModule, SharedModule, ExcelModule } from '@progress/kendo-angular-grid';\r\nimport { KendoGridViewModule } from '@qubesense/base-services';\r\n\r\n@NgModule({\r\n declarations: [\r\n CustomerFarmComponent\r\n ],\r\n imports: [\r\n MatIconModule,\r\n MatInputModule,\r\n MatToolbarModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CommonModule,\r\n GridModule,\r\n ButtonsModule,\r\n MatGridListModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n SharedModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n ExcelModule,\r\n MatStepperModule,\r\n CdkStepperModule,\r\n KendoGridViewModule\r\n ],\r\n exports: [\r\n CustomerFarmComponent\r\n ]\r\n})\r\nexport class CustomerFarmModule { }\r\n","/*\r\n * Public API Surface of customer-farm\r\n */\r\n\r\nexport * from './lib/customer-farm.service';\r\nexport * from './lib/customer-farm.component';\r\nexport * from './lib/customer-farm.module';\r\nexport * from './lib/dependencies/customer-farm-api-urls';\r\nexport * from './lib/dependencies/customer-farm-model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.CustomerFarmService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qubesense-customer-farm.mjs","sources":["../../../projects/customer-farm/src/lib/dependencies/customer-farm-api-urls.ts","../../../projects/customer-farm/src/lib/customer-farm.service.ts","../../../projects/customer-farm/src/lib/dependencies/customer-farm-model.ts","../../../projects/customer-farm/src/lib/customer-farm.component.ts","../../../projects/customer-farm/src/lib/customer-farm.component.html","../../../projects/customer-farm/src/lib/customer-farm.module.ts","../../../projects/customer-farm/src/public-api.ts","../../../projects/customer-farm/src/qubesense-customer-farm.ts"],"sourcesContent":["export class CustomerFarmApiUrls {\r\n //api Url string for get data by Id\r\n getCustomerFarmByIdUrl: string = 'api/CustomerFarm/GetById';\r\n \r\n //api Url string for insert Customer data\r\n insertCustomerFarmDataUrl: string = 'api/CustomerFarm/Create';\r\n\r\n //api Url string for update Customer record\r\n updateCustomerFarmDataUrl: string = 'api/CustomerFarm/Update';\r\n\r\n //api Url string for delete Customer record\r\n deleteCustomerFarmDataUrl: string = 'api/CustomerFarm/Delete';\r\n\r\n //api Url string for get Customer list\r\n getCustomerFarmListUrl: string = 'api/CustomerFarm/GetAll';\r\n \r\n //api Url string for get Customer dropdown list\r\n getCustomerFarmDropdownListUrl: string = 'api/CustomerFarm/GetDropdownList';\r\n\r\n //api Url string for get Warehouse dropdown list\r\n getWarehouseDropdownListUrl: string = 'api/CustomerFarm/GetWarehouseDropdownList';\r\n\r\n //api Url string for get Customer dropdown list\r\n getcustomerlistbykeyword: string = 'api/CustomerFarm/SearchCustomer';\r\n\r\n //api Url string for get Client number validation\r\n getClientNumberValidationUrl: string = 'api/CustomerFarm/ValidateClientNumber';\r\n}","import { Injectable } from '@angular/core';\r\nimport { DataAccessService, WebApiResult } from '@qubesense/base-services';\r\nimport { CustomerFarmApiUrls } from './dependencies/customer-farm-api-urls';\r\nimport { CustomerFarmModel } from './dependencies/customer-farm-model';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerFarmService {\r\n\r\n constructor(private dataAccessService: DataAccessService) { }\r\n\r\n customerFarmApiUrls = new CustomerFarmApiUrls();\r\n\r\n private customerNameSource = new BehaviorSubject<string>('');\r\n currentCustomerName = this.customerNameSource.asObservable();\r\n\r\n updateCustomerName(customerName: string) {\r\n this.customerNameSource.next(customerName);\r\n }\r\n\r\n /**\r\n * service for get customer data by Id\r\n * \r\n * @param customerGUID \r\n * \r\n * @returns Response Data from Database\r\n */\r\n public async GetDataById(customerGUID: string): Promise<WebApiResult> {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmByIdUrl + '/' + customerGUID;\r\n const resultResponse = await this.dataAccessService.GetDataById(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for inserting customer data into database\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async InsertData(customerFarmModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.insertCustomerFarmDataUrl;\r\n const resultResponse = await this.dataAccessService.InsertData(url, customerFarmModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for update customer Data\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async UpdateData(customerFarmModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.updateCustomerFarmDataUrl;\r\n const resultResponse = await this.dataAccessService.UpdateData(url, customerFarmModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for delete customer data by GUID\r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response message from Database\r\n */\r\n public async DeleteData(recordId: any) {\r\n try {\r\n const url = this.customerFarmApiUrls.deleteCustomerFarmDataUrl + '/' + recordId;\r\n const resultResponse = await this.dataAccessService.DeleteData(url);\r\n return resultResponse;\r\n }\r\n catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for get data for customer grid \r\n * \r\n * @param customerFarmModel \r\n * \r\n * @returns Response Data from Database\r\n */\r\n public async GetListData(customerDataModel: CustomerFarmModel) {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmListUrl;\r\n const resultResponse = await this.dataAccessService.GetListData(url, customerDataModel);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * service for get data for customer DropDown List\r\n * \r\n * @returns \r\n */\r\n public async GetCustomersDropdownList() {\r\n try {\r\n const url = this.customerFarmApiUrls.getCustomerFarmDropdownListUrl;\r\n const resultResponse = await this.dataAccessService.GetDropdownListData(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public async GetCustomerListByKeyword(value:string) {\r\n try {\r\n const url = this.customerFarmApiUrls.getcustomerlistbykeyword + '/' + value;\r\n const resultResponse = await this.dataAccessService.GetDataById(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public async GetWarehouseDropdownList() {\r\n try {\r\n const url = this.customerFarmApiUrls.getWarehouseDropdownListUrl;\r\n const resultResponse = await this.dataAccessService.GetDropdownListData(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n public async ValidateClientNumber(value:string) {\r\n try {\r\n const url = this.customerFarmApiUrls.getClientNumberValidationUrl + '/' + value;\r\n const resultResponse = await this.dataAccessService.GetDataById(url);\r\n return resultResponse;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n}\r\n","export class CustomerFarmModel {\r\n formCode: string = null;\r\n formId: string = '';\r\n recordId: string = null;\r\n customerId: string = null;\r\n clientNumber: string = '';\r\n standardDeliveryCost: number = 0;\r\n customerName: string = '';\r\n defaultWarehouse: string = '';\r\n personInCharge: string = '';\r\n displayName: string = '';\r\n primaryVetId: string = '';\r\n PICTattoo: string = '';\r\n isActive: boolean = true;\r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class CustomerFarmConfigrationModel {\r\n formCode: string = null;\r\n customerId: string = null;\r\n defaultView: boolean = false;\r\n showModal: boolean = false;\r\n showGrid: boolean = false;\r\n isSearchable: boolean = false;\r\n showClientData: boolean = false;\r\n customerData: CustomerFarmModel = null;\r\n userMessages: boolean = false;\r\n requiredCustomerFarmSection: boolean = false;\r\n allowedCustomerFarmSection: boolean = false;\r\n requiredCustomerFarmFields: RequiredCustomerFarmFields = new RequiredCustomerFarmFields();\r\n allowedCustomerFarmFields: AllowedCustomerFarmFields = new AllowedCustomerFarmFields();\r\n customerFarmGridConfigration: CustomerFarmGridConfigration = new CustomerFarmGridConfigration();\r\n}\r\n\r\nexport class RequiredCustomerFarmFields {\r\n clientNumber: boolean = true;\r\n standardDeliveryCost: boolean = true;\r\n customerName: boolean = true;\r\n customerId: boolean = true;\r\n defaultWarehouse: boolean = true;\r\n personInCharge: boolean = true;\r\n primaryVetId: boolean = true;\r\n displayName: boolean = true;\r\n PICTattoo: boolean = false;\r\n profileImageURL: boolean = false;\r\n}\r\n\r\nexport class AllowedCustomerFarmFields {\r\n clientNumber: boolean = true;\r\n standardDeliveryCost: boolean = true;\r\n customerName: boolean = true;\r\n defaultWarehouse: boolean = true;\r\n personInCharge: boolean = true;\r\n primaryVetId: boolean = true;\r\n PICTattoo: boolean = true;\r\n displayName: boolean = true;\r\n profileImageURL: boolean = false;\r\n}\r\n\r\nexport class CustomerFarmGridConfigration {\r\n formCodeForJsonHeader: string = null;\r\n formCodeForGridPermission: string = null;\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CustomerFarmConfigrationModel, CustomerFarmModel } from './dependencies/customer-farm-model';\r\nimport { ApplicationRoleMenusService, ErrorLogService, GridEventsModel, JsonFormsService, KendoGridviewConfigurationModel, ToastrNotificationService } from '@qubesense/base-services';\r\nimport { CustomerFarmService } from './customer-farm.service';\r\n\r\n@Component({\r\n selector: 'lib-customer-farm',\r\n templateUrl: './customer-farm.component.html',\r\n styleUrls: ['./customer-farm.component.scss']\r\n})\r\nexport class CustomerFarmComponent implements OnInit {\r\n @Output() customerFarmData = new EventEmitter<any>();\r\n @Input() public customerFarmConfiguration: CustomerFarmConfigrationModel = new CustomerFarmConfigrationModel();\r\n customerFarmForm: FormGroup;\r\n userMessages: string[] = [];\r\n public gridData: any[] = [];\r\n gridConfiguration: KendoGridviewConfigurationModel = new KendoGridviewConfigurationModel();\r\n hideButtons = false;\r\n isViewCall = false;\r\n speciesList: any[] = [];\r\n warehouseList: any[] = [];\r\n filteredCustomers: [];\r\n\r\n permission: any = [];\r\n userData: any = [];\r\n HideAddButton: boolean;\r\n\r\n\r\n constructor(private customerFarmService: CustomerFarmService,\r\n private jsonForms: JsonFormsService,\r\n private applicationRoleMenusService: ApplicationRoleMenusService,\r\n private formBuilder: FormBuilder,\r\n private errorLogService: ErrorLogService,\r\n private toastr: ToastrNotificationService\r\n ) {\r\n this.gridConfiguration.formCodeForJsonHeader = 'CUFA';\r\n this.gridConfiguration.formCodeForGridPermissions = this.customerFarmConfiguration.customerFarmGridConfigration.formCodeForGridPermission;\r\n }\r\n\r\n async ngOnInit() {\r\n this.DeclareForm();\r\n if (this.customerFarmConfiguration.showGrid) {\r\n this.gridConfiguration.formCodeForJsonHeader = 'CUFA';\r\n this.gridConfiguration.formCodeForGridPermissions = this.customerFarmConfiguration.customerFarmGridConfigration.formCodeForGridPermission;\r\n this.gridConfiguration.showModal = true;\r\n await this.permissionMethod();\r\n //this.gridConfiguration.actions = { 'View': false, 'Edit': true, 'Delete': true, 'Generate PDF': false }; \r\n this.GetListData();\r\n //this.getWarehouseList();\r\n }\r\n this.getWarehouseList();\r\n\r\n this.customerFarmForm.get('customerName').valueChanges.subscribe((value) => {\r\n this.customerFarmService.updateCustomerName(value);\r\n });\r\n }\r\n\r\n public async permissionMethod() {\r\n this.userData = JSON.parse(localStorage.getItem(\"sessionUser\"));\r\n const getResponse = await this.applicationRoleMenusService.GetAssignedRoleAuth(this.userData.sessionUser.userEmail, this.gridConfiguration.formCodeForGridPermissions);\r\n this.permission = getResponse.apiData[0];\r\n this.HideAddButton = this.permission.canAdd == false ? true : false;\r\n }\r\n\r\n DeclareForm() {\r\n this.customerFarmForm = this.formBuilder.group({\r\n recordId: [null],\r\n customerId: [null],\r\n clientNumber: [null],\r\n standardDeliveryCost: [0],\r\n customerName: [null],\r\n defaultWarehouse: [null],\r\n personInCharge: [null],\r\n displayName: [null],\r\n primaryVetId: [null],\r\n PICTattoo: [null],\r\n isActive: [true]\r\n });\r\n this.onChanges();\r\n\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.customerName) {\r\n this.customerFarmForm.get('customerName').addValidators(Validators.required);\r\n this.customerFarmForm.get('customerName').addValidators(Validators.pattern('^[a-zA-Z ]*$'));\r\n this.customerFarmForm.get('customerName').addValidators(Validators.minLength(3));\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.clientNumber) {\r\n this.customerFarmForm.get('clientNumber').addValidators(Validators.required);\r\n this.customerFarmForm.get('clientNumber').addValidators(Validators.minLength(3));\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost) {\r\n this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.required);\r\n this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.pattern('^[0-9]+(\\\\.[0-9]{1,2})?$'));\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse) {\r\n this.customerFarmForm.get('defaultWarehouse').addValidators(Validators.required);\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.personInCharge) {\r\n this.customerFarmForm.get('personInCharge').addValidators(Validators.required);\r\n }\r\n if (this.customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId) {\r\n this.customerFarmForm.get('primaryVetId').addValidators(Validators.required);\r\n }\r\n }\r\n\r\n ///////////////////////////////////standard methods/////////////////////////////////////////////////////\r\n\r\n onChanges(): void {\r\n this.customerFarmForm.get('customerName').valueChanges.subscribe(val => {\r\n this.customerFarmForm.patchValue({\r\n displayName: val\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * edit data list item using data item GUID\r\n *\r\n * @param customerId\r\n *\r\n * gets customer GUID from gridData and passes it to this function\r\n */\r\n async EditData(customerId: string) {\r\n const getResponse = await this.customerFarmService.GetDataById(customerId);\r\n this.customerFarmForm.controls['recordId'].setValue(getResponse.apiData.recordId);\r\n this.customerFarmForm.controls['customerId'].setValue(getResponse.apiData.customerId);\r\n this.customerFarmForm.controls['clientNumber'].setValue(getResponse.apiData.clientNumber);\r\n this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);\r\n this.customerFarmForm.controls['customerName'].setValue(getResponse.apiData.customerName);\r\n this.customerFarmForm.controls['defaultWarehouse'].setValue(getResponse.apiData.defaultWarehouse);\r\n this.customerFarmForm.controls['personInCharge'].setValue(getResponse.apiData.personInCharge);\r\n this.customerFarmForm.controls['displayName'].setValue(getResponse.apiData.displayName);\r\n this.customerFarmForm.controls['primaryVetId'].setValue(getResponse.apiData.primaryVetId);\r\n this.customerFarmForm.controls['PICTattoo'].setValue(getResponse.apiData.picTattoo);\r\n this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);\r\n this.customerFarmForm.controls['isActive'].setValue(getResponse.apiData.isActive);\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * this method converts all form inputs into model class\r\n *\r\n * @returns model with new form values\r\n */\r\n ConvertFormToModel() {\r\n const customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel.recordId = this.customerFarmForm.value.recordId;\r\n customerFarmModel.clientNumber = this.customerFarmForm.value.clientNumber;\r\n customerFarmModel.standardDeliveryCost = this.customerFarmForm.value.standardDeliveryCost;\r\n customerFarmModel.customerName = this.customerFarmForm.value.customerName;\r\n customerFarmModel.defaultWarehouse = this.customerFarmForm.value.defaultWarehouse;\r\n customerFarmModel.personInCharge = this.customerFarmForm.value.personInCharge;\r\n customerFarmModel.displayName = this.customerFarmForm.value.displayName;\r\n customerFarmModel.primaryVetId = this.customerFarmForm.value.primaryVetId;\r\n customerFarmModel.PICTattoo = this.customerFarmForm.value.PICTattoo;\r\n customerFarmModel.customerId = this.customerFarmConfiguration.customerId;\r\n customerFarmModel.formCode = this.customerFarmConfiguration.formCode;\r\n\r\n return customerFarmModel;\r\n }\r\n\r\n /**\r\n * @description\r\n * clear form data\r\n */\r\n ClearForm() {\r\n this.DeclareForm();\r\n }\r\n\r\n emitDataToParent() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n this.customerFarmData.emit(customerFarmModel);\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * Insert customer data into database\r\n */\r\n public async InsertData() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n const getResponse = await this.customerFarmService.InsertData(customerFarmModel);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * update customer data into database\r\n */\r\n public async UpdateData() {\r\n let customerFarmModel = new CustomerFarmModel();\r\n customerFarmModel = this.ConvertFormToModel();\r\n const getResponse = await this.customerFarmService.UpdateData(customerFarmModel);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n *\r\n * Delete customer data into database\r\n */\r\n public async DeleteData(value) {\r\n const getResponse = await this.customerFarmService.DeleteData(value);\r\n this.userMessages = getResponse.message.userMessage;\r\n if (this.customerFarmConfiguration.userMessages) {\r\n this.toastr.ShowSuccess(this.userMessages.toString());\r\n }\r\n }\r\n\r\n /**\r\n * @description\r\n * \r\n * Grid events calls\r\n */\r\n handleGridEvents(gridEvents: GridEventsModel) {\r\n gridEvents.editRecord.subscribe((recordId) => {\r\n this.hideButtons = false;\r\n this.isViewCall = false;\r\n this.EditData(recordId);\r\n this.customerFarmForm.enable();\r\n });\r\n gridEvents.deleteRecord.subscribe((recordId) => {\r\n this.DeleteData(recordId);\r\n });\r\n gridEvents.viewRecord.subscribe(async (recordId) => {\r\n this.EditData(recordId);\r\n this.customerFarmForm.disable();\r\n\r\n });\r\n }\r\n\r\n public async getWarehouseList() {\r\n try {\r\n const getResponse = await this.customerFarmService.GetWarehouseDropdownList();\r\n this.warehouseList = getResponse.apiData;\r\n }\r\n catch (error) {\r\n this.errorLogService.saveError(error);\r\n this.toastr.ShowAllErrors(error.error.message.userMessage);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * @description\r\n * get data for Customer grid list\r\n */\r\n public async GetListData() {\r\n const customerFarmModel = new CustomerFarmModel();\r\n try {\r\n const getResponse = await this.customerFarmService.GetListData(customerFarmModel);\r\n getResponse.apiData.forEach(record => {\r\n record.createdOnUTC = new Date(record.createdOnUTC);\r\n });\r\n this.gridData = getResponse.apiData;\r\n } catch (error) {\r\n this.errorLogService.saveError(error);\r\n this.toastr.ShowAllErrors(error.error.message.userMessage);\r\n }\r\n }\r\n}\r\n","<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.standardDeliveryCost\">\r\n <mat-label>Standard Delivery Cost</mat-label>\r\n <input matInput type=\"number\" min=\"0\" step=\"0.01\" id=\"standardDeliveryCost\" placeholder=\"Standard Delivery Cost\" [formControlName]=\"'standardDeliveryCost'\"\r\n (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost\">\r\n Standard Delivery Cost is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('min')\">\r\n Standard Delivery Cost must be a positive number\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CustomerFarmComponent } from './customer-farm.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatOptionModule, MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { GridModule, SharedModule, ExcelModule } from '@progress/kendo-angular-grid';\r\nimport { KendoGridViewModule } from '@qubesense/base-services';\r\n\r\n@NgModule({\r\n declarations: [\r\n CustomerFarmComponent\r\n ],\r\n imports: [\r\n MatIconModule,\r\n MatInputModule,\r\n MatToolbarModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CommonModule,\r\n GridModule,\r\n ButtonsModule,\r\n MatGridListModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n SharedModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n ExcelModule,\r\n MatStepperModule,\r\n CdkStepperModule,\r\n KendoGridViewModule\r\n ],\r\n exports: [\r\n CustomerFarmComponent\r\n ]\r\n})\r\nexport class CustomerFarmModule { }\r\n","/*\r\n * Public API Surface of customer-farm\r\n */\r\n\r\nexport * from './lib/customer-farm.service';\r\nexport * from './lib/customer-farm.component';\r\nexport * from './lib/customer-farm.module';\r\nexport * from './lib/dependencies/customer-farm-api-urls';\r\nexport * from './lib/dependencies/customer-farm-model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.CustomerFarmService"],"mappings":"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"}
|