You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/client/js/app.js

93 lines
1.9 KiB

"use strict";
jQuery( document ).ready(function( $ ) {
// ====================================
// Scroll
// ====================================
$('a').smoothScroll({
speed: 400,
offset: -20
});
var sticky = new Sticky('.stickyscroll');
// ====================================
// 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);
});
}
// ====================================
// Markdown Editor
// ====================================
if($('#mk-editor').length === 1) {
var mde = new SimpleMDE({
autofocus: true,
autoDownloadFontAwesome: false,
element: $("#mk-editor").get(0),
hideIcons: ['heading', 'quote'],
placeholder: 'Enter Markdown formatted content here...',
showIcons: ['strikethrough', 'heading-1', 'heading-2', 'heading-3', 'code', 'table', 'horizontal-rule'],
spellChecker: false,
status: false
});
}
// ====================================
// Establish WebSocket connection
// ====================================
var socket = io(ioHost);
var vueHeader = new Vue({
el: '#header-container',
data: {
searchq: '',
searchres: []
},
watch: {
searchq: (val, oldVal) => {
if(val.length >= 3) {
socket.emit('search', { terms: val }, (data) => {
vueHeader.$set('searchres', data);
});
}
}
},
methods: {
}
});
// ====================================
// Pages logic
// ====================================
//=include pages/view.js
//=include pages/create.js
//=include pages/edit.js
//=include pages/source.js
});
//=include helpers/form.js
//=include helpers/pages.js