OpenProject is the leading open source project management software.
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.
 
 
 
 
 
 
openproject/public/templates/work_packages/tabs/overview.html

70 lines
2.7 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="propertyData in presentWorkPackageProperties">
<label ng-bind="propertyData.label"/>
<span ng-switch="propertyData.format">
<user-field ng-switch-when="user" user="propertyData.value"></user-field>
<span ng-switch-default ng-bind="propertyData.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">
<span class="message" ng-show="activity.props._type == 'Activity::Comment'">{{activity.props.comment}}</span>
<ul class="work-package-details-activities-messages">
<li ng-repeat="detail in activity.props.htmlDetails track by $index">
<span class="message" ng-bind-html="detail"/>
</li>
</ul>
</span>
</div>
</li>
</ul>
</div>