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.
134 lines
6.0 KiB
134 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="work-packages--filters-optional-container" ng-show="showFiltersOptions">
|
|
<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>
|
|
|
|
<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>
|
|
|