kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.2 KiB
82 lines
3.2 KiB
<div class="detail-panel-description">
|
|
|
|
<h3>Description</h3>
|
|
<div class="detail-panel-description-content">
|
|
<p>
|
|
<span ng-bind="workPackage.props.description | characters: maxDescriptionLength"
|
|
ng-show="toggleStates.hideFullDescription"/>
|
|
<span ng-bind="workPackage.props.description"
|
|
ng-hide="toggleStates.hideFullDescription"/>
|
|
</p>
|
|
</div>
|
|
<panel-expander ng-if="workPackage.props.description.length > maxDescriptionLength"
|
|
collapsed="toggleStates.hideFullDescription"
|
|
expand-text="Show full description"
|
|
collapse-text="Hide full description">
|
|
</panel-expander>
|
|
</div>
|
|
|
|
|
|
<div class="detail-panel-attributes">
|
|
<!-- present attributes -->
|
|
<ul>
|
|
<li ng-repeat="(property, data) in presentWorkPackageProperties">
|
|
<label ng-bind="data.label"/>
|
|
<span ng-switch="property">
|
|
<p ng-switch-when="assigneeName">
|
|
<img class="avatar" ng-src="{{ workPackage.props.assigneeAvatar }}" />
|
|
<span class="user"><a href ng-bind="data.value"/></span>
|
|
<span class="role" ng-bind="workPackage.props.assigneeRole"/>
|
|
</p>
|
|
<p ng-switch-when="authorName">
|
|
<img class="avatar" ng-src="{{ workPackage.props.authorAvatar }}" />
|
|
<span class="user"><a href ng-bind="data.value"/></span>
|
|
</p>
|
|
<p ng-switch-when="responsibleName">
|
|
<img class="avatar" ng-src="{{ workPackage.props.responsibleAvatar }}" />
|
|
<span class="user"><a href ng-bind="data.value"/></span>
|
|
<span class="role" ng-bind="workPackage.props.responsibleRole"/>
|
|
</p>
|
|
<span ng-switch-default ng-bind="data.value"/>
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
<!-- empty attributes -->
|
|
<ul class="work-package-details-overview-tab-empty-attributes"
|
|
slide-toggle collapsed="toggleStates.hideAllAttributes">
|
|
<li ng-repeat="property in emptyWorkPackageProperties">
|
|
<label ng-bind="property"></label>
|
|
<span> - </span>
|
|
</li>
|
|
</ul>
|
|
<panel-expander ng-if="emptyWorkPackageProperties.length"
|
|
collapsed="toggleStates.hideAllAttributes"
|
|
expand-text="Show all attributes"
|
|
collapse-text="Hide empty attributes">
|
|
</panel-expander>
|
|
</div>
|
|
|
|
|
|
<div class="detail-panel-latest-activity">
|
|
<h3>Latest activity</h3>
|
|
<ul>
|
|
<li ng-repeat="activity in latestActitivies"
|
|
class="work-package-details-activities-activity"
|
|
ng-init="currentNote = 'note-' + ($index+1)">
|
|
<div class="work-package-details-activities-activity-contents">
|
|
<div class="comments-number"><a ng-href="#{{currentNote}}" ng-bind="'#' + ($index+1)"></a>
|
|
</div>
|
|
<img class="avatar" ng-src="{{ activity.props.userAvatar }}" />
|
|
<span class="user"><a href name="{{currentNote}}" ng-bind="activity.props.userName"></a></span>
|
|
<span class="date">commented on <span ng-bind="activity.props.createdAt | date:'short'"/></span>
|
|
<span class="comment">
|
|
<ul class="work-package-details-activities-messages">
|
|
<li ng-repeat="message in activity.props.messages track by $index">
|
|
<span class="message" ng-bind="message"/>
|
|
</li>
|
|
</ul>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|