]> BookStack Code Mirror - bookstack/blob - resources/assets/js/global.js
Improved login form and added remember me option
[bookstack] / resources / assets / js / global.js
1 window.ZeroClipboard = require('zeroclipboard');
2 window.ZeroClipboard.config({
3     swfPath: '/ZeroClipboard.swf'
4 });
5
6 // Global jQuery Elements
7 $(function () {
8
9     // Notification hiding
10     $('.notification').click(function () {
11         $(this).fadeOut(100);
12     });
13
14     // Dropdown toggles
15     $('[data-dropdown]').dropDown();
16
17     // Chapter page list toggles
18     $('.chapter-toggle').click(function(e) {
19         e.preventDefault();
20         $(this).toggleClass('open');
21         $(this).closest('.chapter').find('.inset-list').slideToggle(180);
22     });
23
24 });
25
26 function elemExists(selector) {
27     return document.querySelector(selector) !== null;
28 }
29
30 // TinyMCE editor
31 if(elemExists('#html-editor')) {
32     var tinyMceOptions = require('./pages/page-form');
33     tinymce.init(tinyMceOptions);
34 }
35
36 // Vue JS elements
37 var Vue = require('vue');
38 Vue.use(require('vue-resource'));
39
40 // Vue Components
41 Vue.component('image-manager', require('./components/image-manager.vue'));
42 Vue.component('image-picker', require('./components/image-picker.vue'));
43 Vue.component('toggle-switch', require('./components/toggle-switch.vue'));
44
45 // Vue Controllers
46 if(elemExists('#book-dashboard')) {
47     new Vue(require('./pages/book-show'));
48 }
49
50 // Global Vue Instance
51 // Needs to be loaded after all components we want to use.
52 var app = new Vue({
53     el: '#app'
54 });