Labels on tasks (#25)
This commit is contained in:
47
src/models/label.js
Normal file
47
src/models/label.js
Normal file
@ -0,0 +1,47 @@
|
||||
import AbstractModel from './abstractModel'
|
||||
import UserModel from "./user";
|
||||
|
||||
export default class LabelModel extends AbstractModel {
|
||||
constructor(data) {
|
||||
super(data)
|
||||
// Set the default color
|
||||
if (this.hex_color === '') {
|
||||
this.hex_color = 'e8e8e8'
|
||||
}
|
||||
if (this.hex_color.substring(0, 1) !== '#') {
|
||||
this.hex_color = '#' + this.hex_color
|
||||
}
|
||||
this.textColor = this.hasDarkColor() ? '#4a4a4a' : '#e5e5e5'
|
||||
this.created_by = new UserModel(this.created_by)
|
||||
}
|
||||
|
||||
defaults() {
|
||||
return {
|
||||
id: 0,
|
||||
title: '',
|
||||
hex_color: '',
|
||||
description: '',
|
||||
created_by: UserModel,
|
||||
listID: 0,
|
||||
textColor: '',
|
||||
|
||||
created: 0,
|
||||
updated: 0
|
||||
}
|
||||
}
|
||||
|
||||
hasDarkColor() {
|
||||
if (this.hex_color === '#') {
|
||||
return true // Defaults to dark
|
||||
}
|
||||
|
||||
let rgb = parseInt(this.hex_color.substring(1, 7), 16); // convert rrggbb to decimal
|
||||
let r = (rgb >> 16) & 0xff; // extract red
|
||||
let g = (rgb >> 8) & 0xff; // extract green
|
||||
let b = (rgb >> 0) & 0xff; // extract blue
|
||||
|
||||
// luma will be a value 0..255 where 0 indicates the darkest, and 255 the brightest
|
||||
let luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709
|
||||
return luma > 128
|
||||
}
|
||||
}
|
11
src/models/labelTask.js
Normal file
11
src/models/labelTask.js
Normal file
@ -0,0 +1,11 @@
|
||||
import AbstractModel from "./abstractModel";
|
||||
|
||||
export default class LabelTask extends AbstractModel {
|
||||
defaults() {
|
||||
return {
|
||||
id: 0,
|
||||
taskID: 0,
|
||||
label_id: 0,
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
import AbstractModel from './abstractModel';
|
||||
import UserModel from './user'
|
||||
import LabelModel from "./label";
|
||||
|
||||
export default class TaskModel extends AbstractModel {
|
||||
|
||||
@ -24,6 +25,10 @@ export default class TaskModel extends AbstractModel {
|
||||
return new UserModel(a)
|
||||
})
|
||||
this.createdBy = new UserModel(this.createdBy)
|
||||
|
||||
this.labels = this.labels.map(l => {
|
||||
return new LabelModel(l)
|
||||
})
|
||||
}
|
||||
|
||||
defaults() {
|
||||
|
Reference in New Issue
Block a user