OwlCyberSecurity - MANAGER
Edit File: presto-email-overlay-controller2.js.map
{"file":"presto-email-overlay-controller2.js","mappings":"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","names":[],"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}