3c07c6e8c0
Hide Team UI elements if the user does not have the rights to use them Fix replacing the right saved in the model when updating Hide UI-Elements on task if the user does not have the rights to use them Hide UI-Elements on gantt if the user does not have the rights to use them Hide UI-Elements on kanban if the user does not have rights to use them Fix canWrite condition Hide list components if the user has no right to write to the list Add max right to model Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/211
31 lines
No EOL
749 B
JavaScript
31 lines
No EOL
749 B
JavaScript
import {defaults, omitBy, isNil} from 'lodash'
|
|
import {objectToCamelCase} from '../helpers/case'
|
|
|
|
export default class AbstractModel {
|
|
|
|
/**
|
|
* The max right the user has on this object, as returned by the x-max-right header from the api.
|
|
* @type {number|null}
|
|
*/
|
|
maxRight = null
|
|
|
|
/**
|
|
* The abstract constructor takes an object and merges its data with the default data of this model.
|
|
* @param data
|
|
*/
|
|
constructor(data) {
|
|
|
|
data = objectToCamelCase(data)
|
|
|
|
// Put all data in our model while overriding those with a value of null or undefined with their defaults
|
|
defaults(this, omitBy(data, isNil), this.defaults())
|
|
}
|
|
|
|
/**
|
|
* Default attributes that define the "empty" state.
|
|
* @return {{}}
|
|
*/
|
|
defaults() {
|
|
return {}
|
|
}
|
|
} |