|
|
|
@ -1,29 +1,30 @@
|
|
|
|
|
<aside *ngIf="stakeholder" id="sidebar_main">
|
|
|
|
|
<div sidebar-content>
|
|
|
|
|
<div class="back">
|
|
|
|
|
<a [routerLink]="'/admin/' + stakeholder.alias" class="uk-flex uk-flex-middle uk-flex-center">
|
|
|
|
|
<div class="uk-width-auto">
|
|
|
|
|
<icon name="west" [flex]="true" ratio="1.3"></icon>
|
|
|
|
|
</div>
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate uk-margin-left hide-on-close">Indicators</span>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="menu_section uk-margin-large-top">
|
|
|
|
|
<ul class="uk-list uk-nav uk-nav-default" transition-group [id]="'topics'"
|
|
|
|
|
uk-nav="duration: 400">
|
|
|
|
|
<li *ngFor="let topic of stakeholder.topics; let i=index" class="uk-parent" [class.uk-active]="topicIndex === i"
|
|
|
|
|
transition-group-item>
|
|
|
|
|
<a [routerLink]="'/admin/'+stakeholder.alias + '/indicators/' + topic.alias"
|
|
|
|
|
[title]="topic.name" class="uk-visible-toggle uk-flex uk-flex-middle">
|
|
|
|
|
<div *ngIf="topic.icon" class="uk-width-auto">
|
|
|
|
|
<icon class="menu-icon" [svg]="topic.icon" ratio="0.9" [flex]="true"></icon>
|
|
|
|
|
</div>
|
|
|
|
|
<span [class.hide-on-close]="topic.icon"
|
|
|
|
|
class="uk-width-expand uk-text-truncate uk-margin-small-left">
|
|
|
|
|
<div class="uk-flex">
|
|
|
|
|
<aside *ngIf="stakeholder" uk-sticky="end: .sidebar_main_swipe;" [attr.offset]="offset" id="sidebar_main">
|
|
|
|
|
<div sidebar-content>
|
|
|
|
|
<div class="back">
|
|
|
|
|
<a [routerLink]="'/admin/' + stakeholder.alias" class="uk-flex uk-flex-middle uk-flex-center">
|
|
|
|
|
<div class="uk-width-auto">
|
|
|
|
|
<icon name="west" [flex]="true" ratio="1.3"></icon>
|
|
|
|
|
</div>
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate uk-margin-left hide-on-close">Indicators</span>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="menu_section uk-margin-large-top">
|
|
|
|
|
<ul class="uk-list uk-nav uk-nav-default" transition-group [id]="'topics'"
|
|
|
|
|
uk-nav="duration: 400">
|
|
|
|
|
<li *ngFor="let topic of stakeholder.topics; let i=index" class="uk-parent" [class.uk-active]="topicIndex === i"
|
|
|
|
|
transition-group-item>
|
|
|
|
|
<a [routerLink]="'/admin/'+stakeholder.alias + '/indicators/' + topic.alias"
|
|
|
|
|
[title]="topic.name" class="uk-visible-toggle uk-flex uk-flex-middle">
|
|
|
|
|
<div *ngIf="topic.icon" class="uk-width-auto">
|
|
|
|
|
<icon class="menu-icon" [svg]="topic.icon" ratio="0.9" [flex]="true"></icon>
|
|
|
|
|
</div>
|
|
|
|
|
<span [class.hide-on-close]="topic.icon"
|
|
|
|
|
class="uk-width-expand uk-text-truncate uk-margin-small-left">
|
|
|
|
|
{{topic.name}}
|
|
|
|
|
</span>
|
|
|
|
|
<span class="uk-margin-xsmall-left hide-on-close" [class.uk-invisible-hover]="topicIndex !== i"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<span class="uk-margin-xsmall-left hide-on-close" [class.uk-invisible-hover]="topicIndex !== i"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<a class="uk-link-reset uk-flex uk-flex-middle">
|
|
|
|
|
<icon [flex]="true" [name]="stakeholderUtils.visibilityIcon.get(topic.visibility)"
|
|
|
|
|
ratio="0.6"></icon>
|
|
|
|
@ -90,17 +91,17 @@
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</span>
|
|
|
|
|
<span class="uk-nav-parent-icon hide-on-close"></span>
|
|
|
|
|
</a>
|
|
|
|
|
<ul *ngIf="isBrowser || topicIndex === i" class="uk-nav-sub" [id]="'categories-' + i.toString()"
|
|
|
|
|
transition-group>
|
|
|
|
|
<li *ngFor="let category of topic.categories; let j=index" transition-group-item class="uk-visible-toggle"
|
|
|
|
|
[class.uk-active]="categoryIndex == j">
|
|
|
|
|
<a (click)="chooseCategory(j)" [title]="category.name">
|
|
|
|
|
<div class="uk-flex uk-flex-middle uk-width-1-1">
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate">{{category.name}}</span>
|
|
|
|
|
<span class="uk-margin-xsmall-left hide-on-close" [class.uk-invisible-hover]="categoryIndex !== j"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<span class="uk-nav-parent-icon hide-on-close"></span>
|
|
|
|
|
</a>
|
|
|
|
|
<ul *ngIf="isBrowser || topicIndex === i" class="uk-nav-sub" [id]="'categories-' + i.toString()"
|
|
|
|
|
transition-group>
|
|
|
|
|
<li *ngFor="let category of topic.categories; let j=index" transition-group-item class="uk-visible-toggle"
|
|
|
|
|
[class.uk-active]="categoryIndex == j">
|
|
|
|
|
<a (click)="chooseCategory(j)" [title]="category.name">
|
|
|
|
|
<div class="uk-flex uk-flex-middle uk-width-1-1">
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate">{{category.name}}</span>
|
|
|
|
|
<span class="uk-margin-xsmall-left hide-on-close" [class.uk-invisible-hover]="categoryIndex !== j"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<a class="uk-link-reset uk-flex uk-flex-middle">
|
|
|
|
|
<icon [flex]="true" [name]="stakeholderUtils.visibilityIcon.get(category.visibility)"
|
|
|
|
|
ratio="0.6"></icon>
|
|
|
|
@ -164,34 +165,34 @@
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li *ngIf="isCurator">
|
|
|
|
|
<a (click)="editCategoryOpen(); $event.preventDefault()" class="uk-flex uk-flex-middle">
|
|
|
|
|
<icon name="add" [flex]="true"></icon>
|
|
|
|
|
<span class="hide-on-close">Create new category</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<li *ngIf="isCurator" class="hide-on-close">
|
|
|
|
|
<a (click)="editTopicOpen(-1); $event.preventDefault()">
|
|
|
|
|
<div class="uk-flex uk-flex-middle">
|
|
|
|
|
<div class="uk-width-auto">
|
|
|
|
|
<icon class="menu-icon" name="add" [flex]="true"></icon>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li *ngIf="isCurator">
|
|
|
|
|
<a (click)="editCategoryOpen(); $event.preventDefault()" class="uk-flex uk-flex-middle">
|
|
|
|
|
<icon name="add" [flex]="true"></icon>
|
|
|
|
|
<span class="hide-on-close">Create new category</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<li *ngIf="isCurator" class="hide-on-close">
|
|
|
|
|
<a (click)="editTopicOpen(-1); $event.preventDefault()">
|
|
|
|
|
<div class="uk-flex uk-flex-middle">
|
|
|
|
|
<div class="uk-width-auto">
|
|
|
|
|
<icon class="menu-icon" name="add" [flex]="true"></icon>
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate uk-margin-small-left hide-on-close">Create new topic</span>
|
|
|
|
|
</div>
|
|
|
|
|
<span class="uk-width-expand uk-text-truncate uk-margin-small-left hide-on-close">Create new topic</span>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</aside>
|
|
|
|
|
<div #pageContent *ngIf="stakeholder && filters" page-content>
|
|
|
|
|
<div actions>
|
|
|
|
|
<div *ngIf="stakeholder.topics.length > 0" class="uk-flex uk-flex-center uk-margin-medium-top uk-flex-right@m uk-width-1-1">
|
|
|
|
|
</aside>
|
|
|
|
|
<div #pageContent *ngIf="stakeholder && filters" page-content>
|
|
|
|
|
<div actions>
|
|
|
|
|
<div *ngIf="stakeholder.topics.length > 0" class="uk-flex uk-flex-center uk-margin-medium-top uk-flex-right@m uk-width-1-1">
|
|
|
|
|
<button class="uk-button uk-button-primary uk-flex uk-flex-middle">
|
|
|
|
|
<icon name="visibility" [flex]="true"></icon>
|
|
|
|
|
<span class="uk-margin-small-left uk-margin-small-right">Preview</span>
|
|
|
|
@ -216,17 +217,17 @@
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<ul *ngIf="stakeholder.topics.length > 0 && stakeholder.topics[topicIndex].categories.length > 0 && stakeholder.topics[topicIndex].categories[categoryIndex]"
|
|
|
|
|
transition-group class="uk-tab uk-margin-xsmall-top" [id]="'subCategories'">
|
|
|
|
|
<ng-template ngFor [ngForOf]=" stakeholder.topics[topicIndex].categories[categoryIndex].subCategories"
|
|
|
|
|
let-subCategory let-i="index">
|
|
|
|
|
<li class="uk-visible-toggle uk-flex" [class.uk-active]="subCategoryIndex === i" transition-group-item>
|
|
|
|
|
<a (click)="chooseSubcategory(i)">
|
|
|
|
|
<span class="uk-text-uppercase">{{subCategory.name}}</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="uk-flex uk-flex-column uk-flex-center uk-margin-small-left"
|
|
|
|
|
[class.uk-invisible-hover]="subCategoryIndex !== i"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<ul *ngIf="stakeholder.topics.length > 0 && stakeholder.topics[topicIndex].categories.length > 0 && stakeholder.topics[topicIndex].categories[categoryIndex]"
|
|
|
|
|
transition-group class="uk-tab uk-margin-xsmall-top" [id]="'subCategories'">
|
|
|
|
|
<ng-template ngFor [ngForOf]=" stakeholder.topics[topicIndex].categories[categoryIndex].subCategories"
|
|
|
|
|
let-subCategory let-i="index">
|
|
|
|
|
<li class="uk-visible-toggle uk-flex" [class.uk-active]="subCategoryIndex === i" transition-group-item>
|
|
|
|
|
<a (click)="chooseSubcategory(i)">
|
|
|
|
|
<span class="uk-text-uppercase">{{subCategory.name}}</span>
|
|
|
|
|
</a>
|
|
|
|
|
<span class="uk-flex uk-flex-column uk-flex-center uk-margin-small-left"
|
|
|
|
|
[class.uk-invisible-hover]="subCategoryIndex !== i"
|
|
|
|
|
(click)="$event.stopPropagation();$event.preventDefault()">
|
|
|
|
|
<a class="uk-link-reset uk-flex uk-flex-middle">
|
|
|
|
|
<icon [flex]="true" [name]="stakeholderUtils.visibilityIcon.get(subCategory.visibility)"
|
|
|
|
|
ratio="0.6"></icon>
|
|
|
|
@ -306,24 +307,26 @@
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ng-template>
|
|
|
|
|
<li *ngIf="isCurator">
|
|
|
|
|
<a (click)="editSubCategoryOpen(); $event.preventDefault()" class="uk-flex uk-flex-middle">
|
|
|
|
|
<icon name="add" [flex]="true"></icon>
|
|
|
|
|
<span class="uk-text-uppercase">Create new subcategory</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ng-template>
|
|
|
|
|
<li *ngIf="isCurator">
|
|
|
|
|
<a (click)="editSubCategoryOpen(); $event.preventDefault()" class="uk-flex uk-flex-middle">
|
|
|
|
|
<icon name="add" [flex]="true"></icon>
|
|
|
|
|
<span class="uk-text-uppercase">Create new subcategory</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div inner>
|
|
|
|
|
<input #file id="import-file" type="file" class="uk-hidden"
|
|
|
|
|
(change)="indicators.fileChangeEvent($event, this.index)"/>
|
|
|
|
|
<indicators #indicators [topicIndex]="topicIndex" [categoryIndex]="categoryIndex"
|
|
|
|
|
[subcategoryIndex]="subCategoryIndex" [user]="user"
|
|
|
|
|
[stakeholder]="stakeholder" [changed]="change.asObservable()"></indicators>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div inner>
|
|
|
|
|
<input #file id="import-file" type="file" class="uk-hidden"
|
|
|
|
|
(change)="indicators.fileChangeEvent($event, this.index)"/>
|
|
|
|
|
<indicators #indicators [topicIndex]="topicIndex" [categoryIndex]="categoryIndex"
|
|
|
|
|
[subcategoryIndex]="subCategoryIndex" [user]="user"
|
|
|
|
|
[stakeholder]="stakeholder" [changed]="change.asObservable()"></indicators>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<modal-alert #deleteModal classTitle="uk-background-primary uk-light" (alertOutput)="deleteElement()"
|
|
|
|
|
[overflowBody]="false">
|
|
|
|
|
<div [class.uk-invisible]="loading" class="uk-position-relative">
|
|
|
|
|