forked from vikunja/frontend
konrad
cac8b09263
Prevent dropping a task onto a bucket which has its limit reached Fix closing the dropdown Add notice to show the limit Add input to change kanban bucket limit Add menu item to save bucket limit Fix parsing dates from the api Co-authored-by: kolaente <k@knt.li> Reviewed-on: vikunja/frontend#234
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
import AbstractService from './abstractService'
|
|
import ListModel from '../models/list'
|
|
import TaskService from './task'
|
|
import {formatISO} from 'date-fns'
|
|
|
|
export default class ListService extends AbstractService {
|
|
constructor() {
|
|
super({
|
|
create: '/namespaces/{namespaceId}/lists',
|
|
get: '/lists/{id}',
|
|
getAll: '/lists',
|
|
update: '/lists/{id}',
|
|
delete: '/lists/{id}',
|
|
})
|
|
}
|
|
|
|
processModel(model) {
|
|
model.created = formatISO(new Date(model.created))
|
|
model.updated = formatISO(new Date(model.updated))
|
|
return model
|
|
}
|
|
|
|
modelFactory(data) {
|
|
return new ListModel(data)
|
|
}
|
|
|
|
beforeUpdate(model) {
|
|
let taskService = new TaskService()
|
|
model.tasks = model.tasks.map(task => {
|
|
return taskService.beforeUpdate(task)
|
|
})
|
|
model.hexColor = model.hexColor.substring(1, 7)
|
|
return model
|
|
}
|
|
|
|
beforeCreate(list) {
|
|
list.hexColor = list.hexColor.substring(1, 7)
|
|
return list
|
|
}
|
|
|
|
background(list) {
|
|
if (list.background === null) {
|
|
return Promise.resolve('')
|
|
}
|
|
|
|
return this.http({
|
|
url: `/lists/${list.id}/background`,
|
|
method: 'GET',
|
|
responseType: 'blob',
|
|
})
|
|
.then(response => {
|
|
return window.URL.createObjectURL(new Blob([response.data]))
|
|
})
|
|
.catch(e => {
|
|
return e
|
|
})
|
|
}
|
|
} |