Daniel 1 год назад
Родитель
Сommit
71e890a94b
8 измененных файлов: 108 добавлений и 8 удалений
  1. +15
    -7
      matsen-tool/src/app/app-routing.module.ts
  2. +3
    -1
      matsen-tool/src/app/app.module.ts
  3. +7
    -0
      matsen-tool/src/app/layout/two-column/two-column.component.html
  4. +13
    -0
      matsen-tool/src/app/profile/profile.component.html
  5. +0
    -0
      matsen-tool/src/app/profile/profile.component.scss
  6. +23
    -0
      matsen-tool/src/app/profile/profile.component.spec.ts
  7. +46
    -0
      matsen-tool/src/app/profile/profile.component.ts
  8. +1
    -0
      matsen-tool/src/assets/i18n/de.json

+ 15
- 7
matsen-tool/src/app/app-routing.module.ts Просмотреть файл

@@ -14,6 +14,7 @@ import {ContactsDetailComponent} from "@app/contacts/contacts-detail/contacts-de
import {TasksComponent} from "@app/tasks/tasks.component";
import {SalesComponent} from "@app/sales/sales.component";
import {SalesDetailComponent} from "@app/sales/sales-detail/sales-detail.component";
import {ProfileComponent} from "@app/profile/profile.component";

const accountModule = () => import('./account/account.module').then(x => x.AccountModule);
const usersModule = () => import('./users/users.module').then(x => x.UsersModule);
@@ -63,8 +64,8 @@ const routes: Routes = [
component: TwoColumnComponent,
canActivate: [AuthGuard],
children: [
{path: '', component: ProductsComponent, data: {dataType: 'product'}},
{path: ':id', component: ProductsDetailComponent, data: {dataType: 'product-detail'}},
{path: '', component: ProductsComponent},
{path: ':id', component: ProductsDetailComponent},
]
},
{
@@ -72,7 +73,7 @@ const routes: Routes = [
component: TwoColumnComponent,
canActivate: [AuthGuard],
children: [
{path: '', component: TasksComponent, data: {dataType: 'task'}},
{path: '', component: TasksComponent},
]
},
{
@@ -80,7 +81,7 @@ const routes: Routes = [
component: TwoColumnComponent,
canActivate: [AuthGuard],
children: [
{path: '', component: DocumentsComponent, data: {dataType: 'document'}},
{path: '', component: DocumentsComponent},
]
},
{
@@ -88,11 +89,18 @@ const routes: Routes = [
component: TwoColumnComponent,
canActivate: [AuthGuard],
children: [
{path: '', component: SalesComponent, data: {dataType: 'sales'}},
{path: ':id', component: SalesDetailComponent, data: {dataType: 'sales-detail'}},
{path: '', component: SalesComponent},
{path: ':id', component: SalesDetailComponent},
]
},
{
path: 'profile',
component: TwoColumnComponent,
canActivate: [AuthGuard],
children: [
{path: '', component: ProfileComponent},
]
},

// otherwise redirect to home
{path: '**', redirectTo: ''}
];


+ 3
- 1
matsen-tool/src/app/app.module.ts Просмотреть файл

@@ -47,6 +47,7 @@ import { SalesComponent } from './sales/sales.component';
import { SalesDetailComponent } from './sales/sales-detail/sales-detail.component';
import { NewSaleComponent } from './sales/new-sale/new-sale.component';
import { ToggleComponent } from './_components/toggle/toggle.component';
import { ProfileComponent } from './profile/profile.component';

export function apiConfigFactory(): Configuration {
const params: ConfigurationParameters = {
@@ -114,7 +115,8 @@ export function HttpLoaderFactory(http: HttpClient) {
SalesComponent,
SalesDetailComponent,
NewSaleComponent,
ToggleComponent
ToggleComponent,
ProfileComponent
],
providers: [
{provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},


+ 7
- 0
matsen-tool/src/app/layout/two-column/two-column.component.html Просмотреть файл

@@ -50,6 +50,13 @@
</div>
</a>
</li>
<li class="nav-item mb-3">
<a class="card" routerLink="/profile" routerLinkActive="active">
<div class="card-body position-relative bi bi-journals">
<h3 class="position-absolute m-0">{{'basic.profile' | translate}}</h3>
</div>
</a>
</li>
</ul>
</div>
<div class="col-10 pb-5">


+ 13
- 0
matsen-tool/src/app/profile/profile.component.html Просмотреть файл

@@ -0,0 +1,13 @@
<div class="spt-container">
<div class="card">
<div class="card-body row">
<div class="col-4">
<h1>{{ user.firstName }} {{ user.lastName }}</h1>
<dl>
<dt>Email:</dt>
<dd>{{ user.email }}</dd>
</dl>
</div>
</div>
</div>
</div>

+ 0
- 0
matsen-tool/src/app/profile/profile.component.scss Просмотреть файл


+ 23
- 0
matsen-tool/src/app/profile/profile.component.spec.ts Просмотреть файл

@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { ProfileComponent } from './profile.component';

describe('ProfileComponent', () => {
let component: ProfileComponent;
let fixture: ComponentFixture<ProfileComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ProfileComponent]
})
.compileComponents();
fixture = TestBed.createComponent(ProfileComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});

+ 46
- 0
matsen-tool/src/app/profile/profile.component.ts Просмотреть файл

@@ -0,0 +1,46 @@
import {AfterViewInit, Component, OnInit} from '@angular/core';
import {User} from "@app/_models";
import {Router} from "@angular/router";
import {AccountService} from "@app/_services";
import {Subscription} from "rxjs";
import {PartnerJsonld, UserJsonld, UserService} from "@app/core/api/v1";
import {ApiConverter} from "@app/_helpers/api.converter";

@Component({
selector: 'app-profile',
templateUrl: './profile.component.html',
styleUrl: './profile.component.scss'
})
export class ProfileComponent implements OnInit {

protected userSub: Subscription;
protected user: UserJsonld;

constructor(
private router: Router,
private accountService: AccountService,
private userService: UserService,
protected apiConverter: ApiConverter
) {
this.userSub = new Subscription();
this.user = {} as UserJsonld;
}

ngOnInit() {
this.getUserData();
}

getUserData() {
const user = this.accountService.userValue;
if (user?.id !== null && user?.id !== undefined) {
this.userSub = this.userService.usersIdGet(
this.apiConverter.extractId(user.id)
).subscribe(
data => {
this.user = data;
}
);
}

}
}

+ 1
- 0
matsen-tool/src/assets/i18n/de.json Просмотреть файл

@@ -20,6 +20,7 @@
"products": "Produkte",
"documents": "Dokumente",
"sales": "Verkäufe",
"profile": "Profil",
"tasks": "Aufgaben",
"contacts": "Kontakte",
"posts": "Notizen",


Загрузка…
Отмена
Сохранить