monitor-dashboard/src/app/topic/topic.component.html

298 lines
15 KiB
HTML

<aside id="sidebar_main">
<div *ngIf="stakeholder" class="sidebar_main_header uk-margin-remove-bottom">
<div class="uk-padding-small">
<img class="uk-margin-bottom" *ngIf="stakeholder.logoUrl" [src]="stakeholder.logoUrl">
<h4 class="uk-text-bold uk-margin-remove">{{stakeholder.index_name}}</h4>
<span class="uk-text-large">Admin Dashboard</span>
</div>
</div>
<div *ngIf="stakeholder" class="menu_section">
<ul>
<li class="uk-margin-bottom md-bg-blue-900 uk-padding-small">
<a [routerLink]="'../'" class="md-color-white uk-flex uk-flex-middle">
<span class="menu_icon"><i class="material-icons md-color-white">arrow_back</i></span>
<div class="menu_title uk-inline">
{{stakeholder.topics[topicIndex].name.toUpperCase()}}
<button class="uk-position-center-right-out uk-margin-right uk-button uk-button-link onHover"
(click)="$event.stopPropagation();editTopicOpen(editTopic);$event.preventDefault()">
<i class="material-icons md-color-white">more_horiz</i>
</button>
</div>
</a>
<div uk-drop="mode: none; offset: -2; delay-hide: 0;" #editTopic
class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
<div *ngIf="topic">
<div class="md-card">
<div class="md-card-content uk-position-relative">
<a class="uk-position-top-right">
<i (click)="hide(editTopic)" class="material-icons">close</i>
</a>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-text-bold">Topic Settings</label>
<input class="uk-input uk-form-small" [(ngModel)]="topic.name"
[class.uk-form-danger]="!valid && !topic.name" type="text">
</div>
<div class="uk-width-1-1">
<label>Description</label>
<textarea class="uk-textarea" [(ngModel)]="topic.description"
rows="3" type="text"></textarea>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="topic.isPublic">
<option [value]="true">Public</option>
<option [value]="false">Private</option>
</select>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="topic.isActive">
<option [value]="true">Active</option>
<option [value]="false">Inactive</option>
</select>
</div>
</div>
<hr>
<div class="uk-grid-small uk-child-width-1-2" uk-grid>
<div>
<button class="md-btn md-btn-small" (click)="deleteTopicOpen(topic.name, editTopic)">Delete</button>
</div>
<div>
<button class="md-btn md-btn-small md-btn-primary uk-float-right"
(click)="saveTopic(editTopic)">Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
<ng-template ngFor [ngForOf]="stakeholder.topics[topicIndex].categories" let-category let-i="index">
<li [class.current_section]="categoryIndex === i"
[class.act_section]="selectedCategoryIndex === i && toggle"
[title]="category.name"
class="submenu_trigger">
<a href="#" (click)="toggleCategory(i);hide(editCategory);$event.preventDefault()">
<span *ngIf="category.icon" class="menu_icon"><i
class="material-icons">{{category.icon}}</i></span>
<div class="menu_title uk-inline">
{{category.name}}
<button class="uk-position-center-right-out uk-margin-right uk-button uk-button-link onHover"
(click)="$event.stopPropagation();editCategoryOpen(editCategory, i);$event.preventDefault()">
<i class="material-icons">more_horiz</i>
</button>
</div>
</a>
<div uk-drop="mode: none; offset: -2; delay-hide: 0;" #editCategory
class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
<div *ngIf="copyCategory">
<div class="md-card">
<div class="md-card-content uk-position-relative">
<a class="uk-position-top-right">
<i (click)="hide(editCategory)" class="material-icons">close</i>
</a>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-text-bold">Category Settings</label>
<input class="uk-input uk-form-small"
[(ngModel)]="copyCategory.name"
[class.uk-form-danger]="!valid && !copyCategory.name" type="text">
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copyCategory.isPublic">
<option [value]="true">Public</option>
<option [value]="false">Private</option>
</select>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copyCategory.isActive">
<option [value]="true">Active</option>
<option [value]="false">Inactive</option>
</select>
</div>
</div>
<hr>
<div class="uk-grid-small uk-child-width-1-2" uk-grid>
<div>
<button class="md-btn md-btn-small" (click)="deleteCategoryOpen(copyCategory.name, editCategory, i)">Delete</button>
</div>
<div>
<button class="md-btn md-btn-small md-btn-primary uk-float-right"
(click)="saveCategory(editCategory, i)">Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<ul [style.display]="((selectedCategoryIndex === i && toggle)?'block':'none')">
<ng-template ngFor [ngForOf]="stakeholder.topics[topicIndex].categories[i].subCategories"
let-subcategory let-j="index">
<li [class.act_item]="categoryIndex === i && subCategoryIndex === j">
<a href="#" (click)="chooseSubcategory(i, j);$event.preventDefault()">
<span *ngIf="subcategory.icon" class="menu_icon uk-margin-small-right"><i
class="material-icons">{{subcategory.icon}}</i></span>
<div class="menu_title uk-inline">
{{subcategory.name}}
<button class="uk-position-center-right-out uk-margin-right uk-button uk-button-link onHover"
(click)="$event.stopPropagation();editSubCategoryOpen(editSubCategory, j);$event.preventDefault()">
<i class="material-icons">more_horiz</i>
</button>
</div>
</a>
<div uk-drop="mode: none; offset: -2; delay-hide: 0" #editSubCategory
class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
<div *ngIf="copySubCategory">
<div class="md-card">
<div class="md-card-content uk-position-relative">
<a class="uk-position-top-right">
<i (click)="hide(editSubCategory)" class="material-icons">close</i>
</a>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-text-bold">Subcategory Settings</label>
<input class="uk-input uk-form-small" [(ngModel)]="copySubCategory.name"
[class.uk-form-danger]="!valid && !copySubCategory.name" type="text">
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copySubCategory.isPublic">
<option [value]="true">Public</option>
<option [value]="false">Private</option>
</select>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copySubCategory.isActive">
<option [value]="true">Active</option>
<option [value]="false">Inactive</option>
</select>
</div>
</div>
<hr>
<div class="uk-grid-small uk-child-width-1-2" uk-grid>
<div>
<button class="md-btn md-btn-small" (click)="deleteSubcategoryOpen(copySubCategory.name, editSubCategory, j)">Delete</button>
</div>
<div>
<button class="md-btn md-btn-small md-btn-primary uk-float-right"
(click)="saveSubCategory(editSubCategory, j)">Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
</ng-template>
<li>
<a href="#" (click)="editSubCategoryOpen(newSubCategory);$event.preventDefault()">
<span class="menu_icon"><i class="material-icons">add</i></span>
<span class="menu_title">Create new Subcategory</span>
</a>
<div uk-drop="mode: none; offset: -2; delay-hide: 0" #newSubCategory
class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
<div *ngIf="copySubCategory">
<div class="md-card">
<div class="md-card-content uk-position-relative">
<a class="uk-position-top-right">
<i (click)="hide(newSubCategory)" class="material-icons">close</i>
</a>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-text-bold">New Subcategory</label>
<input class="uk-input uk-form-small" [(ngModel)]="copySubCategory.name"
[class.uk-form-danger]="!valid && !copySubCategory.name" type="text">
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copySubCategory.isPublic">
<option [value]="true">Public</option>
<option [value]="false">Private</option>
</select>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copySubCategory.isActive">
<option [value]="true">Active</option>
<option [value]="false">Inactive</option>
</select>
</div>
</div>
<hr>
<div class="uk-grid-small uk-child-width-1-2" uk-grid>
<div>
<button class="md-btn md-btn-small" (click)="hide(newSubCategory)">Cancel</button>
</div>
<div>
<button class="md-btn md-btn-small md-btn-primary uk-float-right"
(click)="saveSubCategory(newSubCategory)">Create
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</li>
</ng-template>
<li>
<a href="#" (click)="editCategoryOpen(newCategory);$event.preventDefault()">
<span class="menu_icon"><i class="material-icons">add</i></span>
<span class="menu_title">Create new Category</span>
</a>
<div uk-drop="mode: none; offset: -2; delay-hide: 0" #newCategory
class="uk-padding-large uk-padding-remove-vertical uk-padding-remove-right uk-drop">
<div *ngIf="copyCategory">
<div class="md-card">
<div class="md-card-content uk-position-relative">
<a class="uk-position-top-right">
<i (click)="hide(newCategory)" class="material-icons">close</i>
</a>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-text-bold">New Category</label>
<input class="uk-input uk-form-small" [(ngModel)]="copyCategory.name"
[class.uk-form-danger]="!valid && !copyCategory.name" type="text">
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copyCategory.isPublic">
<option [value]="true">Public</option>
<option [value]="false">Private</option>
</select>
</div>
<div class="uk-width-1-2">
<select class="uk-select uk-form-small" [(ngModel)]="copyCategory.isActive">
<option [value]="true">Active</option>
<option [value]="false">Inactive</option>
</select>
</div>
</div>
<hr>
<div class="uk-grid-small uk-child-width-1-2" uk-grid>
<div>
<button class="md-btn md-btn-small" (click)="hide(newCategory)">Cancel</button>
</div>
<div>
<button class="md-btn md-btn-small md-btn-primary uk-float-right"
(click)="saveCategory(newCategory)">Create
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</aside>
<indicators [stakeholder]="stakeholder"
[topicIndex]="topicIndex"
[categoryIndex]="categoryIndex"
[subcategoryIndex]="subCategoryIndex"></indicators>
<modal-alert #deleteTopicModal (alertOutput)="deleteTopic()"></modal-alert>
<modal-alert #deleteCategoryModal (alertOutput)="deleteCategory()"></modal-alert>
<modal-alert #deleteSubcategoryModal (alertOutput)="deleteSubcategory()"></modal-alert>