|
|
|
'use strict'
|
|
|
|
|
|
|
|
/* global alertsData */
|
|
|
|
|
|
|
|
import $ from 'jquery'
|
|
|
|
import _ from 'lodash'
|
|
|
|
import io from 'socket.io-client'
|
|
|
|
import Alerts from './components/alerts.js'
|
|
|
|
import 'jquery-smooth-scroll'
|
|
|
|
import Sticky from 'sticky-js'
|
|
|
|
|
|
|
|
$(() => {
|
|
|
|
// ====================================
|
|
|
|
// Scroll
|
|
|
|
// ====================================
|
|
|
|
|
|
|
|
$('a').smoothScroll({
|
|
|
|
speed: 400,
|
|
|
|
offset: -70
|
|
|
|
})
|
|
|
|
|
|
|
|
var sticky = new Sticky('.stickyscroll') // eslint-disable-line no-unused-vars
|
|
|
|
|
|
|
|
// ====================================
|
|
|
|
// Notifications
|
|
|
|
// ====================================
|
|
|
|
|
|
|
|
$(window).bind('beforeunload', () => {
|
|
|
|
$('#notifload').addClass('active')
|
|
|
|
})
|
|
|
|
$(document).ajaxSend(() => {
|
|
|
|
$('#notifload').addClass('active')
|
|
|
|
}).ajaxComplete(() => {
|
|
|
|
$('#notifload').removeClass('active')
|
|
|
|
})
|
|
|
|
|
|
|
|
var alerts = new Alerts()
|
|
|
|
if (alertsData) {
|
|
|
|
_.forEach(alertsData, (alertRow) => {
|
|
|
|
alerts.push(alertRow)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// ====================================
|
|
|
|
// Establish WebSocket connection
|
|
|
|
// ====================================
|
|
|
|
|
|
|
|
var socket = io(window.location.origin)
|
|
|
|
|
|
|
|
require('./components/search.js')(socket)
|
|
|
|
|
|
|
|
// ====================================
|
|
|
|
// Pages logic
|
|
|
|
// ====================================
|
|
|
|
|
|
|
|
require('./pages/view.js')(alerts)
|
|
|
|
require('./pages/create.js')(alerts, socket)
|
|
|
|
require('./pages/edit.js')(alerts, socket)
|
|
|
|
require('./pages/source.js')(alerts)
|
|
|
|
require('./pages/admin.js')(alerts)
|
|
|
|
})
|