1
0

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:
konrad
2020-09-04 20:01:02 +00:00
parent 89c602416c
commit cac8b09263
25 changed files with 124 additions and 43 deletions

View File

@ -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
}

View File

@ -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
}
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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) {

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}