diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.html b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.html new file mode 100644 index 0000000..27c6dab --- /dev/null +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.html @@ -0,0 +1 @@ +

base-page works!

diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.scss b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.spec.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.spec.ts new file mode 100644 index 0000000..19f5fd0 --- /dev/null +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BasePageComponent } from './base-page.component'; + +describe('BasePageComponent', () => { + let component: BasePageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BasePageComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(BasePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.ts new file mode 100644 index 0000000..9e3eb4b --- /dev/null +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/base-page/base-page.component.ts @@ -0,0 +1,21 @@ +import { Component, inject } from '@angular/core'; +import { RefreshService } from '../../services/refresh.service'; +import { CreationService } from '../../services/creation.service'; + +@Component({ + selector: 'app-base-page', + standalone: true, + imports: [], + templateUrl: './base-page.component.html', + styleUrl: './base-page.component.scss' +}) +export class BasePageComponent { + + protected refreshService: RefreshService = inject(RefreshService) + protected creationService: CreationService = inject(CreationService) + + constructor(){ + this.refreshService.removeAll() + this.creationService.disposeComponent(); + } +} diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts index d96cfb3..f3ee738 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts @@ -1,11 +1,10 @@ import { AfterViewInit, Component, ViewChild } from '@angular/core'; import { GroupTableComponent } from '../../components/tables/group-table/group-table.component'; import { UserTableComponent } from '../../components/tables/user-table/user-table.component'; -import { RefreshService } from '../../services/refresh.service'; import { MatTabsModule } from '@angular/material/tabs'; import { GuiSelectedRow } from '@generic-ui/ngx-grid'; -import { CreationService } from '../../services/creation.service'; import { GroupFormComponent } from '../../components/forms/group-form/group-form.component'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, @@ -14,10 +13,9 @@ import { GroupFormComponent } from '../../components/forms/group-form/group-form templateUrl: './group.component.html', styleUrl: './group.component.css' }) -export class GroupComponent implements AfterViewInit { +export class GroupComponent extends BasePageComponent implements AfterViewInit { initWithoutData = () => { } private sGroupId = null; - constructor(private refreshService: RefreshService, private creationService: CreationService) { } ngAfterViewInit(): void { this.refreshService.removeAll() @@ -39,4 +37,4 @@ export class GroupComponent implements AfterViewInit { this.userTable.fetchDataByGroupId(this.sGroupId); } } -} +} \ No newline at end of file diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/home/home.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/home/home.component.ts index e2358f5..75b6331 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/home/home.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/home/home.component.ts @@ -1,23 +1,10 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { Router } from '@angular/router'; -import { AuthenticationService } from '../../services/authentication.service'; -import { RefreshService } from '../../services/refresh.service'; +import { Component } from '@angular/core'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, selector: 'app-home', - templateUrl: './home.component.html', - //styleUrls: ['./home.component.css'] + templateUrl: './home.component.html' }) -export class HomeComponent implements OnInit { - - username: string = ''; - password: string = ''; - - constructor(private authService: AuthenticationService, private router: Router, rService: RefreshService) { - rService.removeAll() - } - - ngOnInit(): void { - } +export class HomeComponent extends BasePageComponent { } \ No newline at end of file diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/module/module.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/module/module.component.ts index 63d93b5..6959b72 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/module/module.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/module/module.component.ts @@ -4,6 +4,7 @@ import { RefreshService } from '../../services/refresh.service'; import { MatTabsModule } from '@angular/material/tabs'; import { UserTableComponent } from '../../components/tables/user-table/user-table.component'; import { GuiSelectedRow } from '@generic-ui/ngx-grid'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, @@ -12,11 +13,10 @@ import { GuiSelectedRow } from '@generic-ui/ngx-grid'; templateUrl: './module.component.html', styleUrl: './module.component.css' }) -export class ModuleComponent implements AfterViewInit { +export class ModuleComponent extends BasePageComponent implements AfterViewInit { private uModuleId = null; - constructor(private refreshService: RefreshService) { } initWithoutData = () => { } ngAfterViewInit(): void { this.refreshService.removeAll() diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-assignment/user-assignment.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-assignment/user-assignment.component.ts index 6b37afb..737eeeb 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-assignment/user-assignment.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-assignment/user-assignment.component.ts @@ -6,7 +6,7 @@ import { ModuleTableComponent } from '../../components/tables/module-table/modul import { GroupTableComponent } from '../../components/tables/group-table/group-table.component'; import { User } from '../../models/user-management.api.models'; import { MatTabsModule, MatTabGroup } from '@angular/material/tabs'; -import { RefreshService } from '../../services/refresh.service'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, @@ -15,7 +15,7 @@ import { RefreshService } from '../../services/refresh.service'; templateUrl: './user-assignment.component.html', styleUrl: './user-assignment.component.scss' }) -export class UserAssignmentComponent implements OnInit, AfterViewInit { +export class UserAssignmentComponent extends BasePageComponent implements OnInit, AfterViewInit { initWithoutData = () => { } @@ -47,8 +47,6 @@ export class UserAssignmentComponent implements OnInit, AfterViewInit { private anySelected: boolean = false; - constructor(private refreshService: RefreshService) { } - ngOnInit(): void { } ngAfterViewInit(): void { diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-representation/user-representation.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-representation/user-representation.component.ts index a7a899f..af6c92b 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-representation/user-representation.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user-representation/user-representation.component.ts @@ -8,6 +8,7 @@ import Swal from 'sweetalert2'; import { MatTabsModule, MatTabGroup } from '@angular/material/tabs'; import { env } from '../../../environments/environment'; import { RefreshService } from '../../services/refresh.service'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, @@ -16,7 +17,7 @@ import { RefreshService } from '../../services/refresh.service'; templateUrl: './user-representation.component.html', styleUrl: './user-representation.component.css' }) -export class UserRepresentationComponent implements AfterViewInit { +export class UserRepresentationComponent extends BasePageComponent implements AfterViewInit { useRepLabel: string = ""; groupRepCols: Array; @@ -29,7 +30,8 @@ export class UserRepresentationComponent implements AfterViewInit { initWithoutData = () => { } - constructor(private userRepService: UserRepService, private refreshService: RefreshService) { + constructor(private userRepService: UserRepService) { + super() this.groupRepCols = env.columnNames.group.representative; this.groupRightColumns = env.columnNames.group.right; this.userRepService = userRepService; diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user/user.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user/user.component.ts index a567c32..7a89d5f 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user/user.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/user/user.component.ts @@ -7,6 +7,7 @@ import { GroupTableComponent } from '../../components/tables/group-table/group-t import { ModuleTableComponent } from '../../components/tables/module-table/module-table.component'; import { CreationService } from '../../services/creation.service'; import { UserFormComponent } from '../../components/forms/user-form/user-form.component'; +import { BasePageComponent } from '../base-page/base-page.component'; @Component({ standalone: true, @@ -15,7 +16,7 @@ import { UserFormComponent } from '../../components/forms/user-form/user-form.co templateUrl: './user.component.html', styleUrl: './user.component.css' }) -export class UserComponent implements AfterViewInit { +export class UserComponent extends BasePageComponent implements AfterViewInit { initWithoutData = () => { } cellEditing: GuiCellEdit = { @@ -30,8 +31,6 @@ export class UserComponent implements AfterViewInit { private sUsername = null; - constructor(private refreshService: RefreshService, private creationService: CreationService) { } - ngAfterViewInit(): void { this.refreshService.removeAll() this.refreshService.add(() => { diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/creation.service.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/creation.service.ts index 408d7eb..24fe45a 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/creation.service.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/services/creation.service.ts @@ -20,4 +20,8 @@ export class CreationService { }) : undefined; } + + disposeComponent(){ + this.component = undefined; + } } \ No newline at end of file