[Monitor Dashboard]: Add home page. Fix a bug when edit indicator and filter is on
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor_dashboard@57719 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
e8e95da10f
commit
706b2532f7
|
@ -23,6 +23,11 @@ const routes: Routes = [
|
||||||
resolve: {envSpecific: EnvironmentSpecificResolver},
|
resolve: {envSpecific: EnvironmentSpecificResolver},
|
||||||
data: {hasSidebar: false}
|
data: {hasSidebar: false}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'admin',
|
||||||
|
loadChildren: './home/home.module#HomeModule',
|
||||||
|
resolve: {envSpecific: EnvironmentSpecificResolver}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'admin/:stakeholder',
|
path: 'admin/:stakeholder',
|
||||||
loadChildren: './stakeholder/stakeholder.module#StakeholderModule',
|
loadChildren: './stakeholder/stakeholder.module#StakeholderModule',
|
||||||
|
|
|
@ -29,19 +29,19 @@ export class StakeholderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
getAllStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
getAllStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
||||||
return this.http.get<Stakeholder[]>(url + '/stakeholder/all' + (type)?('?type=' + type):'').pipe(map(stakeholders => {
|
return this.http.get<Stakeholder[]>(url + '/stakeholder/all' + ((type)?('?type=' + type):'')).pipe(map(stakeholders => {
|
||||||
return this.formalize(stakeholders);
|
return this.formalize(stakeholders);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
getStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
getStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
||||||
return this.http.get<Stakeholder[]>(url + '/stakeholder' + (type)?('?type=' + type):'').pipe(map(stakeholders => {
|
return this.http.get<Stakeholder[]>(url + '/stakeholder' + ((type)?('?type=' + type):'')).pipe(map(stakeholders => {
|
||||||
return this.formalize(stakeholders);
|
return this.formalize(stakeholders);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
getDefaultStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
getDefaultStakeholders(url: string, type: string = null): Observable<Stakeholder[]> {
|
||||||
return this.http.get<Stakeholder[]>(url + '/stakeholder/default' + (type)?('?type=' + type):'').pipe(map(stakeholders => {
|
return this.http.get<Stakeholder[]>(url + '/stakeholder/default' + ((type)?('?type=' + type):'')).pipe(map(stakeholders => {
|
||||||
return this.formalize(stakeholders);
|
return this.formalize(stakeholders);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<div [class.uk-child-width-1-3@m]="grid"
|
<div [class.uk-child-width-1-3@m]="grid"
|
||||||
[class.uk-child-width-1-2@s]="grid"
|
[class.uk-child-width-1-2@s]="grid"
|
||||||
[class.uk-child-width-1-1]="!grid"
|
[class.uk-child-width-1-1]="!grid"
|
||||||
[class.list]="!grid" id="number"
|
[class.max-width-large]="!grid" id="number"
|
||||||
class="uk-grid-match uk-grid-small"
|
class="uk-grid-match uk-grid-small"
|
||||||
uk-sortable uk-grid>
|
uk-sortable uk-grid>
|
||||||
<ng-template ngFor [ngForOf]="displayNumbers" let-indicator let-i="index">
|
<ng-template ngFor [ngForOf]="displayNumbers" let-indicator let-i="index">
|
||||||
|
@ -76,8 +76,8 @@
|
||||||
<i class="md-icon material-icons">more_vert</i>
|
<i class="md-icon material-icons">more_vert</i>
|
||||||
<div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
|
<div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
|
||||||
<ul class="uk-nav uk-dropdown-nav">
|
<ul class="uk-nav uk-dropdown-nav">
|
||||||
<li><a (click)="editIndicatorOpen(i)">Edit</a></li>
|
<li><a (click)="editIndicatorOpen(indicator._id)">Edit</a></li>
|
||||||
<li><a (click)="deleteIndicatorOpen(i, 'number')">Delete</a></li>
|
<li><a (click)="deleteIndicatorOpen(indicator._id, 'number')">Delete</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
<div [class.uk-child-width-1-3@m]="grid"
|
<div [class.uk-child-width-1-3@m]="grid"
|
||||||
[class.uk-child-width-1-2@s]="grid"
|
[class.uk-child-width-1-2@s]="grid"
|
||||||
[class.uk-child-width-1-1]="!grid"
|
[class.uk-child-width-1-1]="!grid"
|
||||||
[class.list]="!grid" id="chart"
|
[class.max-width-large]="!grid" id="chart"
|
||||||
class="uk-grid-match uk-grid-small uk-grid"
|
class="uk-grid-match uk-grid-small uk-grid"
|
||||||
uk-sortable uk-grid>
|
uk-sortable uk-grid>
|
||||||
<ng-template ngFor [ngForOf]="displayCharts" let-indicator let-i="index">
|
<ng-template ngFor [ngForOf]="displayCharts" let-indicator let-i="index">
|
||||||
|
@ -143,8 +143,8 @@
|
||||||
<i class="md-icon material-icons">more_vert</i>
|
<i class="md-icon material-icons">more_vert</i>
|
||||||
<div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
|
<div uk-dropdown="mode: click; pos: bottom-right" class="uk-padding-remove-horizontal">
|
||||||
<ul class="uk-nav uk-dropdown-nav">
|
<ul class="uk-nav uk-dropdown-nav">
|
||||||
<li><a (click)="editIndicatorOpen(i)">Edit</a></li>
|
<li><a (click)="editIndicatorOpen(indicator._id)">Edit</a></li>
|
||||||
<li><a (click)="deleteIndicatorOpen(i)">Delete</a></li>
|
<li><a (click)="deleteIndicatorOpen(indicator._id)">Delete</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -97,7 +97,9 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges): void {
|
ngOnChanges(changes: SimpleChanges): void {
|
||||||
if (this.canEdit) {
|
if (this.canEdit) {
|
||||||
this.buildFilters();
|
if(changes.topicIndex || changes.categoryIndex || changes.subcategoryIndex) {
|
||||||
|
this.buildFilters();
|
||||||
|
}
|
||||||
this.filterCharts();
|
this.filterCharts();
|
||||||
this.filterNumbers();
|
this.filterNumbers();
|
||||||
}
|
}
|
||||||
|
@ -157,7 +159,6 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
||||||
}
|
}
|
||||||
|
|
||||||
onPrivacyChange(value) {
|
onPrivacyChange(value) {
|
||||||
console.log(value);
|
|
||||||
this.displayCharts = this.filterPrivacy(this.charts, value);
|
this.displayCharts = this.filterPrivacy(this.charts, value);
|
||||||
this.displayNumbers = this.filterPrivacy(this.numbers, value);
|
this.displayNumbers = this.filterPrivacy(this.numbers, value);
|
||||||
}
|
}
|
||||||
|
@ -308,10 +309,10 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
||||||
this.editIndicatorOpen();
|
this.editIndicatorOpen();
|
||||||
}
|
}
|
||||||
|
|
||||||
public editIndicatorOpen(index: number = -1) {
|
public editIndicatorOpen(id = null) {
|
||||||
this.index = index;
|
this.index = this.charts.findIndex(value => value._id === id);
|
||||||
if (this.index !== -1) {
|
if (this.index !== -1) {
|
||||||
this.indicator = HelperFunctions.copy(this.charts[index]);
|
this.indicator = HelperFunctions.copy(this.charts[this.index]);
|
||||||
}
|
}
|
||||||
let indicatorPaths = this.fb.array([]);
|
let indicatorPaths = this.fb.array([]);
|
||||||
this.indicator.indicatorPaths.forEach(indicatorPath => {
|
this.indicator.indicatorPaths.forEach(indicatorPath => {
|
||||||
|
@ -346,7 +347,7 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
||||||
indicatorPaths: indicatorPaths,
|
indicatorPaths: indicatorPaths,
|
||||||
width: this.fb.control(this.indicator.width, Validators.required),
|
width: this.fb.control(this.indicator.width, Validators.required),
|
||||||
});
|
});
|
||||||
if(index === -1) {
|
if(this.index === -1) {
|
||||||
this.editIndicatorModal.okButtonText = 'Save';
|
this.editIndicatorModal.okButtonText = 'Save';
|
||||||
this.editIndicatorModal.stayOpen = false;
|
this.editIndicatorModal.stayOpen = false;
|
||||||
} else {
|
} else {
|
||||||
|
@ -414,12 +415,11 @@ export class IndicatorsComponent implements OnInit, OnDestroy, OnChanges, AfterV
|
||||||
this.indicatorPaths.at(index).markAsPristine({onlySelf: true});
|
this.indicatorPaths.at(index).markAsPristine({onlySelf: true});
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteIndicatorOpen(index: number, type: string = 'chart') {
|
deleteIndicatorOpen(id: string, type: string = 'chart') {
|
||||||
this.index = index;
|
|
||||||
if(type === 'chart') {
|
if(type === 'chart') {
|
||||||
this.indicator = this.charts[index];
|
this.indicator = this.charts.find(value => value._id == id);
|
||||||
} else {
|
} else {
|
||||||
this.indicator = this.numbers[index];
|
this.indicator = this.numbers.find(value => value._id == id);
|
||||||
}
|
}
|
||||||
this.deleteIndicatorModal.alertTitle = 'Delete ' + this.indicator.name;
|
this.deleteIndicatorModal.alertTitle = 'Delete ' + this.indicator.name;
|
||||||
this.deleteIndicatorModal.cancelButtonText = 'No';
|
this.deleteIndicatorModal.cancelButtonText = 'No';
|
||||||
|
|
|
@ -99,7 +99,7 @@ body.dashboard {
|
||||||
float: none;
|
float: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dashboard .list {
|
.dashboard .max-width-large {
|
||||||
max-width: 1220px;
|
max-width: 1220px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue