{"version":3,"file":"steps_controller-DJ4tQlXk.js","sources":["../../../app/javascript/controllers/capture/steps_controller.js"],"sourcesContent":["import DragController from \"../drag_controller\"\n\nexport default class extends DragController {\n static values = {\n selectedInputTypes: Array,\n }\n\n static targets = [\n 'item',\n 'body',\n 'focusLastItem',\n 'captureNameInput'\n ]\n\n updateCaptureName({ dataset }) {\n this.captureNameInputTarget.value = dataset.value\n }\n\n end(event) {\n this.dispatch(\"drag-end\", {\n target: event.item,\n detail: {\n oldIndex: event.oldIndex + 1,\n newIndex: event.newIndex + 1,\n },\n })\n }\n\n focus({ currentTarget }) {\n this.itemTargets.forEach((item, index) => {\n const body = this.bodyFor(item)\n\n if(item === currentTarget || item.contains(currentTarget)) {\n item.classList.add('link-primary')\n body.classList.remove('hidden')\n body.setAttribute('data-active', true)\n } else {\n item.classList.remove('link-primary')\n body.classList.add('hidden')\n body.removeAttribute('data-active')\n }\n })\n }\n\n saveSelectedInputTypes({ detail: inputType }) {\n this.selectedInputTypesValue = Array.from(new Set([...this.selectedInputTypesValue, inputType]))\n }\n\n updateSelectedInputTypes({ detail }) {\n const { replaced, with: inputType } = detail\n this.selectedInputTypesValue = Array.from(new Set([...this.selectedInputTypesValue.filter(type => type !== replaced), inputType]))\n }\n\n focusLastItemTargetConnected() {\n this.focusLastItemTarget.remove()\n\n this.itemTargets.forEach((item, index) => {\n const body = this.bodyFor(item)\n\n if(index !== this.itemTargets.length - 1) {\n item.classList.remove('link-primary')\n body.classList.add('hidden')\n body.removeAttribute('data-active')\n } else {\n body.setAttribute('data-active', true)\n\n this.dispatch('hide', {\n target: body.querySelector('[data-controller*=\"capture--inputs\"]'),\n detail: this.selectedInputTypesValue\n })\n }\n\n this.enable(item)\n })\n }\n\n itemTargetConnected() {\n if(this.itemTargets.length === 1) {\n this.bodyTargets[0].setAttribute('data-active', true)\n\n setTimeout(() => {\n this.disable(this.itemTargets[0])\n })\n }\n }\n\n enable(item) {\n this.dispatch('enable', {\n target: item\n })\n }\n\n disable(item) {\n this.dispatch('disable', {\n target: item\n })\n }\n\n remove({ currentTarget }) {\n const item = this.itemTargets.find(item => item.contains(currentTarget))\n const body = this.bodyTargets.find(body => body.dataset.step === item.dataset.step)\n\n item.remove()\n body.remove()\n\n this.focus( { currentTarget: this.itemTargets[0] })\n }\n\n bodyFor(item) {\n return this.bodyTargets.find(body => body.dataset.step === item.dataset.step)\n }\n\n selectedInputTypesValueChanged() {\n window.selectedInputTypes = this.selectedInputTypesValue\n\n this.bodyTargets.forEach(body => {\n this.dispatch('hide', {\n target: body.querySelector('[data-controller*=\"capture--inputs\"]'),\n detail: this.selectedInputTypesValue\n })\n })\n }\n}\n"],"names":["steps_controller","DragController","dataset","event","currentTarget","item","index","body","inputType","detail","replaced","type","__publicField"],"mappings":"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"}