Add limits for kanban boards (#234)
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: https://kolaente.dev/vikunja/frontend/pulls/234
This commit is contained in:
@ -12,7 +12,7 @@ export default class AttachmentService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
import AbstractService from './abstractService'
|
||||
import BucketModel from "../models/bucket";
|
||||
import BucketModel from '../models/bucket'
|
||||
import TaskService from '@/services/task'
|
||||
|
||||
export default class BucketService extends AbstractService {
|
||||
constructor() {
|
||||
@ -14,4 +15,10 @@ export default class BucketService extends AbstractService {
|
||||
modelFactory(data) {
|
||||
return new BucketModel(data)
|
||||
}
|
||||
|
||||
beforeUpdate(model) {
|
||||
const taskService = new TaskService()
|
||||
model.tasks = model.tasks.map(t => taskService.processModel(t))
|
||||
return model
|
||||
}
|
||||
}
|
@ -14,8 +14,8 @@ export default class LabelService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(label) {
|
||||
label.created = formatISO(label.created)
|
||||
label.updated = formatISO(label.updated)
|
||||
label.created = formatISO(new Date(label.created))
|
||||
label.updated = formatISO(new Date(label.updated))
|
||||
label.hexColor = label.hexColor.substring(1, 7)
|
||||
return label
|
||||
}
|
||||
|
@ -13,8 +13,8 @@ export default class ListService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -15,8 +15,8 @@ export default class ListService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -10,8 +10,8 @@ export default class ListUserService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class NamespaceService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -37,8 +37,8 @@ export default class TaskService extends AbstractService {
|
||||
model.dueDate = !model.dueDate ? null : formatISO(new Date(model.dueDate))
|
||||
model.startDate = !model.startDate ? null : formatISO(new Date(model.startDate))
|
||||
model.endDate = !model.endDate ? null : formatISO(new Date(model.endDate))
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
|
||||
// remove all nulls, these would create empty reminders
|
||||
for (const index in model.reminderDates) {
|
||||
|
@ -11,7 +11,7 @@ export default class TaskAssigneeService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -10,8 +10,8 @@ export default class TaskCollectionService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class TaskCommentService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ export default class TaskRelationService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class TeamService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class TeamListService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -12,8 +12,8 @@ export default class TeamMemberService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class TeamNamespaceService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -10,8 +10,8 @@ export default class UserService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class UserListService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,8 @@ export default class UserNamespaceService extends AbstractService {
|
||||
}
|
||||
|
||||
processModel(model) {
|
||||
model.created = formatISO(model.created)
|
||||
model.updated = formatISO(model.updated)
|
||||
model.created = formatISO(new Date(model.created))
|
||||
model.updated = formatISO(new Date(model.updated))
|
||||
return model
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user