UNPKG

@plasma-platform/promotions

Version:
754 lines (496 loc) 18.1 kB
![version](https://badgen.net/npm/v/@plasma-platform/promotions) ![nextVersion](https://badgen.net/npm/v/@plasma-platform/promotions/next) ![downloads](https://badgen.net/npm/dt/@plasma-platform/promotions) ![license](https://badgen.net/npm/license/@plasma-platform/promotions) ![dependency](https://badgen.net/npm/dependents/@plasma-platform/promotions) * * * [Full documentation](https://templatemonster.gitlab.io/PlasmaPlatform/Frontend/plasma-platform/?path=/story/plasma-platform-promotions) install: `npm i @plasma-platform/promotions -S` # Short documentation <!-- Generated by documentation.js. Update this documentation by updating the source code. --> ### Table of Contents - [Main](#main) - [Initiators](#initiators) - [Promotion](#promotion) - [Parameters](#parameters) - [Examples](#examples) - [getAll](#getall) - [Parameters](#parameters-1) - [Promotion#run](#promotionrun) - [Examples](#examples-1) - [Promotion#setup](#promotionsetup) - [Examples](#examples-2) - [Promotion#fetchPromocodeInfo](#promotionfetchpromocodeinfo) - [Examples](#examples-3) - [Promotion#createBanner](#promotioncreatebanner) - [Examples](#examples-4) - [Promotion#createBanner](#promotioncreatebanner-1) - [Examples](#examples-5) - [Initiators/DomService](#initiatorsdomservice) - [DomService](#domservice) - [get](#get) - [Parameters](#parameters-2) - [data](#data) - [Parameters](#parameters-3) - [addClass](#addclass) - [Parameters](#parameters-4) - [attr](#attr) - [Parameters](#parameters-5) - [prepend](#prepend) - [Parameters](#parameters-6) - [removeClass](#removeclass) - [Parameters](#parameters-7) - [hasClass](#hasclass) - [Parameters](#parameters-8) - [removeAttribute](#removeattribute) - [Parameters](#parameters-9) - [Initiators/FlipClock](#initiatorsflipclock) - [Initiators/UI](#initiatorsui) - [UiBanner](#uibanner) - [Parameters](#parameters-10) - [Examples](#examples-6) - [UiBanner#run](#uibannerrun) - [Parameters](#parameters-11) - [Examples](#examples-7) - [UiBanner#showBanner](#uibannershowbanner) - [Examples](#examples-8) - [UiBanner#getBannerId](#uibannergetbannerid) - [Examples](#examples-9) - [UiBanner#showBannerAnimation](#uibannershowbanneranimation) - [Examples](#examples-10) - [UiBanner#closeBanner](#uibannerclosebanner) - [Examples](#examples-11) - [UiBanner#hideBanner](#uibannerhidebanner) - [Examples](#examples-12) - [UiBanner#hideBannerAnimation](#uibannerhidebanneranimation) - [Examples](#examples-13) - [UiBanner#setBannerCookie](#uibannersetbannercookie) - [Examples](#examples-14) - [UiBanner#killBanner](#uibannerkillbanner) - [Examples](#examples-15) - [UiPopup](#uipopup) - [Parameters](#parameters-12) - [Examples](#examples-16) - [UiPopup#run](#uipopuprun) - [Parameters](#parameters-13) - [Examples](#examples-17) - [UiPopup#showBanner](#uipopupshowbanner) - [Examples](#examples-18) - [UiPopup#hidePopup](#uipopuphidepopup) - [Parameters](#parameters-14) - [Examples](#examples-19) - [UiPopup#hidePopup](#uipopuphidepopup-1) - [Examples](#examples-20) - [UiPopup#outTarget](#uipopupouttarget) - [Parameters](#parameters-15) - [Examples](#examples-21) - [Initiators/Analytics](#initiatorsanalytics) - [TagManager](#tagmanager) - [Parameters](#parameters-16) - [Examples](#examples-22) - [TagManager#onClickBanner](#tagmanageronclickbanner) - [Examples](#examples-23) - [TagManager#onShowBanner](#tagmanageronshowbanner) - [Examples](#examples-24) - [TagManager#onClickPopup](#tagmanageronclickpopup) - [Examples](#examples-25) - [TagManager#onShowPopup](#tagmanageronshowpopup) - [Examples](#examples-26) - [Initiators/EventManager](#initiatorseventmanager) - [runTimer](#runtimer) - [runTimer](#runtimer-1) - [destroyTimer](#destroytimer) - [destroyTimer](#destroytimer-1) - [createClockTimerInstance](#createclocktimerinstance) - [Parameters](#parameters-17) - [createClockTimerInstance](#createclocktimerinstance-1) - [Parameters](#parameters-18) - [createClockTimerProps](#createclocktimerprops) - [Parameters](#parameters-19) - [createClockTimerProps](#createclocktimerprops-1) - [Parameters](#parameters-20) - [Utils](#utils) - [Parameters](#parameters-21) - [Parameters](#parameters-22) - [Examples](#examples-27) - [Parameters#parse](#parametersparse) - [Parameters](#parameters-23) - [Examples](#examples-28) - [Parameters#update](#parametersupdate) - [Parameters](#parameters-24) - [Examples](#examples-29) - [Parameters#prepareData](#parameterspreparedata) - [Parameters](#parameters-25) - [Parameters#validate](#parametersvalidate) - [Parameters](#parameters-26) - [Parameters#other](#parametersother) - [Parameters](#parameters-27) - [Parameters#lang](#parameterslang) - [Parameters](#parameters-28) - [Parameters#validFormatDate](#parametersvalidformatdate) - [Parameters](#parameters-29) - [Parameters#time](#parameterstime) - [Parameters](#parameters-30) - [Parameters#flipClock](#parametersflipclock) - [Parameters](#parameters-31) - [Parameters#banner](#parametersbanner) - [Parameters](#parameters-32) ## Main start project npm i && npm start ## Initiators ### Promotion #### Parameters - `args` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** arg only for FlipClock #### Examples ```javascript const promotion = new Promotion(); ``` ### getAll Get all elements by selector #### Parameters - `selector` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Returns **any** ## Promotion#run Initialise banner ### Examples ```javascript const promotion = new Promotion(); promotion.run(); ``` ## Promotion#setup ### Examples ```javascript const promotion = new Promotion(); promotion.setup(); ``` ## Promotion#fetchPromocodeInfo Fetches promocode info with start and end dates. ### Examples ```javascript const promotion = new Promotion(); promotion.setup(); ``` ## Promotion#createBanner Creates Banner instance and initiate it ### Examples ```javascript const promotion = new Promotion(); const banner = promotion.createBanner(tagManager); ``` ## Promotion#createBanner Creates Popup instance and initiate it ### Examples ```javascript const promotion = new Promotion(); const popup = promotion.createPopup(banner, tagManager); ``` ## Initiators/DomService ### DomService ### get Get element by selector #### Parameters - `selector` Returns **any** ### data Get data attributes #### Parameters - `element` Returns **{}** ### addClass Add class #### Parameters - `element` - `classList` (optional, default `[]`) Returns **any** ### attr Attributes #### Parameters - `element` - `key` - `value` Returns **any** ### prepend Prepend #### Parameters - `parent` - `element` Returns **any** ### removeClass Remove class #### Parameters - `element` - `classList` Returns **any** ### hasClass Has class #### Parameters - `element` - `className` Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** ### removeAttribute Remove Attribute #### Parameters - `element` - `name` Returns **any** ## Initiators/FlipClock ## Initiators/UI ### UiBanner #### Parameters - `args` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** all arguments #### Examples ```javascript const uiBanner = new UiBanner({}); ``` ### UiBanner#run run banner function #### Parameters - `tagManager` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** manager for dataLayer variable #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.run(); ``` ### UiBanner#showBanner show banner function #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.showBanner(); ``` ### UiBanner#getBannerId get banner id function #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.getId(); ``` ### UiBanner#showBannerAnimation Triggers animation, that show banner #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.showBannerAnimation(); ``` ### UiBanner#closeBanner Close banner upon user click #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.closeBanner(); ``` ### UiBanner#hideBanner hides banner and destroying timer #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.hideBanner (); ``` ### UiBanner#hideBannerAnimation Trigger for hide banner animation #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.hideBannerAnimation(); ``` ### UiBanner#setBannerCookie Set expiration cookie on banner closing #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.setBannerCookie(); ``` ### UiBanner#killBanner Utility method to handle banner destruction #### Examples ```javascript const uiBanner = new UiBanner({}); uiBanner.killBanner(); ``` ### UiPopup #### Parameters - `args` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** all arguments #### Examples ```javascript const uiPopup = new UiPopup({}); ``` ### UiPopup#run run popup function #### Parameters - `banner` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** object - `tagManager` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** object #### Examples ```javascript const uiPopup = new UiPopup({}); uiPopup.run(); ``` ### UiPopup#showBanner show popup function #### Examples ```javascript const uiPopup = new UiPopup({}); uiPopup.showPopup(); ``` ### UiPopup#hidePopup hide popup function #### Parameters - `outTarget` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** object #### Examples ```javascript const uiPopup = new UiPopup({}); uiPopup.hidePopup(); ``` ### UiPopup#hidePopup hide popup function with set cookie about not open again #### Examples ```javascript const uiPopup = new UiPopup({}); uiPopup.hidePopupWithSetCookie (); ``` ### UiPopup#outTarget outTarget popup click function #### Parameters - `event` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** jQuery Event #### Examples ```javascript const uiPopup = new UiPopup({}); $(document).on('click', uiPopup.outTarget); ``` ## Initiators/Analytics ### TagManager #### Parameters - `args` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** all arguments #### Examples ```javascript const tagManager = new TagManager({}); ``` ### TagManager#onClickBanner Tag manager event click banner #### Examples ```javascript const tagManager = new TagManager({}); tagManager.onClickBanner(); ``` ### TagManager#onShowBanner Tag manager event show banner #### Examples ```javascript const tagManager = new TagManager({}); tagManager.onShowBanner(); ``` ### TagManager#onClickPopup Tag manager event on popupp click #### Examples ```javascript const tagManager = new TagManager({}); tagManager.onClickPopup(); ``` ### TagManager#onShowPopup Tag manager event on popups show #### Examples ```javascript const tagManager = new TagManager({}); tagManager.onShowPopup(); ``` ## Initiators/EventManager ## runTimer ## runTimer ## destroyTimer ## destroyTimer ## createClockTimerInstance ### Parameters - `timerFace` - `timerFace` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** One of: daily, hourly, counter ## createClockTimerInstance ### Parameters - `timerFace` - `timerFace` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** One of: daily, hourly, counter ## createClockTimerProps ### Parameters - `args` - `args.direction` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** timer direction (decrement | increment) - `args.startDateMs` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** timer start date - `args.endDateMs` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** timer end date - `args.language` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** timer localization - `args.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** timer name - `args.timerFace` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** timer type Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)&lt;any>** ## createClockTimerProps ### Parameters - `args` - `args.direction` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** timer direction (decrement | increment) - `args.startDateMs` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** timer start date - `args.endDateMs` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** timer end date - `args.language` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** timer localization - `args.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** timer name - `args.timerFace` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** timer type Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)&lt;any>** ## Utils Other instruments for normal working project ### Parameters #### Parameters - `selector` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** selector to main wrapper for promotion block #### Examples ```javascript const params = parameters.parse('.Promotion'); ``` ### Parameters#parse Parse and return all params #### Parameters - `selector` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** jQuery selector #### Examples ```javascript const params = new Parameters(); params.parse('.Promotion'); ``` Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** ### Parameters#update Parse and return all params #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** new data #### Examples ```javascript const params = new Parameters(); params.update({}); ``` Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** ### Parameters#prepareData prepare data for all initiators #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** data ### Parameters#validate prepare data for time #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** validate data ### Parameters#other prepare data for other #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** data ### Parameters#lang prepare data for lang #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** data ### Parameters#validFormatDate validation date format #### Parameters - `date` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** date ### Parameters#time prepare data for time #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** data ### Parameters#flipClock prepare data for flipClock #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** final Data ### Parameters#banner prepare data for banner and popup #### Parameters - `data` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** row parameters Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** final Data