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.list.html

137 lines
6.0 KiB

<div class="toolbar-container">
<div toolbar id="toolbar">
<selectable-title selected-title="selectedTitle"
groups="groups"
transition-method="setQueryState">
</selectable-title>
<ul id="toolbar-items">
<li class="toolbar-item">
<button class="button_highlight"
with-dropdown
dropdown-id="tasksDropdown"
ng-disabled="cannot('work_package', 'create')">
<i class="icon-add icon4"></i>
{{ I18n.t('js.toolbar.unselected_title') }}
<i class="icon-pulldown-arrow1 icon-dropdown"></i>
</button>
</li>
<li class="toolbar-item">
<button class="button"
ng-click="showFiltersOptions = !showFiltersOptions"
ng-class="{active: showFiltersOptions}">
<i class="icon-filter-big icon-buttons"></i>{{ I18n.t('js.toolbar.filter') }}
</button>
</li>
<li class="toolbar-item" feature-flag="detailsView">
<ul id="work-packages-view-mode-selection" class="toolbar-button-group">
<li>
<button class="button"
ui-sref="work-packages.list"
ui-sref-active="active">
<i class="icon-table-view icon-buttons"></i>
</button>
</li>
<li feature-flag="detailsView">
<button class="button"
ng-class="{ active: $state.includes('work-packages.list.details') }"
ng-click="openLatestTab()">
<i class="icon-table-detail-view icon-buttons"></i>
</button>
</li>
</ul>
</li>
<li class="toolbar-item">
<button class="button last" with-dropdown dropdown-id="settingsDropdown">
<i class="icon-settings"></i>
<i class="icon-pulldown-arrow1 icon-dropdown"></i>
</button>
</li>
</ul>
</div>
</div>
<div class="dropdown dropdown-relative dropdown-anchor-right" id="tasksDropdown">
<ul class="dropdown-menu">
<li><a ng-href="work_packages/new?work_package[type_id]={{type.id}}" ng-repeat="type in availableTypes">{{type.name}}</a></li>
</ul>
</div>
<div options-dropdown class="dropdown dropdown-relative dropdown-anchor-right" id="settingsDropdown">
<ul class="dropdown-menu">
<li><a href ng-click="showColumnsModal()"><i class="icon-action-menu icon-columns"></i>{{ I18n.t('js.toolbar.settings.columns') }}</a></li>
<li><a href ng-click="showSortingModal()"><i class="icon-action-menu icon-sort-by2"></i>{{ I18n.t('js.toolbar.settings.sort_by') }}</a></li>
<li><a href ng-click="showGroupingModal()"><i class="icon-action-menu icon-group-by2"></i>{{ I18n.t('js.toolbar.settings.group_by') }}</a></li>
<li><a href ng-click="toggleDisplaySums()"><i ng-if="query.displaySums" class="icon-action-menu icon-yes"></i><i ng-if="!query.displaySums" class="icon-action-menu no-icon"></i>{{ I18n.t('js.toolbar.settings.display_sums') }}</a></li>
<li class="dropdown-divider"></li>
<li><a href ng-click="saveQuery($event)"
ng-class="{'inactive': (!query.isNew() && cannot('query', 'update')) || (query.isNew() && cannot('query', 'create'))}">
<i class="icon-action-menu icon-save1"></i>{{ I18n.t('js.toolbar.settings.save') }}</a>
</li>
<li><a href ng-click="showSaveAsModal($event)" ng-class="{'inactive': query.isNew() || cannot('query', 'create')}">
<i class="icon-action-menu icon-save1"></i>{{ I18n.t('js.toolbar.settings.save_as') }}</a>
</li>
<li><a href ng-click="deleteQuery($event)" ng-class="{'inactive': cannot('query', 'delete')}">
<i class="icon-action-menu icon-delete"></i>{{ I18n.t('js.toolbar.settings.delete') }}</a>
</li>
<li><a href ng-click="showExportModal()" ng-class="{'inactive': cannot('work_package', 'export')}">
<i class="icon-action-menu icon-export"></i>{{ I18n.t('js.toolbar.settings.export') }}</a>
</li>
<li><a href ng-click="showShareModal($event)" ng-class="{'inactive': (cannot('query', 'publicize') && cannot('query', 'star'))}">
<i class="icon-action-menu icon-publish"></i>{{ I18n.t('js.toolbar.settings.share') }}</a>
</li>
<li><a href ng-click="showSettingsModal($event)" ng-class="{'inactive': cannot('query', 'update')}">
<i class="icon-action-menu icon-settings"></i>{{ I18n.t('js.toolbar.settings.page_settings') }}</a>
</li>
</ul>
</div>
<div class="title-bar" ng-show="showFiltersOptions">
<div class="title-bar-extras">
<div query-form id="query_form_content" class="hide-when-print">
<query-filters></query-filters>
</div>
<p class="buttons hide-when-print">
<filter-clear query="query">
</filter-clear>
<!-- TODO: serialize permission checks -->
<!-- User.current.allowed_to?(:save_queries, project, :global => true) -->
</p>
</div>
</div>
<back-url></back-url>
<div class="work-packages--split-view">
<div class="work-packages--list" cg-busy="settingUpPage">
<div class="work-packages--list-scroll-area">
<work-packages-table ng-if="rows && columns"
cg-busy="refreshWorkPackages"
project-identifier="projectIdentifier"
columns="columns"
rows="rows"
query="query"
group-by="query.groupBy"
group-by-column="groupByColumn"
count-by-group="workPackageCountByGroup"
display-sums="query.displaySums"
total-sums="totalSums"
group-sums="groupSums"
update-results="updateResults()"
update-back-url="updateBackUrl">
</work-packages-table>
<table-pagination total-entries="totalEntries"
update-results="updateResults()">
</table-pagination>
</div>
<modal-loading>
</modal-loading>
</div>
<div class="work-packages--details" ui-view ng-show="workPackage"
feature-flag="detailsView"></div>
</div>