Move everything to models and services #17
|
@ -9,6 +9,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"bulma": "^0.7.1",
|
||||
"lodash": "^4.17.11",
|
||||
"v-tooltip": "^2.0.0-rc.33",
|
||||
"vue": "^2.5.17",
|
||||
"vue-mc": "^0.5.0"
|
||||
|
|
|
@ -257,9 +257,13 @@
|
|||
|
||||
let listService = new ListService()
|
||||
|
||||
let list = listService.get({id: this.listID}, {})
|
||||
let list = listService.get({id: this.listID}, {}).then(r => {
|
||||
this.$set(this, 'list', r)
|
||||
})
|
||||
// eslint-disable-next-line
|
||||
console.log(list)
|
||||
// eslint-disable-next-line
|
||||
console.log(list.getTitle())
|
||||
|
||||
/*this.list = new List({id: this.listID})
|
||||
this.list.fetch()*/
|
||||
|
|
14
src/models/abstractModel.js
Normal file
14
src/models/abstractModel.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
import {defaults} from "lodash";
|
||||
|
||||
export default class AbstractModel {
|
||||
|
||||
constructor(data) {
|
||||
// Put all data in our model
|
||||
defaults(this, data, this.defaults())
|
||||
}
|
||||
|
||||
// Default attributes that define the "empty" state.
|
||||
defaults() {
|
||||
return {}
|
||||
}
|
||||
}
|
|
@ -1,12 +1,6 @@
|
|||
export default class ListModel {
|
||||
|
||||
constructor(data) {
|
||||
// eslint-disable-next-line
|
||||
console.log('ListModel Constructor', data)
|
||||
|
||||
// How to put that data in the model?
|
||||
}
|
||||
|
||||
import abstractModel from "./abstractModel";
|
||||
|
||||
export default class ListModel extends abstractModel {
|
||||
// Default attributes that define the "empty" state.
|
||||
defaults() {
|
||||
return {
|
||||
|
@ -21,41 +15,8 @@ export default class ListModel {
|
|||
updated: 0,
|
||||
}
|
||||
}
|
||||
/*
|
||||
// Custom options
|
||||
options() {
|
||||
return {
|
||||
methods: {
|
||||
update: 'POST',
|
||||
create: 'PUT',
|
||||
},
|
||||
// How to add headers to requests?
|
||||
headers: {
|
||||
'Authorization': 'Bearer ' + localStorage.getItem('token')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getRouteResolver() {
|
||||
let self = this
|
||||
return function (value, options) {
|
||||
let replacements = self.getRouteReplacements(value, options); // Replace all route parameters with their replacement values.
|
||||
|
||||
let replaced = reduce(replacements, function (result, value, parameter) {
|
||||
return replace(result, parameter, value);
|
||||
}, value)
|
||||
return config.VIKUNJA_API_BASE_URL + URL_PREFIX + replaced
|
||||
}
|
||||
getTitle() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
// Route configuration
|
||||
routes() {
|
||||
return {
|
||||
fetch: '/lists/{id}',
|
||||
save: '/lists/{id}',
|
||||
update:'/namespaces/{namespaceID}/lists',
|
||||
delete: '/lists/{id}',
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
Reference in New Issue
Block a user