2019-11-05 15:59:06 +01:00
< aside id = "sidebar_main" >
2020-10-12 14:54:57 +02:00
< div id = "sidebar_content" >
2020-11-04 14:30:22 +01:00
< div class = "menu_section uk-margin-top" >
2020-10-29 17:36:19 +01:00
< div class = "uk-text-center" >
2020-10-31 17:02:30 +01:00
< a [ routerLink ] = " ' / admin / ' + stakeholder . alias "
class="uk-link-heading uk-text-uppercase uk-flex uk-flex-middle uk-flex-center">
2020-11-02 15:46:19 +01:00
< icon name = "close" ratio = "2" > < / icon >
2020-10-31 17:02:30 +01:00
< span * ngIf = "open" class = "uk-margin-left" > Indicators< / span >
2020-10-29 17:36:19 +01:00
< / a >
< / div >
2020-10-31 17:02:30 +01:00
< div class = "menu_section uk-margin-xlarge-top" >
< ul class = "uk-list" >
< ng-template ngFor [ ngForOf ] = " stakeholder . topics " let-topic let-i = "index" >
< li class = "uk-visible-toggle"
[class.uk-active]="topicIndex == i">
< a [ routerLink ] = " ' / admin / ' + stakeholder . alias + ' / indicators / ' + topic . alias "
2020-11-02 15:46:19 +01:00
class="uk-flex uk-flex-middle" [title]="topic.name">
2020-10-31 17:02:30 +01:00
< span * ngIf = "topic.icon" > < / span >
< div class = "uk-width-expand uk-position-relative uk-flex uk-flex-middle"
[class.uk-flex-center]="open">
2020-11-27 10:54:57 +01:00
< span class = "uk-flex-none" >
2020-10-29 17:36:19 +01:00
< ng-container * ngTemplateOutlet = "visibilityOptions; context:
2020-10-31 17:02:30 +01:00
{i:i, type: 'topic', visibility: stakeholder.topics[i].visibility}">
< / ng-container >
< / span >
2020-11-27 10:54:57 +01:00
< span [ class . uk-text-center ] = " open "
[class.uk-text-truncate]="!open" [class.uk-width-3-5]="!open">{{topic.name}}< / span >
2020-10-31 17:02:30 +01:00
< span class = "uk-invisible-hover color"
(click)="$event.stopPropagation();$event.preventDefault()">
2020-11-27 10:54:57 +01:00
< span class = "uk-icon more" uk-icon = "more-vertical" > < / span >
2020-10-31 17:02:30 +01:00
< div # element uk-dropdown = "mode: click; pos: bottom-right; offset: 5; delay-hide: 0; flip: false" >
2020-10-29 17:36:19 +01:00
< ul class = "uk-nav uk-dropdown-nav uk-list" >
< li > < a ( click ) = " editTopicOpen ( i ) ; hide ( element ) " > Edit< / a > < / li >
< ng-template ngFor [ ngForOf ] = " stakeholderUtils . visibility " let-v >
2020-11-03 11:04:45 +01:00
< li * ngIf = "topic.visibility != v.value" > < a ( click ) = " changeTopicStatus ( i , v . value ) ;
2020-10-31 17:02:30 +01:00
hide(element)">
2020-10-29 17:36:19 +01:00
{{'Make ' + v.label.toLowerCase()}}< / a >
< / li >
< / ng-template >
< hr * ngIf = "!topic.defaultId" class = "uk-nav-divider" >
< li * ngIf = "!topic.defaultId" > < a ( click ) = " deleteTopicOpen ( i , ' delete ' ) ; hide ( element ) " > Delete< / a >
<!-- <ng - container *ngIf="!stakeholder.defaultId"> -->
<!-- <a (click)="deleteTopicOpen(i, 'delete'); hide(element)">Delete from all profiles</a> -->
<!-- <a (click)="deleteTopicOpen(i, 'disconnect'); hide(element)">Delete and disconnect from all profiles</a> -->
<!-- </ng - container> -->
2020-10-23 15:58:16 +02:00
< / li >
2020-10-29 17:36:19 +01:00
< / ul >
< / div >
2020-10-31 17:02:30 +01:00
< / span >
< / div >
< / a >
2020-10-29 17:36:19 +01:00
< / li >
2020-10-31 17:02:30 +01:00
< / ng-template >
< li class = "uk-margin-top" [ class . uk-visible-toggle ] = " open " >
< span ( click ) = " editTopicOpen ( -1 ) ; $ event . preventDefault ( ) "
class="clickable uk-flex uk-flex-middle uk-flex-center">
2020-12-01 16:43:43 +01:00
< span class = "uk-icon-button small portal-icon-button" >
2020-10-31 17:02:30 +01:00
< icon name = "add" > < / icon >
< / span >
2020-12-17 16:39:31 +01:00
< span [ class . uk-hidden-hover ] = " stakeholder . topics . length > 0" class="space" [class.uk-hidden]="!open"> Create new topic< / span >
2020-10-31 17:02:30 +01:00
< / span >
< / li >
< / ul >
< / div >
2020-11-04 14:37:31 +01:00
< div * ngIf = "stakeholder && stakeholder.topics.length > 0" class = "uk-position-bottom uk-margin-bottom" >
2020-11-04 12:16:47 +01:00
< div class = "uk-flex uk-flex-center" >
<!-- <a class="portal - icon - button uk - icon - button icon - button - small uk - margin - right" uk - tooltip="Help">
< i uk-icon = "icon:question;ratio:0.7" class = "uk-icon" > < / i >
< / a > -->
2020-11-04 14:30:22 +01:00
< a class = "portal-icon-button uk-icon-button small" uk-tooltip = "Preview" >
2020-11-04 12:16:47 +01:00
< icon name = "preview" [ ratio ] = " 0 . 7 " > < / icon >
< / a >
< div # element uk-dropdown = "mode: click; pos: top-left; offset: 5; delay-hide: 0; flip: false"
class="uk-padding-remove-horizontal">
< ul class = "uk-nav uk-dropdown-nav" >
< li > < a target = "_blank" [ routerLink ] = " ' / ' + stakeholder . alias + ' / ' + stakeholder . topics [ topicIndex ] . alias "
[queryParams]="{view: 'public'}"
(click)="hide(element)">Public view< / a >
< / li >
< li > < a target = "_blank" [ routerLink ] = " ' / ' + stakeholder . alias + ' / ' +
stakeholder.topics[topicIndex].alias"
[queryParams]="{view: 'restricted'}"
(click)="hide(element)">Restricted view< / a >
< / li >
<!-- <li class="disabled"><a class="uk - disabled uk - text - muted"
uk-tooltip="Note: available only in administration dashboard"
(click)="hide(element)">Private view< / a >
< / li > -->
< / ul >
< / div >
< / div >
< / div >
2020-10-29 17:36:19 +01:00
< / div >
2020-10-12 14:54:57 +02:00
< / div >
< div * ngIf = "!isSmallScreen" id = "sidebar_switcher_toggle" class = "clickable "
2020-10-29 17:36:19 +01:00
(click)="toggleOpen($event)">
< span class = "uk-position-center" * ngIf = "!open" uk-icon = "icon:chevron-right; ratio: 1.5" > < / span >
< span class = "uk-position-center" * ngIf = "open" uk-icon = "icon: chevron-left; ratio:1.5" > < / span >
2019-11-04 12:50:25 +01:00
< / div >
< / aside >
2020-11-02 15:46:19 +01:00
< div * ngIf = "stakeholder && filters" page-content >
2020-11-01 16:41:56 +01:00
< div header >
2020-11-02 15:46:19 +01:00
< nav >
2020-11-04 14:30:22 +01:00
< div * ngIf = "stakeholder.topics.length > 0 && stakeholder.topics[topicIndex]" >
2020-11-02 15:46:19 +01:00
< ul * ngIf = "stakeholder.topics[topicIndex]"
2021-01-11 19:34:31 +01:00
class="customTabs uk-tab admin uk-flex uk-flex-middle" visibility="true">
2020-11-01 16:41:56 +01:00
< ng-template ngFor [ ngForOf ] = " stakeholder . topics [ topicIndex ] . categories " let-category let-i = "index" >
< li class = "uk-visible-toggle uk-flex uk-flex-middle"
[class.uk-active]="category.alias === stakeholder.topics[topicIndex].categories[categoryIndex].alias">
2020-11-27 10:54:57 +01:00
< span class = "uk-flex-none" >
< ng-container * ngTemplateOutlet = "visibilityOptions; context:
2020-10-31 17:02:30 +01:00
{i:i, type: 'cat',
visibility: stakeholder.topics[topicIndex].categories[i].visibility}">
2020-11-27 10:54:57 +01:00
< / ng-container >
< / span >
2021-11-24 18:31:33 +01:00
< a ( click ) = " chooseCategory ( i ) " >
2020-11-01 16:41:56 +01:00
< span class = "title" > {{category.name}}< / span >
< / a >
< span class = "uk-invisible-hover" ( click ) = " $ event . stopPropagation ( ) ; $ event . preventDefault ( ) " >
2020-10-31 17:02:30 +01:00
< span class = "uk-icon clickable" uk-icon = "more-vertical" > < / span >
< div # element uk-dropdown = "mode: click; pos: bottom-right; offset: 5; delay-hide: 0; flip: false" >
2020-10-12 14:54:57 +02:00
< ul class = "uk-nav uk-dropdown-nav" >
< li > < a ( click ) = " editCategoryOpen ( i ) ; hide ( element ) " > Edit< / a > < / li >
2020-10-23 15:58:16 +02:00
< ng-template ngFor [ ngForOf ] = " stakeholderUtils . visibility " let-v >
2020-11-03 11:04:45 +01:00
< li * ngIf = "category.visibility != v.value" > < a ( click ) = " changeCategoryStatus ( i , v . value ) ;
2020-10-23 15:58:16 +02:00
hide(element)">
2020-10-29 17:36:19 +01:00
{{'Make ' + v.label.toLowerCase()}}< / a >
2020-10-23 15:58:16 +02:00
< / li >
< / ng-template >
2020-10-29 17:36:19 +01:00
< hr * ngIf = "!stakeholder.topics[topicIndex].categories[i].defaultId" class = "uk-nav-divider" >
2020-10-12 14:54:57 +02:00
< li * ngIf = "!stakeholder.topics[topicIndex].categories[i].defaultId" > < a
2020-10-29 17:36:19 +01:00
(click)="deleteCategoryOpen(i, 'delete'); hide(element)">Delete< / a >
2020-10-12 14:54:57 +02:00
< / li >
< / ul >
< / div >
< / span >
2020-11-01 16:41:56 +01:00
< / li >
< / ng-template >
< li class = "uk-visible-toggle" >
2020-10-31 17:02:30 +01:00
< span ( click ) = " editCategoryOpen ( ) ; $ event . preventDefault ( ) " class = "clickable" >
< span class = "uk-icon-button small portal-icon-button" >
< icon name = "add" > < / icon >
< / span >
2020-12-17 16:39:31 +01:00
< span [ class . uk-hidden-hover ] = " stakeholder . topics [ topicIndex ] . categories . length > 0" class="space">Create new category< / span >
2020-10-12 14:54:57 +02:00
< / span >
2020-11-01 16:41:56 +01:00
< / li >
< / ul >
< / div >
< / nav >
2020-11-04 14:30:22 +01:00
< ul * ngIf = "stakeholder.topics.length > 0 && stakeholder.topics[topicIndex].categories.length > 0 && stakeholder.topics[topicIndex].categories[categoryIndex]"
2021-01-11 19:34:31 +01:00
visibility="true" class="uk-subnav uk-subnav-pill subCategoriesTabs admin uk-flex uk-flex-middle">
2020-11-01 16:41:56 +01:00
< ng-template ngFor [ ngForOf ] = " stakeholder . topics [ topicIndex ] . categories [ categoryIndex ] . subCategories "
let-subCategory let-i="index">
< li [ class . uk-active ] = " ( subCategory . alias = ==
2020-10-29 17:36:19 +01:00
stakeholder.topics[topicIndex].categories[categoryIndex].subCategories[subCategoryIndex].alias)"
2020-11-01 16:41:56 +01:00
class="uk-visible-toggle uk-position-relative uk-padding-remove-horizontal">
2020-10-31 17:02:30 +01:00
< span >
2020-11-27 10:54:57 +01:00
< span class = "uk-flex-none" >
< ng-container * ngTemplateOutlet = "visibilityOptions; context:
{i:i, type: 'sub',
visibility: stakeholder.topics[topicIndex].categories[categoryIndex].subCategories[i].visibility}">
< / ng-container >
< / span >
2021-11-24 18:31:33 +01:00
< a ( click ) = " chooseSubcategory ( i ) ; $ event . preventDefault ( ) "
2020-10-31 17:02:30 +01:00
class="space">
< span > {{subCategory.name}}< / span >
< / a >
< span class = "uk-invisible-hover uk-position-center-right color"
(click)="$event.stopPropagation();$event.preventDefault()">
< span class = "clickable" uk-icon = "more-vertical" > < / span >
2021-07-22 16:48:47 +02:00
2020-11-01 16:41:56 +01:00
< div # element uk-dropdown = "mode: click; pos: bottom-right; offset: 10; delay-hide: 0; flip: false" >
2020-10-31 17:02:30 +01:00
< ul class = "uk-nav uk-dropdown-nav" >
< li > < a ( click ) = " editSubCategoryOpen ( i ) ; hide ( element ) " > Edit< / a > < / li >
< ng-template ngFor [ ngForOf ] = " stakeholderUtils . visibility " let-v >
2020-11-03 11:04:45 +01:00
< li * ngIf = "subCategory.visibility != v.value" > < a ( click ) = " changeSubcategoryStatus ( i , v . value ) ;
2020-10-31 17:02:30 +01:00
hide(element)">
{{'Make ' + v.label.toLowerCase()}}< / a >
< / li >
< / ng-template >
2021-07-22 16:48:47 +02:00
< li * ngIf = "indicators && indicators.isCurator" > < a ( click ) = " indicators . exportIndicators ( ) ;
2021-07-21 16:20:51 +02:00
hide(element)">Export
indicators< / a > < / li >
2021-12-13 10:37:06 +01:00
< li * ngIf = "indicators && indicators.isCurator" > < a ( click ) = " file . value = '' ; this . index = i; file . click ( ) ; hide ( element ) " > Import indicators< / a > < / li >
2020-10-31 17:02:30 +01:00
< hr * ngIf = "!stakeholder.topics[topicIndex].categories[categoryIndex].subCategories[i].defaultId"
class="uk-nav-divider">
< li * ngIf = "!stakeholder.topics[topicIndex].categories[categoryIndex].subCategories[i].defaultId" > < a
(click)="deleteSubcategoryOpen(i, 'delete'); hide(element)">Delete< / a >
2020-10-12 14:54:57 +02:00
2020-10-23 15:58:16 +02:00
< / li >
2020-10-31 17:02:30 +01:00
< / ul >
< / div >
< / span >
< / span >
2020-11-01 16:41:56 +01:00
< / li >
< / ng-template >
2021-01-11 19:34:31 +01:00
< li class = "uk-visible-toggle" >
2020-10-31 17:02:30 +01:00
< span ( click ) = " editSubCategoryOpen ( ) ; $ event . preventDefault ( ) " class = "clickable" >
< span class = "uk-icon-button small portal-icon-button" >
< icon name = "add" > < / icon >
< / span >
2021-11-24 18:31:33 +01:00
< span [ class . uk-hidden-hover ] = " stakeholder . topics [ topicIndex ] . categories [ categoryIndex ] . subCategories . length > 0" class="space">Create new subcategory< / span >
2020-10-31 17:02:30 +01:00
< / span >
2020-11-01 16:41:56 +01:00
< / li >
< / ul >
2020-11-02 15:46:19 +01:00
<!-- <div class="uk - grid uk - margin - medium" uk - grid>
< div * ngIf = "filters" class = "uk-width-2-3@m uk-width-1-1 uk-child-width-1-3@m uk-child-width-1-1" uk-grid >
< div >
< div dashboard-input [ formInput ] = " filters . get ( ' chartType ' ) "
type="select" [options]="[all].concat(indicatorUtils.allChartTypes)"
label="Chart Type">< / div >
< / div >
< div >
< div dashboard-input [ formInput ] = " filters . get ( ' status ' ) "
type="select" [options]="[all].concat(stakeholderUtils.visibility)"
label="Status">< / div >
< / div >
< / div >
< div class = "uk-width-expand@m uk-width-1-1 uk-flex uk-flex-middle uk-flex-right" >
< div class = "uk-inline uk-width-medium" >
< span class = "uk-position-center-right" > < i uk-icon = "search" class = "uk-icon" > < / i > < / span >
< div dashboard-input [ formInput ] = " filters . get ( ' keyword ' ) " label = "Locate indicator" > < / div >
< / div >
< / div >
< / div > -->
2020-10-12 14:54:57 +02:00
< / div >
2020-11-01 16:41:56 +01:00
< div inner >
2021-12-13 10:37:06 +01:00
< input # file id = "import-file" type = "file" class = "uk-hidden" ( change ) = " indicators . fileChangeEvent ( $ event , this . index ) " / >
2021-11-24 18:31:33 +01:00
< indicators # indicators [ topicIndex ] = " topicIndex " [ categoryIndex ] = " categoryIndex "
[subcategoryIndex]="subCategoryIndex"
[stakeholder]="stakeholder" [changed]="change.asObservable()">< / indicators >
2020-10-12 14:54:57 +02:00
< / div >
< / div >
2019-12-19 12:17:32 +01:00
< modal-alert # deleteModal ( alertOutput ) = " deleteElement ( ) " >
You are about to delete < span class = "uk-text-bold" * ngIf = "element" > "{{element.name}}"< / span > {{type}} permanently.
2020-06-23 10:33:13 +02:00
< div * ngIf = "elementChildrenActionOnDelete == 'delete'" class = "uk-text-bold" >
{{getPluralTypeName()}} of all profiles based on this default {{type}}, will be deleted as well.
< / div >
2019-12-19 12:17:32 +01:00
Are you sure you want to proceed?
< / modal-alert >
2020-10-23 15:58:16 +02:00
2020-10-29 17:36:19 +01:00
< modal-alert # editModal ( alertOutput ) = " saveElement ( ) " [ okDisabled ] = " form & & ( form . invalid | | form . pristine ) " >
< div * ngIf = "form" class = "uk-grid uk-padding uk-padding-remove-horizontal uk-child-width-1-1" [ formGroup ] = " form "
uk-grid>
< div dashboard-input [ formInput ] = " form . get ( ' name ' ) " label = "Title" > < / div >
< div dashboard-input [ formInput ] = " form . get ( ' description ' ) "
2019-12-19 12:17:32 +01:00
label="Description" type="textarea">
< / div >
2020-10-29 17:36:19 +01:00
< div * ngIf = "form.get('icon')" dashboard-input [ formInput ] = " form . get ( ' icon ' ) "
2020-06-11 12:12:30 +02:00
label="Icon(SVG)" type="textarea">
< / div >
2020-10-29 17:36:19 +01:00
< div dashboard-input [ formInput ] = " form . get ( ' visibility ' ) "
label="Status" [options]="stakeholderUtils.visibility" type="select">
2019-12-19 12:17:32 +01:00
< / div >
< / div >
< / modal-alert >
2019-11-12 16:55:37 +01:00
2020-10-23 15:58:16 +02:00
2020-10-29 17:36:19 +01:00
< ng-template # visibilityOptions let-type = "type" let-i = "i" let-visibility = "visibility" >
2020-11-27 10:54:57 +01:00
< span class = "uk-invisible-hover" ( click ) = " $ event . stopPropagation ( ) ; $ event . preventDefault ( ) " >
< span class = "clickable visibility small" >
2020-10-31 17:02:30 +01:00
< icon [ name ] = " stakeholderUtils . visibilityIcon . get ( visibility ) " [ ratio ] = " 0 . 5 " > < / icon >
< / span >
< div # element uk-dropdown = "mode: click; pos: bottom-left; delay-hide: 0; flip: false" >
< ul class = "uk-nav uk-dropdown-nav" >
< li * ngFor = "let v of stakeholderUtils.visibility" >
< a * ngIf = "visibility != v.value"
(click)="$event.stopPropagation();toggleStatusByIndex(i, v.value, type);hide(element);$event.preventDefault()">
< icon [ name ] = " stakeholderUtils . visibilityIcon . get ( v . value ) " ratio = "0.8" > < / icon >
< span > {{v.label}}< / span >
< / a >
< a * ngIf = "visibility == v.value" class = "uk-position-relative" >
< icon [ name ] = " stakeholderUtils . visibilityIcon . get ( v . value ) " [ ratio ] = " 0 . 8 " > < / icon >
< span > {{v.label}}< / span >
< span class = "uk-position-center-right" >
< icon customClass = "uk-text-secondary" [ ratio ] = " 0 . 5 " name = "bullet" > < / icon >
< / span >
< / a >
< / li >
< / ul >
< / div >
< / span >
2020-10-23 15:58:16 +02:00
< / ng-template >