Merge branch 'DEVELOP' of ssh://git.eclipse.org:29418/openk-coremodules/org.eclipse.openk-coremodules.contactBaseData.frontend into DEVELOP
diff --git a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html deleted file mode 100644 index f04ce79..0000000 --- a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!-- /******************************************************************************** -* Copyright (c) 2020 Contributors to the Eclipse Foundation -* -* See the NOTICE file(s) distributed with this work for additional -* information regarding copyright ownership. -* -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v. 2.0 which is available at -* http://www.eclipse.org/legal/epl-2.0. -* -* SPDX-License-Identifier: EPL-2.0 -********************************************************************************/ --> -<app-card-layout> - <div header> - <span>{{ 'AddressTypes.Title' | translate }}</span> - <div class="pull-right" *visibleByRight> - <button class="btn btn-primary new-button" (click)="sandbox.setDisplayForm()"> - {{ 'AddressTypes.New' | translate }} - </button> - </div> - </div> - <div class="address-types-grid-wrapper" body> - <ag-grid-angular - autoResizeColumns - class="ag-theme-balham" - [ngClass]="sandbox.displayForm ? 'ag-grid-height-edit' : 'ag-grid-height-list'" - [class.ag-grid-height-list]="!sandbox.displayForm" - [gridOptions]="gridOptions" - [columnDefs]="columnDefinition" - [rowSelection]="'single'" - [frameworkComponents]="frameworkComponents" - [rowData]="sandbox.addressTypes$ | async" - [overlayNoRowsTemplate]="noRowsTemplate" - > - </ag-grid-angular> - - <app-spinner [isRunning]="sandbox.addressTypesloading$ | async"></app-spinner> - - <div *ngIf="sandbox.displayForm" class="address-types-details"> - <app-address-types-details></app-address-types-details> - </div> - </div> -</app-card-layout>
diff --git a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.scss b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.scss deleted file mode 100644 index 57d69f3..0000000 --- a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.scss +++ /dev/null
@@ -1,31 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -.address-types-grid-wrapper { - position: relative; -} - -.address-types-details { - margin-top: 20px; -} - -.ag-grid-height-edit { - height: calc(100vh - 450px); -} - -.ag-grid-height-list { - height: calc(100vh - 200px); -} - -.new-button { - margin-right: 20px; -}
diff --git a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.spec.ts b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.spec.ts deleted file mode 100644 index d11af58..0000000 --- a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.spec.ts +++ /dev/null
@@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { AddressTypesListComponent } from '@pages/admin/address-types/address-types-list/address-types-list.component'; -import { AddressType } from '@shared/models'; - -describe('AddressTypesListComponent', () => { - let component: AddressTypesListComponent; - const sandbox: any = { - setDisplayForm: () => {}, - loadAddressType: () => {}, - deleteAddressType: () => {}, - }; - - beforeEach(() => { - component = new AddressTypesListComponent(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should initialize gridOptions context', () => { - component.ngOnInit(); - expect(component.gridOptions.context.icons.edit).toBeTruthy(); - expect(component.gridOptions.context.icons.delete).toBeTruthy(); - }); - - it('should call appropriate functions for edit event', () => { - const spy1: any = spyOn(sandbox, 'setDisplayForm'); - const spy2: any = spyOn(sandbox, 'loadAddressType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "edit", data: new AddressType()}); - expect(spy1).toHaveBeenCalled(); - expect(spy2).toHaveBeenCalled(); - }); - - it('should call appropriate functions for delete event', () => { - const spy3: any = spyOn(sandbox, 'deleteAddressType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "delete", data: new AddressType()}); - expect(spy3).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.ts b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.ts deleted file mode 100644 index 0afe895..0000000 --- a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.ts +++ /dev/null
@@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { BaseList } from '@shared/components/base-components/base.list'; -import { ADDRESS_TYPES_COLDEF } from '@pages/admin/address-types/address-types-list/address-types-list-column-definition'; -import { SetFilterComponent } from '@shared/filters/ag-grid/set-filter/set-filter.component'; -import { AddressTypesSandbox } from '@pages/admin/address-types//address-types.sandbox'; -import { Subscription } from 'rxjs'; - -@Component({ - selector: 'app-address-types-list', - templateUrl: './address-types-list.component.html', - styleUrls: ['./address-types-list.component.scss'], -}) -export class AddressTypesListComponent extends BaseList implements OnInit, OnDestroy { - public columnDefinition: any = ADDRESS_TYPES_COLDEF; - public frameworkComponents: { setFilterComponent: any }; - private _subscription: Subscription; - - constructor(public sandbox: AddressTypesSandbox) { - super(); - this.frameworkComponents = { setFilterComponent: SetFilterComponent }; - } - - ngOnInit() { - this.gridOptions.context = { - ...this.gridOptions.context, - icons: { edit: true, delete: true }, - }; - this._subscription = this.gridOptions.context.eventSubject.subscribe(event => { - if (event.type === 'edit' || event.type === 'readonly') { - this.sandbox.setDisplayForm(); - this.sandbox.loadAddressType(event.data.id); - } - if (event.type === 'delete') { - this.sandbox.deleteAddressType(event.data.id); - } - }); - } - - ngOnDestroy() { - this._subscription.unsubscribe(); - } -}
diff --git a/src/app/pages/admin/address-types/address-types.resolver.spec.ts b/src/app/pages/admin/address-types/address-types.resolver.spec.ts deleted file mode 100644 index 59a4545..0000000 --- a/src/app/pages/admin/address-types/address-types.resolver.spec.ts +++ /dev/null
@@ -1,41 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { async } from '@angular/core/testing'; -import { AddressTypesResolver } from '@pages/admin/address-types/address-types.resolver'; - -describe('AddressTypesResolver', () => { - let component: AddressTypesResolver; - let sandbox: any; - - beforeEach(async(() => { - sandbox = { - clear() {}, - loadAddressTypes() {}, - } as any; - })); - - beforeEach(() => { - component = new AddressTypesResolver(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should call loadAddressTypes', () => { - const spy = spyOn(sandbox, 'loadAddressTypes'); - component.resolve(); - expect(spy).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/address-types/address-types.resolver.ts b/src/app/pages/admin/address-types/address-types.resolver.ts deleted file mode 100644 index 6d2fcfb..0000000 --- a/src/app/pages/admin/address-types/address-types.resolver.ts +++ /dev/null
@@ -1,27 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { AddressTypesSandbox } from '@pages/admin/address-types/address-types.sandbox'; -import { Observable } from 'rxjs'; -import { Injectable } from '@angular/core'; -import { Resolve } from '@angular/router'; -import { ILoadAddressTypesSuccess } from '@shared/store/actions/admin/address-types.action'; - -@Injectable() -export class AddressTypesResolver implements Resolve<any> { - - constructor(private sandbox: AddressTypesSandbox) {} - - public resolve(): Observable<ILoadAddressTypesSuccess> { - return this.sandbox.loadAddressTypes(); - } -}
diff --git a/src/app/pages/admin/address-types/address-types.sandbox.ts b/src/app/pages/admin/address-types/address-types.sandbox.ts index 076820c..0cbd766 100644 --- a/src/app/pages/admin/address-types/address-types.sandbox.ts +++ b/src/app/pages/admin/address-types/address-types.sandbox.ts
@@ -30,7 +30,7 @@ @Injectable() export class AddressTypesSandbox extends BaseSandbox { public addressTypes$ = this.appState$.select(store.getAddressTypesData); - public addressTypesloading$ = this.appState$.select(store.getAddressTypesLoading); + public addressTypesLoading$ = this.appState$.select(store.getAddressTypesLoading); public formState$ = this.appState$.select(store.getAddressTypesDetails); public currentFormState: FormGroupState<AddressType>; public displayForm: boolean = false;
diff --git a/src/app/pages/admin/admin-routing.module.ts b/src/app/pages/admin/admin-routing.module.ts index 7e4255b..dbbcef9 100644 --- a/src/app/pages/admin/admin-routing.module.ts +++ b/src/app/pages/admin/admin-routing.module.ts
@@ -10,49 +10,19 @@ * * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/ -import { PersonTypesResolver } from '@pages/admin/person-types/person-types.resolver'; -import { PersonTypesListComponent } from '@pages/admin/person-types/person-types-list/person-types-list.component'; -import { SalutationsResolver } from '@pages/admin/salutations/salutations.resolver'; -import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list/salutations-list.component'; -import { CommunicationTypesListComponent } from '@pages/admin/communication-types/communication-types-list/communication-types-list.component'; -import { CommunicationTypesResolver } from '@pages/admin/communication-types/communication-types.resolver'; -import { AddressTypesListComponent } from '@pages/admin/address-types/address-types-list/address-types-list.component'; -import { AddressTypesResolver } from '@pages/admin/address-types/address-types.resolver'; +import { AdminResolver } from '@pages/admin/admin.resolver'; import { Routes, RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; import { AdminGuard } from '@app/shared/guards/admin.guard'; +import { AdminComponent } from './admin.component'; const adminRoutes: Routes = [ { - path: 'salutations', - component: SalutationsListComponent, + path: '', + component: AdminComponent, canActivate: [AdminGuard], resolve: { - salutationsTable: SalutationsResolver, - }, - }, - { - path: 'communication-types', - component: CommunicationTypesListComponent, - canActivate: [AdminGuard], - resolve: { - communicationTypesTable: CommunicationTypesResolver, - }, - }, - { - path: 'person-types', - component: PersonTypesListComponent, - canActivate: [AdminGuard], - resolve: { - personTypesTable: PersonTypesResolver, - }, - }, - { - path: 'address-types', - component: AddressTypesListComponent, - canActivate: [AdminGuard], - resolve: { - personTypesTable: AddressTypesResolver, + admin: AdminResolver, }, }, ];
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html b/src/app/pages/admin/admin.component.html similarity index 75% rename from src/app/pages/admin/salutations/salutations-list/salutations-list.component.html rename to src/app/pages/admin/admin.component.html index d2678c8..a8a9bd1 100644 --- a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html +++ b/src/app/pages/admin/admin.component.html
@@ -16,13 +16,11 @@ </div> <div body> - <!-- ******************************** Salutations ******************************** --> <app-expandable class="expandable-salutations"> <span header>{{ 'Salutations.Title' | translate }}</span> <div class="salutations-grid-wrapper" body> - - <div class="details-wrapper" *ngIf="salutationsSandbox.displayForm" > + <div class="details-wrapper" *ngIf="salutationsSandbox.displayForm"> <app-salutations-details></app-salutations-details> </div> @@ -49,53 +47,48 @@ <app-spinner [isRunning]="salutationsSandbox.salutationsLoading$ | async"></app-spinner> </div> - </div> </app-expandable> <!-- ******************************** Communications-Types ******************************** --> - <app-expandable class="expandable-salutations"> - <span header>{{ 'CommunicationTypes.Title' | translate }}</span> - <div class="salutations-grid-wrapper" body> - - <div *ngIf="communicationTypesSandbox.displayForm" class="details-wrapper"> - <app-communication-types-details></app-communication-types-details> - </div> - - <div class="table-view"> - <div class="diverse-options"> - <div class="pull-right" *visibleByRight> - <button class="btn btn-sm btn-primary" (click)="communicationTypesSandbox.setDisplayForm()"> - {{ 'Salutations.New' | translate }} - </button> - </div> - </div> - - <ag-grid-angular - class="ag-theme-balham" - [domLayout]="'autoHeight'" - [gridOptions]="communicationTypesGridOptions" - [columnDefs]="communicationsTypeColDef" - [rowSelection]="'single'" - [frameworkComponents]="frameworkComponents" - [rowData]="communicationTypesSandbox.communicationTypes$ | async" - [overlayNoRowsTemplate]="noRowsTemplate" - > - </ag-grid-angular> - - <app-spinner [isRunning]="communicationTypesSandbox.communicationTypesLoading$ | async"></app-spinner> - </div> - + <app-expandable class="expandable-salutations"> + <span header>{{ 'CommunicationTypes.Title' | translate }}</span> + <div class="salutations-grid-wrapper" body> + <div *ngIf="communicationTypesSandbox.displayForm" class="details-wrapper"> + <app-communication-types-details></app-communication-types-details> </div> - </app-expandable> + <div class="table-view"> + <div class="diverse-options"> + <div class="pull-right" *visibleByRight> + <button class="btn btn-sm btn-primary" (click)="communicationTypesSandbox.setDisplayForm()"> + {{ 'Salutations.New' | translate }} + </button> + </div> + </div> + + <ag-grid-angular + class="ag-theme-balham" + [domLayout]="'autoHeight'" + [gridOptions]="communicationTypesGridOptions" + [columnDefs]="communicationsTypeColDef" + [rowSelection]="'single'" + [frameworkComponents]="frameworkComponents" + [rowData]="communicationTypesSandbox.communicationTypes$ | async" + [overlayNoRowsTemplate]="noRowsTemplate" + > + </ag-grid-angular> + + <app-spinner [isRunning]="communicationTypesSandbox.communicationTypesLoading$ | async"></app-spinner> + </div> + </div> + </app-expandable> <!-- ******************************** Person-Types ******************************** --> <app-expandable class="expandable-salutations"> <span header>{{ 'PersonTypes.Title' | translate }}</span> <div class="salutations-grid-wrapper" body> - - <div class="details-wrapper" *ngIf="personTypesSandbox.displayForm" > + <div class="details-wrapper" *ngIf="personTypesSandbox.displayForm"> <app-person-types-details></app-person-types-details> </div> @@ -122,7 +115,6 @@ <app-spinner [isRunning]="personTypesSandbox.personTypesLoading$ | async"></app-spinner> </div> - </div> </app-expandable> @@ -130,8 +122,7 @@ <app-expandable class="expandable-salutations"> <span header>{{ 'AddressTypes.Title' | translate }}</span> <div class="salutations-grid-wrapper" body> - - <div class="details-wrapper" *ngIf="addressTypesSandbox.displayForm" > + <div class="details-wrapper" *ngIf="addressTypesSandbox.displayForm"> <app-address-types-details></app-address-types-details> </div> @@ -156,19 +147,9 @@ > </ag-grid-angular> - <!-- <app-spinner [isRunning]="addressTypesSandbox.addressTypesLoading$ | async"></app-spinner> --> + <app-spinner [isRunning]="addressTypesSandbox.addressTypesLoading$ | async"></app-spinner> </div> - </div> </app-expandable> - - - - - - - </div> - - </app-card-layout>
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.scss b/src/app/pages/admin/admin.component.scss similarity index 100% rename from src/app/pages/admin/salutations/salutations-list/salutations-list.component.scss rename to src/app/pages/admin/admin.component.scss
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts b/src/app/pages/admin/admin.component.spec.ts similarity index 78% rename from src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts rename to src/app/pages/admin/admin.component.spec.ts index 387ee6a..3af5162 100644 --- a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts +++ b/src/app/pages/admin/admin.component.spec.ts
@@ -1,4 +1,4 @@ - /******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional @@ -11,22 +11,25 @@ * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/ import { Salutation } from '@shared/models'; -import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list//salutations-list.component'; +import { AdminComponent } from '@pages/admin/admin.component'; -describe('SalutationsListComponent', () => { - let component: SalutationsListComponent; +describe('AdminComponent', () => { + let component: AdminComponent; let communicationTypesSandbox: any = { setDisplayForm: () => {}, loadCommunicationType: () => {}, - deleteCommunicationType: () => {},}; + deleteCommunicationType: () => {}, + }; let personTypesSandbox: any = { setDisplayForm: () => {}, loadPersonType: () => {}, - deletePersonType: () => {},}; + deletePersonType: () => {}, + }; let addressTypesSandbox: any = { setDisplayForm: () => {}, loadAddressType: () => {}, - deleteAddressType: () => {},}; + deleteAddressType: () => {}, + }; const salutationsSandbox: any = { setDisplayForm: () => {}, loadSalutation: () => {}, @@ -34,7 +37,7 @@ }; beforeEach(() => { - component = new SalutationsListComponent(salutationsSandbox, communicationTypesSandbox, personTypesSandbox, addressTypesSandbox); + component = new AdminComponent(salutationsSandbox, communicationTypesSandbox, personTypesSandbox, addressTypesSandbox); }); it('should create', () => { @@ -51,7 +54,7 @@ const spy1: any = spyOn(salutationsSandbox, 'setDisplayForm'); const spy2: any = spyOn(salutationsSandbox, 'loadSalutation'); component.ngOnInit(); - component.salutationGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); + component.salutationGridOptions.context.eventSubject.next({ type: 'edit', data: new Salutation() }); expect(spy1).toHaveBeenCalled(); expect(spy2).toHaveBeenCalled(); }); @@ -59,7 +62,7 @@ it('should call appropriate functions for delete event', () => { const spy3: any = spyOn(salutationsSandbox, 'deleteSalutation'); component.ngOnInit(); - component.salutationGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); + component.salutationGridOptions.context.eventSubject.next({ type: 'delete', data: new Salutation() }); expect(spy3).toHaveBeenCalled(); }); @@ -67,7 +70,7 @@ const spy1: any = spyOn(communicationTypesSandbox, 'setDisplayForm'); const spy2: any = spyOn(communicationTypesSandbox, 'loadCommunicationType'); component.ngOnInit(); - component.communicationTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); + component.communicationTypesGridOptions.context.eventSubject.next({ type: 'edit', data: new Salutation() }); expect(spy1).toHaveBeenCalled(); expect(spy2).toHaveBeenCalled(); }); @@ -75,7 +78,7 @@ it('should call appropriate functions for delete event', () => { const spy3: any = spyOn(communicationTypesSandbox, 'deleteCommunicationType'); component.ngOnInit(); - component.communicationTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); + component.communicationTypesGridOptions.context.eventSubject.next({ type: 'delete', data: new Salutation() }); expect(spy3).toHaveBeenCalled(); }); @@ -83,7 +86,7 @@ const spy1: any = spyOn(personTypesSandbox, 'setDisplayForm'); const spy2: any = spyOn(personTypesSandbox, 'loadPersonType'); component.ngOnInit(); - component.personTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); + component.personTypesGridOptions.context.eventSubject.next({ type: 'edit', data: new Salutation() }); expect(spy1).toHaveBeenCalled(); expect(spy2).toHaveBeenCalled(); }); @@ -91,7 +94,7 @@ it('should call appropriate functions for delete event', () => { const spy3: any = spyOn(personTypesSandbox, 'deletePersonType'); component.ngOnInit(); - component.personTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); + component.personTypesGridOptions.context.eventSubject.next({ type: 'delete', data: new Salutation() }); expect(spy3).toHaveBeenCalled(); }); @@ -99,7 +102,7 @@ const spy1: any = spyOn(addressTypesSandbox, 'setDisplayForm'); const spy2: any = spyOn(addressTypesSandbox, 'loadAddressType'); component.ngOnInit(); - component.addressTypesGridOptions.context.eventSubject.next({type: "edit", data: new Salutation()}); + component.addressTypesGridOptions.context.eventSubject.next({ type: 'edit', data: new Salutation() }); expect(spy1).toHaveBeenCalled(); expect(spy2).toHaveBeenCalled(); }); @@ -107,8 +110,7 @@ it('should call appropriate functions for delete event', () => { const spy3: any = spyOn(addressTypesSandbox, 'deleteAddressType'); component.ngOnInit(); - component.addressTypesGridOptions.context.eventSubject.next({type: "delete", data: new Salutation()}); + component.addressTypesGridOptions.context.eventSubject.next({ type: 'delete', data: new Salutation() }); expect(spy3).toHaveBeenCalled(); }); - });
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts b/src/app/pages/admin/admin.component.ts similarity index 84% rename from src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts rename to src/app/pages/admin/admin.component.ts index b54925d..04e6cfe 100644 --- a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts +++ b/src/app/pages/admin/admin.component.ts
@@ -11,23 +11,28 @@ * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/ import { SalutationsSandbox } from '@pages/admin/salutations/salutations.sandbox'; -import { SALUTATIONS_COLDEF, COMMUNICATION_TYPES_COLDEF, PERSON_TYPES_COLDEF, ADDRESS_TYPES_COLDEF} from '@pages/admin/salutations/salutations-list/salutations-list-column-definition'; +import { + SALUTATIONS_COLDEF, + COMMUNICATION_TYPES_COLDEF, + PERSON_TYPES_COLDEF, + ADDRESS_TYPES_COLDEF, +} from '@pages/admin/salutations/salutations-list/salutations-list-column-definition'; import { Component, OnInit, OnDestroy } from '@angular/core'; import { BaseList } from '@shared/components/base-components/base.list'; import { SetFilterComponent } from '@shared/filters/ag-grid/set-filter/set-filter.component'; import { Subscription } from 'rxjs'; -import { CommunicationTypesSandbox } from '../../communication-types/communication-types.sandbox'; +import { CommunicationTypesSandbox } from './communication-types/communication-types.sandbox'; import { GridOptions } from 'ag-grid-community'; import { Subject } from 'rxjs'; -import { PersonTypesSandbox } from '../../person-types/person-types.sandbox'; -import { AddressTypesSandbox } from '../../address-types/address-types.sandbox'; +import { PersonTypesSandbox } from './person-types/person-types.sandbox'; +import { AddressTypesSandbox } from './address-types/address-types.sandbox'; @Component({ - selector: 'app-salutations-list', - templateUrl: './salutations-list.component.html', - styleUrls: ['./salutations-list.component.scss'], + selector: 'app-admin', + templateUrl: './admin.component.html', + styleUrls: ['./admin.component.scss'], }) -export class SalutationsListComponent extends BaseList implements OnInit, OnDestroy { +export class AdminComponent extends BaseList implements OnInit, OnDestroy { public salutationsColDef: any = SALUTATIONS_COLDEF; public communicationsTypeColDef: any = COMMUNICATION_TYPES_COLDEF; public personTypeColDef: any = PERSON_TYPES_COLDEF; @@ -36,7 +41,6 @@ private _subscription: Subscription; public isExpandableVisible = false; - public salutationEvents$: Subject<any> = new Subject(); public salutationGridOptions: GridOptions = { context: { @@ -81,18 +85,17 @@ suppressLoadingOverlay: true, }; - - - constructor(public salutationsSandbox: SalutationsSandbox, - public communicationTypesSandbox: CommunicationTypesSandbox, - public personTypesSandbox: PersonTypesSandbox, - public addressTypesSandbox: AddressTypesSandbox) { + constructor( + public salutationsSandbox: SalutationsSandbox, + public communicationTypesSandbox: CommunicationTypesSandbox, + public personTypesSandbox: PersonTypesSandbox, + public addressTypesSandbox: AddressTypesSandbox + ) { super(); this.frameworkComponents = { setFilterComponent: SetFilterComponent }; } ngOnInit() { - /********************************* Salutations *********************************/ this.salutationGridOptions.context = { ...this.salutationGridOptions.context, @@ -108,7 +111,6 @@ } }); - /********************************* Communication-Types *********************************/ this.communicationTypesGridOptions.context = { ...this.communicationTypesGridOptions.context, @@ -153,20 +155,13 @@ this.addressTypesSandbox.deleteAddressType(event.data.id); } }); - } - - - - ngOnDestroy() { this._subscription.unsubscribe(); } - private _initExpandableState() { //this.isExpandableVisible = !!this.salutationsSandbox.companyContactId; } - }
diff --git a/src/app/pages/admin/admin.module.ts b/src/app/pages/admin/admin.module.ts index 5969079..492401e 100644 --- a/src/app/pages/admin/admin.module.ts +++ b/src/app/pages/admin/admin.module.ts
@@ -13,11 +13,9 @@ import { CommunicationTypesApiClient } from '@pages/admin/communication-types/communication-types-api-client'; import { CommunicationTypesService } from '@pages/admin/communication-types/communication-types.service'; import { CommunicationTypesSandbox } from '@pages/admin/communication-types/communication-types.sandbox'; -import { CommunicationTypesResolver } from '@pages/admin/communication-types/communication-types.resolver'; import { CommunicationTypesEffects } from '@shared/store/effects/admin/communication-types.effect'; import { CommunicationTypesDetailsComponent } from '@pages/admin/communication-types/communication-types-details/communication-types-details.component'; import { SalutationsDetailsComponent } from '@pages/admin/salutations/salutations-details/salutations-details.component'; -import { SalutationsResolver } from '@pages/admin/salutations/salutations.resolver'; import { SalutationsSandbox } from '@pages/admin/salutations/salutations.sandbox'; import { SalutationsApiClient } from '@pages/admin/salutations/salutations-api-client'; import { SalutationsService } from '@pages/admin/salutations/salutations.service'; @@ -35,22 +33,18 @@ import { EffectsModule } from '@ngrx/effects'; import { AdminRoutingModule } from '@pages/admin/admin-routing.module'; -import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list/salutations-list.component'; -import { CommunicationTypesListComponent } from '@pages/admin/communication-types/communication-types-list/communication-types-list.component'; -import { PersonTypesListComponent } from '@pages/admin/person-types/person-types-list/person-types-list.component'; import { PersonTypesSandbox } from '@pages/admin/person-types/person-types.sandbox'; import { PersonTypesApiClient } from '@pages/admin/person-types/person-types-api-client'; import { PersonTypesService } from '@pages/admin/person-types/person-types.service'; import { PersonTypesEffects } from '@shared/store/effects/admin/person-types.effect'; -import { PersonTypesResolver } from '@pages/admin/person-types/person-types.resolver'; import { PersonTypesDetailsComponent } from '@pages/admin/person-types/person-types-details/person-types-details.component'; -import { AddressTypesListComponent } from '@pages/admin/address-types/address-types-list/address-types-list.component'; import { AddressTypesDetailsComponent } from '@pages/admin/address-types/address-types-details/address-types-details.component'; import { AddressTypesSandbox } from '@pages/admin/address-types//address-types.sandbox'; import { AddressTypesEffects } from '@shared/store/effects/admin/address-types.effect'; import { AddressTypesApiClient } from '@pages/admin/address-types/address-types-api-client'; import { AddressTypesService } from '@pages/admin/address-types/address-types.service'; -import { AddressTypesResolver } from '@pages/admin/address-types/address-types.resolver'; +import { AdminResolver } from './admin.resolver'; +import { AdminComponent } from './admin.component'; @NgModule({ imports: [ @@ -67,33 +61,21 @@ AgGridModule.withComponents([]), AdminRoutingModule, ], - declarations: [ - SalutationsListComponent, - SalutationsDetailsComponent, - CommunicationTypesListComponent, - CommunicationTypesDetailsComponent, - PersonTypesListComponent, - PersonTypesDetailsComponent, - AddressTypesListComponent, - AddressTypesDetailsComponent, - ], + declarations: [SalutationsDetailsComponent, CommunicationTypesDetailsComponent, PersonTypesDetailsComponent, AddressTypesDetailsComponent, AdminComponent], providers: [ SalutationsService, SalutationsApiClient, SalutationsSandbox, - SalutationsResolver, CommunicationTypesSandbox, CommunicationTypesService, CommunicationTypesApiClient, - CommunicationTypesResolver, PersonTypesSandbox, PersonTypesService, PersonTypesApiClient, - PersonTypesResolver, AddressTypesSandbox, AddressTypesService, AddressTypesApiClient, - AddressTypesResolver, + AdminResolver, ], }) export class AdminModule {}
diff --git a/src/app/pages/admin/salutations/salutations.resolver.spec.ts b/src/app/pages/admin/admin.resolver.spec.ts similarity index 65% rename from src/app/pages/admin/salutations/salutations.resolver.spec.ts rename to src/app/pages/admin/admin.resolver.spec.ts index 29e6a0e..a2323a9 100644 --- a/src/app/pages/admin/salutations/salutations.resolver.spec.ts +++ b/src/app/pages/admin/admin.resolver.spec.ts
@@ -1,20 +1,23 @@ import { async } from '@angular/core/testing'; -import { SalutationsResolver } from '@pages/admin/salutations/salutations.resolver'; +import { AdminResolver } from '@pages/admin/admin.resolver'; -describe('SalutationsResolver', () => { - let component: SalutationsResolver; +describe('AdminResolver', () => { + let component: AdminResolver; let communicationTypesSandbox: any = { setDisplayForm: () => {}, loadCommunicationTypes: () => {}, - deleteCommunicationType: () => {},}; + deleteCommunicationType: () => {}, + }; let personTypesSandbox: any = { setDisplayForm: () => {}, loadPersonTypes: () => {}, - deletePersonType: () => {},}; + deletePersonType: () => {}, + }; let addressTypesSandbox: any = { setDisplayForm: () => {}, loadAddressTypes: () => {}, - deleteAddressType: () => {},}; + deleteAddressType: () => {}, + }; const salutationsSandbox: any = { setDisplayForm: () => {}, loadSalutations: () => {}, @@ -22,7 +25,7 @@ }; beforeEach(() => { - component = new SalutationsResolver(salutationsSandbox, communicationTypesSandbox, personTypesSandbox, addressTypesSandbox); + component = new AdminResolver(salutationsSandbox, communicationTypesSandbox, personTypesSandbox, addressTypesSandbox); }); it('should create', () => { @@ -34,5 +37,4 @@ component.resolve(); expect(spy).toHaveBeenCalled(); }); - });
diff --git a/src/app/pages/admin/salutations/salutations.resolver.ts b/src/app/pages/admin/admin.resolver.ts similarity index 68% rename from src/app/pages/admin/salutations/salutations.resolver.ts rename to src/app/pages/admin/admin.resolver.ts index f2b1fc3..f9c62f1 100644 --- a/src/app/pages/admin/salutations/salutations.resolver.ts +++ b/src/app/pages/admin/admin.resolver.ts
@@ -1,4 +1,4 @@ - /******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional @@ -15,17 +15,18 @@ import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; import { ILoadSalutationsSuccess } from '@shared/store/actions/admin/salutations.action'; -import { CommunicationTypesSandbox } from '../communication-types/communication-types.sandbox'; -import { PersonTypesSandbox } from '../person-types/person-types.sandbox'; -import { AddressTypesSandbox } from '../address-types/address-types.sandbox'; +import { CommunicationTypesSandbox } from './communication-types/communication-types.sandbox'; +import { PersonTypesSandbox } from './person-types/person-types.sandbox'; +import { AddressTypesSandbox } from './address-types/address-types.sandbox'; @Injectable() -export class SalutationsResolver implements Resolve<ILoadSalutationsSuccess> { - - constructor(private salutationsSandbox: SalutationsSandbox, +export class AdminResolver implements Resolve<ILoadSalutationsSuccess> { + constructor( + private salutationsSandbox: SalutationsSandbox, private communicationTypesSandbox: CommunicationTypesSandbox, private personTypesSandbox: PersonTypesSandbox, - private addressTypesSandbox: AddressTypesSandbox) {} + private addressTypesSandbox: AddressTypesSandbox + ) {} public resolve(): Observable<any> { this.addressTypesSandbox.loadAddressTypes(); @@ -33,5 +34,4 @@ this.communicationTypesSandbox.loadCommunicationTypes(); return this.salutationsSandbox.loadSalutations(); } - }
diff --git a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html deleted file mode 100644 index a2d20ec..0000000 --- a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!-- /******************************************************************************** -* Copyright (c) 2020 Contributors to the Eclipse Foundation -* -* See the NOTICE file(s) distributed with this work for additional -* information regarding copyright ownership. -* -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v. 2.0 which is available at -* http://www.eclipse.org/legal/epl-2.0. -* -* SPDX-License-Identifier: EPL-2.0 -********************************************************************************/ --> -<app-card-layout> - <div header> - <span>{{ 'CommunicationTypes.Title' | translate }}</span> - <div class="pull-right" *visibleByRight> - <button class="btn btn-primary new-button" (click)="communicationTypesSandbox.setDisplayForm()"> - {{ 'CommunicationTypes.New' | translate }} - </button> - </div> - </div> - <div class="communication-types-grid-wrapper" body> - <ag-grid-angular - autoResizeColumns - class="ag-theme-balham ag-grid-height" - [ngClass]="communicationTypesSandbox.displayForm ? 'ag-grid-height-edit' : 'ag-grid-height-list'" - [gridOptions]="gridOptions" - [columnDefs]="columnDefinition" - [rowSelection]="'single'" - [frameworkComponents]="frameworkComponents" - [rowData]="communicationTypesSandbox.communicationTypes$ | async" - [overlayNoRowsTemplate]="noRowsTemplate" - > - </ag-grid-angular> - - <app-spinner [isRunning]="communicationTypesSandbox.communicationTypesLoading$ | async"></app-spinner> - - <div *ngIf="communicationTypesSandbox.displayForm" class="communication-types-details"> - <app-communication-types-details></app-communication-types-details> - </div> - </div> -</app-card-layout>
diff --git a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.scss b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.scss deleted file mode 100644 index ed1ca97..0000000 --- a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.scss +++ /dev/null
@@ -1,31 +0,0 @@ - /******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ - .communication-types-grid-wrapper { - position: relative; -} - -.communication-types-details { - margin-top: 20px; -} - -.ag-grid-height-edit { - height: calc(100vh - 450px); -} - -.ag-grid-height-list { - height: calc(100vh - 200px); -} - -.new-button { - margin-right: 20px; -}
diff --git a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.spec.ts b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.spec.ts deleted file mode 100644 index 73402a1..0000000 --- a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.spec.ts +++ /dev/null
@@ -1,43 +0,0 @@ -import { CommunicationType } from '@shared/models'; -import { CommunicationTypesListComponent } from '@pages/admin/communication-types/communication-types-list/communication-types-list.component'; - -describe('CommunicationTypesListComponent', () => { - let component: CommunicationTypesListComponent; - const sandbox: any = { - setDisplayForm: () => {}, - loadCommunicationType: () => {}, - deleteCommunicationType: () => {}, - }; - - beforeEach(() => { - component = new CommunicationTypesListComponent(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should initialize gridOptions context', () => { - component.ngOnInit(); - expect(component.gridOptions.context.icons.edit).toBeTruthy(); - expect(component.gridOptions.context.icons.delete).toBeTruthy(); - expect(component.gridOptions.context.icons.readonly).toBeTruthy(); - }); - - it('should call appropriate functions for edit event', () => { - const spy1: any = spyOn(sandbox, 'setDisplayForm'); - const spy2: any = spyOn(sandbox, 'loadCommunicationType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "edit", data: new CommunicationType()}); - expect(spy1).toHaveBeenCalled(); - expect(spy2).toHaveBeenCalled(); - }); - - it('should call appropriate functions for delete event', () => { - const spy3: any = spyOn(sandbox, 'deleteCommunicationType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "delete", data: new CommunicationType()}); - expect(spy3).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.ts b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.ts deleted file mode 100644 index 5610e4e..0000000 --- a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.ts +++ /dev/null
@@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { CommunicationTypesSandbox } from '@pages/admin/communication-types/communication-types.sandbox'; -import { COMMUNICATION_TYPES_COLDEF } from '@pages/admin/communication-types/communication-types-list/communication-types-list-column-definition'; -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { BaseList } from '@shared/components/base-components/base.list'; -import { SetFilterComponent } from '@shared/filters/ag-grid/set-filter/set-filter.component'; -import { Subscription } from 'rxjs'; - -@Component({ - selector: 'app-communication-types-list', - templateUrl: './communication-types-list.component.html', - styleUrls: ['./communication-types-list.component.scss'], -}) -export class CommunicationTypesListComponent extends BaseList implements OnInit, OnDestroy { - public columnDefinition: any = COMMUNICATION_TYPES_COLDEF; - public frameworkComponents: { setFilterComponent: any }; - private _subscription: Subscription; - - constructor(public communicationTypesSandbox: CommunicationTypesSandbox) { - super(); - this.frameworkComponents = { setFilterComponent: SetFilterComponent }; - } - - ngOnInit() { - this.gridOptions.context = { - ...this.gridOptions.context, - icons: { edit: true, readonly: true, delete: true }, - }; - this._subscription = this.gridOptions.context.eventSubject.subscribe(event => { - if (event.type === 'edit' || event.type === 'readonly') { - this.communicationTypesSandbox.setDisplayForm(event.type); - this.communicationTypesSandbox.loadCommunicationType(event.data.id); - } - if (event.type === 'delete') { - this.communicationTypesSandbox.deleteCommunicationType(event.data.id); - } - }); - } - - ngOnDestroy() { - this._subscription.unsubscribe(); - } -}
diff --git a/src/app/pages/admin/communication-types/communication-types.resolver.spec.ts b/src/app/pages/admin/communication-types/communication-types.resolver.spec.ts deleted file mode 100644 index e7fef93..0000000 --- a/src/app/pages/admin/communication-types/communication-types.resolver.spec.ts +++ /dev/null
@@ -1,29 +0,0 @@ -import { async } from '@angular/core/testing'; -import { CommunicationTypesResolver } from '@pages/admin/communication-types/communication-types.resolver'; - -describe('CommunicationTypesResolver', () => { - let component: CommunicationTypesResolver; - let sandbox: any; - - beforeEach(async(() => { - sandbox = { - clear() {}, - loadCommunicationTypes() {}, - } as any; - })); - - beforeEach(() => { - component = new CommunicationTypesResolver(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should call loadCommunicationTypes', () => { - const spy = spyOn(sandbox, 'loadCommunicationTypes'); - component.resolve(); - expect(spy).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/communication-types/communication-types.resolver.ts b/src/app/pages/admin/communication-types/communication-types.resolver.ts deleted file mode 100644 index 1a5581a..0000000 --- a/src/app/pages/admin/communication-types/communication-types.resolver.ts +++ /dev/null
@@ -1,27 +0,0 @@ - /******************************************************************************** - * Copyright (c) 2020 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * SPDX-License-Identifier: EPL-2.0 - ********************************************************************************/ -import { CommunicationTypesSandbox } from '@pages/admin/communication-types/communication-types.sandbox'; -import { Observable } from 'rxjs'; -import { Injectable } from '@angular/core'; -import { Resolve } from '@angular/router'; -import { ILoadCommunicationTypesSuccess } from '@shared/store/actions/admin/communication-types.action'; - -@Injectable() -export class CommunicationTypesResolver implements Resolve<any> { - - constructor(private communicationTypesSandbox: CommunicationTypesSandbox) {} - - public resolve(): Observable<ILoadCommunicationTypesSuccess> { - return this.communicationTypesSandbox.loadCommunicationTypes(); - } -}
diff --git a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html deleted file mode 100644 index b5991a2..0000000 --- a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!-- /******************************************************************************** -* Copyright (c) 2020 Contributors to the Eclipse Foundation -* -* See the NOTICE file(s) distributed with this work for additional -* information regarding copyright ownership. -* -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v. 2.0 which is available at -* http://www.eclipse.org/legal/epl-2.0. -* -* SPDX-License-Identifier: EPL-2.0 -********************************************************************************/ --> -<app-card-layout> - <div header> - <span>{{ 'PersonTypes.Title' | translate }}</span> - <div class="pull-right" *visibleByRight> - <button class="btn btn-primary new-button" (click)="sandbox.setDisplayForm()"> - {{ 'PersonTypes.New' | translate }} - </button> - </div> - </div> - <div class="person-types-grid-wrapper" body> - <ag-grid-angular - autoResizeColumns - class="ag-theme-balham" - [ngClass]="sandbox.displayForm ? 'ag-grid-height-edit' : 'ag-grid-height-list'" - [gridOptions]="gridOptions" - [columnDefs]="columnDefinition" - [rowSelection]="'single'" - [frameworkComponents]="frameworkComponents" - [rowData]="sandbox.personTypes$ | async" - [overlayNoRowsTemplate]="noRowsTemplate" - > - </ag-grid-angular> - - <app-spinner [isRunning]="sandbox.personTypesLoading$ | async"></app-spinner> - - <div *ngIf="sandbox.displayForm" class="person-types-details"> - <app-person-types-details></app-person-types-details> - </div> - </div> -</app-card-layout>
diff --git a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.scss b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.scss deleted file mode 100644 index d08bd75..0000000 --- a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.scss +++ /dev/null
@@ -1,19 +0,0 @@ -.person-types-grid-wrapper { - position: relative; -} - -.person-types-details { - margin-top: 20px; -} - -.ag-grid-height-edit { - height: calc(100vh - 450px); -} - -.ag-grid-height-list { - height: calc(100vh - 200px); -} - -.new-button { - margin-right: 20px; -}
diff --git a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.spec.ts b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.spec.ts deleted file mode 100644 index ae6cc76..0000000 --- a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.spec.ts +++ /dev/null
@@ -1,42 +0,0 @@ -import { PersonType } from '@shared/models'; -import { PersonTypesListComponent } from '@pages/admin/person-types/person-types-list/person-types-list.component'; - -describe('PersonTypesListComponent', () => { - let component: PersonTypesListComponent; - const sandbox: any = { - setDisplayForm: () => {}, - loadPersonType: () => {}, - deletePersonType: () => {}, - }; - - beforeEach(() => { - component = new PersonTypesListComponent(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should initialize gridOptions context', () => { - component.ngOnInit(); - expect(component.gridOptions.context.icons.edit).toBeTruthy(); - expect(component.gridOptions.context.icons.delete).toBeTruthy(); - }); - - it('should call appropriate functions for edit event', () => { - const spy1: any = spyOn(sandbox, 'setDisplayForm'); - const spy2: any = spyOn(sandbox, 'loadPersonType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "edit", data: new PersonType()}); - expect(spy1).toHaveBeenCalled(); - expect(spy2).toHaveBeenCalled(); - }); - - it('should call appropriate functions for delete event', () => { - const spy3: any = spyOn(sandbox, 'deletePersonType'); - component.ngOnInit(); - component.gridOptions.context.eventSubject.next({type: "delete", data: new PersonType()}); - expect(spy3).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.ts b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.ts deleted file mode 100644 index 2c97f32..0000000 --- a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.ts +++ /dev/null
@@ -1,42 +0,0 @@ -import { PERSON_TYPES_COLDEF } from '@pages/admin/person-types/person-types-list/person-types-list-column-definition'; -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { BaseList } from '@shared/components/base-components/base.list'; -import { SetFilterComponent } from '@shared/filters/ag-grid/set-filter/set-filter.component'; -import { PersonTypesSandbox } from '@pages/admin/person-types/person-types.sandbox'; -import { Subscription } from 'rxjs'; - -@Component({ - selector: 'app-person-types-list', - templateUrl: './person-types-list.component.html', - styleUrls: ['./person-types-list.component.scss'], -}) -export class PersonTypesListComponent extends BaseList implements OnInit, OnDestroy { - public columnDefinition: any = PERSON_TYPES_COLDEF; - public frameworkComponents: { setFilterComponent: any }; - private _subscription: Subscription; - - constructor(public sandbox: PersonTypesSandbox) { - super(); - this.frameworkComponents = { setFilterComponent: SetFilterComponent }; - } - - ngOnInit() { - this.gridOptions.context = { - ...this.gridOptions.context, - icons: { edit: true, delete: true }, - }; - this._subscription = this.gridOptions.context.eventSubject.subscribe(event => { - if (event.type === 'edit' || event.type === 'readonly') { - this.sandbox.setDisplayForm(); - this.sandbox.loadPersonType(event.data.id); - } - if (event.type === 'delete') { - this.sandbox.deletePersonType(event.data.id); - } - }); - } - - ngOnDestroy() { - this._subscription.unsubscribe(); - } -}
diff --git a/src/app/pages/admin/person-types/person-types.resolver.spec.ts b/src/app/pages/admin/person-types/person-types.resolver.spec.ts deleted file mode 100644 index 4138387..0000000 --- a/src/app/pages/admin/person-types/person-types.resolver.spec.ts +++ /dev/null
@@ -1,29 +0,0 @@ -import { async } from '@angular/core/testing'; -import { PersonTypesResolver } from '@pages/admin/person-types/person-types.resolver'; - -describe('PersonTypesResolver', () => { - let component: PersonTypesResolver; - let sandbox: any; - - beforeEach(async(() => { - sandbox = { - clear() {}, - loadPersonTypes() {}, - } as any; - })); - - beforeEach(() => { - component = new PersonTypesResolver(sandbox); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - it('should call loadPersonTypes', () => { - const spy = spyOn(sandbox, 'loadPersonTypes'); - component.resolve(); - expect(spy).toHaveBeenCalled(); - }); - -});
diff --git a/src/app/pages/admin/person-types/person-types.resolver.ts b/src/app/pages/admin/person-types/person-types.resolver.ts deleted file mode 100644 index e68f6c9..0000000 --- a/src/app/pages/admin/person-types/person-types.resolver.ts +++ /dev/null
@@ -1,15 +0,0 @@ -import { PersonTypesSandbox } from '@pages/admin/person-types/person-types.sandbox'; -import { Observable } from 'rxjs'; -import { Injectable } from '@angular/core'; -import { Resolve } from '@angular/router'; -import { ILoadPersonTypesSuccess } from '@shared/store/actions/admin/person-types.action'; - -@Injectable() -export class PersonTypesResolver implements Resolve<any> { - - constructor(private sandbox: PersonTypesSandbox) {} - - public resolve(): Observable<ILoadPersonTypesSuccess> { - return this.sandbox.loadPersonTypes(); - } -}
diff --git a/src/app/pages/company/company-details/address-list/address-list.component.html b/src/app/pages/company/company-details/address-list/address-list.component.html index 94b10ad..0d1e366 100644 --- a/src/app/pages/company/company-details/address-list/address-list.component.html +++ b/src/app/pages/company/company-details/address-list/address-list.component.html
@@ -20,7 +20,7 @@ <ag-grid-angular class="ag-theme-balham" - style="width: 100%; height: 100%;" + style="width: 100%; height: 100%" [domLayout]="'autoHeight'" [gridOptions]="gridOptions" [rowData]="companyDetailsSandBox.addressList$ | async"
diff --git a/src/app/shared/components/header/header.component.ts b/src/app/shared/components/header/header.component.ts index 48dea88..726850e 100644 --- a/src/app/shared/components/header/header.component.ts +++ b/src/app/shared/components/header/header.component.ts
@@ -37,7 +37,7 @@ } public navigateToAdminPage(): void { - this.router.navigate(['/admin/salutations']); + this.router.navigate(['/admin']); } private _winLocReload(): void {