Skip to content

Commit

Permalink
Imng add edit form fix (#549)
Browse files Browse the repository at this point in the history
* Fixing issues with add/edit form

* npm updates

* npm update on schematics

* Fixing linting errors

* Cleaning up adventure works

* Cleaning lint issues up nurse-cron

* Cleaning linting issues on adventure-works

* Fixing data entry unit test
  • Loading branch information
ikemtz committed Oct 19, 2023
1 parent 1f990b1 commit e58f3f3
Show file tree
Hide file tree
Showing 50 changed files with 6,162 additions and 5,203 deletions.
998 changes: 478 additions & 520 deletions schematics/package-lock.json

Large diffs are not rendered by default.

38 changes: 17 additions & 21 deletions schematics/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,34 +27,30 @@
"license": "MIT",
"schematics": "./src/collection.json",
"dependencies": {
"@angular-devkit/core": "16.1",
"@angular-devkit/schematics": "16.1",
"axios": "^1.4.0",
"@angular-devkit/core": "16.2",
"@angular-devkit/schematics": "16.2",
"axios": "^1.5.1",
"lodash": "^4.17.21",
"pluralize": "^8.0.0",
"rxjs": "^7.8.1"
},
"peerDependencies": {
"@angular-devkit/core": ">= 16",
"@angular-devkit/schematics": ">= 16"
},
"devDependencies": {
"@angular-devkit/schematics-cli": "16.1",
"@angular/compiler": "16.1",
"@angular/core": "16.1",
"@types/jest": "^29.5.2",
"@types/lodash": "^4.14.195",
"@types/node": "^18.16.18",
"@types/pluralize": "0.0.29",
"@typescript-eslint/eslint-plugin": "^5.61.0",
"@typescript-eslint/parser": "^5.61.0",
"eslint": "^8.44.0",
"eslint-config-prettier": "8.8",
"jest": "^29.6.3",
"@angular-devkit/schematics-cli": "16.2",
"@angular/compiler": "16.2",
"@angular/core": "16.2",
"@types/jest": "^29.5.6",
"@types/lodash": "^4.14.200",
"@types/node": "^18.18.6",
"@types/pluralize": "^0.0.32",
"@typescript-eslint/eslint-plugin": "^6.8.0",
"@typescript-eslint/parser": "^6.8.0",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"jest": "^29.7.0",
"jest-junit": "^16.0.0",
"schematics": "^0.2.0",
"snyk": "^1.1187.0",
"snyk": "^1.1236.0",
"ts-jest": "^29.1.1",
"typescript": "^5.0.4"
"typescript": "^5.2.2"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
OnDestroy,
} from '@angular/core';

import { CustomerCrudFacade } from './crud.facade';
import { CustomerBaseEntryComponent } from './base-entry.component';

@Component({
Expand All @@ -21,9 +20,6 @@ export class CustomerAddComponent
public dialogTitle = 'Add Customer';
public active$ = this.facade.isNewActive$;

constructor(facade: CustomerCrudFacade) {
super(facade);
}
public override initForm(): void {
super.initForm();
this.addEditForm.patchValue({});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@ import { OnInit, Component } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { BaseDataEntryComponent } from 'imng-kendo-data-entry';
import { BehaviorSubject, map, Observable, switchMap } from 'rxjs';
import { CustomerFormGroupFac, CustomerProperties, ICustomerForm, ISalesAgent, SalesAgentProperties } from '../../../models/webapi';
import {
CustomerFormGroupFac,
CustomerProperties,
ICustomerForm,
ISalesAgent,
SalesAgentProperties,
} from '../../../models/webapi';

import { CustomerCrudFacade } from './crud.facade';

@Component({ template: '' })
export abstract class CustomerBaseEntryComponent extends BaseDataEntryComponent<CustomerCrudFacade>
implements OnInit {
export abstract class CustomerBaseEntryComponent
extends BaseDataEntryComponent<CustomerCrudFacade>
implements OnInit
{
public readonly props = CustomerProperties;
public readonly salesAgentProps = SalesAgentProperties;
public readonly salesAgents$: Observable<ISalesAgent[]>;
Expand All @@ -18,22 +26,35 @@ export abstract class CustomerBaseEntryComponent extends BaseDataEntryComponent<
constructor(facade: CustomerCrudFacade) {
super(facade);
this.salesAgents$ = facade.salesAgents$.pipe(
switchMap(salesAgents => this.salesAgentFilter$.pipe(
map(salesAgentFilter => salesAgentFilter ? salesAgents
.filter(salesAgent => (
(salesAgent.name && salesAgent.name.toLowerCase().indexOf(salesAgentFilter) >= 0) ||
(salesAgent.loginId && salesAgent.loginId.toLowerCase().indexOf(salesAgentFilter) >= 0)
)) : salesAgents
))));
switchMap((salesAgents) =>
this.salesAgentFilter$.pipe(
map((salesAgentFilter) =>
salesAgentFilter
? salesAgents.filter(
(salesAgent) =>
(salesAgent.name &&
salesAgent.name.toLowerCase().indexOf(salesAgentFilter) >=
0) ||
(salesAgent.loginId &&
salesAgent.loginId
.toLowerCase()
.indexOf(salesAgentFilter) >= 0),
)
: salesAgents,
),
),
),
);
}

public ngOnInit(): void {
this.initForm();
public override ngOnInit(): void {
super.ngOnInit();
this.facade.loadSalesAgents({
selectors: [
SalesAgentProperties.ID,
SalesAgentProperties.NAME,
SalesAgentProperties.LOGIN_ID,]
SalesAgentProperties.LOGIN_ID,
],
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
import { TestBed } from '@angular/core/testing';
import { HttpClient } from '@angular/common/http';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule, Store } from '@ngrx/store';
import { StoreModule } from '@ngrx/store';
import { readFirst } from 'imng-ngrx-utils/testing';
import {
testAddSetAndClearCurrentEntity,
Expand Down Expand Up @@ -34,11 +34,10 @@ export const createCustomer = () =>

describe('CustomerCrudFacade', () => {
let facade: CustomerCrudFacade;
let store: Store;
let httpClient: HttpClient;

// eslint-disable-next-line @typescript-eslint/no-empty-function
beforeEach(() => { }); //NOSONAR
beforeEach(() => {}); //NOSONAR

describe('used in NgModule', () => {
beforeEach(() => {
Expand All @@ -50,10 +49,15 @@ describe('CustomerCrudFacade', () => {
providers: [
CustomerCrudFacade,
CustomerApiService,
{ provide: HttpClient, useValue: { get: jest.fn(() => of(createODataPayload([createCustomer()]))) } },
{
provide: HttpClient,
useValue: {
get: jest.fn(() => of(createODataPayload([createCustomer()]))),
},
},
],
})
class CustomFeatureModule { }
class CustomFeatureModule {}

@NgModule({
imports: [
Expand All @@ -62,11 +66,9 @@ describe('CustomerCrudFacade', () => {
CustomFeatureModule,
],
})
class RootModule { }
class RootModule {}
TestBed.configureTestingModule({ imports: [RootModule] });

// eslint-disable-next-line @typescript-eslint/no-unused-vars
store = TestBed.inject(Store);
facade = TestBed.inject(CustomerCrudFacade);
httpClient = TestBed.inject(HttpClient);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
import { formGroupPatcher } from 'imng-kendo-data-entry';

import { CustomerBaseEntryComponent } from './base-entry.component';
import { CustomerCrudFacade } from './crud.facade';

@Component({
selector: 'aw-customer-edit',
Expand All @@ -22,9 +21,6 @@ export class CustomerEditComponent
public dialogTitle = 'Edit Customer';
public active$ = this.facade.isEditActive$;

constructor(facade: CustomerCrudFacade) {
super(facade);
}
public override initForm(): void {
super.initForm();
if (this.addEditForm) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
OnDestroy,
} from '@angular/core';

import { OrderCrudFacade } from './crud.facade';
import { OrderBaseEntryComponent } from './base-entry.component';

@Component({
Expand All @@ -21,9 +20,6 @@ export class OrderAddComponent
public dialogTitle = 'Add Order';
public active$ = this.facade.isNewActive$;

constructor(facade: OrderCrudFacade) {
super(facade);
}
public override initForm(): void {
super.initForm();
this.addEditForm.patchValue({});
Expand Down

0 comments on commit e58f3f3

Please sign in to comment.