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