136 lines
7.8 KiB
HTML
136 lines
7.8 KiB
HTML
<div class="container-scrollable">
|
|
<taskana-spinner [isRunning]="requestInProgress" class="floating" (spinnerIsRunning)="spinnerRunning($event)"></taskana-spinner>
|
|
<div id="classification-details" *ngIf="classification && !spinnerIsRunning">
|
|
<ul class="nav nav-tabs" role="tablist">
|
|
<li *ngIf="showDetail" class="visible-xs visible-sm hidden">
|
|
<a (click)="backClicked()">
|
|
<span class="material-icons md-20 blue">arrow_back</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div id="classification" class="panel panel-default classification">
|
|
<div class="panel-heading">
|
|
<div *ngIf="showDetail" class="pull-left btn-group align-header">
|
|
<button (click)="backClicked()" class="btn btn-default no-style blue visible-xs visible-sm hidden">
|
|
<span class="material-icons md-20 blue">arrow_back</span>
|
|
</button>
|
|
</div>
|
|
<div class="pull-right btn-group">
|
|
<button type="button" (click)="onSubmit()" class="btn btn-default btn-primary" data-toggle="tooltip" title="Save">
|
|
<span class="material-icons md-20">save</span>
|
|
</button>
|
|
<button type="button" (click)="onClear()" class="btn btn-default" data-toggle="tooltip" title="Undo Changes">
|
|
<span class="material-icons md-20 blue">undo</span>
|
|
</button>
|
|
<button type="button" (click)="removeClassification()" data-toggle="tooltip" title="Delete" class="btn btn-default">
|
|
<span class="material-icons md-20 red">delete</span>
|
|
</button>
|
|
</div>
|
|
<h4 class="panel-header">{{classification.name}} [{{classification.type}}]
|
|
<span *ngIf="action=== 'CREATE'" class="badge warning"> {{badgeMessage}}</span>
|
|
</h4>
|
|
</div>
|
|
<div class="panel-body" style="padding: 0">
|
|
<form #ClassificationForm="ngForm">
|
|
<div class="row" style="padding: 15px">
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group required">
|
|
<label for="classification-key" class="control-label">Key</label>
|
|
<input type="text" required #key="ngModel" [disabled]="action!== 'CREATE'? true : false" class="form-control"
|
|
id="classification-key" placeholder="Key" [(ngModel)]="classification.key" name="classification.key">
|
|
<taskana-field-error-display *ngIf="action === 'CREATE'" [displayError]="!isFieldValid('classification.key')"
|
|
[validationTrigger]="this.toogleValidationMap.get('classification.key')" errorMessage="* Key is required">
|
|
</taskana-field-error-display>
|
|
</div>
|
|
<div class="form-group required">
|
|
<label for="classification-name" class="control-label">Name</label>
|
|
<input type="text" required #name="ngModel" class="form-control" id="classification-name" placeholder="Name"
|
|
[(ngModel)]="classification.name" name="classification.name">
|
|
<taskana-field-error-display [displayError]="!isFieldValid('classification.name')" [validationTrigger]="this.toogleValidationMap.get('classification.name')"
|
|
errorMessage="* Name is required">
|
|
</taskana-field-error-display>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="classification-domain" class="control-label">Domain</label>
|
|
<input type="text" disabled #domain="ngModel" class="form-control" id="classification-domain"
|
|
placeholder="Domain" [(ngModel)]="classification.domain" name="classification.domain">
|
|
|
|
<a *ngIf="!masterDomainSelected()" (click)="validChanged()">
|
|
<label>
|
|
<b>Valid in Domain:</b>
|
|
<span class="material-icons md-20 blue ">{{classification.isValidInDomain ? 'check_box':
|
|
'check_box_outline_blank'}}</span>
|
|
</label>
|
|
</a>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group col-xs-6">
|
|
<label for="classification-priority" class="control-label">Priority</label>
|
|
<taskana-number-picker [(ngModel)]="classification.priority" name="classification.priority" id="classification-priority"></taskana-number-picker>
|
|
</div>
|
|
<div class="form-group required btn-group col-xs-6">
|
|
<label for="classification-category" class="control-label">Category</label>
|
|
<div class="dropdown clearfix ">
|
|
<button class="btn btn-default" type="button" data-toggle="dropdown" aria-haspopup="true"
|
|
aria-expanded="true" id="classification-category">
|
|
<span class="text-top">
|
|
<svg-icon class="blue fa-fw" src="{{(getCategoryIcon(classification.category) | async)?.name}}"
|
|
data-toggle="tooltip" [title]="(getCategoryIcon(classification.category) | async)?.text"></svg-icon>
|
|
</span>
|
|
{{classification.category}}
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu" aria-labelledby="dropdownMenu">
|
|
<li>
|
|
<a *ngFor="let category of getAvailableCategories(classification.type)" (click)="selectCategory(category)">
|
|
<span class="text-top">
|
|
<svg-icon class="blue fa-fw" src="{{(getCategoryIcon(category) | async)?.name}}" data-toggle="tooltip"
|
|
[title]="(getCategoryIcon(category) | async)?.text"></svg-icon>
|
|
{{category}}
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="classification-service-level" class="control-label">Service Level</label>
|
|
<input type="text" class="form-control" id="classification-service-level" placeholder="Service Level"
|
|
[(ngModel)]="classification.serviceLevel" name="classification.serviceLevel">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="classification-application-entry-point" class="control-label">Application entry point</label>
|
|
<input type="text" class="form-control" id="classification-application-entry-point" placeholder="Application entry point"
|
|
[(ngModel)]="classification.applicationEntryPoint" name="classification.applicationEntryPoint">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="classification-description" class="control-label">Description</label>
|
|
<textarea class="form-control" rows="5" id="classification-description" placeholder="Description"
|
|
[(ngModel)]="classification.description" name="classification.description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row custom-field-row">
|
|
|
|
<div class="custom-classification-form" *ngFor="let customField of (customFields$ | async), let i = index"
|
|
style="width: 50%;">
|
|
|
|
<div *ngIf="customField.visible" class="form-group custom-field-wrapper">
|
|
<label for="classification-custom-{{i + 1}}" class="control-label">{{customField.field}}</label>
|
|
<input type="text" class="form-control" id="classification-custom-{{i + 1}}" placeholder="{{customField.field}}"
|
|
[(ngModel)]="classification[getClassificationCustom(i + 1)]" name="classification.custom{{i + 1}}">
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|