{"version":3,"file":"select_controller-DjqmGbAb.js","sources":["../../../app/javascript/controllers/select_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\n \"active\",\n \"item\",\n \"checkbox\",\n \"include\",\n \"exclude\",\n \"excludeCheckbox\",\n \"placeholder\",\n ]\n static values = {\n selectedListSubscribersCount: Number,\n selectedListName: String,\n initial: String,\n canReset: Boolean,\n status: String,\n selectedListId: String,\n }\n\n connect() {\n this.checkboxTarget.value = this.selectedId\n this.excludeCheckboxTarget.value = this.selectedId\n\n if (this.statusValue === \"included\") {\n this.includeSelected(false, false)\n }\n\n if (this.statusValue === \"excluded\") {\n this.excludeSelected(false, false)\n }\n\n let event = new CustomEvent(\"list:appended\")\n event.listId = this.element.id\n event.subscribersCount = this.selectedListSubscribersCountValue\n window.dispatchEvent(event)\n\n if (this.initialValue === \"All Audience\") {\n this.checkboxTarget.value = \"all\"\n this.checkboxTarget.checked = true\n\n this.includeTarget.classList.add(\"hidden\")\n this.excludeTarget.classList.add(\"hidden\")\n }\n }\n\n check(e) {\n console.log(e)\n const { element } = e\n this.activeTarget.innerHTML = element.name\n this.selectedListNameValue = element.name\n this.selectedListSubscribersCountValue = element.subscribersCount\n\n this.isFirst = element.resetOnClick\n\n this.checkboxTarget.value = element.id ? element.id : \"all\"\n this.checkboxTarget.checked = true\n\n if (element.type === \"Segment\") {\n this.checkboxTarget.setAttribute(\"name\", \"included_segment[]\")\n this.excludeCheckboxTarget.setAttribute(\"name\", \"excluded_segment[]\")\n } else {\n this.checkboxTarget.setAttribute(\"name\", \"included_list[]\")\n this.excludeCheckboxTarget.setAttribute(\"name\", \"excluded_list[]\")\n }\n\n if (this.canResetValue) {\n this.dispatchEvent(\"reset-count\")\n } else if (element.include) {\n this.includeSelected(e)\n } else {\n this.excludeSelected(e)\n }\n }\n\n includeSelected(event, shouldDispatchEvent = true) {\n if (event) {\n event.stopImmediatePropagation()\n }\n this.checkboxTarget.checked = true\n\n this.excluded = false\n this.excludeCheckboxTarget.checked = false\n\n this.includeTarget.classList.remove(\"hidden\")\n this.excludeTarget.classList.add(\"hidden\")\n\n if (shouldDispatchEvent) {\n this.dispatchEvent(\"inclusion\")\n }\n }\n\n excludeSelected(event, shouldDispatchEvent = true) {\n if (event) {\n event.stopImmediatePropagation()\n }\n if (this.excluded) return\n\n this.checkboxTarget.checked = false\n this.excludeCheckboxTarget.checked = true\n this.excludeCheckboxTarget.value = this.checkboxTarget.value\n\n this.includeTarget.classList.add(\"hidden\")\n this.excludeTarget.classList.remove(\"hidden\")\n\n if (shouldDispatchEvent) {\n this.dispatchEvent(\"exclusion\")\n }\n this.excluded = true\n }\n\n dispatchEvent(eventName) {\n let event = new CustomEvent(eventName, { bubbles: true, cancelable: true })\n\n event.subscribersCount = this.selectedListSubscribersCountValue\n event.includesAll = this.initialValue === this.selectedListNameValue\n event.isFirst = this.isFirst\n event.listId = this.element.id\n\n this.element.dispatchEvent(event)\n }\n\n resetToggle(e) {\n if (e.name === this.initialValue) {\n this.includeTarget.classList.add(\"hidden\")\n this.excludeTarget.classList.add(\"hidden\")\n return\n }\n this.includeTarget.classList.remove(\"hidden\")\n this.excludeTarget.classList.add(\"hidden\")\n }\n\n removeSelected() {\n if (this.element.nextElementSibling === null) {\n this.showPreviousListPlusButton()\n }\n\n this.element.remove()\n\n let event = new CustomEvent(\"list:removed\")\n event.listId = this.element.id\n window.dispatchEvent(event)\n }\n\n reset() {\n this.includeTarget.classList.add(\"hidden\")\n this.excludeTarget.classList.add(\"hidden\")\n this.activeTarget.innerHTML = \"All Audience\"\n this.checkboxTarget.value = \"all\"\n }\n\n get selectedId() {\n return this.data.get(\"id\")\n }\n\n showPreviousListPlusButton() {\n const previousList =\n this.element.previousElementSibling.querySelector(\"#actions\")\n previousList.querySelector(\"#hidden\").click()\n }\n}\n"],"names":["select_controller","Controller","event","element","shouldDispatchEvent","eventName","__publicField"],"mappings":"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"}