{"version":3,"file":"condition_controller-C6VAgul_.js","sources":["../../../app/javascript/controllers/segments/condition_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\"\nimport { get } from \"@rails/request.js\"\n\nimport { useRemove } from \"../mixins/useRemove\"\n\nexport default class extends Controller {\n static targets = [\n \"quantity\",\n \"removeButton\",\n \"page\",\n \"product\",\n \"orButtonContainer\",\n \"removedConditionInput\",\n \"subscription\",\n \"click\",\n ]\n\n static values = {\n activityFilter: { type: Boolean, default: false },\n shortLinkSelected: { type: Boolean, default: false },\n subscribedSelected: { type: Boolean, default: false },\n }\n\n initialize() {\n super.initialize()\n this.markAsRemoved = this.markAsRemoved.bind(this)\n this.previousSibling = this.element.previousElementSibling\n this.parentForm = this.element.closest(\"form\")\n }\n\n connect() {\n if (this.shortLinkSelectedValue) {\n this.hidePageFilters()\n }\n\n if (this.subscribedSelectedValue) {\n this.hidePageFilters()\n this.productTarget.classList.add(\"hidden\")\n }\n\n useRemove(this, {\n afterRemove: this.markAsRemoved,\n })\n }\n\n disconnect() {\n if (this.previousSibling) {\n this.dispatch(\"removed\", {\n target: this.previousSibling,\n })\n }\n }\n\n onSelectChange({ currentTarget }) {\n if (this.isCharacteristic) return\n\n this.toggleQuantityFilters(currentTarget.dataset)\n this.togglePageFilters(currentTarget.dataset)\n this.toggleSubscriptionFilters(currentTarget.dataset)\n this.toggleShortLinkFilters(currentTarget.dataset)\n\n if (this.hasProductTarget) {\n this.toggleProductFilters(currentTarget.dataset)\n }\n }\n\n showORButton() {\n if (!this.element.nextElementSibling) {\n this.orButtonContainerTarget.classList.remove(\"hidden\")\n }\n }\n\n getProductFilters({ currentTarget }) {\n get(currentTarget.dataset.url, {\n responseKind: \"turbo-stream\",\n })\n }\n\n replaceDropdown({ currentTarget }) {\n if(\"active\" in currentTarget.dataset) return\n\n get(currentTarget.dataset.url, {responseKind: \"turbo-stream\",})\n }\n\n // private\n\n get isActivity() {\n return this.activityFilterValue\n }\n\n get isCharacteristic() {\n return !this.isActivity\n }\n\n markAsRemoved() {\n if (this.hasRemovedConditionInputTarget) {\n this.removedConditionInputTarget.disabled = false\n this.parentForm.appendChild(this.removedConditionInputTarget)\n }\n }\n\n toggleQuantityFilters(targetDataset) {\n if (\"quantifiable\" in targetDataset) {\n this.quantityTarget.classList.remove(\"hidden\")\n return\n }\n\n this.quantityTarget.classList.add(\"hidden\")\n }\n\n toggleProductFilters(targetDataset) {\n if (\"shopping\" in targetDataset || \"custom\" in targetDataset) {\n this.productTarget.querySelectorAll('input, select').forEach(input => input.disabled = true)\n return this.productTarget.classList.remove(\"hidden\")\n }\n\n this.productTarget.classList.add(\"hidden\")\n this.productTarget.querySelectorAll('input, select').forEach(input => input.disabled = true)\n }\n\n togglePageFilters(targetDataset) {\n if (\"page\" in targetDataset) {\n this.showPageFilters()\n return\n }\n\n this.hidePageFilters()\n }\n\n toggleSubscriptionFilters(targetDataset) {\n if(\"subscription\" in targetDataset) {\n Array.from(this.subscriptionTarget.querySelectorAll('input, select'))\n .filter(input => !input.closest('[data-segments--lists-target=\"template\"]'))\n .forEach(input => input.disabled = false)\n\n return this.subscriptionTarget.classList.remove(\"hidden\")\n }\n\n Array.from(this.subscriptionTarget.querySelectorAll('input, select'))\n .filter(input => !input.closest('[data--segments--lists-target=\"template\"]'))\n .forEach(input => input.disabled = true)\n\n this.subscriptionTarget.classList.add(\"hidden\")\n }\n\n toggleShortLinkFilters(targetDataset) {\n if('shortLink' in targetDataset) {\n Array.from(this.clickTarget.querySelectorAll('input, select'))\n .filter(input => !input.closest('[data-segments--lists-target=\"template\"]'))\n .forEach(input => input.disabled = false)\n\n return this.clickTarget.classList.remove(\"hidden\")\n }\n\n\n Array.from(this.clickTarget.querySelectorAll('input, select'))\n .filter(input => !input.closest('[data-segments--lists-target=\"template\"]'))\n .forEach(input => input.disabled = true)\n\n this.clickTarget.classList.add(\"hidden\")\n }\n\n showPageFilters() {\n this.pageTarget.classList.remove(\"hidden\")\n\n Array.from(this.pageTarget.querySelectorAll(\"input, select\")).forEach(\n (input) => (input.disabled = false)\n )\n }\n\n hidePageFilters() {\n this.pageTarget.classList.add(\"hidden\")\n this.pageTarget.querySelectorAll('input, select').forEach(input => input.disabled = true)\n }\n}\n"],"names":["condition_controller","Controller","useRemove","currentTarget","get","targetDataset","input","__publicField"],"mappings":"2SAKe,MAAKA,UAASC,CAAW,CAkBtC,YAAa,CACX,MAAM,WAAU,EAChB,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,gBAAkB,KAAK,QAAQ,uBACpC,KAAK,WAAa,KAAK,QAAQ,QAAQ,MAAM,CACjD,CAEE,SAAU,CACJ,KAAK,wBACP,KAAK,gBAAe,EAGlB,KAAK,0BACP,KAAK,gBAAe,EACpB,KAAK,cAAc,UAAU,IAAI,QAAQ,GAG3CC,EAAU,KAAM,CACd,YAAa,KAAK,aACnB,CAAA,CACL,CAEE,YAAa,CACP,KAAK,iBACP,KAAK,SAAS,UAAW,CACvB,OAAQ,KAAK,eACd,CAAA,CAEP,CAEE,eAAe,CAAE,cAAAC,GAAiB,CAC5B,KAAK,mBAET,KAAK,sBAAsBA,EAAc,OAAO,EAChD,KAAK,kBAAkBA,EAAc,OAAO,EAC5C,KAAK,0BAA0BA,EAAc,OAAO,EACpD,KAAK,uBAAuBA,EAAc,OAAO,EAE7C,KAAK,kBACP,KAAK,qBAAqBA,EAAc,OAAO,EAErD,CAEE,cAAe,CACR,KAAK,QAAQ,oBAChB,KAAK,wBAAwB,UAAU,OAAO,QAAQ,CAE5D,CAEE,kBAAkB,CAAE,cAAAA,GAAiB,CACnCC,EAAID,EAAc,QAAQ,IAAK,CAC7B,aAAc,cACf,CAAA,CACL,CAEE,gBAAgB,CAAE,cAAAA,GAAiB,CAC9B,WAAYA,EAAc,SAE7BC,EAAID,EAAc,QAAQ,IAAK,CAAC,aAAc,cAAgB,CAAA,CAClE,CAIE,IAAI,YAAa,CACf,OAAO,KAAK,mBAChB,CAEE,IAAI,kBAAmB,CACrB,MAAO,CAAC,KAAK,UACjB,CAEE,eAAgB,CACV,KAAK,iCACP,KAAK,4BAA4B,SAAW,GAC5C,KAAK,WAAW,YAAY,KAAK,2BAA2B,EAElE,CAEE,sBAAsBE,EAAe,CACnC,GAAI,iBAAkBA,EAAe,CACnC,KAAK,eAAe,UAAU,OAAO,QAAQ,EAC7C,MACN,CAEI,KAAK,eAAe,UAAU,IAAI,QAAQ,CAC9C,CAEE,qBAAqBA,EAAe,CAClC,GAAI,aAAcA,GAAiB,WAAYA,EAC7C,YAAK,cAAc,iBAAiB,eAAe,EAAE,QAAQC,GAASA,EAAM,SAAW,EAAI,EACpF,KAAK,cAAc,UAAU,OAAO,QAAQ,EAGrD,KAAK,cAAc,UAAU,IAAI,QAAQ,EACzC,KAAK,cAAc,iBAAiB,eAAe,EAAE,QAAQA,GAASA,EAAM,SAAW,EAAI,CAC/F,CAEE,kBAAkBD,EAAe,CAC/B,GAAI,SAAUA,EAAe,CAC3B,KAAK,gBAAe,EACpB,MACN,CAEI,KAAK,gBAAe,CACxB,CAEE,0BAA0BA,EAAe,CACvC,GAAG,iBAAkBA,EACnB,aAAM,KAAK,KAAK,mBAAmB,iBAAiB,eAAe,CAAC,EACjE,OAAOC,GAAS,CAACA,EAAM,QAAQ,0CAA0C,CAAC,EAC1E,QAAQA,GAASA,EAAM,SAAW,EAAK,EAEnC,KAAK,mBAAmB,UAAU,OAAO,QAAQ,EAG1D,MAAM,KAAK,KAAK,mBAAmB,iBAAiB,eAAe,CAAC,EACjE,OAAOA,GAAS,CAACA,EAAM,QAAQ,2CAA2C,CAAC,EAC3E,QAAQA,GAASA,EAAM,SAAW,EAAI,EAEzC,KAAK,mBAAmB,UAAU,IAAI,QAAQ,CAClD,CAEE,uBAAuBD,EAAe,CACpC,GAAG,cAAeA,EAChB,aAAM,KAAK,KAAK,YAAY,iBAAiB,eAAe,CAAC,EAC1D,OAAOC,GAAS,CAACA,EAAM,QAAQ,0CAA0C,CAAC,EAC1E,QAAQA,GAASA,EAAM,SAAW,EAAK,EAEnC,KAAK,YAAY,UAAU,OAAO,QAAQ,EAInD,MAAM,KAAK,KAAK,YAAY,iBAAiB,eAAe,CAAC,EAC1D,OAAOA,GAAS,CAACA,EAAM,QAAQ,0CAA0C,CAAC,EAC1E,QAAQA,GAASA,EAAM,SAAW,EAAI,EAEzC,KAAK,YAAY,UAAU,IAAI,QAAQ,CAC3C,CAEE,iBAAkB,CAChB,KAAK,WAAW,UAAU,OAAO,QAAQ,EAEzC,MAAM,KAAK,KAAK,WAAW,iBAAiB,eAAe,CAAC,EAAE,QAC3DA,GAAWA,EAAM,SAAW,EACnC,CACA,CAEE,iBAAkB,CAChB,KAAK,WAAW,UAAU,IAAI,QAAQ,EACtC,KAAK,WAAW,iBAAiB,eAAe,EAAE,QAAQA,GAASA,EAAM,SAAW,EAAI,CAC5F,CACA,CAxKEC,EADkBP,EACX,UAAU,CACf,WACA,eACA,OACA,UACA,oBACA,wBACA,eACA,OACJ,GAEEO,EAZkBP,EAYX,SAAS,CACd,eAAgB,CAAE,KAAM,QAAS,QAAS,EAAO,EACjD,kBAAmB,CAAE,KAAM,QAAS,QAAS,EAAO,EACpD,mBAAoB,CAAE,KAAM,QAAS,QAAS,EAAO,CACzD"}