"use strict"; import $ from 'jquery'; import Events from '../_events'; import CookieUI from './_ui.cookie'; const FlyoutUI = (($) => { const W = window; const D = document; const $Body = $('body'); const NAME = 'FlyoutUI'; const COOKIE = `${NAME}-hide`; const TIMEOUT = 2000; class FlyoutUI { static init() { console.log(`${NAME}: init`); const ui = this; ui.$modal = $(`.flyout-${NAME}`); if (!ui.$modal.length) { return false; } const $close = ui.$modal.find(`.flyout-${NAME}__close`); ui.$modal.data(NAME, ui); if ($close.length) { $close.on('click', () => { ui.hide(); }); } const hide = CookieUI.get(COOKIE); if (!$close.length || !hide || hide !== 'true') { setTimeout(() => { ui.show(); }, TIMEOUT); } } static show(callback) { const ui = this; ui.$modal.addClass(`flyout-${NAME}__active`); } static hide(callback) { const ui = this; CookieUI.set(COOKIE, 'true', 1); ui.$modal.removeClass(`flyout-${NAME}__active`); } } $(W).on(`${NAME}.init ${Events.AJAX} ${Events.LOADED}`, () => { FlyoutUI.init(); }); W.FlyoutUI = FlyoutUI; return FlyoutUI; })($); export default FlyoutUI;