index.coffee 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. document.head.insertAdjacentHTML('beforeend','<style type="text/tailwindcss">'+stylFns['app/pages/Home/index.styl']+'</style>')
  2. module.exports =
  3. name: 'Home'
  4. render: (new Function '_ctx', '_cache', renderFns['app/pages/Home/index.pug'])()
  5. data: ->
  6. heroSlides: []
  7. featuredEvents: []
  8. mounted: ->
  9. @loadData()
  10. methods:
  11. loadData: ->
  12. @heroSlides = _.getSliderEvents() || []
  13. @featuredEvents = _.getFeaturedEvents() || []
  14. if @heroSlides.length == 0 || @featuredEvents.length == 0
  15. setTimeout =>
  16. @loadData()
  17. , 100
  18. openEventModal: (event) ->
  19. _.openModal('EventDetailModal', { event: event })
  20. handleSlideClick: (slide) ->
  21. if slide.category
  22. _.openModal('SuccessModal', {
  23. title: slide.title
  24. content: slide.description
  25. })
  26. else
  27. @$router.push('/events')
  28. handleSubscription: (formData) ->
  29. debug.log "Подписка оформлена: "+JSON.stringify(formData)
  30. _.openModal('SuccessModal', {
  31. title: 'Подписка оформлена!'
  32. content: 'Вы успешно подписались на рассылку анонсов мероприятий.'
  33. })
  34. formatDate: (dateString) ->
  35. try
  36. date = new Date(dateString)
  37. options = { day: 'numeric', month: 'short' }
  38. date.toLocaleDateString('ru-RU', options)
  39. catch
  40. dateString