|
|
@@ -62,6 +62,10 @@ class CouchDBService
|
|
|
category: event.category
|
|
|
|
|
|
# Маршруты
|
|
|
+routes = [
|
|
|
+ { path: '/', component: require 'app/pages/Home' }
|
|
|
+]
|
|
|
+components = {}
|
|
|
routes = [
|
|
|
{ path: '/', component: require 'app/pages/Home' }
|
|
|
{ path: '/events', component: require 'app/pages/Events' }
|
|
|
@@ -69,6 +73,17 @@ routes = [
|
|
|
{ path: '/contacts', component: require 'app/pages/Contacts' }
|
|
|
]
|
|
|
|
|
|
+components =
|
|
|
+ 'themetoggle': require 'app/shared/ThemeToggle'
|
|
|
+ 'multilevelmenu': require 'app/shared/MultiLevelMenu'
|
|
|
+ 'imageslider': require 'app/shared/ImageSlider'
|
|
|
+ 'modalwindow': require 'app/shared/ModalWindow'
|
|
|
+ 'formvalidator': require 'app/shared/FormValidator'
|
|
|
+ 'filtersort': require 'app/shared/FilterSort'
|
|
|
+ 'eventdetailmodal': require 'app/shared/EventDetailModal'
|
|
|
+ 'successmodal': require 'app/shared/SuccessModal'
|
|
|
+
|
|
|
+
|
|
|
# Глобальное определение vuejs приложения
|
|
|
app = Vue.createApp
|
|
|
name: 'app'
|
|
|
@@ -210,18 +225,33 @@ app = Vue.createApp
|
|
|
closeModal: ->
|
|
|
@modalState.currentModal = null
|
|
|
@modalState.modalProps = {}
|
|
|
- components:
|
|
|
- 'themetoggle': require 'app/shared/ThemeToggle'
|
|
|
- 'multilevelmenu': require 'app/shared/MultiLevelMenu'
|
|
|
- 'imageslider': require 'app/shared/ImageSlider'
|
|
|
- 'modalwindow': require 'app/shared/ModalWindow'
|
|
|
- 'formvalidator': require 'app/shared/FormValidator'
|
|
|
- 'filtersort': require 'app/shared/FilterSort'
|
|
|
- 'eventdetailmodal': require 'app/shared/EventDetailModal'
|
|
|
- 'successmodal': require 'app/shared/SuccessModal'
|
|
|
+ components: components
|
|
|
+
|
|
|
|
|
|
# Создаем глобальную шину событий
|
|
|
-globalThis.EventBus = new Vue()
|
|
|
+class AppEventBus
|
|
|
+ constructor: ->
|
|
|
+ @events = {}
|
|
|
+
|
|
|
+ on: (event, callback) ->
|
|
|
+ if !@events[event]
|
|
|
+ @events[event] = []
|
|
|
+ @events[event].push(callback)
|
|
|
+
|
|
|
+ emit: (event, data) ->
|
|
|
+ if @events[event]
|
|
|
+ for callback in @events[event]
|
|
|
+ try
|
|
|
+ callback(data)
|
|
|
+ catch error
|
|
|
+ debug.log "Event bus error: " + error
|
|
|
+
|
|
|
+ off: (event, callback) ->
|
|
|
+ if @events[event]
|
|
|
+ @events[event] = @events[event].filter (cb) -> cb != callback
|
|
|
+
|
|
|
+# Создаем глобально
|
|
|
+globalThis.EventBus = new AppEventBus()
|
|
|
|
|
|
app.use(VueRouter.createRouter({
|
|
|
routes: routes
|