{"version":3,"file":"pane_controller-CenssAw6.js","sources":["../../../app/javascript/controllers/step/wait/pane_controller.js"],"sourcesContent":["import PaneController from \"../../journeys/pane_controller\"\n\nexport default class extends PaneController {\n static values = {\n periodKind: { type: String, default: \"Minutes\" },\n stepName: String,\n }\n\n static targets = [\"input\", 'periodicitySelect', 'stepNameInput']\n\n\n initialize() {\n this.inputValue = this.inputTarget.value\n this.tempPeriodKind = this.periodKindValue\n\n super.initialize()\n }\n\n sync(commit = false) {\n this.dispatch(\"sync\", {\n detail: {\n period: commit ? this.inputValue : this.inputTarget.value,\n kind: commit ? this.periodKindValue : this.tempPeriodKind,\n stepId: this.stepIdValue,\n stepName: this.stepNameValue,\n commit,\n },\n target: document.documentElement,\n })\n }\n\n changePeriod(periodicitySelectEvent) {\n this.tempPeriodKind = periodicitySelectEvent.detail\n this.syncValues()\n }\n\n saveAndHide() {\n this.clearQueue()\n\n this.element.setAttribute('data-saved', 'true')\n\n this.inputValue = this.inputTarget.value\n this.periodKindValue = this.tempPeriodKind\n this.stepNameValue = this.stepNameInputTarget.value.trim()\n\n this.sync(true)\n this._hide()\n }\n\n cancel() {\n this._abort()\n this._hide()\n this._resetToLastSavedState()\n\n setTimeout(this.clearQueue, 1000)\n }\n\n syncValues() {\n if (this.hasUnsavedChanges) {\n window.paneId = this.element.id\n }\n }\n\n afterShow() {\n this.focusInput()\n }\n\n focusInput() {\n this.focus(this.inputTarget, { moveCursorToEnd: true })\n }\n\n _abort() {\n this.dispatch(\"sync:abort\", {\n detail: this.stepIdValue,\n target: document.documentElement,\n })\n\n super._abort()\n }\n\n hidePane(e) {\n if (\n this.element.contains(e.target) ||\n Array.from(document.querySelectorAll(\"#toast\")).some((toast) =>\n toast.contains(e.target)\n ) ||\n this.invisible ||\n e.target.id.split(\"_trigger\")[0] === this.stepIdValue\n )\n return\n\n if(this.element.hasAttribute('data-saved')) {\n super.hidePane(e)\n } else if (this.inputTarget.value.trim().length === 0) {\n this.openModalButtonTarget.click()\n } else {\n this.saveAndHide()\n }\n }\n\n _resetToLastSavedState() {\n this.inputTarget.value = this.inputValue\n\n this.dispatch(\"periodicity-select:set\", {\n target: this.periodicitySelectTarget,\n detail: this.periodKindValue,\n })\n\n this.tempPeriodKind = this.periodKindValue.toLowerCase()\n }\n\n get hasUnsavedChanges() {\n return (\n this.inputValue !== this.inputTarget.value\n || this.periodKindValue.toLowerCase() !== this.tempPeriodKind.toLowerCase()\n || this.stepNameValue !== this.stepNameInputTarget.value.trim()\n )\n }\n}\n"],"names":["pane_controller","PaneController","commit","periodicitySelectEvent","toast","__publicField"],"mappings":"sNAEe,MAAKA,UAASC,CAAe,CAS1C,YAAa,CACX,KAAK,WAAa,KAAK,YAAY,MACnC,KAAK,eAAiB,KAAK,gBAE3B,MAAM,WAAU,CACpB,CAEE,KAAKC,EAAS,GAAO,CACnB,KAAK,SAAS,OAAQ,CACpB,OAAQ,CACN,OAAQA,EAAS,KAAK,WAAa,KAAK,YAAY,MACpD,KAAMA,EAAS,KAAK,gBAAkB,KAAK,eAC3C,OAAQ,KAAK,YACb,SAAU,KAAK,cACf,OAAAA,CACD,EACD,OAAQ,SAAS,eAClB,CAAA,CACL,CAEE,aAAaC,EAAwB,CACnC,KAAK,eAAiBA,EAAuB,OAC7C,KAAK,WAAU,CACnB,CAEE,aAAc,CACZ,KAAK,WAAU,EAEf,KAAK,QAAQ,aAAa,aAAc,MAAM,EAE9C,KAAK,WAAa,KAAK,YAAY,MACnC,KAAK,gBAAkB,KAAK,eAC5B,KAAK,cAAgB,KAAK,oBAAoB,MAAM,KAAI,EAExD,KAAK,KAAK,EAAI,EACd,KAAK,MAAK,CACd,CAEE,QAAS,CACP,KAAK,OAAM,EACX,KAAK,MAAK,EACV,KAAK,uBAAsB,EAE3B,WAAW,KAAK,WAAY,GAAI,CACpC,CAEE,YAAa,CACP,KAAK,oBACP,OAAO,OAAS,KAAK,QAAQ,GAEnC,CAEE,WAAY,CACX,KAAK,WAAU,CAClB,CAEE,YAAa,CACX,KAAK,MAAM,KAAK,YAAa,CAAE,gBAAiB,EAAM,CAAA,CAC1D,CAEE,QAAS,CACP,KAAK,SAAS,aAAc,CAC1B,OAAQ,KAAK,YACb,OAAQ,SAAS,eAClB,CAAA,EAED,MAAM,OAAM,CAChB,CAEE,SAAS,EAAG,CAER,KAAK,QAAQ,SAAS,EAAE,MAAM,GAC9B,MAAM,KAAK,SAAS,iBAAiB,QAAQ,CAAC,EAAE,KAAMC,GACpDA,EAAM,SAAS,EAAE,MAAM,CACxB,GACD,KAAK,WACL,EAAE,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC,IAAM,KAAK,cAIzC,KAAK,QAAQ,aAAa,YAAY,EACvC,MAAM,SAAS,CAAC,EACP,KAAK,YAAY,MAAM,KAAM,EAAC,SAAW,EAClD,KAAK,sBAAsB,MAAK,EAEhC,KAAK,YAAW,EAEtB,CAEE,wBAAyB,CACvB,KAAK,YAAY,MAAQ,KAAK,WAE9B,KAAK,SAAS,yBAA0B,CACtC,OAAQ,KAAK,wBACb,OAAQ,KAAK,eACd,CAAA,EAED,KAAK,eAAiB,KAAK,gBAAgB,YAAW,CAC1D,CAEE,IAAI,mBAAoB,CACtB,OACE,KAAK,aAAe,KAAK,YAAY,OAClC,KAAK,gBAAgB,YAAa,IAAK,KAAK,eAAe,YAAW,GACtE,KAAK,gBAAkB,KAAK,oBAAoB,MAAM,KAAI,CAEnE,CACA,CAnHEC,EADkBL,EACX,SAAS,CACd,WAAY,CAAE,KAAM,OAAQ,QAAS,SAAW,EAChD,SAAU,MACd,GAEEK,EANkBL,EAMX,UAAU,CAAC,QAAS,oBAAqB,eAAe"}