Added colors to tasks
This commit is contained in:
@ -29,6 +29,14 @@ export default class TaskModel extends AbstractModel {
|
||||
this.labels = this.labels.map(l => {
|
||||
return new LabelModel(l)
|
||||
})
|
||||
|
||||
// Set the default color
|
||||
if (this.hexColor === '') {
|
||||
this.hexColor = '198CFF'
|
||||
}
|
||||
if (this.hexColor.substring(0, 1) !== '#') {
|
||||
this.hexColor = '#' + this.hexColor
|
||||
}
|
||||
}
|
||||
|
||||
defaults() {
|
||||
@ -48,7 +56,8 @@ export default class TaskModel extends AbstractModel {
|
||||
reminderDates: [],
|
||||
subtasks: [],
|
||||
parentTaskID: 0,
|
||||
|
||||
hexColor: '',
|
||||
|
||||
createdBy: UserModel,
|
||||
created: 0,
|
||||
updated: 0,
|
||||
@ -101,4 +110,23 @@ export default class TaskModel extends AbstractModel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the hexColor of a task is dark.
|
||||
* @returns {boolean}
|
||||
*/
|
||||
hasDarkColor() {
|
||||
if (this.hexColor === '#') {
|
||||
return true // Defaults to dark
|
||||
}
|
||||
|
||||
let rgb = parseInt(this.hexColor.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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user