Browse Source

Refactor label page, resolve #1648

pull/1664/head
Hironsan 2 years ago
parent
commit
90d3521bdc
2 changed files with 8 additions and 14 deletions
  1. 12
      frontend/pages/projects/_id/labels/index.vue
  2. 10
      frontend/services/application/label/labelApplicationService.ts

12
frontend/pages/projects/_id/labels/index.vue

@ -172,19 +172,11 @@ export default Vue.extend({
this.isLoading = false
},
create(): any {
return this.service.create(this.projectId, this.editedItem)
},
update(): any {
return this.service.update(this.projectId, this.editedItem)
},
async save() {
if (this.editedIndex > -1) {
await this.update()
await this.service.update(this.projectId, this.editedItem)
} else {
await this.create()
await this.service.create(this.projectId, this.editedItem)
}
await this.list()
this.close()

10
frontend/services/application/label/labelApplicationService.ts

@ -14,7 +14,7 @@ export class LabelApplicationService {
return items.map(item => new LabelDTO(item))
}
public create(projectId: string, item: CreateLabelCommand): void {
public async create(projectId: string, item: CreateLabelCommand): Promise<LabelDTO> {
// Todo: use auto mapping.
const label = new LabelItem()
label.text = item.text
@ -22,10 +22,11 @@ export class LabelApplicationService {
label.suffixKey = item.suffixKey
label.backgroundColor = item.backgroundColor
label.textColor = item.textColor
this.repository.create(projectId, label)
const created = await this.repository.create(projectId, label)
return new LabelDTO(created)
}
public update(projectId: string, item: LabelDTO): void {
public async update(projectId: string, item: LabelDTO): Promise<LabelDTO> {
// Todo: use auto mapping.
const label = new LabelItem()
label.id = item.id
@ -34,7 +35,8 @@ export class LabelApplicationService {
label.suffixKey = item.suffixKey
label.backgroundColor = item.backgroundColor
label.textColor = item.textColor
this.repository.update(projectId, label)
const updated = await this.repository.update(projectId, label)
return new LabelDTO(updated)
}
public bulkDelete(projectId: string, items: LabelDTO[]): Promise<void> {

Loading…
Cancel
Save