// License: LGPL-3.0-or-later // vendor window.utils = require('./common/utilities') // XXX remove window.appl = require('./common/application_view') // XXX remove window.$ = require('jquery') // XXX remove window.jQuery = window.$ // XXX remove require('./common/polyfills') require('./common/vendor/jquery.cookie') // XXX remove require('parsleyjs') // XXX remove require('./common/jquery_additions') // XXX remove require('./common/autosubmit') // XXX remove // Application-wide concerns // Use the proper CSRF token on every ajax request using jQuery. // XXX remove $.ajaxSetup({ headers: { 'X-CSRF-Token': window._csrf } }) appl.def('csrf', window._csrf) // The 'notice' cookie is used for one-time messages (just like flash[:notice] in the session) // XXX remove if ($.cookie('notice') || $.cookie('notice') === '') { $.removeCookie('notice', {path: '/'}) } if ($.cookie('error') || $.cookie('error') === '') { $.removeCookie('error', {path: '/'}) } // Input clear button -- put after the input // XXX remove $('.clear-input').click(function(e) { $(this).prev().val('').trigger('change') }) // XXX remove $('*[open-modal]').click(function(e) { e.preventDefault() var el = e.currentTarget $('.modal').removeClass('inView') $('body').addClass('is-showingModal') if((el.hasAttribute('data-when-confirmed') || el.hasAttribute('data-when-signed-in')) && !app.user) $('#signUpModal').addClass('inView') else if(el.hasAttribute('data-when-confirmed') && app.user && !app.user.confirmed) $('#emailConfirmationModal').addClass('inView') else $('#' + this.getAttribute('open-modal')).addClass('inView') }) // XXX remove $('body').on('click', '.modal-backdrop', function() { $('body').removeClass('is-showingModal') $('.modal').removeClass('inView') }) // XXX remove $("*[tooltip]").each(function() { $(this).tooltip() }) // XXX remove $('.sortArrows').click(function() { var $sortArrows = $(this) var sort = $sortArrows.attr('sort') if (sort === 'desc') $sortArrows.attr('sort', 'asc') else if (sort === 'asc') $sortArrows.attr('sort', 'none') else $sortArrows.attr('sort', 'desc') }) // Hide server-side flash notice message after 7s const flash = document.querySelector('.flash') if(flash) { setTimeout(function() { flash.className = flash.className + ' u-hide' }, 7000) }