fix tags in project detail page
parent
5d9e82ea58
commit
c85e1cf4a0
|
@ -6,8 +6,10 @@ div.wrapper
|
|||
span.private(ng-if="::vm.project.get('is_private')", title="{{'PROJECT.PRIVATE' | translate}}")
|
||||
include ../../../svg/lock.svg
|
||||
p.description {{vm.project.get('description')}}
|
||||
|
||||
div.project-list-single-tags.tags-container(ng-if="::vm.project.get('tags').size")
|
||||
div.tags-block(tg-colorize-tags="vm.project.get('tags')", tg-colorize-tags-type="backlog")
|
||||
span.tag(style='border-left: 5px solid {{::tag.get("color")}};', tg-repeat="tag in ::vm.project.get('colorized_tags')")
|
||||
span.tag-name {{::tag.get('name')}}
|
||||
|
||||
div.project-data
|
||||
section.timeline(ng-if="vm.project")
|
||||
|
|
|
@ -8,6 +8,8 @@ class ProjectsService extends taiga.Service
|
|||
|
||||
getProjectBySlug: (projectSlug) ->
|
||||
return @rs.projects.getProjectBySlug(projectSlug)
|
||||
.then (project) =>
|
||||
return @._decorate(project)
|
||||
|
||||
getProjectStats: (projectId) ->
|
||||
return @rs.projects.getProjectStats(projectId)
|
||||
|
@ -15,25 +17,24 @@ class ProjectsService extends taiga.Service
|
|||
getProjectsByUserId: (userId) ->
|
||||
return @rs.projects.getProjectsByUserId(userId)
|
||||
.then (projects) =>
|
||||
return @._decorate(projects)
|
||||
return projects.map @._decorate.bind(@)
|
||||
|
||||
_decorate: (projects) ->
|
||||
return projects.map (project) =>
|
||||
url = @projectUrl.get(project.toJS())
|
||||
_decorate: (project) ->
|
||||
url = @projectUrl.get(project.toJS())
|
||||
|
||||
project = project.set("url", url)
|
||||
colorized_tags = []
|
||||
project = project.set("url", url)
|
||||
colorized_tags = []
|
||||
|
||||
if project.get("tags")
|
||||
tags = project.get("tags").sort()
|
||||
if project.get("tags")
|
||||
tags = project.get("tags").sort()
|
||||
|
||||
colorized_tags = tags.map (tag) ->
|
||||
color = project.get("tags_colors").get(tag)
|
||||
return Immutable.fromJS({name: tag, color: color})
|
||||
colorized_tags = tags.map (tag) ->
|
||||
color = project.get("tags_colors").get(tag)
|
||||
return Immutable.fromJS({name: tag, color: color})
|
||||
|
||||
project = project.set("colorized_tags", colorized_tags)
|
||||
project = project.set("colorized_tags", colorized_tags)
|
||||
|
||||
return project
|
||||
return project
|
||||
|
||||
newProject: ->
|
||||
@lightboxFactory.create("tg-lb-create-project", {
|
||||
|
|
|
@ -87,15 +87,6 @@ describe "tgProjectsService", ->
|
|||
|
||||
expect(result).to.be.true
|
||||
|
||||
it "getProjectBySlug", () ->
|
||||
projectSlug = "project-slug"
|
||||
|
||||
mocks.resources.projects = {}
|
||||
mocks.resources.projects.getProjectBySlug = sinon.stub()
|
||||
mocks.resources.projects.getProjectBySlug.withArgs(projectSlug).returns(true)
|
||||
|
||||
expect(projectsService.getProjectBySlug(projectSlug)).to.be.true
|
||||
|
||||
it "getProjectStats", () ->
|
||||
projectId = 3
|
||||
|
||||
|
@ -105,6 +96,27 @@ describe "tgProjectsService", ->
|
|||
|
||||
expect(projectsService.getProjectStats(projectId)).to.be.true
|
||||
|
||||
it "getProjectBySlug", (done) ->
|
||||
projectSlug = "project-slug"
|
||||
project = Immutable.fromJS({id: 2, url: 'url-2', tags: ['xx', 'yy', 'aa'], tags_colors: {xx: "red", yy: "blue", aa: "white"}})
|
||||
|
||||
mocks.resources.projects = {}
|
||||
mocks.resources.projects.getProjectBySlug = sinon.stub().promise()
|
||||
mocks.resources.projects.getProjectBySlug.withArgs(projectSlug).resolve(project)
|
||||
|
||||
projectsService.getProjectBySlug(projectSlug).then (project) ->
|
||||
expect(project.toJS()).to.be.eql(
|
||||
{
|
||||
id: 2,
|
||||
url: 'url-2',
|
||||
tags: ['xx', 'yy', 'aa'],
|
||||
tags_colors: {xx: "red", yy: "blue", aa: "white"},
|
||||
colorized_tags: [{name: 'aa', color: 'white'}, {name: 'xx', color: 'red'}, {name: 'yy', color: 'blue'}]
|
||||
}
|
||||
)
|
||||
|
||||
done()
|
||||
|
||||
it "getProjectsByUserId", (done) ->
|
||||
projectId = 3
|
||||
|
||||
|
|
Loading…
Reference in New Issue