Hide columns
parent
cc02221a2d
commit
7b124d597b
|
@ -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)
|
||||||
|
|
|
@ -27,7 +27,9 @@ EpicRowDirective = () ->
|
||||||
controllerAs: "vm",
|
controllerAs: "vm",
|
||||||
bindToController: true,
|
bindToController: true,
|
||||||
scope: {
|
scope: {
|
||||||
epic: '='
|
project: '=',
|
||||||
|
epic: '=',
|
||||||
|
column: '='
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue