Guest User

Untitled

a guest
Dec 11th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. act: (context, f, keyPaths...) ->
  2. ok = true
  3. for k in keyPaths
  4. if !context.get(k)?
  5. ok = false
  6. context.observe k, (newValue, oldValue, keyPath) =>
  7. ok = true
  8. for k in keyPaths
  9. ok = context.get(k)?
  10. return unless ok
  11. f.apply(context) if ok
  12. f.apply(context) if ok
  13.  
  14. setupCalendar: ->
  15. @set '$', App.stateManager
  16. @act @, @getCalendar, '$.user.grade', '$.user.program'
  17.  
  18. getCalendar: ->
  19. _grade = App.stateManager.get('user.grade')
  20. _program = App.stateManager.get('user.program')
  21. console.log 'getCalendar', _grade, _program
  22. App.CouchStorage.view 'calendar', {key: ["#{_grade}", "#{_program}", App.Calendar.unit(_program)]}, (err, results) ->
  23. if err?
  24. throw err
  25. if !results?.length
  26. alert 'Creating new calendar document'
  27. App.calendar = new App.Calendar
  28. setTimeout (=> App.calendar.save()), 1000
  29. App.fire 'calendar_ready'
  30. else
  31. App.calendar = results.toArray()[0]
  32. console.log 'Calendar pre-existed', App.calendar.get('id')
  33. App.fire 'calendar_ready'
Add Comment
Please, Sign In to add comment