Layout Design
parent
b94d9f79a7
commit
7a92c03f3a
|
|
@ -1,40 +1,42 @@
|
||||||
import { NgModule } from '@angular/core';
|
import {NgModule } from '@angular/core';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import {BrowserModule } from '@angular/platform-browser';
|
||||||
import { MatButtonModule } from '@angular/material/button';
|
import {MatButtonModule } from '@angular/material/button';
|
||||||
import { AppRoutingModule } from './app-routing.module';
|
import {AppRoutingModule } from './app-routing.module';
|
||||||
import { AppComponent } from './app.component';
|
import {AppComponent } from './app.component';
|
||||||
import { GanttModule, EditService, ToolbarService, SelectionService } from '@syncfusion/ej2-angular-gantt';
|
import {GanttModule, EditService, ToolbarService, SelectionService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import {MatPaginatorModule} from '@angular/material/paginator';
|
import {MatPaginatorModule} from '@angular/material/paginator';
|
||||||
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
|
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
|
||||||
import { VirtualScrollService } from '@syncfusion/ej2-angular-gantt';
|
import {VirtualScrollService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import { SortService } from '@syncfusion/ej2-angular-gantt';
|
import {SortService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import { FilterService } from '@syncfusion/ej2-angular-gantt';
|
import {FilterService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import {MatFormFieldModule} from '@angular/material/form-field';
|
import {MatFormFieldModule} from '@angular/material/form-field';
|
||||||
import {MatSelectModule} from '@angular/material/select';
|
import {MatSelectModule} from '@angular/material/select';
|
||||||
import { NttGanttComponent } from './ntt-gantt/ntt-gantt.component';
|
import {NttGanttComponent } from './ntt-gantt/ntt-gantt.component';
|
||||||
import {MatDatepickerModule} from '@angular/material/datepicker';
|
import {MatDatepickerModule} from '@angular/material/datepicker';
|
||||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
|
import {FormsModule, ReactiveFormsModule } from '@angular/forms'
|
||||||
import { MatNativeDateModule } from '@angular/material/core';
|
import {MatNativeDateModule } from '@angular/material/core';
|
||||||
import {HttpClientModule} from '@angular/common/http';
|
import {HttpClientModule} from '@angular/common/http';
|
||||||
import { StateDialogComponent } from './state-dialog/state-dialog.component'
|
import {StateDialogComponent } from './state-dialog/state-dialog.component'
|
||||||
import { MatDialogModule } from '@angular/material/dialog';
|
import {MatDialogModule } from '@angular/material/dialog';
|
||||||
import {MatProgressBarModule} from '@angular/material/progress-bar';
|
import {MatProgressBarModule} from '@angular/material/progress-bar';
|
||||||
import {MatRadioModule} from '@angular/material/radio';
|
import {MatRadioModule} from '@angular/material/radio';
|
||||||
import {MatSnackBarModule} from '@angular/material/snack-bar';
|
import {MatSnackBarModule} from '@angular/material/snack-bar';
|
||||||
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
||||||
import { ImplementerDialogComponent } from './implementer-dialog/implementer-dialog.component';
|
import {ImplementerDialogComponent } from './implementer-dialog/implementer-dialog.component';
|
||||||
import {MatExpansionModule} from '@angular/material/expansion';
|
import {MatExpansionModule} from '@angular/material/expansion';
|
||||||
import {MatInputModule} from '@angular/material/input';
|
import {MatInputModule} from '@angular/material/input';
|
||||||
import {MatCheckboxModule} from '@angular/material/checkbox';
|
import {MatCheckboxModule} from '@angular/material/checkbox';
|
||||||
|
import {MatButtonToggleModule} from '@angular/material/button-toggle';
|
||||||
import {MatAutocompleteModule} from '@angular/material/autocomplete';
|
import {MatAutocompleteModule} from '@angular/material/autocomplete';
|
||||||
import { MultiselectAutocompleteComponent } from './multiselect-autocomplete/multiselect-autocomplete.component';
|
|
||||||
|
import { MultiselectAutocompleteComponent} from './multiselect-autocomplete/multiselect-autocomplete.component';
|
||||||
import {MatChipsModule} from '@angular/material/chips';
|
import {MatChipsModule} from '@angular/material/chips';
|
||||||
import {MatIconModule} from '@angular/material/icon';
|
import {MatIconModule} from '@angular/material/icon';
|
||||||
import { FilterDialogComponent } from './filter-dialog/filter-dialog.component';
|
import {FilterDialogComponent} from './filter-dialog/filter-dialog.component';
|
||||||
import {ScrollingModule} from '@angular/cdk/scrolling';
|
import {ScrollingModule} from '@angular/cdk/scrolling';
|
||||||
import { MomentDateModule } from '@angular/material-moment-adapter';
|
import {MomentDateModule} from '@angular/material-moment-adapter';
|
||||||
import { PlanTimeBarComponent } from './plan-time-bar/plan-time-bar.component';
|
import {PlanTimeBarComponent} from './plan-time-bar/plan-time-bar.component';
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
|
|
@ -72,7 +74,8 @@ import { PlanTimeBarComponent } from './plan-time-bar/plan-time-bar.component';
|
||||||
MatChipsModule,
|
MatChipsModule,
|
||||||
MatIconModule,
|
MatIconModule,
|
||||||
ScrollingModule,
|
ScrollingModule,
|
||||||
MomentDateModule
|
MomentDateModule,
|
||||||
|
MatButtonToggleModule
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,8 @@ export class LanguageService {
|
||||||
this.enMap.set('language', 'Language');
|
this.enMap.set('language', 'Language');
|
||||||
this.deMap.set('clearFilter', 'Filter Löschen');
|
this.deMap.set('clearFilter', 'Filter Löschen');
|
||||||
this.enMap.set('clearFilter', 'Clear Filter');
|
this.enMap.set('clearFilter', 'Clear Filter');
|
||||||
|
this.deMap.set('nttGanttFilterButton', 'Filtern');
|
||||||
|
this.enMap.set('nttGanttFilterButton', 'Filter');
|
||||||
|
|
||||||
this.deMap.set('tooltipSummary', 'Name');
|
this.deMap.set('tooltipSummary', 'Name');
|
||||||
this.enMap.set('tooltipSummary', 'Name');
|
this.enMap.set('tooltipSummary', 'Name');
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,9 @@
|
||||||
#topbar {
|
#topbar {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
margin: 15px 0;
|
margin: 0px 0;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
height: 5%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -37,3 +38,46 @@
|
||||||
.checkbox{
|
.checkbox{
|
||||||
margin: 0 0.5%;
|
margin: 0 0.5%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scalarContainer{
|
||||||
|
margin-left: 0.5%;
|
||||||
|
margin-right: 0.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.filterButton{
|
||||||
|
margin-right: 0.5%;
|
||||||
|
}
|
||||||
|
::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {
|
||||||
|
background-color: #d56100;
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb {
|
||||||
|
background-color: #d56100;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .mat-button-toggle{
|
||||||
|
background-color: #306cee;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-button-toggle:hover {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #1100ff !important;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.mat-button-toggle-checked {
|
||||||
|
background-color: #d56100;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep .mat-calendar{
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep .mat-calendar-body-label{
|
||||||
|
/* color: white; */
|
||||||
|
}
|
||||||
|
|
||||||
|
::ng-deep .mat-calendar-cell-content{
|
||||||
|
color: #d56100;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<div id="topbar">
|
<div id="topbar">
|
||||||
<mat-form-field appearance="fill">
|
<mat-form-field class="datePicker" appearance="fill">
|
||||||
<mat-label>{{languageService.lMap.get('dateRangeLabel')}}</mat-label>
|
<mat-label>{{languageService.lMap.get('dateRangeLabel')}}</mat-label>
|
||||||
<mat-date-range-input [formGroup]="range" [rangePicker]="picker">
|
<mat-date-range-input [formGroup]="range" [rangePicker]="picker">
|
||||||
<input matStartDate formControlName="start" placeholder="Start date" (dateChange)="startDateChanged($event)">
|
<input matStartDate formControlName="start" placeholder="Start date" (dateChange)="startDateChanged($event)">
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
<mat-radio-group
|
<!-- <mat-radio-group
|
||||||
(change)="changeScalar()"
|
(change)="changeScalar()"
|
||||||
aria-labelledby="example-radio-group-label"
|
aria-labelledby="example-radio-group-label"
|
||||||
class="example-radio-group"
|
class="example-radio-group"
|
||||||
|
|
@ -22,16 +22,26 @@
|
||||||
<mat-radio-button color="primary" class="example-radio-button" *ngFor="let scalar of scalars" [value]="scalar" >
|
<mat-radio-button color="primary" class="example-radio-button" *ngFor="let scalar of scalars" [value]="scalar" >
|
||||||
{{scalar}}
|
{{scalar}}
|
||||||
</mat-radio-button>
|
</mat-radio-button>
|
||||||
</mat-radio-group>
|
</mat-radio-group> -->
|
||||||
<!-- <p>Selected range: {{range.value | json}}</p> -->
|
<div class="scalarContainer">
|
||||||
<div class="toggleContainer">
|
<mat-button-toggle-group (change)="changeScalar()" name="fontStyle" aria-label="Font Style" [(ngModel)]="selectedScalar">
|
||||||
|
<mat-button-toggle value="bold"*ngFor="let scalar of scalars" [value]="scalar">
|
||||||
|
{{scalar}}
|
||||||
|
</mat-button-toggle>
|
||||||
|
</mat-button-toggle-group>
|
||||||
|
<br>
|
||||||
<mat-slide-toggle color="primary" [(ngModel)]="showDetails" [checked]="showDetails" (change)="refreshData()">{{languageService.lMap.get('detailButton')}}</mat-slide-toggle>
|
<mat-slide-toggle color="primary" [(ngModel)]="showDetails" [checked]="showDetails" (change)="refreshData()">{{languageService.lMap.get('detailButton')}}</mat-slide-toggle>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <p>Selected range: {{range.value | json}}</p> -->
|
||||||
|
<!-- <div class="toggleContainer">
|
||||||
|
|
||||||
<mat-slide-toggle [disabled]="filters == null" (change)="refreshData()" color="primary" [(ngModel)]="filterEnabled" [checked]="filterEnabled" (change)="applyFilter()">{{languageService.lMap.get('filterButton')}}</mat-slide-toggle>
|
<mat-slide-toggle [disabled]="filters == null" (change)="refreshData()" color="primary" [(ngModel)]="filterEnabled" [checked]="filterEnabled" (change)="applyFilter()">{{languageService.lMap.get('filterButton')}}</mat-slide-toggle>
|
||||||
<mat-slide-toggle color="primary" [(ngModel)]="sortEnabled" [checked]="sortEnabled" >{{languageService.lMap.get('sortButton')}}</mat-slide-toggle>
|
<mat-slide-toggle color="primary" [(ngModel)]="sortEnabled" [checked]="sortEnabled" >{{languageService.lMap.get('sortButton')}}</mat-slide-toggle>
|
||||||
<button mat-icon-button aria-label="clear Filters and Sort" (click)="clearFilter()">
|
|
||||||
{{languageService.lMap.get('clearFilter')}}<mat-icon>clear_all</mat-icon>
|
</div> -->
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -43,14 +53,18 @@
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
<button style="justify-content: flex-end;" mat-icon-button aria-label="Filtern" (click)="openFilterDialog()">
|
<br>
|
||||||
<mat-icon>filter_list</mat-icon>
|
<div>
|
||||||
|
<button mat-raised-button class="filterButton" aria-label="Filtern" (click)="openFilterDialog()">
|
||||||
|
{{languageService.lMap.get('nttGanttFilterButton')}} <mat-icon>filter_list</mat-icon>
|
||||||
|
</button>
|
||||||
|
<button [disabled]="filterEnabled" mat-icon-button aria-label="clear Filters and Sort" (click)="clearFilter()">
|
||||||
|
{{languageService.lMap.get('clearFilter')}} <mat-icon>close</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
*ngIf="!this.showNoResultsError" id="showSpin" data-bind="visible: spin"
|
*ngIf="!this.showNoResultsError" id="showSpin" data-bind="visible: spin"
|
||||||
style=" position: absolute; top: auto; left: 45%;">
|
style=" position: absolute; top: auto; left: 45%;">
|
||||||
|
|
|
||||||
|
|
@ -335,12 +335,12 @@ export class NttGanttComponent implements OnInit {
|
||||||
initLanguge(initial: boolean = false){
|
initLanguge(initial: boolean = false){
|
||||||
|
|
||||||
if(this.languageService.language == 'DE'){
|
if(this.languageService.language == 'DE'){
|
||||||
this.scalars = ['Woche-Tag', 'Monat-Woche', 'Jahr-Monat'];
|
this.scalars = ['Woche', 'Monat', 'Jahr'];
|
||||||
this.selectedScalar = 'Monat-Woche';
|
this.selectedScalar = 'Monat';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.scalars = ['Week-Day', 'Month-Week', 'Year-Month'];
|
this.scalars = ['Week', 'Month', 'Year'];
|
||||||
this.selectedScalar = 'Month-Week';
|
this.selectedScalar = 'Month';
|
||||||
|
|
||||||
}
|
}
|
||||||
this.columns = this.languageService.getColumns();
|
this.columns = this.languageService.getColumns();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue