US/121 project details
parent
08d9e17894
commit
9e2fd9cfc1
|
@ -25,6 +25,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide) ->
|
||||||
|
|
||||||
$routeProvider.when("/", {templateUrl: "/partials/projects.html"})
|
$routeProvider.when("/", {templateUrl: "/partials/projects.html"})
|
||||||
$routeProvider.when("/create-project", {templateUrl: "/partials/create-project.html"})
|
$routeProvider.when("/create-project", {templateUrl: "/partials/create-project.html"})
|
||||||
|
$routeProvider.when("/project/:pslug/", {templateUrl: "/partials/project.html"})
|
||||||
$routeProvider.when("/project/:pslug/backlog", {templateUrl: "/partials/backlog.html"})
|
$routeProvider.when("/project/:pslug/backlog", {templateUrl: "/partials/backlog.html"})
|
||||||
$routeProvider.when("/project/:pslug/taskboard/:id", {templateUrl: "/partials/taskboard.html"})
|
$routeProvider.when("/project/:pslug/taskboard/:id", {templateUrl: "/partials/taskboard.html"})
|
||||||
$routeProvider.when("/project/:pslug/search", {templateUrl: "/partials/search.html"})
|
$routeProvider.when("/project/:pslug/search", {templateUrl: "/partials/search.html"})
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
taiga = @.taiga
|
taiga = @.taiga
|
||||||
module = angular.module("taigaProject", [])
|
module = angular.module("taigaProject", [])
|
||||||
|
|
||||||
class ProjectController extends taiga.Controller
|
class ProjectsController extends taiga.Controller
|
||||||
@.$inject = ["$scope", "$tgResources"]
|
@.$inject = ["$scope", "$tgResources"]
|
||||||
|
|
||||||
constructor: (@scope, @rs) ->
|
constructor: (@scope, @rs) ->
|
||||||
|
@ -13,6 +13,39 @@ class ProjectController extends taiga.Controller
|
||||||
return @rs.projects.list().then (projects) =>
|
return @rs.projects.list().then (projects) =>
|
||||||
@.projects = {'recents': projects.slice(0, 8), 'all': projects.slice(6)}
|
@.projects = {'recents': projects.slice(0, 8), 'all': projects.slice(6)}
|
||||||
|
|
||||||
|
module.controller("ProjectsController", ProjectsController)
|
||||||
|
|
||||||
|
class ProjectController extends taiga.Controller
|
||||||
|
@.$inject = ["$scope", "$tgResources", "$tgRepo", "$routeParams", "$q"]
|
||||||
|
|
||||||
|
constructor: (@scope, @rs, @repo, @params, @q) ->
|
||||||
|
@scope.hideMenu = true
|
||||||
|
@.loadInitialData()
|
||||||
|
|
||||||
|
loadInitialData: ->
|
||||||
|
# Resolve project slug
|
||||||
|
promise = @repo.resolve({pslug: @params.pslug}).then (data) =>
|
||||||
|
@scope.projectId = data.project
|
||||||
|
return data
|
||||||
|
|
||||||
|
return promise.then(=> @.loadPageData())
|
||||||
|
|
||||||
|
loadPageData: ->
|
||||||
|
return @q.all([
|
||||||
|
@.loadProjectStats(),
|
||||||
|
@.loadProject()])
|
||||||
|
|
||||||
|
loadProject: ->
|
||||||
|
return @rs.projects.get(@scope.projectId).then (project) =>
|
||||||
|
@.project = project
|
||||||
|
return project
|
||||||
|
|
||||||
|
loadProjectStats: ->
|
||||||
|
return @rs.projects.stats(@scope.projectId).then (stats) =>
|
||||||
|
@.stats = stats
|
||||||
|
return stats
|
||||||
|
|
||||||
|
|
||||||
module.controller("ProjectController", ProjectController)
|
module.controller("ProjectController", ProjectController)
|
||||||
|
|
||||||
ProjectsPaginationDirective = ($timeout) ->
|
ProjectsPaginationDirective = ($timeout) ->
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
extends dummy-layout
|
||||||
|
|
||||||
|
block head
|
||||||
|
title Taiga Project management web application with scrum in mind!
|
||||||
|
|
||||||
|
block content
|
||||||
|
.home-project(ng-controller="ProjectController as ctrl")
|
||||||
|
.inner
|
||||||
|
h1(tg-bo-html="ctrl.project.name")
|
||||||
|
|
||||||
|
ul.home-project-info-list
|
||||||
|
li
|
||||||
|
span.info-num(tg-bo-html="ctrl.stats.total_points")
|
||||||
|
span.info-text projects points
|
||||||
|
li
|
||||||
|
span.info-num(tg-bo-html="ctrl.stats.defined_points")
|
||||||
|
span.info-text defined points
|
||||||
|
li
|
||||||
|
span.info-num(tg-bo-html="ctrl.stats.assigned_points")
|
||||||
|
span.info-text assigned points
|
||||||
|
li
|
||||||
|
span.info-num(tg-bo-html="ctrl.stats.closed_points")
|
||||||
|
span.info-text closed points
|
||||||
|
|
||||||
|
|
||||||
|
p.description(tg-bo-html="ctrl.project.description")
|
||||||
|
|
||||||
|
.home-project-bottom
|
||||||
|
ul
|
||||||
|
li(ng-repeat="member in ctrl.project.memberships")
|
||||||
|
img(src="http://www.gravatar.com/avatar/0601c5aa999eb9f589e3516ba7e31820?size=80&default=")
|
||||||
|
|
||||||
|
a.button.button-blackish(href="", tg-nav="project-backlog:project=ctrl.project.slug") GO TO PROJECT
|
|
@ -4,7 +4,7 @@ block head
|
||||||
title Taiga Project management web application with scrum in mind!
|
title Taiga Project management web application with scrum in mind!
|
||||||
|
|
||||||
block content
|
block content
|
||||||
div.home-projects-list(ng-controller="ProjectController as ctrl")
|
div.home-projects-list(ng-controller="ProjectsController as ctrl")
|
||||||
.home-projects-list-inner
|
.home-projects-list-inner
|
||||||
ul.recent-projects
|
ul.recent-projects
|
||||||
li(ng-repeat="project in ctrl.projects.recents")
|
li(ng-repeat="project in ctrl.projects.recents")
|
||||||
|
@ -12,14 +12,14 @@ block content
|
||||||
h2(tg-bo-html="project.name")
|
h2(tg-bo-html="project.name")
|
||||||
p(tg-bo-html="project.description")
|
p(tg-bo-html="project.description")
|
||||||
.project-link
|
.project-link
|
||||||
a.button.button-gray(href="", tg-nav="project-backlog:project=project.slug") Go to project
|
a.button.button-gray(href="", tg-nav="project:project=project.slug") Go to project
|
||||||
|
|
||||||
div.all-projects
|
div.all-projects
|
||||||
h1 Projects
|
h1 Projects
|
||||||
div(tg-projects-pagination, active="ctrl.projects.all.length")
|
div(tg-projects-pagination, active="ctrl.projects.all.length")
|
||||||
ul
|
ul
|
||||||
li(ng-repeat="project in ctrl.projects.all")
|
li(ng-repeat="project in ctrl.projects.all")
|
||||||
a.button(href="", tg-bo-html="project.name", tg-nav="project-backlog:project=project.slug")
|
a.button(href="", tg-bo-html="project.name", tg-nav="project:project=project.slug")
|
||||||
|
|
||||||
.create-project-button-wrapper
|
.create-project-button-wrapper
|
||||||
a.button.button-green(href="", tg-nav="create-project") Create project
|
a.button.button-green(href="", tg-nav="create-project") Create project
|
|
@ -53,6 +53,18 @@ a.button-green {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-blackish {
|
||||||
|
background: $blackish;
|
||||||
|
color: $whitish;
|
||||||
|
&:hover {
|
||||||
|
background: $button-gray-hover;
|
||||||
|
color: $white;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
color: $white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.button-red {
|
.button-red {
|
||||||
background: $red-light;
|
background: $red-light;
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
|
@ -58,6 +58,7 @@ $prefix-for-spec: true;
|
||||||
|
|
||||||
//Project modules
|
//Project modules
|
||||||
@import 'modules/home-projects-list';
|
@import 'modules/home-projects-list';
|
||||||
|
@import 'modules/home-project';
|
||||||
@import 'modules/project-details';
|
@import 'modules/project-details';
|
||||||
|
|
||||||
//Issues modules
|
//Issues modules
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
.home-project {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
.inner {
|
||||||
|
background-color: rgba(255, 255, 255, .2);
|
||||||
|
padding: 2rem;
|
||||||
|
width: 970px;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
}
|
||||||
|
li,
|
||||||
|
h1,
|
||||||
|
p {
|
||||||
|
color: $whitish;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-project-info-list {
|
||||||
|
display: flex;
|
||||||
|
.info-num {
|
||||||
|
@extend %xlarge;
|
||||||
|
font-family: 'DroidSans-Bold';
|
||||||
|
margin-right: .3rem;
|
||||||
|
}
|
||||||
|
.info-text {
|
||||||
|
@extend %small;
|
||||||
|
display: block;
|
||||||
|
line-height: 12px;
|
||||||
|
width: 55px;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-project-bottom {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 2rem;
|
||||||
|
img {
|
||||||
|
border-radius: 3px;
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
margin-right: .5rem;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
margin-bottom: 0;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.button-blackish {
|
||||||
|
color: $whitish;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
.home-projects-list {
|
.home-projects-list, .home-project {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-image: url('/images/project-selector.jpg');
|
background-image: url('/images/project-selector.jpg');
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
|
|
Loading…
Reference in New Issue