{"version":3,"file":"js/src_js_ui_gform_index_js.91421d33c356166ee1a9.bundle.js","mappings":"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","sources":["webpack://moosehead/./src/js/components/GForm.js","webpack://moosehead/./src/js/ui/gform/index.js","webpack://moosehead/./src/js/utils/gform.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport EventEmitter2 from \"eventemitter2\";\n\nimport { $, $$ } from \"@utils/dom\";\nimport { getFormId } from \"@utils/gform\";\nimport { on, off } from \"@utils/listener\";\n\nconst CLASSNAME = \"--filled\";\nconst SUBMIT_SELECTOR = \".gsubmit\";\nconst SUBMITING_CLASSNAME = \"--submitting\";\nconst TOOLTIP_CLASSNAME = \"--js-tooltip-opened\";\n\nclass GForm extends EventEmitter2 {\n constructor(el) {\n super();\n\n this.el = el;\n this.form = null;\n this.id = null;\n this.postTitle = '';\n\n this._onRender = this._onRender.bind(this);\n this._onSubmit = this._onSubmit.bind(this);\n this._onResize = this._onResize.bind(this);\n this._onConditionalLogic = this._onConditionalLogic.bind(this);\n\n this.reset();\n this.init();\n }\n\n init() {\n jQuery(document).on(\"gform_post_render\", this._onRender);\n gform.addAction(\"gform_post_conditional_logic_field_action\", this._onConditionalLogic);\n }\n destroy() {\n jQuery(document).off(\"gform_post_render\", this._onRender);\n gform.removeAction(\"gform_post_conditional_logic_field_action\", this._onConditionalLogic);\n\n if (this.fields) {\n this.fields.forEach((field) => {\n field.off('resize', this._onResize);\n field.destroy();\n });\n }\n\n this.el = null;\n this.id = null;\n this.form = null;\n this.body = null;\n this.submit = null;\n this.fields = null;\n this.postTitle = null;\n\n this._onRender = null;\n this._onSubmit = null;\n this._onResize = null;\n this._onConditionalLogic = null;\n }\n\n reset() {\n if (this.submit) off(this.submit, \"click\", null);\n if (this.fields) {\n this.fields.forEach((field) => {\n field.off('resize', this._onResize);\n field.destroy();\n });\n }\n\n this.form = $(\"form\", this.el);\n this.id = parseInt( getFormId(this.form) );\n this.body = $(\".gform_body\", this.el);\n this.submit = $(SUBMIT_SELECTOR, this.el);\n this.fields = [...$$(\".gfield\", this.body)].map((field) => new GFormField(field));\n\n if (this.submit) on(this.submit, \"click\", this._onSubmit);\n }\n updatePostTitle(postTitle = '') {\n this.fields.forEach(field => {\n const input = field.input;\n if( input && input instanceof GFieldPostTitle ) input.update(postTitle);\n });\n }\n\n _onRender(event, formId) {\n // if event is not for this form, stop here\n if (formId !== this.id) return;\n\n this.el.classList.remove(SUBMITING_CLASSNAME);\n\n this.reset();\n this.emit(\"resize\");\n }\n _onSubmit() {\n if( this.el ) this.el.classList.add(SUBMITING_CLASSNAME);\n }\n _onResize() {\n this.emit(\"resize\");\n }\n _onConditionalLogic(formId, action, targetId) {\n // if event is not for this form, stop here\n if( formId !== this.id || action !== 'hide' ) return;\n\n // refresh field related to this event\n const field = this.fields.find(field => field.id === targetId);\n if( field ) field.refresh();\n }\n}\n\nconst INPUT_SELECTOR =\n 'input:not([type=\"radio\"]):not([type=\"checkbox\"]):not([type=\"submit\"]):not([type=\"image\"]):not([type=\"file\"]):not([type=\"hidden\"])';\nconst TEXTAREA_SELECTOR = \"textarea\";\nconst SELECT_SELECTOR = \"select\";\nconst FILE_UPLOAD_SELECTOR = 'input[type=\"file\"]';\nconst POST_TITLE_SELECTOR = 'input[type=\"hidden\"][data-gform-post-title-input]';\n\nclass GFormField extends EventEmitter2 {\n constructor(el) {\n super();\n\n this.el = el;\n this.label = $(\".gfield_label\", this.el);\n this.inputContainer = $(\".ginput_container\", this.el);\n this.tooltip = $(\".gfield_tooltipBtn\", this.el);\n this.description = this.tooltip ? $(\".gfield_description:not(.gfield_validation_message)\", this.el) : null;\n this.parentContainer = this.inputContainer.parentElement;\n this.input = this._getInput();\n this.type = this._getType();\n this.id = '#' + this.el.id;\n\n this._onInputFocus = this._onInputFocus.bind(this);\n this._onInputBlur = this._onInputBlur.bind(this);\n this._onInputResize = this._onInputResize.bind(this);\n this._onTooltip = this._onTooltip.bind(this);\n this._closeTooltip = this._closeTooltip.bind(this);\n\n this.init();\n }\n\n init() {\n if (this.input) {\n this.input.on(\"focus\", this._onInputFocus);\n this.input.on(\"blur\", this._onInputBlur);\n this.input.on(\"resize\", this._onInputResize);\n\n // set input type on parentContainer\n if(this.parentContainer) this.parentContainer.classList.add(`--${this.type}`);\n\n const value = this.input.value.trim();\n if (value) this._onInputFocus();\n }\n\n if( this.tooltip && this.description ) {\n on(this.tooltip, \"click\", this._onTooltip);\n }\n }\n destroy() {\n off(window, 'pointerdown', this._closeTooltip, {capture: true});\n\n if (this.input) {\n this.input.off(\"focus\", this._onInputFocus);\n this.input.off(\"blur\", this._onInputBlur);\n this.input.off(\"resize\", this._onInputResize);\n this.input.destroy();\n }\n\n if( this.tooltip && this.description ) {\n off(this.tooltip, \"click\", this._onTooltip);\n }\n\n this.el = null;\n this.label = null;\n this.inputContainer = null;\n this.tooltip = null;\n this.description = null;\n this.parentContainer = null;\n this.input = null;\n this.type = null;\n this.id = null;\n\n this._onInputFocus = null;\n this._onInputBlur = null;\n this._onInputResize = null;\n this._onTooltip = null;\n this._closeTooltip = null;\n }\n refresh() {\n if( !this.input ) return;\n\n const value = this.input.value.trim();\n\n if (value) this._onInputFocus();\n else this._onInputBlur();\n }\n\n _onInputFocus() {\n if( this.el ) this.el.classList.add(CLASSNAME);\n }\n _onInputBlur() {\n // check if input is empty\n if (this.input) {\n const value = this.input.value.trim();\n if (value) return;\n }\n\n if( this.el ) this.el.classList.remove(CLASSNAME);\n }\n _onInputResize() {\n this.emit(\"resize\", this);\n }\n _onTooltip(event) {\n if( event ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n const opened = this.el.classList.contains(TOOLTIP_CLASSNAME);\n\n if( opened ) {\n this.el.classList.remove(TOOLTIP_CLASSNAME);\n off(window, 'pointerdown', this._closeTooltip, {capture: true});\n } else {\n this.el.classList.add(TOOLTIP_CLASSNAME);\n on(window, 'pointerdown', this._closeTooltip, {capture: true});\n }\n }\n _closeTooltip(event) {\n if( event && event.target === this.tooltip ) return;\n if( event ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n off(window, 'pointerdown', this._closeTooltip, {capture: true});\n this.el.classList.remove(TOOLTIP_CLASSNAME);\n }\n\n _getInput() {\n if( !this.inputContainer) return null;\n\n const textarea = $(TEXTAREA_SELECTOR, this.inputContainer);\n if (textarea) return new GFieldTextArea(textarea);\n\n const select = $(SELECT_SELECTOR, this.inputContainer);\n if (select) return new GFieldSelect(select);\n\n const file_input = $(FILE_UPLOAD_SELECTOR, this.inputContainer);\n if (file_input) return new GFieldFileUpload(file_input);\n\n const post_title_input = $(POST_TITLE_SELECTOR, this.inputContainer);\n if( post_title_input ) return new GFieldPostTitle(post_title_input);\n\n const input = $(INPUT_SELECTOR, this.inputContainer);\n if (input) return new GFieldInput(input);\n\n return null;\n }\n _getType() {\n if( !this.input) return null;\n\n const type = this.input.el.getAttribute('type');\n const tagName = this.input.el.tagName.toLowerCase();\n\n return type ? type : tagName;\n }\n\n}\n\nclass GFieldInput extends EventEmitter2 {\n constructor(el) {\n super();\n\n this.el = el;\n\n this._onFocus = this._onFocus.bind(this);\n this._onBlur = this._onBlur.bind(this);\n\n this.init();\n }\n\n init() {\n this._bindEvents();\n }\n destroy() {\n this._unbindEvents();\n\n this.el = null;\n\n this._onFocus = null;\n this._onBlur = null;\n }\n\n _bindEvents() {\n on(this.el, \"focus\", this._onFocus);\n on(this.el, \"blur\", this._onBlur);\n }\n _unbindEvents() {\n off(this.el, \"focus\", this._onFocus);\n off(this.el, \"blur\", this._onBlur);\n }\n\n _onFocus() {\n this.emit(\"focus\", this);\n }\n _onBlur() {\n this.emit(\"blur\", this);\n }\n\n // getter\n get value() {\n return this.el.value;\n }\n}\n\nclass GFieldTextArea extends GFieldInput {\n init() {\n this.el.setAttribute(\"rows\", 1);\n this.el.removeAttribute(\"cols\");\n\n this._currentHeight = null;\n this._onInput = this._onInput.bind(this);\n\n super.init();\n this.update();\n }\n destroy() {\n this._currentHeight = null;\n this._onInput = null;\n\n super.destroy();\n }\n update() {\n if (!this.el) return;\n\n // Reset height\n this.el.style.height = \"inherit\";\n\n // Calculate the height\n const height = this.el.scrollHeight;\n\n // if height has changed from previous value (except for initial update)\n if (this._currentHeight !== height && this._currentHeight !== null) {\n this.emit(\"resize\", this);\n //window.dispatchEvent(new Event(\"resize\"));\n }\n\n this._currentHeight = height;\n this.el.style.height = `${this._currentHeight}px`;\n }\n\n _bindEvents() {\n super._bindEvents();\n on(this.el, \"input\", this._onInput);\n }\n _unbindEvents() {\n super._unbindEvents();\n off(this.el, \"input\", this._onInput);\n }\n\n _onInput() {\n this.update();\n }\n}\n\nclass GFieldSelect extends GFieldInput {}\nclass GFieldFileUpload extends GFieldInput {\n init() {\n this.outputEl = $('.gform_fileupload_rules', this.el.parentElement);\n\n this._defaultOuputHTML = this.outputEl ? this.outputEl.innerHTML : null;\n this._value = '';\n\n this._onInput = this._onInput.bind(this);\n\n super.init();\n }\n destroy() {\n this.outputEl = null;\n\n this._defaultOuputHTML = null;\n this._value = null;\n\n this._onInput = null;\n\n super.destroy();\n }\n\n _bindEvents() {\n super._bindEvents();\n on(this.el, \"input\", this._onInput);\n }\n _unbindEvents() {\n super._unbindEvents();\n off(this.el, \"input\", this._onInput);\n }\n\n _onInput() {\n if( !this.el || !this.outputEl) return;\n\n // output message to default value\n let output = this._defaultOuputHTML;\n\n // get filename of all files\n const { files } = this.el;\n if( files && files.length > 0 ) output = [ ...files ].map(file => file.name).join('
');\n\n // update value\n this._value = output === this._defaultOuputHTML ? '' : output;\n\n // update output message\n this.outputEl.classList[ output === this._defaultOuputHTML ? 'remove' : 'add' ]('--filled');\n this.outputEl.innerHTML = output;\n\n // trigger event\n this.emit(this._value.trim() ? \"focus\" : \"blur\", this);\n }\n\n // getter\n get value() { return this._value; }\n}\n\nclass GFieldPostTitle extends EventEmitter2 {\n constructor(el) {\n super();\n\n this.el = el;\n\n this.init();\n }\n\n init() {}\n destroy() {\n this.el = null;\n }\n update(value) {\n this.el.value = value;\n }\n\n // getter \n get value() {\n return this.el.value;\n }\n}\n\nexport default GForm;\n","import GForm from \"@components/GForm\";\nimport { $$ } from \"@utils/dom\";\nimport Throttle from \"@utils/throttle\";\n\nexport const SELECTOR = `.gform_wrapper`;\n\nclass GFormFactory {\n constructor(el, emitter) {\n this.el = el;\n this.emitter = emitter;\n this.items = null;\n this.throttle = null;\n\n this._onFormResize = this._onFormResize.bind(this);\n this._onThrottle = this._onThrottle.bind(this);\n }\n\n init() {\n this.throttle = Throttle({ cb: this._onThrottle, delay: 200, onlyAtEnd: true });\n this.items = [...$$(SELECTOR, this.el)].map(el => new GForm(el));\n\n // if there is at least one form, emit SiteScroll.update immediatly\n if( this.items.length > 0 ) this._onThrottle();\n }\n destroy() {\n if (this.throttle) this.throttle.dispose();\n if (this.items) this.items.forEach(el => el.destroy());\n\n this.el = null;\n this.emitter = null;\n this.items = null;\n this.throttle = null;\n\n this._onFormResize = null;\n this._onThrottle = null;\n }\n\n start() { this._bindEvents(); }\n stop() {\n this._unbindEvents();\n \n if( this.items ) this.items.forEach(item => item.destroy());\n this.items = null;\n }\n\n _bindEvents() {\n if( this.items ) this.items.forEach(gform => gform.on('resize', this._onFormResize));\n }\n _unbindEvents() {\n if( this.items ) this.items.forEach(gform => gform.off('resize', this._onFormResize));\n }\n\n _onFormResize() {\n // throttle for 200ms before SiteScroll.update\n this.throttle.init();\n }\n _onThrottle() {\n if( this.emitter ) this.emitter.emit(\"SiteScroll.update\");\n }\n}\n\nexport default GFormFactory;\n","export const getFormId = (form) => form.dataset.formid;\nexport const getFieldId = (field) => field.name.replace('input_', '');\n\nexport default {\n getFormId,\n getFieldId,\n};\n"],"names":["CLASSNAME","SUBMITING_CLASSNAME","TOOLTIP_CLASSNAME","GForm","el","form","id","postTitle","_onRender","bind","_onSubmit","_onResize","_onConditionalLogic","reset","init","jQuery","document","on","this","gform","addAction","destroy","off","removeAction","fields","forEach","field","body","submit","$","parseInt","getFormId","$$","map","GFormField","updatePostTitle","input","GFieldPostTitle","update","event","formId","classList","remove","emit","add","action","targetId","find","refresh","EventEmitter2","label","inputContainer","tooltip","description","parentContainer","parentElement","_getInput","type","_getType","_onInputFocus","_onInputBlur","_onInputResize","_onTooltip","_closeTooltip","value","trim","window","capture","preventDefault","stopImmediatePropagation","contains","target","textarea","GFieldTextArea","select","GFieldSelect","file_input","GFieldFileUpload","post_title_input","GFieldInput","getAttribute","tagName","toLowerCase","_onFocus","_onBlur","_bindEvents","_unbindEvents","setAttribute","removeAttribute","_currentHeight","_onInput","style","height","scrollHeight","outputEl","_defaultOuputHTML","innerHTML","_value","output","files","length","file","name","join","SELECTOR","GFormFactory","emitter","items","throttle","_onFormResize","_onThrottle","Throttle","cb","delay","onlyAtEnd","dispose","start","stop","item","dataset","formid","getFieldId","replace"],"sourceRoot":""}