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/frontend/public/templates/work_packages/tabs/overview.html

92 lines
4.2 KiB

<div class="detail-panel-description">
<h3>{{ I18n.t('js.label_description') }}</h3>
<div class="detail-panel-description-content wiki">
<span inplace-editor
ined-type="wiki_textarea"
ined-entity="workPackage"
ined-attribute="rawDescription"
placeholder="{{ I18n.t('js.label_click_to_enter_description') }}"
autocomplete-path="{{ autocompletePath }}">
</span>
</div>
</div>
<div class="detail-panel-attributes">
<div ng-repeat="group in groupedAttributes" ng-hide="isGroupEmpty(group) && toggleStates.hideAllAttributes" class="detail-panel-attributes-group">
<h3 ng-bind="I18n.t('js.work_packages.property_groups.' + group.groupName)"></h3>
<dl>
<dt ng-repeat-start="propertyData in group.attributes"
ng-show="!(isPropertyEmpty(propertyData.value) && toggleStates.hideAllAttributes)"
ng-bind="propertyData.label"
class="work-package-attributes--label">
</dt>
<dd ng-repeat-end
ng-show="!(isPropertyEmpty(propertyData.value) && toggleStates.hideAllAttributes)"
ng-switch="propertyData.value"
class="work-package-attributes--value-container">
<div ng-switch-when="null" class="work-package-attributes--value">
<empty-element></empty-element>
</div>
<div class="status-inline-editor" ng-if="propertyData.property == 'status'"
inplace-editor
ined-type="select"
ined-entity="workPackage"
ined-attribute="status"
></div>
<div ng-if="propertyData.property != 'status'" ng-switch-default ng-switch="propertyData.format">
<div ng-class="['work-package-attributes--value', '-' + propertyData.format]">
<user-field ng-switch-when="user" user="propertyData.value"></user-field>
<span ng-switch-when="dynamic" work-package-dynamic-attribute
html-element="propertyData.value"
work-package="workPackage">
</span>
<span ng-switch-when="version">
<a ng-if="propertyData.value.viewable" title="{{propertyData.value.title}}" ng-href="{{propertyData.value.href}}">{{propertyData.value.title}}</a>
<span ng-if="!propertyData.value.viewable" title="{{propertyData.value.title}}">{{propertyData.value.title}}</span>
</span>
<span ng-switch-when="time_entry">
<a ng-if="propertyData.value.viewable" title="{{propertyData.value.title}}" ng-href="{{propertyData.value.href}}">{{propertyData.value.title}}</a>
<span ng-if="!propertyData.value.viewable" title="{{propertyData.value.title}}">{{propertyData.value.title}}</span>
</span>
<span ng-switch-when="category">{{ propertyData.value.props.name }}</span>
<span ng-switch-default
ng-bind="(propertyData.value !== undefined) ? propertyData.value : '-'"
ng-attr-title="{{propertyData.value}}"/>
</div>
</div>
</dd>
</dl>
</div>
<panel-expander if="anyEmptyWorkPackageValue()"
collapsed="toggleStates.hideAllAttributes"
expand-text="{{ I18n.t('js.label_show_attributes') }}"
collapse-text="{{ I18n.t('js.label_hide_attributes') }}">
</panel-expander>
</div>
<div class="detail-panel-latest-activity">
<h3>{{ I18n.t('js.label_latest_activity') }}</h3>
<exclusive-edit>
<ul>
<li ng-repeat="activity in activities | latestItems:activitiesSortedInDescendingOrder:3"
class="work-package-details-activities-activity"
ng-init="currentAnchor = 'note-' + ($index+1);
activityNo = activities.length - $index;">
<user-activity work-package="workPackage"
activity="activity"
activity-no="activityNo"
input-element-id="'add-comment-text'"
autocomplete-path="{{ autocompletePath }}">
</li>
</ul>
<activity-comment work-package="workPackage"
activities="activities"
autocomplete-path="{{ autocompletePath }}">
</activity-comment>
</exclusive-edit>
</div>