{"version":3,"file":"js/application-b76b6efe798668070888.js","mappings":"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","sources":["webpack://app/./app/javascript/controllers/ sync _controller\\.js$","webpack://app/./app/javascript/controllers/box_minimizer_controller.js","webpack://app/./app/javascript/controllers/conditional_form_fields_controller.js","webpack://app/./app/javascript/controllers/orders/form_frame_communication_controller.js","webpack://app/./app/javascript/controllers/photo_viewer_controller.js","webpack://app/./app/javascript/controllers/selects/simple_select2_controller.js","webpack://app/./app/javascript/controllers/selects/simple_select2_tags_controller.js","webpack://app/./app/javascript/controllers/index.js"],"sourcesContent":["var map = {\n\t\"./box_minimizer_controller.js\": 388,\n\t\"./conditional_form_fields_controller.js\": 315,\n\t\"./orders/form_frame_communication_controller.js\": 831,\n\t\"./photo_viewer_controller.js\": 905,\n\t\"./selects/simple_select2_controller.js\": 787,\n\t\"./selects/simple_select2_tags_controller.js\": 633,\n\t\"controllers/box_minimizer_controller.js\": 388,\n\t\"controllers/conditional_form_fields_controller.js\": 315,\n\t\"controllers/orders/form_frame_communication_controller.js\": 831,\n\t\"controllers/photo_viewer_controller.js\": 905,\n\t\"controllers/selects/simple_select2_controller.js\": 787,\n\t\"controllers/selects/simple_select2_tags_controller.js\": 633\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 124;","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static values = { \n state: {type: String, default: 'open' }\n }\n\n static classes = [ \"open\", \"closed\" ]\n\n connect() {\n if (this.stateValue == \"closed\"){\n this.container().hide()\n }\n }\n\n disconnect() {\n }\n\n toggle(e) {\n e.preventDefault()\n\n this.toggleIcon()\n this.toggleState()\n this.container().slideToggle()\n }\n\n toggleIcon() {\n if (this.stateValue == \"open\"){\n this.icon().classList.replace(this.openClass, this.closedClass)\n }else{\n this.icon().classList.replace(this.closedClass, this.openClass)\n }\n }\n\n toggleState() {\n if (this.stateValue == \"open\"){\n this.stateValue = \"closed\"\n }else{\n this.stateValue = \"open\"\n }\n }\n\n container() {\n return $(this.element.closest(\".box\").querySelector(\".box-content\"))\n }\n\n icon() {\n return this.element.querySelector(\"i.fa\")\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"conditionalFieldset\" ]\n\n connect(){\n this.refresh()\n }\n\n refresh(e){\n for (const fieldset of this.conditionalFieldsetTargets) {\n this.processFieldset(fieldset)\n }\n }\n\n processFieldset(fieldset){\n fieldset.disabled = !this.conditionsPassed(fieldset)\n }\n\n conditionsPassed(fieldset){\n const conditions = JSON.parse(fieldset.dataset.conditions)\n\n return (conditions.filter(condition => this.conditionPassed(condition)).length > 0)\n }\n\n conditionPassed({ field, type, values, not_values }){\n let currentValue = this.getCurrentFieldValue(field, type)\n\n if (Array.isArray(currentValue)){\n if (not_values){\n return !this.commonElementsPresent(not_values, currentValue)\n }else{\n return (currentValue.length == 0 || this.commonElementsPresent(values, currentValue))\n }\n }else{\n if (not_values){\n return !not_values.includes(this.getCurrentFieldValue(field, type))\n }else{\n return values.includes(this.getCurrentFieldValue(field, type))\n }\n }\n }\n\n getCurrentFieldValue(field, type){\n if (type == 'checkbox'){\n let checkboxes = this.element.elements[field]\n let selected = []\n\n for (var i = 0; i < checkboxes.length; i++){\n if (checkboxes[i].checked) {\n selected.push(checkboxes[i].value)\n }\n }\n return selected\n }else{\n return Object.fromEntries(new FormData(this.element))[field]\n }\n }\n\n commonElementsPresent(arrayA, arrayB){\n return (arrayA.filter(x => arrayB.includes(x)).length > 0)\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static values = {\n allowedUrls: Array\n }\n\n handleMessage(event) {\n if (this.originIsInvalid(event)) {\n console.warn(\"Invalid origin for postMessage\")\n return\n }\n\n let promise = this.takeAction(event.data)\n\n if (promise != null){\n promise.done((response) => {\n event.source.postMessage({\n action: `${event.data.action} response`,\n response: response\n }, event.origin)\n }).fail(() => {\n event.source.postMessage({\n action: `${event.data.action} response`,\n response: {\n result: 'Failed', message: \"Something went wrong.\", errors: []\n }\n }, event.origin)\n })\n }\n }\n\n takeAction(message) {\n switch (message.action) {\n case 'create order':\n return window.OrderAPI.create(message.orderData)\n case 'orders app frame position':\n return this.framePosition()\n case 'orders app height':\n this.updateFrameHeight(message.height)\n return null\n }\n }\n\n updateFrameHeight(height) {\n if (height != null) {\n $(this.element).css('height', height)\n }\n }\n\n framePosition() {\n let deferred = $.Deferred()\n\n deferred.resolve(this.element.getBoundingClientRect())\n\n return deferred.promise()\n }\n\n originIsInvalid(event) {\n return !this.allowedUrlsValue.includes(event.origin)\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static values = { refreshUrl: String }\n\n connect() {\n this.photosPane = $(this.element)\n this.initializePhotoViewer()\n }\n\n disconnect() {\n this.photosPane.data('viewer').destroy()\n }\n\n refresh() {\n if (this.refreshUrlValue != null){\n Rails.ajax({\n url: this.refreshUrlValue,\n type: 'GET',\n dataType: 'script',\n success: () => this.update()\n })\n }\n }\n\n initializePhotoViewer() {\n this.photosPane.viewer({\n movable: false,\n title: [true, (image, imageData) => image.alt],\n url: 'src',\n toolbar: {\n zoomIn: true,\n zoomOut: true,\n oneToOne: false,\n reset: true,\n prev: true,\n play: true,\n next: true,\n rotateLeft: true,\n rotateRight: true,\n flipHorizontal: false,\n flipVertical: false\n }\n })\n }\n\n update() {\n this.photosPane.data('viewer').update()\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static values = {\n options: Object,\n }\n\n connect() {\n $(this.element).select2(this.fullOptions())\n\n // Fire a custom event on change, for compatibility with the conditional-form-fields\n // controller, as Stimulus does not detect the normal change event from Select2\n $(this.element).on('change', () => {\n let event = new Event('select2-change')\n this.element.dispatchEvent(event)\n })\n }\n\n disconnect() {\n $(this.element).select2('destroy')\n }\n\n fullOptions() {\n let defaultOptions = {\n width: 'resolve'\n }\n return Object.assign(defaultOptions, this.optionsValue)\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static values = {\n predefinedTags: Array,\n options: Object,\n }\n\n connect() {\n $(this.element).select2(this.fullOptions())\n }\n\n disconnect() {\n $(this.element).select2('destroy')\n }\n\n fullOptions() {\n let defaultOptions = {\n tags: this.predefinedTagsValue,\n tokenSeparators: [','],\n width: 'resolve'\n }\n return Object.assign(defaultOptions, this.optionsValue)\n }\n}\n","// Load all the controllers within this directory and all subdirectories. \n// Controller files must be named *_controller.js.\n\nimport { Application } from \"stimulus\"\nimport { definitionsFromContext } from \"stimulus/webpack-helpers\"\n\nconst application = Application.start()\nconst context = require.context(\"controllers\", true, /_controller\\.js$/)\napplication.load(definitionsFromContext(context))\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","Controller","static","state","type","String","default","connect","this","stateValue","container","hide","disconnect","toggle","preventDefault","toggleIcon","toggleState","slideToggle","icon","classList","replace","openClass","closedClass","$","element","closest","querySelector","refresh","fieldset","conditionalFieldsetTargets","processFieldset","disabled","conditionsPassed","JSON","parse","dataset","conditions","filter","condition","conditionPassed","length","field","values","not_values","currentValue","getCurrentFieldValue","Array","isArray","commonElementsPresent","includes","checkboxes","elements","selected","i","checked","push","value","fromEntries","FormData","arrayA","arrayB","x","allowedUrls","handleMessage","event","originIsInvalid","console","warn","promise","takeAction","data","done","response","source","postMessage","action","origin","fail","result","message","errors","window","OrderAPI","create","orderData","framePosition","updateFrameHeight","height","css","deferred","Deferred","getBoundingClientRect","allowedUrlsValue","refreshUrl","photosPane","initializePhotoViewer","destroy","refreshUrlValue","Rails","ajax","url","dataType","success","update","viewer","movable","title","image","imageData","alt","toolbar","zoomIn","zoomOut","oneToOne","reset","prev","play","next","rotateLeft","rotateRight","flipHorizontal","flipVertical","options","select2","fullOptions","on","Event","dispatchEvent","assign","width","optionsValue","predefinedTags","defaultOptions","tags","predefinedTagsValue","tokenSeparators","application","Application","start","context","require","load","definitionsFromContext"],"sourceRoot":""}