Hide columns

stable
Xavier Julián 2016-07-22 08:37:37 +02:00 committed by David Barragán Merino
parent cc02221a2d
commit 7b124d597b
6 changed files with 66 additions and 13 deletions

View File

@ -25,5 +25,11 @@ class EpicRowController
constructor: () -> constructor: () ->
console.log @.epic.toJS() console.log @.epic.toJS()
@._calculateProgressBar()
_calculateProgressBar: () ->
totalUs = @.epic.getIn(['user_stories_counts', 'closed'])
totalUsCompleted = @.epic.getIn(['user_stories_counts', 'opened'])
@.percentage = (totalUs * 100) / totalUsCompleted
module.controller("EpicRowCtrl", EpicRowController) module.controller("EpicRowCtrl", EpicRowController)

View File

@ -27,7 +27,9 @@ EpicRowDirective = () ->
controllerAs: "vm", controllerAs: "vm",
bindToController: true, bindToController: true,
scope: { scope: {
epic: '=' project: '=',
epic: '=',
column: '='
} }
} }

View File

@ -1,29 +1,47 @@
.epic-row .epic-row(
.vote(ng-class="{'is-voter': vm.epic.get('is_voter')}") ng-class="{'is-blocked': vm.epic.get('is_blocked'), 'is-closed': vm.epic.get('is_closed')}"
)
.vote(
ng-if="vm.column.votes"
ng-class="{'is-voter': vm.epic.get('is_voter')}"
)
tg-svg(svg-icon='icon-upvote') tg-svg(svg-icon='icon-upvote')
span {{::vm.epic.get('total_voters')}} span {{::vm.epic.get('total_voters')}}
.name() {{::vm.epic.get('subject')}} .name(ng-if="vm.column.name")
a(
tg-nav="project-epic-detail:project=vm.project.get('slug')"
ng-attr-title="{{::vm.epic.get('subject')}}"
) {{::vm.epic.get('subject')}}
.project() {{::vm.epic.get('project')}} .project(ng-if="vm.column.project") {{::vm.epic.get('project')}}
.sprint( .sprint(
ng-if="vm.column.sprint"
translate="EPICS.TABLE.SPRINT" translate="EPICS.TABLE.SPRINT"
) )
.assigned( .assigned(
ng-if="vm.epic.getIn(['assigned_to_extra_info', 'photo'])" ng-if="vm.column.assigned && vm.epic.getIn(['assigned_to_extra_info', 'photo'])"
) )
img( img(
ng-src="{{vm.epic.getIn(['assigned_to_extra_info', 'photo'])}}" ng-src="{{vm.epic.getIn(['assigned_to_extra_info', 'photo'])}}"
alt="::vm.epic.getIn(['assigned_to_extra_info', 'name'])" alt="::vm.epic.getIn(['assigned_to_extra_info', 'name'])"
) )
.assigned( .assigned(
ng-if="!vm.epic.getIn(['assigned_to_extra_info', 'photo'])" ng-if="vm.column.assigned && !vm.epic.getIn(['assigned_to_extra_info', 'photo'])"
) Unassigned ) Unassigned
.status( .status(
ng-if="vm.column.status"
ng-style="{'color': vm.epic.getIn(['status_extra_info', 'color'])}" ng-style="{'color': vm.epic.getIn(['status_extra_info', 'color'])}"
) ng-mouseleave="displayStatusList = false"
span {{::vm.epic.getIn(['status_extra_info', 'name'])}} )
tg-svg(svg-icon="icon-arrow-down") button(
.progress ng-click="displayStatusList = true"
)
span {{::vm.epic.getIn(['status_extra_info', 'name'])}}
tg-svg(svg-icon="icon-arrow-down")
.progress(ng-if="vm.column.progress")
.progress-bar .progress-bar
.progress-status .progress-status(
ng-if="::vm.percentage"
ng-attr-width="::vm.percentage"
)

View File

@ -3,6 +3,26 @@
align-items: center; align-items: center;
border-bottom: 1px solid $whitish; border-bottom: 1px solid $whitish;
display: flex; display: flex;
&.is-blocked {
background: rgba($red-light, .5);
}
&.is-closed {
.name {
color: $gray-light;
text-decoration: line-through;
}
}
.status {
cursor: pointer;
button {
background: none;
}
.icon {
@include svg-size(.7rem);
fill: $gray-light;
margin-left: .1rem;
}
}
.progress-bar, .progress-bar,
.progress-status { .progress-status {
height: 1.5rem; height: 1.5rem;

View File

@ -92,4 +92,6 @@ mixin epicSwitch(name, model)
.epics-table-body-row(tg-repeat="epic in vm.epics track by epic.get('id')") .epics-table-body-row(tg-repeat="epic in vm.epics track by epic.get('id')")
tg-epic-row( tg-epic-row(
epic="epic" epic="epic"
project="vm.project"
column="vm.column"
) )

View File

@ -29,11 +29,15 @@
flex-grow: 0; flex-grow: 0;
flex-shrink: 0; flex-shrink: 0;
flex-wrap: wrap; flex-wrap: wrap;
max-width: 150px;
} }
.name, .name,
.progress { .progress {
flex: 1; flex: 1;
max-width: 40vw; max-width: 40vw;
}
.name,
.sprint {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@ -53,9 +57,9 @@
} }
.epics-table-options-wrapper { .epics-table-options-wrapper {
bottom: 1rem;
position: absolute; position: absolute;
right: .5rem; right: .5rem;
top: .5rem;
} }
.epics-table-option-button { .epics-table-option-button {
@ -78,6 +82,7 @@
right: 0; right: 0;
top: 1.3rem; top: 1.3rem;
width: 250px; width: 250px;
z-index: 99;
.fieldset { .fieldset {
@include font-size(small); @include font-size(small);
border-bottom: 1px solid $whitish; border-bottom: 1px solid $whitish;