Another iteration over backlog.
parent
93d2c041fa
commit
5a614bd3a4
|
@ -61,7 +61,6 @@ modules = [
|
|||
# Vendor modules
|
||||
"ngRoute",
|
||||
"ngAnimate",
|
||||
"pasvaz.bindonce",
|
||||
]
|
||||
|
||||
# Default Value for taiga local config module.
|
||||
|
|
|
@ -77,7 +77,7 @@ BacklogDirective = ($compile, $templateCache) ->
|
|||
$element.append(dom)
|
||||
|
||||
link = ($scope, $element, $attrs, $ctrl) ->
|
||||
backlogTableDom = $element.find("section.backlog-table")
|
||||
backlogTableDom = $element.find("section.backlog-table-body")
|
||||
backlogLink($scope, backlogTableDom, $attrs, $ctrl)
|
||||
|
||||
return {
|
||||
|
@ -92,6 +92,24 @@ BacklogDirective = ($compile, $templateCache) ->
|
|||
link: link
|
||||
}
|
||||
|
||||
SprintDirective = ($compile, $templateCache) ->
|
||||
link = (scope, element, attrs) ->
|
||||
sprint = scope.$eval(attrs.tgSprint)
|
||||
if scope.$first
|
||||
element.addClass("sprint-current")
|
||||
|
||||
if sprint.closed
|
||||
element.addClass("sprint-closed")
|
||||
|
||||
# Event Handlers
|
||||
element.on "click", ".sprint-summary > a", (event) ->
|
||||
element.find(".sprint-table").toggle()
|
||||
|
||||
return {
|
||||
link: link
|
||||
}
|
||||
|
||||
|
||||
module = angular.module("taigaBacklog", [])
|
||||
module.directive("tgBacklog", ["$compile", "$templateCache", BacklogDirective])
|
||||
module.directive("tgSprint", ["$compile", SprintDirective])
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
###
|
||||
# Copyright (C) 2014 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# File: modules/base/bindonce.coffee
|
||||
###
|
||||
|
||||
# Html bind once directive
|
||||
BindHtmlDirective = ->
|
||||
link = (scope, element, attrs) ->
|
||||
element.html(scope.$eval(attrs.tgBoHtml))
|
||||
|
||||
return {link:link}
|
||||
|
||||
# Object reference bind once helper.
|
||||
BindRefDirective = ->
|
||||
link = (scope, element, attrs) ->
|
||||
val = scope.$eval(attrs.tgBoRef)
|
||||
element.html("##{val} ")
|
||||
return {link:link}
|
||||
|
||||
module = angular.module("taigaBase")
|
||||
module.directive("tgBoHtml", BindHtmlDirective)
|
||||
module.directive("tgBoRef", BindRefDirective)
|
|
@ -1,5 +1,5 @@
|
|||
div.row(ng-repeat="us in userstories")
|
||||
div
|
||||
div.user-stories
|
||||
div.user-story-name
|
||||
input(type="checkbox", name="")
|
||||
a(href="") {{ us.subject }}
|
||||
|
|
|
@ -10,40 +10,40 @@ section.backlog-table-header
|
|||
div.points.width-1 Front
|
||||
div.points.width-1 Total
|
||||
section.backlog-table-body
|
||||
- for (var x = 0; x < 40; x++)
|
||||
div.row
|
||||
div.user-stories
|
||||
div.user-story-name
|
||||
input(type="checkbox", name="")
|
||||
a(href="") Crear el perfil de usuario Senior en el admin
|
||||
span.us-settings
|
||||
a.icon.icon-edit(href="", title="Edit")
|
||||
a.icon.icon-delete(href="", title="Delete")
|
||||
div.user-story-tags
|
||||
- for(var y = 0; y < 3; y++)
|
||||
include ../components/tag
|
||||
div.status.width-2
|
||||
a(href="", title="Status Name") Status Name
|
||||
ul.popover.pop-status
|
||||
li
|
||||
a(href="", title="Status 1") Status 1
|
||||
li
|
||||
a(href="", title="Status 2") Status 2
|
||||
li
|
||||
a(href="", title="Status 3") Status 3
|
||||
div.points
|
||||
a(href="", title="") 24
|
||||
div.points
|
||||
a(href="", title="Total Points") 43
|
||||
ul.popover.pop-status
|
||||
li
|
||||
a(href="", title="Status 1") Status 1
|
||||
li
|
||||
a(href="", title="Status 2") Status 2
|
||||
li
|
||||
a(href="", title="Status 3") Status 3
|
||||
a.icon.icon-drag-v(href="", title="Drag")
|
||||
hr.doom-line
|
||||
// - for (var x = 0; x < 40; x++)
|
||||
// div.row
|
||||
// div.user-stories
|
||||
// div.user-story-name
|
||||
// input(type="checkbox", name="")
|
||||
// a(href="") Crear el perfil de usuario Senior en el admin
|
||||
// span.us-settings
|
||||
// a.icon.icon-edit(href="", title="Edit")
|
||||
// a.icon.icon-delete(href="", title="Delete")
|
||||
// div.user-story-tags
|
||||
// - for(var y = 0; y < 3; y++)
|
||||
// include ../components/tag
|
||||
// div.status.width-2
|
||||
// a(href="", title="Status Name") Status Name
|
||||
// ul.popover.pop-status
|
||||
// li
|
||||
// a(href="", title="Status 1") Status 1
|
||||
// li
|
||||
// a(href="", title="Status 2") Status 2
|
||||
// li
|
||||
// a(href="", title="Status 3") Status 3
|
||||
// div.points
|
||||
// a(href="", title="") 24
|
||||
// div.points
|
||||
// a(href="", title="Total Points") 43
|
||||
// ul.popover.pop-status
|
||||
// li
|
||||
// a(href="", title="Status 1") Status 1
|
||||
// li
|
||||
// a(href="", title="Status 2") Status 2
|
||||
// li
|
||||
// a(href="", title="Status 3") Status 3
|
||||
// a.icon.icon-drag-v(href="", title="Drag")
|
||||
// hr.doom-line
|
||||
|
||||
script(type="text/ng-template" id="backlog-row.html")
|
||||
include ../components/backlog-row
|
||||
|
|
|
@ -10,7 +10,7 @@ section.sprints
|
|||
a.button-green(href="", title="Add New US")
|
||||
span.text + New sprint
|
||||
|
||||
section.sprint(ng-repeat="sprint in sprints track by sprint.id", tg-backlog-sprint)
|
||||
section.sprint(ng-repeat="sprint in sprints track by sprint.id", tg-sprint="sprint")
|
||||
header
|
||||
div.sprint-summary
|
||||
a.icon.icon-arrow-up(href="", title="compact Sprint")
|
||||
|
@ -26,11 +26,12 @@ section.sprints
|
|||
div.sprint-progress-bar
|
||||
div.current-progress
|
||||
div.sprint-table
|
||||
- for (var x = 0; x < 10; x++)
|
||||
div.row
|
||||
div.row(ng-repeat="us in sprint.user_stories track by us.id")
|
||||
div.column-us.width-8
|
||||
a.us-name(href="", title="") #125 Crear el perfil de usuario Senior en el admin
|
||||
div.column-points.width-1 45
|
||||
a.us-name(href="", title="")
|
||||
span(tg-bo-ref="us.ref")
|
||||
span(tg-bo-html="us.subject")
|
||||
div.column-points.width-1(tg-bindonce-html="us.total_points")
|
||||
a.button.button-gray(href="", title="Current Sprint Taskboard")
|
||||
span Sprint Taskboard
|
||||
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
"i18next": "~1.7.1",
|
||||
"jquery": "~2.1.1",
|
||||
"select2": "~3.4.5",
|
||||
"angular-bindonce": "~0.3.1",
|
||||
"angular-ui-select2": "~0.0.5",
|
||||
"google-diff-match-patch-js": "~1.0.0",
|
||||
"underscore.string": "~2.3.3",
|
||||
|
|
|
@ -51,8 +51,7 @@ vendorJsLibs = [
|
|||
"app/vendor/angular/angular.js",
|
||||
"app/vendor/angular-route/angular-route.js",
|
||||
"app/vendor/angular-sanitize/angular-sanitize.js",
|
||||
"app/vendor/angular-animate/angular-animate.js",
|
||||
"app/vendor/angular-bindonce/bindonce.js"
|
||||
"app/vendor/angular-animate/angular-animate.js"
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue