my-test123
Version:
A planner front-end for Fabric8.
168 lines (167 loc) • 7.48 kB
HTML
<div class="f8-link-container"
id="wi-link">
<ul class="f8-link__nav-list nav nav-tabs nav-tabs-pf">
<li class="f8-toggle-caret"
(click)="toggleLinkComponent()">
<i class="fa fa-icon f8-toggle-caret-right"
[ngClass]="{'fa-angle-down': showLinkComponent,
'fa-angle-right': !showLinkComponent}"></i>
</li>
<li
[class.active]="selectedTab === 'all'"
(click)="selectTab('all')">
<a class="padding-v-13 padding-h-15">
<span>Links</span>
<span
class="badge"
id="wi-link-total"
*ngIf="workItem?.relationalData?.linkDicts; else loading">
{{workItem?.relationalData?.totalLinkCount}}
</span>
<ng-template #loading>
<span class="spinner spinner-sm spinner-inline"></span>
</ng-template>
</a>
</li>
<ng-template *ngIf="workItem?.relationalData?.linkDicts">
<li *ngFor="let linkType of workItem.relationalData.linkDicts; let totalLink = index"
[class.active]="selectedTab === linkType.linkName"
(click)="selectTab(linkType.linkName)">
<a>
<span>
{{linkType.linkName}}
</span>
<span id="linktotal_{{totalLink}}" class="badge">
{{linkType.count}}
</span>
</a>
</li>
</ng-template>
</ul>
<div class="f8-link__content"
id="wi-link-content"
*ngIf="showLinkComponent && workItem?.relationalData?.linkDicts">
<div class="f8-link__content-create-link"
*ngIf="!workItem?.relationalData?.totalLinkCount && !showLinkView">
<i class="pficon pficon-add-circle-o add-circle-icon"></i>
<p>Work Item Links</p>
<span class="margin-right-10 margin-left-10">There are no items linked to this issue</span>
<button class="btn btn-primary db f8-link__create-btn"
id="create-link-button"
(click)="toggleLinkView()" >Create Link</button>
</div>
<div *ngIf="workItem.relationalData.totalLinkCount || showLinkView">
<div class="width-100 pull-left"
*ngIf="loggedIn">
<div class="f8-link__content-hdr"
(click)="toggleLinkCreator()">
<i class="fa fa-icon padding-15 pull-right f8-toggle-caret-right"
[ngClass]="{'fa-angle-down': showLinkCreator,
'fa-angle-right': !showLinkCreator}"></i>
<p class="margin-0"
id="link_item_title"
*ngIf="workItem" >
This item, <span [innerHTML]="workItem.attributes['system.title']"></span>
</p>
</div>
<div class="f8-link__content-editor width-100"
id="wi-link-editor"
*ngIf="showLinkCreator">
<div class="col-xs-10 col-sm-10 col-md-10">
<div class="combobox-container">
<div class="input-group dropdown"
*ngIf="linkTypes.length"
dropdown>
<input class="combobox form-control readonly"
type="text" placeholder="Select Link Type"
[ngClass]="{'selected-value': selectedLinkType }"
readonly
[attr.value]="selectedLinkType?.name">
<ul class="typeahead typeahead-long dropdown-menu"
role="menu" *dropdownMenu>
<li *ngFor="let linkType of selectedTab | workItemLinkTypeFilterByTypeName:(linkTypes)">
<a (click)="onSelectRelation(linkType)">{{linkType.name}}</a>
</li>
</ul>
<span class="input-group-addon dropdown-toggle pointer" id="wi-link-type"
dropdownToggle>
<span class="caret"></span>
</span>
</div>
</div>
</div>
<span class="col-xs-2 col-sm-2 col-md-2 text-right"> item</span>
<div class="col-xs-10 col-sm-10 col-md-10 margin-top-15">
<div class="combobox-container">
<input type="hidden" name="" value="">
<div class="input-group dropdown open active width-100">
<input class="combobox form-control"
id="workitem-link-search" #searchBox
placeholder="Search for work items"
(keyup)="linkSearchWorkItem(searchBox.value, $event)"
[value]="selectedValue"
[disabled]="!selectedLinkType"/>
<ul class="dropdown-menu dropdown-ul"
*ngIf="searchWorkItems.length"
#searchResultList>
<li class="pointer"
*ngFor="let workItem of searchWorkItems"
(click)="selectSearchResult(workItem.id, workItem.attributes['system.number'], workItem.attributes['system.title'])"
[attr.data-wiid]="workItem.id"
[attr.data-winumber]="workItem.attributes['system.number']"
[attr.data-wititle]="workItem.attributes['system.title']">
<a #searchresult>
<span>{{workItem.attributes['system.number']}} - </span>
<span [innerHTML]="workItem.attributes['system.title']"></span>
</a>
</li>
</ul>
<!-- <span class="input-group-addon"> <span class="caret"></span> </span> -->
</div>
</div>
</div>
<div class="col-xs-2 col-sm-2 col-md-2 text-right margin-top-15">
<button
class="btn btn-xs padding-top-1 padding-bottom-2"
id="bind-link"
type="button"
value="Link"
[class.btn-default]="!selectedLinkType || !selectedWorkItemId"
[class.btn-primary]="selectedLinkType || selectedWorkItemId"
[disabled]="!selectedLinkType || !selectedWorkItemId ? true : false"
(click)="createLink($event)">
Link
</button>
</div>
</div>
</div>
<div class="f8-link__list"
*ngIf="workItem.relationalData.linkDicts.length">
<p class="f8-link__list-header">Links</p>
<div *ngFor='let linkDict of selectedTab |
workItemLinkFilterByTypeName:workItem.relationalData.linkDicts; let counterlink = index'>
<p class="f8-link__list-type-header">{{linkDict.linkName}}</p>
<ul class="padding-left-0">
<li *ngFor='let link of linkDict.links'
class="f8-link__list-item">
<a [routerLink]="getWILink(link, workItem)">
<span class="f8-link__list-item-title"
[id]="link.id + '-text'"
[innerHTML]="link.relationalData.source.id == workItem.id ? link.relationalData.target.title : link.relationalData.source.title">
</span>
</a>
<!--<span id="linkSWIstate_{{counterlink}}">
{{link.relationalData.source.id == workItem.id ? link.relationalData.target.state : link.relationalData.source.state}}
</span>-->
<a *ngIf="loggedIn"
(click)="deleteLink($event, link, workItem)">
<i class="pull-right pficon pficon-close list-close-icon margin-top-5"
id="closeLink_{{counterlink}}"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>