Skip to content

Commit

Permalink
WORK-360 milestone's page
Browse files Browse the repository at this point in the history
  • Loading branch information
SitoCH committed May 27, 2016
1 parent 30eeb64 commit 82965fe
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 75 deletions.
28 changes: 14 additions & 14 deletions src/main/webapp/app/controllers/project/project-milestone.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

var module = angular.module('lavagna.controllers');

module.controller('ProjectMilestoneCtrl', function ($rootScope, $scope,
module.controller('ProjectMilestoneCtrl', function ($rootScope, $scope, $state,
project, milestone,
Label, LabelCache, Card, User, StompClient) {

Expand All @@ -20,13 +20,11 @@
});
};

var reloadAll = function() {
var reloadAll = function () {

LabelCache.findLabelListValue($scope.milestone.cardLabelId, $scope.milestone.id).then(function (value) {
$scope.milestone = value;
LabelCache.findLabelListValue($scope.milestone.cardLabelId, $scope.milestone.id).then(function (m) {
$state.go('projectMilestone', {projectName: project.shortName, milestone: m.value});
});

loadMilestoneDetail();
};

loadMilestoneDetail();
Expand Down Expand Up @@ -80,15 +78,17 @@
currentOpenStatus ? $scope.clearMilestoneDetail(milestone) : $scope.loadMilestoneDetail(milestone);
$scope.milestoneOpenStatus[milestone.labelListValue.value] = !currentOpenStatus;
};
$scope.updateMilestone = function (milestone, newName) {
var newLabelValue = jQuery.extend({}, milestone.labelListValue);
newLabelValue.value = newName;
Label.updateLabelListValue(newLabelValue).catch(function(error) {
Notification.addAutoAckNotification('error', {key: 'notification.project-milestones.update.error'}, false);
});
};
*/
$scope.updateMilestone = function (newName) {
var newLabelValue = jQuery.extend({}, $scope.milestone);
newLabelValue.value = newName;
Label.updateLabelListValue(newLabelValue).then(function () {
$state.go('projectMilestone', {projectName: project.shortName, milestone: newName});
}).catch(function (error) {
Notification.addAutoAckNotification('error', {key: 'notification.project-milestones.update.error'}, false);
});
};


$scope.updateMilestoneDate = function (newDate) {
if (newDate) {
Expand Down
25 changes: 7 additions & 18 deletions src/main/webapp/css/lvg-project.css
Original file line number Diff line number Diff line change
Expand Up @@ -210,28 +210,17 @@ ul.lvg-admin-import .col-sm-1 {
}

.lvg-progress {
border-radius: 0;
margin-bottom: 0;
height: 12px;
width: 500px;
}

@media (max-width: 550px) {
.lvg-progress {
width: 352px;
}
}

.lvg-milestones-panel > :not(:first-child) {
border-top: 1px solid #dddddd;
border-radius: 0px;
margin-bottom: 5px;
height: 5px;
}

.lvg-milestone-row {
padding: 8px;
.lvg-no-padding {
padding: 0;
}

.lvg-milestones-statistics-definition {
margin-top: 10px;
ul.lvg-milestone-stat li.stat:last-child {
margin-right: 0;
}

.lvg-milestone-clickable {
Expand Down
28 changes: 22 additions & 6 deletions src/main/webapp/partials/project/milestone.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,22 @@
</div>-->
<div class="head clearfix">
<div class="title title-bold col-xs-9 lvg-milestone-title">
<span data-ng-bind="milestone.value"
<span data-ng-bind="milestone.value" data-ng-hide="editName"
data-ng-class="{'strike' : milestone.metadata['status'] === 'CLOSED'}"></span>

<span data-ng-show="editName"
data-ng-init="newName = milestone.value">
<input data-ng-model="newName">
<span data-ng-click="updateMilestone(newName)" class="lvg-milestone-clickable">
<i class="fa fa-check"></i>
</span>
</span>
<span data-lvg-has-permission="PROJECT_ADMINISTRATION"
class="lvg-milestone-clickable lvg-milestone-edit"
data-ng-click="editName = !editName">
<i class="fa fa-pencil" data-ng-hide="editName || milestone.labelListValue.id < 0"></i>
<i class="fa fa-times" data-ng-show="editName"></i>
</span>
</div>
</div>
<div class="body">
Expand All @@ -33,19 +47,21 @@
<span data-ng-bind="milestone.metadata['releaseDate']"></span>
</div>
<div>
<span data-ng-show="milestone.dateEdit" data-ng-init="newDate = milestone.metadata['releaseDate']">
<input type="text" placeholder="{{'partials.fragments.label-pickers.date' | translate}}" size="12"
<span data-ng-show="dateEdit"
data-ng-init="newDate = milestone.metadata['releaseDate']">
<input type="text" placeholder="{{'partials.fragments.label-pickers.date' | translate}}"
size="12"
data-lvg-datepicker data-ng-model="newDate">
<span data-ng-click="updateMilestoneDate(newDate)" class="lvg-milestone-clickable">
<i class="fa fa-check"></i>
</span>
</span>
<span data-lvg-has-permission="PROJECT_ADMINISTRATION"
class="lvg-milestone-clickable lvg-milestone-edit"
data-ng-click="milestone.dateEdit = !milestone.dateEdit">
data-ng-click="dateEdit = !dateEdit">
<i class="fa fa-pencil"
data-ng-hide="milestone.dateEdit"></i>
<i class="fa fa-times" data-ng-show="milestone.dateEdit"></i>
data-ng-hide="dateEdit"></i>
<i class="fa fa-times" data-ng-show="dateEdit"></i>
</span>
</div>
<!-- -->
Expand Down
82 changes: 45 additions & 37 deletions src/main/webapp/partials/project/milestones.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,49 @@
<lvg-project-navigation/>
</lvg-navbar>


<div class="container">
<div class="row">
<div class="row" data-bindonce data-ng-repeat="milestone in cardsByMilestone"
data-ng-init="milestone.detail = null">
<div class="col-xs-12 lavagna-container-top-margin">
<div class="lavagna-panel lvg-milestones-panel">

<div class="row lvg-milestone-row" data-bindonce data-ng-repeat="milestone in cardsByMilestone">
<div class="col-md-9">
<div class="title-bold lvg-milestone-title">
<a ui-sref="projectMilestone({projectName: project.shortName, milestone: milestone.labelListValue.value})">
<div class="lavagna-panel">
<div class="progress lvg-progress"
data-ng-if="milestone.cardsCountByStatus | showArray:0"
data-ng-style="{'background-color': (statusColors[cardsCountByStatus[milestone.labelListValue.value].slice(-1)[0].status] | color).color}">
<div class="progress-bar" data-bindonce
data-ng-repeat="item in cardsCountByStatus[milestone.labelListValue.value]" ng-if="!$last"
data-ng-style="{'width': (item.count * 100.0 / milestone.totalCards | number:2) + '%', 'background-color': (statusColors[item.status] | color).color}">
</div>
</div>
<div class="head clearfix">
<div class="title title-bold col-xs-6 lvg-milestone-title">
<a ui-sref="projectMilestone({projectName: project.shortName, milestone: milestone.labelListValue.value})">
<span data-ng-bind="milestone.labelListValue.value"
data-ng-class="{'strike' : milestone.labelListValue.metadata['status'] === 'CLOSED'}"></span>
</a>
</a>
</div>
<div class="col-xs-6 lvg-no-padding">
<div class="pull-right">
<div data-ng-hide="milestone.totalCards == 0">
<ul class="statistics-definition lvg-milestone-stat">
<li class="stat"
data-ng-repeat="item in cardsCountByStatus[milestone.labelListValue.value]">
<span data-ng-style="statusColors[item.status]|color"
class="fa fa-tasks"></span>
<span data-translate>{{item.status | capitalize}}:</span>
{{item.count}} ({{(item.count * 100 / milestone.totalCards) | number:0}}%)
</li>
</ul>
</div>
<!-- -->
<div data-ng-if="::milestone.totalCards === 0" data-translate>
<span data-translate>partials.project.milestones.noCards</span>
</div>
</div>
</div>
</div>
<div class="body">
<div class="row">
<!-- -->
<div class="col-xs-6">
<div data-ng-if="::!(milestone.labelListValue.metadata['releaseDate'])">
<span data-translate>partials.project.milestones.noReleaseDate</span>

Expand All @@ -25,42 +53,22 @@
<span data-translate>partials.project.milestones.releaseDate</span>:
<span data-ng-bind="milestone.labelListValue.metadata['releaseDate']"></span>
</div>
<!-- -->
<div data-ng-if="::milestone.totalCards === 0" data-translate>
<span data-translate>partials.project.milestones.noCards</span>
</div>
<div data-ng-if="::milestone.totalCards > 0">
<span data-translate>partials.project.milestones.cards</span><span>: {{::milestone.totalCards}}</span>
</div>
</div>
<div class="col-md-3">
<!-- -->

<div class="col-xs-6">
<div class="pull-right">
<div class="progress lvg-progress"
data-ng-if="milestone.cardsCountByStatus | showArray:0"
data-ng-style="{'background-color': (statusColors[cardsCountByStatus[milestone.labelListValue.value].slice(-1)[0].status] | color).color}">
<div class="progress-bar" data-bindonce
data-ng-repeat="item in cardsCountByStatus[milestone.labelListValue.value]"
data-ng-if="!$last"
data-ng-style="{'width': (item.count * 100.0 / milestone.totalCards | number:2) + '%', 'background-color': (statusColors[item.status] | color).color}">
</div>
</div>
<div class="lvg-milestones-statistics-definition ">
<ul class="statistics-definition pull-right">
<li class="stat"
data-ng-repeat="item in cardsCountByStatus[milestone.labelListValue.value]">
<span data-ng-style="statusColors[item.status]|color"
class="fa fa-tasks"></span>
<span data-translate>{{item.status | capitalize}}:</span>
{{item.count}}
</li>
</ul>
<div data-ng-if="::milestone.totalCards > 0">
<span data-translate>partials.project.statistics.totalCards</span><span>: {{::milestone.totalCards}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

<div data-ui-view data-autoscroll="false"></div>

0 comments on commit 82965fe

Please sign in to comment.