1
0

Task Detail View (#37)

This commit is contained in:
konrad
2019-11-24 13:16:24 +00:00
parent e00f0046b5
commit 4e5d14d969
39 changed files with 2228 additions and 503 deletions

21
src/models/attachment.js Normal file
View File

@ -0,0 +1,21 @@
import AbstractModel from './abstractModel'
import UserModel from './user'
import FileModel from './file'
export default class AttachmentModel extends AbstractModel {
constructor(data) {
super(data)
this.created_by = new UserModel(this.created_by)
this.file = new FileModel(this.file)
}
defaults() {
return {
id: 0,
task_id: 0,
file: FileModel,
created_by: UserModel,
created: 0,
}
}
}

32
src/models/file.js Normal file
View File

@ -0,0 +1,32 @@
import AbstractModel from './abstractModel'
export default class FileModel extends AbstractModel {
defaults() {
return {
id: 0,
mime: '',
name: '',
size: '',
created: 0,
}
}
getHumanSize() {
const sizes = {
0: 'B',
1: 'KB',
2: 'MB',
3: 'GB',
4: 'TB',
}
let it = 0
let size = this.size
while (size > 1024) {
size /= 1024
it++
}
return Number(Math.round(size+'e2')+'e-2') + ' ' + sizes[it]
}
}

View File

@ -1,11 +1,15 @@
import AbstractModel from './abstractModel';
import UserModel from './user'
import LabelModel from "./label";
import LabelModel from './label'
import AttachmentModel from './attachment'
export default class TaskModel extends AbstractModel {
constructor(data) {
super(data)
this.id = Number(this.id)
this.listID = Number(this.listID)
// Make date objects from timestamps
this.dueDate = this.parseDateIfNessecary(this.dueDate)
@ -44,6 +48,11 @@ export default class TaskModel extends AbstractModel {
return new TaskModel(t)
})
})
// Make all attachments to attachment models
this.attachments = this.attachments.map(a => {
return new AttachmentModel(a)
})
}
defaults() {
@ -65,6 +74,7 @@ export default class TaskModel extends AbstractModel {
hexColor: '',
percentDone: 0,
related_tasks: {},
attachments: [],
createdBy: UserModel,
created: 0,

View File

@ -0,0 +1,11 @@
import AbstractModel from './abstractModel'
export default class TaskAssigneeModel extends AbstractModel {
defaults() {
return {
created: 0,
user_id: 0,
task_id: 0,
}
}
}