Add Song model type
This commit is contained in:
parent
ef6e52c0cb
commit
58a096db29
24
karaokatalog/ui/static/model/Song.js
Normal file
24
karaokatalog/ui/static/model/Song.js
Normal file
@ -0,0 +1,24 @@
|
||||
import { Base } from "./Base.js"
|
||||
import { getFavoriteIds, addFavorite, removeFavorite } from "./favorites.js"
|
||||
|
||||
export default class Song extends Base {
|
||||
static async forceLoad() {
|
||||
return await m.request({ url: "/songs.json" })
|
||||
}
|
||||
|
||||
get favorite() {
|
||||
return getFavoriteIds().has(this.id || this.uuid)
|
||||
}
|
||||
|
||||
set favorite(isFavorite) {
|
||||
if (isFavorite) {
|
||||
addFavorite(this.id || this.uuid)
|
||||
} else {
|
||||
removeFavorite(this.id || this.uuid)
|
||||
}
|
||||
}
|
||||
|
||||
toggleFavorite() {
|
||||
this.favorite = !this.favorite
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user