瀏覽代碼

fixes and beautifying

master
Florian Eisenmenger 1 年之前
父節點
當前提交
671df50c36
共有 14 個文件被更改,包括 73 次插入65 次删除
  1. +1
    -1
      matsen-tool/src/app/_components/search-select/search-select.component.html
  2. +1
    -1
      matsen-tool/src/app/_views/account/layout.component.html
  3. +6
    -9
      matsen-tool/src/app/_views/contacts/contact-list/contact-list.component.ts
  4. +8
    -6
      matsen-tool/src/app/_views/contacts/contacts-detail/contacts-detail.component.ts
  5. +1
    -2
      matsen-tool/src/app/_views/contacts/new-contact/new-contact.component.html
  6. +3
    -8
      matsen-tool/src/app/_views/contacts/new-contact/new-contact.component.ts
  7. +0
    -1
      matsen-tool/src/app/_views/documents/document-list/document-list.component.html
  8. +8
    -9
      matsen-tool/src/app/_views/documents/document-list/document-list.component.ts
  9. +5
    -5
      matsen-tool/src/app/_views/documents/new-document/new-document.component.ts
  10. +11
    -11
      matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.html
  11. +0
    -2
      matsen-tool/src/app/_views/tasks/task-list/task-list.component.html
  12. +2
    -7
      matsen-tool/src/app/_views/tasks/task-list/task-list.component.ts
  13. +2
    -1
      matsen-tool/src/app/app.module.ts
  14. +25
    -2
      matsen-tool/src/assets/scss/_sidebar.scss

+ 1
- 1
matsen-tool/src/app/_components/search-select/search-select.component.html 查看文件

@@ -14,4 +14,4 @@
> >
</app-list> </app-list>
</div> </div>
</div>
</div>

+ 1
- 1
matsen-tool/src/app/_views/account/layout.component.html 查看文件

@@ -1,3 +1,3 @@
<div class="container col-md-6 offset-md-3 mt-5"> <div class="container col-md-6 offset-md-3 mt-5">
<router-outlet></router-outlet> <router-outlet></router-outlet>
</div>
</div>

+ 6
- 9
matsen-tool/src/app/_views/contacts/contact-list/contact-list.component.ts 查看文件

@@ -1,5 +1,4 @@
import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core'; import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core';
import {Subscription} from "rxjs";
import {ContactJsonld, ContactService, PartnerJsonld} from "@app/core/api/v1"; import {ContactJsonld, ContactService, PartnerJsonld} from "@app/core/api/v1";
import {MatTableDataSource} from "@angular/material/table"; import {MatTableDataSource} from "@angular/material/table";
import {NewContactComponent} from "@app/_views/contacts/new-contact/new-contact.component"; import {NewContactComponent} from "@app/_views/contacts/new-contact/new-contact.component";
@@ -8,16 +7,15 @@ import {AppHelperService} from "@app/_helpers/app-helper.service";
import {PagingComponent} from "@app/_components/paging/paging.component"; import {PagingComponent} from "@app/_components/paging/paging.component";


@Component({ @Component({
selector: 'app-contact-list',
templateUrl: './contact-list.component.html',
styleUrl: './contact-list.component.scss'
selector: 'app-contact-list',
templateUrl: './contact-list.component.html',
styleUrl: './contact-list.component.scss'
}) })
export class ContactListComponent implements OnInit, AfterViewInit { export class ContactListComponent implements OnInit, AfterViewInit {


@Input() public partner!: PartnerJsonld; @Input() public partner!: PartnerJsonld;
@ViewChild("pagingComponent", { static: false }) pagingComponent!: PagingComponent;
@ViewChild("pagingComponent", {static: false}) pagingComponent!: PagingComponent;


protected contactsSub: Subscription;
protected contacts: Array<ContactJsonld>; protected contacts: Array<ContactJsonld>;
protected dataSource; protected dataSource;


@@ -26,7 +24,6 @@ export class ContactListComponent implements OnInit, AfterViewInit {
private contactService: ContactService, private contactService: ContactService,
protected appHelperService: AppHelperService protected appHelperService: AppHelperService
) { ) {
this.contactsSub = new Subscription();
this.contacts = []; this.contacts = [];
this.dataSource = new MatTableDataSource<ContactJsonld>(this.contacts); this.dataSource = new MatTableDataSource<ContactJsonld>(this.contacts);
} }
@@ -39,7 +36,7 @@ export class ContactListComponent implements OnInit, AfterViewInit {
} }


getData = () => { getData = () => {
this.contactsSub = this.contactService.contactsGetCollection(
this.contactService.contactsGetCollection(
this.pagingComponent.getPageIndex(), this.pagingComponent.getPageIndex(),
this.pagingComponent.getPageSize(), this.pagingComponent.getPageSize(),
this.partner.id this.partner.id
@@ -54,7 +51,7 @@ export class ContactListComponent implements OnInit, AfterViewInit {
openModalNewContact() { openModalNewContact() {
let contact: ContactJsonld = {} as ContactJsonld; let contact: ContactJsonld = {} as ContactJsonld;
contact.partnerIri = this.partner.id ?? null; contact.partnerIri = this.partner.id ?? null;
this.appHelperService.openModal(NewContactComponent, { 'contact': contact }, this.getData);
this.appHelperService.openModal(NewContactComponent, {'contact': contact}, this.getData);
} }


navigateToContactDetails(element: any) { navigateToContactDetails(element: any) {


+ 8
- 6
matsen-tool/src/app/_views/contacts/contacts-detail/contacts-detail.component.ts 查看文件

@@ -1,6 +1,8 @@
import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core'; import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';
import { import {
ContactJsonld, ContactPartnerProduct, ContactPartnerProductJsonld, ContactPartnerProductService,
ContactJsonld,
ContactPartnerProductJsonld,
ContactPartnerProductService,
ContactService, ContactService,
PartnerJsonld, PartnerJsonld,
PartnerService, PartnerService,
@@ -21,10 +23,10 @@ import {ProductListComponent} from "@app/_views/products/product-list/product-li
styleUrl: './contacts-detail.component.scss' styleUrl: './contacts-detail.component.scss'
}) })
export class ContactsDetailComponent implements OnInit, AfterViewInit { export class ContactsDetailComponent implements OnInit, AfterViewInit {
@ViewChild("togglePosts", { static: true }) togglePosts!: ToggleComponent;
@ViewChild("postListComponent", { static: false }) postsComponent!: PostListComponent;
@ViewChild("toggleProducts", { static: true }) toggleProducts!: ToggleComponent;
@ViewChild("productListComponent", { static: false }) productsComponent!: ProductListComponent;
@ViewChild("togglePosts", {static: true}) togglePosts!: ToggleComponent;
@ViewChild("postListComponent", {static: false}) postsComponent!: PostListComponent;
@ViewChild("toggleProducts", {static: true}) toggleProducts!: ToggleComponent;
@ViewChild("productListComponent", {static: false}) productsComponent!: ProductListComponent;


protected user: User | null; protected user: User | null;


@@ -101,7 +103,7 @@ export class ContactsDetailComponent implements OnInit, AfterViewInit {
} }


openModalEditContact() { openModalEditContact() {
let data: any = { 'contact': this.contact }
let data: any = {'contact': this.contact}
if (this.contact.birthday !== undefined) { if (this.contact.birthday !== undefined) {
data.birthdayValue = this.appHelperService.convertDate(this.contact.birthday); data.birthdayValue = this.appHelperService.convertDate(this.contact.birthday);
} }


+ 1
- 2
matsen-tool/src/app/_views/contacts/new-contact/new-contact.component.html 查看文件

@@ -49,7 +49,7 @@


<div class="mb-3" *ngIf="contactForm.get('imageUrl')?.value !== null"> <div class="mb-3" *ngIf="contactForm.get('imageUrl')?.value !== null">
<div class="delete-image" (click)="onDeleteImage()"> <div class="delete-image" (click)="onDeleteImage()">
<img src="{{contact.imageUrl}}" width="40" height="40" />
<img src="{{contact.imageUrl}}" width="40" height="40" alt="{{contact.firstName}} {{contact.lastName}}" />
<p class="mb-0 ms-3">{{'system.delete-image' | translate}}</p> <p class="mb-0 ms-3">{{'system.delete-image' | translate}}</p>
</div> </div>
</div> </div>
@@ -57,4 +57,3 @@
<button type="submit" class="btn btn-primary" [disabled]="contactForm.invalid">{{'form.send' | translate}}</button> <button type="submit" class="btn btn-primary" [disabled]="contactForm.invalid">{{'form.send' | translate}}</button>
</form> </form>
</div> </div>


+ 3
- 8
matsen-tool/src/app/_views/contacts/new-contact/new-contact.component.ts 查看文件

@@ -2,7 +2,6 @@ import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@an
import {FormGroup} from "@angular/forms"; import {FormGroup} from "@angular/forms";
import {contactForm} from "@app/_forms/apiForms"; import {contactForm} from "@app/_forms/apiForms";
import {ContactJsonld, ContactService, MediaObjectService} from "@app/core/api/v1"; import {ContactJsonld, ContactService, MediaObjectService} from "@app/core/api/v1";
import {firstValueFrom, Subscription, window} from "rxjs";
import {ModalStatus} from "@app/_helpers/modal.states"; import {ModalStatus} from "@app/_helpers/modal.states";
import {FormGroupInitializer} from "@app/_helpers/formgroup.initializer"; import {FormGroupInitializer} from "@app/_helpers/formgroup.initializer";
import {TranslateService} from "@ngx-translate/core"; import {TranslateService} from "@ngx-translate/core";
@@ -20,8 +19,6 @@ export class NewContactComponent implements OnInit, AfterViewInit {


protected contactForm: FormGroup; protected contactForm: FormGroup;
protected selectedImage: File | null; protected selectedImage: File | null;
protected contactSub: Subscription;
protected mediaSub: Subscription;
protected birthdayValue: string; protected birthdayValue: string;


constructor( constructor(
@@ -32,8 +29,6 @@ export class NewContactComponent implements OnInit, AfterViewInit {
) { ) {
this.contactForm = contactForm; this.contactForm = contactForm;
this.selectedImage = null; this.selectedImage = null;
this.contactSub = new Subscription();
this.mediaSub = new Subscription();
this.birthdayValue = ""; this.birthdayValue = "";
} }


@@ -56,7 +51,7 @@ export class NewContactComponent implements OnInit, AfterViewInit {
// On submit form: Check if image is set // On submit form: Check if image is set
onSubmit() { onSubmit() {
if (this.selectedImage !== null) { if (this.selectedImage !== null) {
this.mediaSub = this.mediaObjectService.mediaObjectsPost(
this.mediaObjectService.mediaObjectsPost(
this.selectedImage this.selectedImage
).subscribe( ).subscribe(
data => { data => {
@@ -73,7 +68,7 @@ export class NewContactComponent implements OnInit, AfterViewInit {
if (this.contactForm.valid) { if (this.contactForm.valid) {
if (this.contact.id === null || this.contact.id === undefined) { if (this.contact.id === null || this.contact.id === undefined) {
// Create new contact // Create new contact
this.contactSub = this.contactService.contactsPost(
this.contactService.contactsPost(
this.contactForm.value as ContactJsonld this.contactForm.value as ContactJsonld
).subscribe( ).subscribe(
data => { data => {
@@ -83,7 +78,7 @@ export class NewContactComponent implements OnInit, AfterViewInit {
); );
} else { } else {
// Edit contact // Edit contact
this.contactSub = this.contactService.contactsIdPatch(
this.contactService.contactsIdPatch(
this.appHelperService.extractId(this.contact.id), this.appHelperService.extractId(this.contact.id),
this.contactForm.value as ContactJsonld this.contactForm.value as ContactJsonld
).subscribe( ).subscribe(


+ 0
- 1
matsen-tool/src/app/_views/documents/document-list/document-list.component.html 查看文件

@@ -12,4 +12,3 @@
[showDetailButton]="false" [showDetailButton]="false"
></app-list> ></app-list>
</div> </div>


+ 8
- 9
matsen-tool/src/app/_views/documents/document-list/document-list.component.ts 查看文件

@@ -1,23 +1,22 @@
import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core'; import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core';
import {DocumentJsonld, DocumentService, PartnerJsonld, ProductJsonld} from "@app/core/api/v1"; import {DocumentJsonld, DocumentService, PartnerJsonld, ProductJsonld} from "@app/core/api/v1";
import {AppHelperService} from "@app/_helpers/app-helper.service"; import {AppHelperService} from "@app/_helpers/app-helper.service";
import {MatSort, Sort} from "@angular/material/sort";
import {MatTableDataSource} from "@angular/material/table";
import {Sort} from "@angular/material/sort";
import {OrderFilter} from "@app/_models/orderFilter"; import {OrderFilter} from "@app/_models/orderFilter";
import {NewDocumentComponent} from "@app/_views/documents/new-document/new-document.component"; import {NewDocumentComponent} from "@app/_views/documents/new-document/new-document.component";
import {ListComponent} from "@app/_components/list/list.component"; import {ListComponent} from "@app/_components/list/list.component";
import {ListColDefinition} from "@app/_components/list/list-col-definition"; import {ListColDefinition} from "@app/_components/list/list-col-definition";


@Component({ @Component({
selector: 'app-document-list',
templateUrl: './document-list.component.html',
styleUrl: './document-list.component.scss'
selector: 'app-document-list',
templateUrl: './document-list.component.html',
styleUrl: './document-list.component.scss'
}) })
export class DocumentListComponent implements OnInit, AfterViewInit { export class DocumentListComponent implements OnInit, AfterViewInit {


@Input() public product!: ProductJsonld; @Input() public product!: ProductJsonld;
@Input() public partner!: PartnerJsonld; @Input() public partner!: PartnerJsonld;
@ViewChild("listComponent", { static: false }) listComponent!: ListComponent;
@ViewChild("listComponent", {static: false}) listComponent!: ListComponent;


protected listColDefinitions!: ListColDefinition[]; protected listColDefinitions!: ListColDefinition[];


@@ -76,7 +75,7 @@ export class DocumentListComponent implements OnInit, AfterViewInit {
]; ];
} }


ngOnInit(){
ngOnInit() {
} }


ngAfterViewInit() { ngAfterViewInit() {
@@ -112,11 +111,11 @@ export class DocumentListComponent implements OnInit, AfterViewInit {


openModalNewDocument() { openModalNewDocument() {
let document: DocumentJsonld = {} as DocumentJsonld; let document: DocumentJsonld = {} as DocumentJsonld;
this.appHelperService.openModal(NewDocumentComponent, { 'document': document }, this.listComponent.getData);
this.appHelperService.openModal(NewDocumentComponent, {'document': document}, this.listComponent.getData);
} }


openModalEditDocument(element: DocumentJsonld) { openModalEditDocument(element: DocumentJsonld) {
this.appHelperService.openModal(NewDocumentComponent, { 'document': element }, this.listComponent.getData);
this.appHelperService.openModal(NewDocumentComponent, {'document': element}, this.listComponent.getData);
} }


} }

+ 5
- 5
matsen-tool/src/app/_views/documents/new-document/new-document.component.ts 查看文件

@@ -18,11 +18,11 @@ import {ListGetDataFunctionType} from "@app/_components/list/list-get-data-funct
templateUrl: './new-document.component.html', templateUrl: './new-document.component.html',
styleUrl: './new-document.component.scss' styleUrl: './new-document.component.scss'
}) })
export class NewDocumentComponent implements OnInit, AfterViewInit {
export class NewDocumentComponent implements OnInit, AfterViewInit {
@Input() public document!: DocumentJsonld; @Input() public document!: DocumentJsonld;
@Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>(); @Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>();
@ViewChild('partnerSearchSelect', { static: false }) partnerSearchSelect!: SearchSelectComponent;
@ViewChild('productSearchSelect', { static: false }) productSearchSelect!: SearchSelectComponent;
@ViewChild('partnerSearchSelect', {static: false}) partnerSearchSelect!: SearchSelectComponent;
@ViewChild('productSearchSelect', {static: false}) productSearchSelect!: SearchSelectComponent;
protected readonly SearchSelectComponent = SearchSelectComponent; protected readonly SearchSelectComponent = SearchSelectComponent;


protected documentForm: FormGroup; protected documentForm: FormGroup;
@@ -47,7 +47,7 @@ export class NewDocumentComponent implements OnInit, AfterViewInit {
ngAfterViewInit(): void { ngAfterViewInit(): void {
} }


getPartners: ListGetDataFunctionType = (index: number, pageSize: number, term?: string): Observable<any> => {
getPartners: ListGetDataFunctionType = (index: number, pageSize: number, term?: string): Observable<any> => {
return this.partnerService.partnersGetCollection( return this.partnerService.partnersGetCollection(
index, index,
pageSize, pageSize,
@@ -57,7 +57,7 @@ export class NewDocumentComponent implements OnInit, AfterViewInit {
); );
} }


getProducts: ListGetDataFunctionType = (index: number, pageSize: number, term?: string): Observable<any> => {
getProducts: ListGetDataFunctionType = (index: number, pageSize: number, term?: string): Observable<any> => {
return this.productService.productsGetCollection( return this.productService.productsGetCollection(
index, index,
pageSize, pageSize,


+ 11
- 11
matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.html 查看文件

@@ -2,29 +2,29 @@
<div class="card"> <div class="card">
<div *ngIf="sale" class="card-body row pb-5"> <div *ngIf="sale" class="card-body row pb-5">
<div class="spt-col col-12 col-sm-6 col-lg-8"> <div class="spt-col col-12 col-sm-6 col-lg-8">
<h1>{{'overview.sale-user' | translate }}: {{ sale.owner?.fullName }}</h1>
<h1>{{ 'overview.sale-user' | translate }}: {{ sale.owner?.fullName }}</h1>
<dl> <dl>
<dt *ngIf="sale.partner?.name">{{'overview.partner' | translate}}:</dt>
<dt *ngIf="sale.partner?.name">{{ 'overview.partner' | translate }}:</dt>
<dd *ngIf="sale.partner?.name">{{ sale.partner?.name }}</dd> <dd *ngIf="sale.partner?.name">{{ sale.partner?.name }}</dd>
<dt *ngIf="sale.product?.name">{{'overview.product' | translate}}:</dt>
<dt *ngIf="sale.product?.name">{{ 'overview.product' | translate }}:</dt>
<dd *ngIf="sale.product?.name">{{ sale.product?.name }}</dd> <dd *ngIf="sale.product?.name">{{ sale.product?.name }}</dd>
<dt *ngIf="sale.turnover">{{'overview.turnover' | translate}}:</dt>
<dt *ngIf="sale.turnover">{{ 'overview.turnover' | translate }}:</dt>
<dd *ngIf="sale.turnover">{{ sale.turnover }}</dd> <dd *ngIf="sale.turnover">{{ sale.turnover }}</dd>
<dt *ngIf="sale.profit">{{'overview.profit' | translate}}:</dt>
<dt *ngIf="sale.profit">{{ 'overview.profit' | translate }}:</dt>
<dd *ngIf="sale.profit">{{ sale.profit }}</dd> <dd *ngIf="sale.profit">{{ sale.profit }}</dd>
<dt *ngIf="sale.comment">{{'overview.comment' | translate}}:</dt>
<dt *ngIf="sale.comment">{{ 'overview.comment' | translate }}:</dt>
<dd *ngIf="sale.comment" [innerHTML]="appHelperService.getSafeLongtext(sale.comment)"></dd> <dd *ngIf="sale.comment" [innerHTML]="appHelperService.getSafeLongtext(sale.comment)"></dd>
</dl> </dl>
</div> </div>
<div class="col-12 col-sm-6 col-lg-4"> <div class="col-12 col-sm-6 col-lg-4">
<span *ngIf="sale.owner === user?.id" class="position-absolute bi bi-pencil p-2" data-type="user-tool" data-action="edit"
(click)="openModalEditSale()"></span>
<span *ngIf="sale.owner === user?.id" class="position-absolute bi bi-pencil p-2" data-type="user-tool"
data-action="edit"
(click)="openModalEditSale()"></span>
</div>
</div> </div>
</div> </div>
</div> </div>


<app-toggle #togglePosts [headline]="'basic.posts' | translate"> <app-toggle #togglePosts [headline]="'basic.posts' | translate">
<app-post-list *ngIf="togglePosts.isOpened" #postListComponent
[sale]="sale"
></app-post-list>
<app-post-list *ngIf="togglePosts.isOpened" [sale]="sale"></app-post-list>
</app-toggle> </app-toggle>

+ 0
- 2
matsen-tool/src/app/_views/tasks/task-list/task-list.component.html 查看文件

@@ -52,8 +52,6 @@
<div class="col-12 col-md-8"> <div class="col-12 col-md-8">
<p class="m-0 mb-3 mt-2" <p class="m-0 mb-3 mt-2"
[innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p>
<span *ngIf="task.createdBy?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2"
data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span>
<div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute">
<span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0"
role="button" class="spt-btn-low badge bg-secondary p-2 me-2" role="button" class="spt-btn-low badge bg-secondary p-2 me-2"


+ 2
- 7
matsen-tool/src/app/_views/tasks/task-list/task-list.component.ts 查看文件

@@ -2,7 +2,6 @@ import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core'
import {PagingComponent} from "@app/_components/paging/paging.component"; import {PagingComponent} from "@app/_components/paging/paging.component";
import {Subscription} from "rxjs"; import {Subscription} from "rxjs";
import { import {
CommentJsonld,
PartnerJsonld, PartnerJsonld,
TaskJsonld, TaskJsonld,
TaskNoteJsonld, TaskNoteJsonld,
@@ -29,8 +28,6 @@ export class TaskListComponent implements OnInit, AfterViewInit {
@ViewChild("pagingComponent", { static: false }) pagingComponent!: PagingComponent; @ViewChild("pagingComponent", { static: false }) pagingComponent!: PagingComponent;


protected currentUser: User | null; protected currentUser: User | null;
protected tasksSub: Subscription;
protected tasksNotesSub: Subscription;
protected tasks: Array<TaskJsonld>; protected tasks: Array<TaskJsonld>;
protected dataSource; protected dataSource;
protected taskCompactMode: boolean; protected taskCompactMode: boolean;
@@ -46,9 +43,7 @@ export class TaskListComponent implements OnInit, AfterViewInit {
private taskNoteService: TaskNoteService, private taskNoteService: TaskNoteService,
protected appHelperService: AppHelperService, protected appHelperService: AppHelperService,
) { ) {
this.tasksSub = new Subscription();
this.tasks = []; this.tasks = [];
this.tasksNotesSub = new Subscription();
this.taskNotes = new Map<string, TaskNoteJsonld[]>(); this.taskNotes = new Map<string, TaskNoteJsonld[]>();
this.dataSource = new MatTableDataSource<TaskJsonld>(this.tasks); this.dataSource = new MatTableDataSource<TaskJsonld>(this.tasks);
this.taskNotesVisibility = new Map<string, boolean>(); this.taskNotesVisibility = new Map<string, boolean>();
@@ -78,7 +73,7 @@ export class TaskListComponent implements OnInit, AfterViewInit {
} }


getTasksData = () => { getTasksData = () => {
this.tasksSub = this.taskService.tasksGetCollection(
this.taskService.tasksGetCollection(
this.pagingComponent.getPageIndex(), this.pagingComponent.getPageIndex(),
this.pagingComponent.getPageSize(), this.pagingComponent.getPageSize(),
this.user?.id, this.user?.id,
@@ -123,7 +118,7 @@ export class TaskListComponent implements OnInit, AfterViewInit {


getTaskNotes = (taskIri: string) => { getTaskNotes = (taskIri: string) => {
// TODO: Weiterblättern, 50 comments only // TODO: Weiterblättern, 50 comments only
this.tasksNotesSub = this.taskNoteService.taskNotesGetCollection(
this.taskNoteService.taskNotesGetCollection(
1, 1,
50, 50,
taskIri taskIri


+ 2
- 1
matsen-tool/src/app/app.module.ts 查看文件

@@ -108,7 +108,8 @@ export function HttpLoaderFactory(http: HttpClient) {
MatAutocompleteModule, MatAutocompleteModule,
MatFormFieldModule, MatFormFieldModule,
MatInputModule, MatInputModule,
MatTabsModule
MatTabsModule,
TranslateModule
], ],
declarations: [ declarations: [
AppComponent, AppComponent,


+ 25
- 2
matsen-tool/src/assets/scss/_sidebar.scss 查看文件

@@ -10,6 +10,7 @@
padding: 0; padding: 0;
cursor: pointer; cursor: pointer;
@include transition(); @include transition();

&:before, &:after { &:before, &:after {
content: ""; content: "";
display: block; display: block;
@@ -18,20 +19,24 @@
top: 0; top: 0;
width: 100%; width: 100%;
} }

&:before { &:before {
height: 11px; height: 11px;
border-top: 2px solid rgb(43, 58, 68); border-top: 2px solid rgb(43, 58, 68);
border-bottom: 2px solid rgb(43, 58, 68); border-bottom: 2px solid rgb(43, 58, 68);
} }

&:after { &:after {
top: 18px; top: 18px;
height: 2px; height: 2px;
background: rgb(43, 58, 68); background: rgb(43, 58, 68);
} }

&.nav-open { &.nav-open {
right: 288px; right: 288px;
} }
} }

.spt-sidebar { .spt-sidebar {
position: relative; position: relative;
padding: 0; padding: 0;
@@ -48,15 +53,18 @@
right: 12px; right: 12px;
} }
} }

.card { .card {
background: transparent; background: transparent;
color: #fff; color: #fff;
border-bottom: 1px solid #fff; border-bottom: 1px solid #fff;
width: 100%; width: 100%;
text-decoration: none; text-decoration: none;

&:hover { &:hover {
background: #556169; background: #556169;
} }

.card-body { .card-body {
min-height: 50px; min-height: 50px;
text-transform: uppercase; text-transform: uppercase;
@@ -67,64 +75,79 @@
bottom: 10px; bottom: 10px;
} }
} }

&.active { &.active {
background: #556169;

.card-body { .card-body {
min-height: 100px; min-height: 100px;
position: relative; position: relative;

&:before { &:before {
content: ""; content: "";
position: absolute; position: absolute;
left: 20px; left: 20px;
top: 50%; top: 50%;
transform: translate(0,-50%);
transform: translate(0, -50%);
width: 65px; width: 65px;
height: 100%; height: 100%;
filter: brightness(600%); filter: brightness(600%);
border-right: 1px solid #fff; border-right: 1px solid #fff;
} }

&[data-cat="customer"]:before { &[data-cat="customer"]:before {
background: transparent url("/assets/images/icons/customer.svg") no-repeat left center; background: transparent url("/assets/images/icons/customer.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="supplier"]:before { &[data-cat="supplier"]:before {
background: transparent url("/assets/images/icons/supplier.svg") no-repeat left center; background: transparent url("/assets/images/icons/supplier.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="service"]:before { &[data-cat="service"]:before {
background: transparent url("/assets/images/icons/service.svg") no-repeat left center; background: transparent url("/assets/images/icons/service.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="product"]:before { &[data-cat="product"]:before {
background: transparent url("/assets/images/icons/product.svg") no-repeat left center; background: transparent url("/assets/images/icons/product.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="task"]:before { &[data-cat="task"]:before {
background: transparent url("/assets/images/icons/task.svg") no-repeat left center; background: transparent url("/assets/images/icons/task.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="document"]:before { &[data-cat="document"]:before {
background: transparent url("/assets/images/icons/document.svg") no-repeat left center; background: transparent url("/assets/images/icons/document.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="sale"]:before { &[data-cat="sale"]:before {
background: transparent url("/assets/images/icons/sale.svg") no-repeat left center; background: transparent url("/assets/images/icons/sale.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="profile"]:before { &[data-cat="profile"]:before {
background: transparent url("/assets/images/icons/profile.svg") no-repeat left center; background: transparent url("/assets/images/icons/profile.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

&[data-cat="user"]:before { &[data-cat="user"]:before {
background: transparent url("/assets/images/icons/user.svg") no-repeat left center; background: transparent url("/assets/images/icons/user.svg") no-repeat left center;
background-size: 45px auto; background-size: 45px auto;
} }

h3 { h3 {
bottom: 50%; bottom: 50%;
transform: translate(0,50%);
transform: translate(0, 50%);
} }
} }
} }
} }

.nav { .nav {
li { li {
margin: 0 !important; margin: 0 !important;


Loading…
取消
儲存