{"version":3,"file":"js/application-146b7df8264a29de76a9.js","mappings":"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","sources":["webpack://app/./app/javascript/controllers/ sync _controller\\.js$","webpack://app/./app/javascript/controllers/application_controller.js","webpack://app/./app/javascript/controllers/bulk_actions_controller.js","webpack://app/./app/javascript/controllers/clipboard_controller.js","webpack://app/./app/javascript/controllers/hotkey_controller.js","webpack://app/./app/javascript/controllers/meals/packing_code_controller.js","webpack://app/./app/javascript/controllers/index.js","webpack://app/./app/javascript/packs/application.js"],"sourcesContent":["var map = {\n\t\"./application_controller.js\": 5996,\n\t\"./bulk_actions_controller.js\": 9971,\n\t\"./clipboard_controller.js\": 6187,\n\t\"./hotkey_controller.js\": 446,\n\t\"./meals/packing_code_controller.js\": 2394,\n\t\"controllers/application_controller.js\": 5996,\n\t\"controllers/bulk_actions_controller.js\": 9971,\n\t\"controllers/clipboard_controller.js\": 6187,\n\t\"controllers/hotkey_controller.js\": 446,\n\t\"controllers/meals/packing_code_controller.js\": 2394\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 = 7074;","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n get classList() {\n return this.element.classList\n }\n\n dispatch(eventName, { target = this.element, detail = {}, bubbles = true, cancelable = true } = {}) {\n const type = `${this.identifier}:${eventName}`\n const event = new CustomEvent(type, { detail, bubbles, cancelable })\n target.dispatchEvent(event)\n return event\n }\n\n observeMutations(callback, target = this.element, options = { childList: true, subtree: true }) {\n const observer = new MutationObserver(mutations => {\n observer.disconnect()\n Promise.resolve().then(start)\n callback.call(this, mutations)\n })\n function start() {\n if (target.isConnected) observer.observe(target, options)\n }\n start()\n }\n\n get pageIsTurbolinksPreview() {\n return document.documentElement.hasAttribute(\"data-turbolinks-preview\")\n }\n}\n\n","import ApplicationController from \"./application_controller\"\n\nconst BOX_KINDS = \"asidebox imbox laterbox feedbox trailbox\".split(\" \")\nconst ROW_TYPES = \"bundle muted noted seen topic\".split(\" \")\nconst ROW_ACTIONS = \"merge mute read note collection seen trash unmute unseen done folder\".split(\" \")\n\nexport default class extends ApplicationController {\n static targets = [\n \"checkbox\", \"checkboxParent\", \"row\", \"menu\", \"menuItem\", \"menuButton\", \"selectedCount\", \"selectedIdsField\",\n ...ROW_ACTIONS.map(action => `${action}Button`),\n ...BOX_KINDS.map(kind => `${kind}Button`)\n ]\n\n static classes = [ \"selected\", \"filings\" ]\n\n // Actions\n\n select() {\n console.log(\"selected!\")\n const { parentElement } = document.activeElement\n\n const focusedCheckbox = this.checkboxTargets.find(checkbox =>\n parentElement.contains(checkbox) ||\n this.checkboxParentTargets.find(target => target.contains(parentElement) && target.contains(checkbox))\n )\n\n focusedCheckbox?.click()\n }\n\n update(event) {\n console.log(this.menuTarget)\n if (event?.target.checked) {\n if (this.isShiftSelected && this.lastSelectedCheckbox) {\n this.shiftSelect(this.lastSelectedCheckbox, event.target)\n }\n this.lastSelectedCheckbox = event.target\n }\n\n const { ids, accountIds, accountPurposes, boxKinds, count, seenCount, bundleCount, mutedCount, topicCount } = this.selected\n const [ boxKind ] = [ ...boxKinds.size == 1 ? boxKinds : [] ]\n\n this.selectedIdsFieldTargets.forEach(field => field.value = ids)\n this.selectedCountTargets.forEach(target => target.dataset.count = count)\n this.classList.toggle(this.selectedClass, count > 0)\n this.menuTarget.open = count > 0\n\n BOX_KINDS.forEach(kind => {\n if (this[`has${this.capitalizeString(kind)}ButtonTarget`]) {\n this.toggleButton(this[`${kind}ButtonTarget`], !boxKind || boxKind == kind || bundleCount > 0)\n }\n })\n\n if (this.hasTrashButtonTarget) { this.toggleButton(this.trashButtonTarget, topicCount != count) }\n }\n\n async reset(event) {\n if (\"open\" in event.target && event.target.open) return\n if (event?.type == \"submit\") await nextFrame()\n this.checkboxTargets.forEach(checkbox => checkbox.checked = false)\n this.update()\n }\n\n loadPostingNoteForms() {\n this.selected.ids.forEach(id => document.getElementById(`edit_note_link_posting_${id}`).click())\n this.reset()\n }\n\n toggleFilingsMenu({ target }) {\n this.menuTarget.classList.toggle(this.filingsClass, target.open)\n\n if (!target.open) {\n this.focusButtonInForm(this.folderButtonTarget)\n }\n }\n\n toggleCollectingsMenu({ target }) {\n if (!target.open) {\n this.focusButtonInForm(this.collectionButtonTarget)\n }\n }\n\n enableShiftSelect(event) {\n console.log('enabling')\n if (event.key == \"Shift\") { this.shiftSelectEnabled = true }\n }\n\n disableShiftSelect(event) {\n if (event.key == \"Shift\") { this.shiftSelectEnabled = false }\n }\n\n shiftSelect(startTarget, endTarget) {\n const start = this.checkboxTargets.indexOf(startTarget)\n const end = this.checkboxTargets.indexOf(endTarget)\n this.checkboxTargets.slice(Math.min(start, end), Math.max(start, end) + 1).forEach(checkbox => checkbox.checked = true)\n }\n\n dispatch(eventName, { target = this.element, detail = {}, bubbles = true, cancelable = true } = {}) {\n const type = `${this.identifier}:${eventName}`\n const event = new CustomEvent(type, { detail, bubbles, cancelable })\n target.dispatchEvent(event)\n return event\n }\n\n get classList() {\n return this.element.classList\n }\n\n // Private\n\n get selected() {\n console.log(this.selectedRowTargets)\n const result = { ids: [], accountIds: new Set, accountPurposes: new Set, boxKinds: new Set, count: 0 }\n ROW_TYPES.forEach(type => result[`${type}Count`] = 0)\n\n this.selectedRowTargets.forEach(({ dataset }) => {\n console.log(dataset)\n result.ids.push(dataset.identifier)\n result.accountIds.add(dataset.accountId)\n result.accountPurposes.add(dataset.accountPurpose)\n result.boxKinds.add(dataset.boxKind)\n result.count++\n ROW_TYPES.forEach(type => result[`${type}Count`] += type in dataset ? 1 : 0)\n })\n\n return result\n }\n\n get selectedRowTargets() {\n const { selectedCheckboxTargets } = this\n return this.rowTargets.filter(rowTarget => selectedCheckboxTargets.some(checkbox => rowTarget.contains(checkbox)))\n }\n\n get selectedCheckboxTargets() {\n return this.checkboxTargets.filter(checkbox => checkbox.checked)\n }\n\n get isShiftSelected() {\n return this.shiftSelectEnabled\n }\n\n get enabledMenuItems() {\n return this.menuItemTargets.filter(target => !target.hidden)\n }\n\n get enabledMenuButtons() {\n const { enabledMenuItems } = this\n return this.menuButtonTargets.filter(button => enabledMenuItems.some(item => item.contains(button)))\n }\n\n toggleButton(element, disabled) {\n disabled = !this.hasSelectedPostings || disabled\n const menuButtonTargets = this.menuButtonTargets.filter(target => element.contains(target))\n\n if (\"disabled\" in element) element.disabled = disabled\n\n for (const target of menuButtonTargets) {\n target.disabled = disabled\n }\n\n element.hidden = disabled\n }\n\n focusButtonInForm(element) {\n const button = this.menuButtonTargets.find(target => element.contains(target))\n\n button?.focus()\n }\n\n get hasSelectedPostings(){\n return this.selected.count > 0\n }\n\n capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n}\n\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"source\" ]\n \n copy() {\n this.sourceTarget.type = \"text\"\n this.sourceTarget.select()\n document.execCommand(\"copy\")\n this.sourceTarget.type = \"hidden\"\n window.getSelection().removeAllRanges()\n }\n}\n","import { install, uninstall } from \"@github/hotkey\"\nimport ApplicationController from \"./application_controller\"\n\n// https://github.com/github/hotkey#usage\n\nexport default class extends ApplicationController {\n static targets = [ \"shortcut\" ]\n\n initialize() {\n if (this.hasShortcutTarget) {\n this.shortcutTarget.innerHTML = this.shortcutTarget.textContent.replace(\"Control+\", \"^\")\n }\n this.observeMutations(this.toggleWhenDisabled, this.element, { attributeFilter: [ \"disabled\" ] })\n }\n\n connect() {\n if (this.disabled) return\n install(this.element)\n }\n\n disconnect() {\n uninstall(this.element)\n }\n\n toggleWhenDisabled([ mutation ]) {\n const hotkey = mutation.target\n const controllers = new Set((hotkey.dataset.controller || \"\").split(/\\s/))\n\n if (hotkey.disabled) {\n controllers.delete(this.identifier)\n } else {\n controllers.add(this.identifier)\n }\n\n hotkey.dataset.controller = [ ...controllers ].join(\" \")\n }\n\n get disabled() {\n return document.body.hasAttribute(\"data-hotkeys-disabled\")\n }\n}\n\n","// Visit The Stimulus Handbook for more details \n// https://stimulusjs.org/handbook/introduction\n// \n// This example controller works with specially annotated HTML like:\n//\n//