Add pickings and simplify poems service

This commit is contained in:
Vit Brunner
2014-10-10 22:43:01 +02:00
parent 73093dc034
commit 8edb8768dd
5 changed files with 36 additions and 23 deletions
@@ -1,7 +1,8 @@
angular.module("sideBySide").service "poems", ['$q', 'fetch', ($q, fetch) ->
all = []
@active = [{
meta: {}
@all = [{
meta: {
Active: true
}
content: [{
section: 'Loading...'
text: 'Please be patient!'
@@ -9,29 +10,18 @@ angular.module("sideBySide").service "poems", ['$q', 'fetch', ($q, fetch) ->
}]
@heading = undefined
updateActive = () =>
@active = (poem for poem in all when poem.meta.Active is true)
@load = (base = '') =>
config = base.replace(/\./g, '/') + "/config.json"
fetch(config).then (result) =>
$q.all(result.promises).then (results) =>
@all = []
for poem in results
if not poem.meta.Active?
poem.meta.Active = true
all.push poem
@all.push poem
@heading = result.heading
updateActive()
@show = (id) ->
all[id].meta.Active = true
updateActive()
@hide = (id) ->
all[id].meta.Active = false
updateActive()
@
]