/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
dist
/
components
/
components
/
Upload File
HOME
{"file":"presto-email-overlay-controller2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/core/features/presto-email-overlay/controller/presto-email-overlay-controller.css?tag=presto-email-overlay-controller","src/components/core/features/presto-email-overlay/controller/presto-email-overlay-controller.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { i18nConfig, EmailCollection } from '../../../../../interfaces';\nimport { timePassed } from '../../../../../util';\n\n@Component({\n tag: 'presto-email-overlay-controller',\n styleUrl: 'presto-email-overlay-controller.css',\n shadow: false,\n})\nexport class PrestoEmailOverlayController {\n @Prop() ended: boolean;\n @Prop({ reflect: true }) currentTime: number;\n @Prop({ reflect: true }) duration: number;\n @Prop() direction?: 'rtl';\n @Prop() emailCollection?: EmailCollection;\n @Prop() i18n: i18nConfig;\n @Prop() videoId: number;\n @Prop() presetId: number;\n @Prop() provider: string;\n\n @State() enabled: boolean;\n @State() show: boolean;\n @State() loading: boolean;\n @State() error: string;\n @State() percentagePassed: number = 0;\n\n @Event() playVideo: EventEmitter<void>;\n @Event() pauseVideo: EventEmitter<true>;\n @Event() restartVideo: EventEmitter<void>;\n @Event() emailStateChange: EventEmitter<boolean>;\n\n /**\n * Set email collection in local storage\n * @param status string\n */\n setStorage(status) {\n window.localStorage.setItem('presto.videos.email_collection', JSON.stringify({ [this.videoId]: status }));\n }\n\n /**\n * Get email collection in local storage\n * @returns status string\n */\n getStorage() {\n return window.localStorage.getItem('presto.videos.email_collection');\n }\n\n componentWillLoad() {\n this.handleDuration();\n }\n\n /**\n * Wait for duration to start before checking time\n * @returns void\n */\n @Watch('duration')\n handleDuration() {\n this.enabled = this.getStorage() ? false : this?.emailCollection?.enabled;\n this.handleTimeCheck();\n }\n\n /**\n * When current time changes, check to see if we should\n * enable the overlay\n * @returns void\n */\n @Watch('currentTime')\n handleTimeCheck() {\n if (!this.enabled) return; // not enabled\n if (this.getStorage()) return; // already skipped\n this.checkTime();\n }\n\n @Watch('currentTime')\n handleShowChange() {\n if (!this.show) return; // bail if not showing.\n this.pauseVideo.emit(true); // pause video if here.\n }\n\n /**\n * Set enabled/disabled based on time that has passed\n */\n checkTime() {\n this.show = timePassed({\n current: this.currentTime,\n duration: this.duration,\n showAfter: this?.emailCollection?.percentage || 0,\n });\n }\n\n /**\n * Fetch updated nonce in case of caching\n * @returns Promise\n */\n async getNonce() {\n return fetch(`${window?.prestoPlayer?.ajaxurl}?action=presto_refresh_progress_nonce`);\n }\n\n /**\n * Submit email collection\n * @param e Event\n */\n async submit(e) {\n this.loading = true;\n this.error = '';\n\n // get nonce refresh\n const response = await this.getNonce();\n const { data: nonce } = await response.json();\n\n // handle submit\n try {\n let response = await fetch(window?.prestoPlayer?.ajaxurl, {\n method: 'post',\n body: new URLSearchParams({\n action: 'presto_player_email_submit',\n nonce,\n preset_id: this.presetId,\n video_id: this.videoId,\n provider: this.provider,\n ...(e?.detail || {}),\n }),\n });\n const { success, data } = await response.json();\n if (success) {\n this.setStorage('collected');\n this.show = false;\n this.playVideo.emit();\n } else {\n throw data;\n }\n } catch (e) {\n const error = e?.[0];\n if (error && typeof error === 'string') {\n this.error = error;\n }\n } finally {\n this.loading = false;\n }\n }\n\n /**\n * Skip email collection\n */\n skip() {\n this.setStorage('skipped');\n this.show = false;\n this.playVideo.emit();\n }\n\n /**\n * Maybe render\n * @returns JSX\n */\n\n @Watch('show')\n handleEmailStateChange(val) {\n this.emailStateChange.emit(val);\n }\n\n render() {\n if (!this.show) {\n return;\n }\n\n return (\n <presto-email-overlay-ui\n style={{\n ...(this?.emailCollection?.button_color\n ? {\n '--presto-player-button-color': `${this?.emailCollection?.button_color}`,\n }\n : {}),\n ...(this?.emailCollection?.button_text_color\n ? {\n '--presto-player-button-text': `${this?.emailCollection?.button_text_color}`,\n }\n : {}),\n }}\n direction={this.direction}\n class=\"email-overlay\"\n headline={this?.emailCollection?.headline}\n bottomText={this?.emailCollection?.bottom_text}\n allowSkip={this?.emailCollection?.allow_skip}\n buttonText={this?.emailCollection?.button_text}\n isLoading={this.loading}\n errorMessage={this.error}\n onSubmitForm={e => this.submit(e)}\n onSkip={() => this.skip()}\n i18n={this.i18n}\n provider={this.provider}\n ></presto-email-overlay-ui>\n );\n }\n}\n"],"version":3}