'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