{"version":3,"file":"js/admin-b7966c0f89d20ae2761a.js","mappings":"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","sources":["webpack://academy_sites/./app/javascript/channels/ sync _channel\\.js$","webpack://academy_sites/./app/javascript/controllers/ sync _controller\\.js$","webpack://academy_sites/./app/javascript/images/ sync ^\\.\\/.*$","webpack://academy_sites/./app/javascript/channels/index.js","webpack://academy_sites/./app/javascript/controllers/character_count_controller.js","webpack://academy_sites/./app/javascript/controllers/icon_select_controller.js","webpack://academy_sites/./app/javascript/controllers/image_upload_controller.js","webpack://academy_sites/./app/javascript/controllers/morph_controller.js","webpack://academy_sites/./app/javascript/controllers/page_progress_controller.js","webpack://academy_sites/./app/javascript/controllers/single_file_upload_controller.js","webpack://academy_sites/./app/javascript/controllers/ujs_error_controller.js","webpack://academy_sites/./app/javascript/src/admin/file_uploads.scss?5748","webpack://academy_sites/./app/javascript/controllers/index.js","webpack://academy_sites/./app/javascript/stylesheets/admin.scss?0821","webpack://academy_sites/./app/javascript/packs/admin.js","webpack://academy_sites/./app/javascript/src/admin/file_uploads.js","webpack://academy_sites/./app/javascript/src/admin/trix_editor_overrides.js","webpack://academy_sites/./app/javascript/src/admin/file_uploads.scss?3f52","webpack://academy_sites/./app/javascript/stylesheets/admin.scss?ad37"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 3760;\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./character_count_controller.js\": 373,\n\t\"./icon_select_controller.js\": 3598,\n\t\"./image_upload_controller.js\": 2801,\n\t\"./morph_controller.js\": 8506,\n\t\"./page_progress_controller.js\": 3141,\n\t\"./single_file_upload_controller.js\": 3195,\n\t\"./ujs_error_controller.js\": 7259,\n\t\"controllers/character_count_controller.js\": 373,\n\t\"controllers/icon_select_controller.js\": 3598,\n\t\"controllers/image_upload_controller.js\": 2801,\n\t\"controllers/morph_controller.js\": 8506,\n\t\"controllers/page_progress_controller.js\": 3141,\n\t\"controllers/single_file_upload_controller.js\": 3195,\n\t\"controllers/ujs_error_controller.js\": 7259\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 = 5124;","var map = {\n\t\"./favicons/apple-touch-icon-180x180.png\": 6650,\n\t\"./favicons/favicon.svg\": 7686,\n\t\"./favicons/icon-144x144.png\": 369,\n\t\"./favicons/icon-16x16.png\": 5815,\n\t\"./favicons/icon-192x192.png\": 8409,\n\t\"./favicons/icon-32x32.png\": 7263,\n\t\"./favicons/icon-48x48.png\": 25,\n\t\"./favicons/icon-512x512.png\": 3705,\n\t\"./favicons/icon-96x96.png\": 7543,\n\t\"./ofsted-good.svg\": 2709,\n\t\"./ofsted-outstanding.svg\": 9174,\n\t\"./pages/careers-advice/progress-careers-logo.png\": 1666,\n\t\"./pages/curriculum_overview/dtl-model.svg\": 7277,\n\t\"./pages/honours/badges.png\": 8369,\n\t\"./pages/honours/logo.png\": 148,\n\t\"./pages/honours/screenshot.png\": 873,\n\t\"./pages/the_elephant_group/the-elephant-group-logo.png\": 7155,\n\t\"./pages/uniform/trutex-preloved-left.svg\": 6036,\n\t\"./pages/uniform/trutex-preloved-right.svg\": 4715,\n\t\"./phone-free-school.svg\": 96,\n\t\"./streamline/duotone/programming/information.svg\": 706,\n\t\"./streamline/multicolor/business/fail-ice-cream.svg\": 6958,\n\t\"./streamline/multicolor/computer-programming/responsive-design.svg\": 6631,\n\t\"./streamline/multicolor/content/contract-book-pencil.svg\": 1648,\n\t\"./streamline/multicolor/content/document-approve.svg\": 8993,\n\t\"./streamline/multicolor/content/stamp-document-approve.svg\": 3556,\n\t\"./streamline/multicolor/content/view-eye.svg\": 4845,\n\t\"./streamline/multicolor/design/origami-paper-bird.svg\": 6636,\n\t\"./streamline/multicolor/ecology/ecosystem-half-globe.svg\": 9157,\n\t\"./streamline/multicolor/education/education-aid.svg\": 7340,\n\t\"./streamline/multicolor/education/education-reward.svg\": 4279,\n\t\"./streamline/multicolor/education/owl-laptop-study.svg\": 6206,\n\t\"./streamline/multicolor/education/teacher-shapes.svg\": 2568,\n\t\"./streamline/multicolor/mail/mail-letter.svg\": 7542,\n\t\"./streamline/multicolor/money/mobile-smartphone-credit-card-payment.svg\": 6879,\n\t\"./streamline/multicolor/rewards/star-rate.svg\": 3054,\n\t\"./streamline/multicolor/team-work/team-vote-hand-raise.svg\": 2831,\n\t\"./streamline/multicolor/travel/balloon.svg\": 9448,\n\t\"./streamline/multicolor/users/user.svg\": 1286,\n\t\"./streamline/multicolor/work/office-time.svg\": 1144\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 = 6190;","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context(\".\", true, /_channel\\.js$/);\nchannels.keys().forEach(channels);\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"input\", \"countValue\"];\n\n connect() {\n this.updateMessage();\n }\n\n updateMessage() {\n const count = this.inputTarget.value.length;\n let message = \"\";\n\n if (count > 0) {\n message = `${count}/${this.maxValue}`;\n }\n\n this.setMessage(message);\n this.updateMessageClass(count);\n }\n\n get maxValue() {\n return this.inputTarget.maxLength;\n }\n\n get warningClass() {\n return this.data.get(\"warning-class\") || \"text-warning\";\n }\n\n get limitClass() {\n return this.data.get(\"limit-class\") || \"text-danger\";\n }\n\n setMessage(message) {\n this.countValueTarget.textContent = message;\n }\n\n addWarningClass() {\n this.countValueTarget.classList.add(this.warningClass);\n }\n\n removeWarningClass() {\n this.countValueTarget.classList.remove(this.warningClass);\n }\n\n addLimitClass() {\n this.countValueTarget.classList.add(this.limitClass);\n }\n\n removeLimitClass() {\n this.countValueTarget.classList.remove(this.limitClass);\n }\n\n updateMessageClass(count) {\n if (count >= this.maxValue) {\n this.removeWarningClass();\n this.addLimitClass();\n } else if (count < this.maxValue && count > this.maxValue * 0.9) {\n this.removeLimitClass();\n this.addWarningClass();\n } else {\n this.removeWarningClass();\n this.removeLimitClass();\n }\n }\n}\n","import { Controller } from \"stimulus\";\nimport \"bootstrap-select\";\n\nexport default class extends Controller {\n connect() {\n $(this.element).selectpicker({\n liveSearch: true,\n iconBase: \"\",\n });\n }\n}\n","import { Controller } from \"stimulus\";\nimport { FileInput, Informer, ProgressBar, ThumbnailGenerator } from \"uppy\";\nimport { fileUpload, uploadedFileData } from \"../src/admin/file_uploads.js\";\nexport default class extends Controller {\n static targets = [\"input\", \"imagePreview\", \"resultField\"];\n fileInput;\n\n connect() {\n this.setupFileUpload();\n }\n\n setupFileUpload() {\n this.fileInput = this.inputTarget;\n this.element.removeChild(this.inputTarget);\n\n const uppy = fileUpload(this.fileInput, this.data.get(\"server\"));\n\n uppy\n .use(FileInput, {\n target: this.element,\n locale: { strings: { chooseFiles: \"Choose file\" } },\n inputName: `${this.data.get(\"attribute\")}_files[]`,\n })\n .use(Informer, {\n target: this.element,\n })\n .use(ProgressBar, {\n target: this.imagePreviewTarget.parentNode,\n hideAfterFinish: false,\n })\n .use(ThumbnailGenerator, {\n thumbnailWidth: 600,\n });\n\n uppy.on(\"upload-success\", (file, response) => {\n this.onUploadSuccess(file, response);\n });\n uppy.on(\"thumbnail:generated\", (_file, preview) => {\n this.imagePreviewTarget.src = preview;\n });\n }\n\n onUploadSuccess(file, response) {\n const fileData = uploadedFileData(file, response, this.data.get(\"server\"));\n\n // set hidden field value to the uploaded file data so that it's submitted\n // with the form as the attachment\n this.resultFieldTarget.value = fileData;\n }\n}\n","import { Controller } from \"stimulus\";\nimport morphdom from \"morphdom\";\n\nexport default class extends Controller {\n morphFromAjax(event) {\n const newHTML = event.detail[2].responseText;\n const fragment = this.parseHTML(newHTML);\n const id = fragment.firstElementChild.id;\n morphdom(document.getElementById(id), fragment.firstElementChild);\n }\n\n parseHTML(html) {\n const template = document.createElement(\"template\");\n template.innerHTML = html;\n return template.content.cloneNode(true);\n }\n}\n","import NProgress from \"nprogress\";\nimport { Controller } from \"stimulus\";\nexport default class extends Controller {\n start() {\n NProgress.start();\n }\n\n done() {\n NProgress.done();\n }\n}\n","import { Controller } from \"stimulus\";\nimport { FileInput, Informer, ProgressBar } from \"uppy\";\nimport { fileUpload, uploadedFileData } from \"../src/admin/file_uploads.js\";\nexport default class extends Controller {\n static targets = [\"input\", \"fileName\", \"resultField\"];\n fileInput;\n\n connect() {\n this.setupFileUpload();\n }\n\n setupFileUpload() {\n this.fileInput = this.inputTarget;\n this.element.removeChild(this.inputTarget);\n\n const uppy = fileUpload(this.fileInput, this.data.get(\"server\"));\n\n uppy\n .use(FileInput, {\n target: this.element,\n locale: { strings: { chooseFiles: \"Choose file\" } },\n inputName: `${this.data.get(\"attribute\")}_files[]`,\n })\n .use(Informer, {\n target: this.element,\n })\n .use(ProgressBar, {\n target: this.fileNameTarget,\n hideAfterFinish: false,\n });\n\n uppy.on(\"upload-success\", (file, response) => {\n this.onUploadSuccess(file, response);\n });\n }\n\n onUploadSuccess(file, response) {\n const fileData = uploadedFileData(file, response, this.data.get(\"server\"));\n\n // set hidden field value to the uploaded file data so that it's submitted\n // with the form as the attachment\n this.resultFieldTarget.value = fileData;\n\n // Set file name\n this.fileNameTarget.innerText = file.name;\n }\n}\n","import { Controller } from \"stimulus\";\nimport bootbox from \"bootbox\";\nexport default class extends Controller {\n displayAlert(event) {\n bootbox.alert(\n `${this.data.get(\"message\")} (${event.detail[1] || \"Network Error\"})`,\n );\n }\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./file_uploads.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./file_uploads.scss\";\n export default content && content.locals ? content.locals : undefined;\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 Flatpickr from \"stimulus-flatpickr\";\nimport { definitionsFromContext } from \"stimulus/webpack-helpers\";\n\nconst application = Application.start();\nconst context = require.context(\"controllers\", true, /_controller\\.js$/);\napplication.load(definitionsFromContext(context));\n\napplication.register(\"flatpickr\", Flatpickr);\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./admin.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[2]!./admin.scss\";\n export default content && content.locals ? content.locals : undefined;\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\nrequire(\"@rails/ujs\").start();\nrequire(\"turbolinks\").start();\nrequire(\"@rails/activestorage\").start();\nrequire(\"trix\");\nrequire(\"@rails/actiontext\");\nrequire(\"channels\");\nimport \"bootstrap\";\nimport \"src/admin/\";\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\nconst images = require.context(\"../images\", true);\nconst imagePath = (name) => images(name, true);\n\nimport \"controllers\";\nimport \"../stylesheets/admin\";\n","import { Core, XHRUpload, AwsS3, AwsS3Multipart } from \"uppy\";\n\n// constructs uploaded file data in the format that Shrine expects\nconst fileData = (file, id) => ({\n id: id,\n storage: \"cache\",\n metadata: {\n size: file.size,\n filename: file.name,\n mime_type: file.type,\n },\n});\n\nexport const uploadedFileData = (file, response, uploadServer) => {\n if (uploadServer == \"s3\") {\n // object key without prefix\n const id = file.meta[\"key\"].match(/^cache\\/(.+)/)[1];\n\n return JSON.stringify(fileData(file, id));\n } else if (uploadServer == \"s3_multipart\") {\n // object key without prefix\n\n const id = response.uploadURL.match(/\\/cache\\/([^\\?]+)/)[1];\n\n return JSON.stringify(fileData(file, id));\n } else {\n return JSON.stringify(response.body);\n }\n};\n\nexport const fileUpload = (fileInput, uploadServer) => {\n const uppy = Core({\n id: fileInput.id,\n autoProceed: true,\n restrictions: {\n allowedFileTypes: fileInput.accept.split(\",\"),\n },\n });\n\n if (uploadServer == \"s3\") {\n // Shrine's presign endpoint mounted on `/s3/params`\n uppy.use(AwsS3, {\n companionUrl: \"/\",\n });\n } else if (uploadServer == \"s3_multipart\") {\n // uppy-s3_multipart endpoint mounted on `/s3/multipart`\n uppy.use(AwsS3Multipart, {\n companionUrl: \"/\",\n });\n } else {\n // Shrine's upload endpoint\n uppy.use(XHRUpload, {\n endpoint: \"/upload\",\n });\n }\n\n return uppy;\n};\n","window.addEventListener(\"trix-file-accept\", function (event) {\n const acceptedTypes = [\n \"image/gif\",\n \"image/jpeg\",\n \"image/png\",\n \"application/pdf\",\n ];\n const maxFileSize = 20 * 1024 * 1024; //20MB\n if (!acceptedTypes.includes(event.file.type)) {\n event.preventDefault();\n alert(\n \"Only images (JPEG, GIF, and PNG) and PDF files can be uploaded.\\nPlease convert the file or consider linking to a file on Google Drive.\",\n );\n } else if (event.file.size > maxFileSize) {\n event.preventDefault();\n alert(\n \"The file you attempted to attach is too large. Files must be under 20MB.\\nConsider resizing the file, or linking to a file on Google Drive.\",\n );\n }\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","channels","require","forEach","Controller","static","connect","this","updateMessage","count","inputTarget","value","length","message","maxValue","setMessage","updateMessageClass","maxLength","warningClass","data","get","limitClass","countValueTarget","textContent","addWarningClass","classList","add","removeWarningClass","remove","addLimitClass","removeLimitClass","$","element","selectpicker","liveSearch","iconBase","fileInput","setupFileUpload","removeChild","uppy","fileUpload","use","FileInput","target","locale","strings","chooseFiles","inputName","Informer","ProgressBar","imagePreviewTarget","parentNode","hideAfterFinish","ThumbnailGenerator","thumbnailWidth","on","file","response","onUploadSuccess","_file","preview","src","fileData","uploadedFileData","resultFieldTarget","morphFromAjax","event","newHTML","detail","responseText","fragment","parseHTML","firstElementChild","morphdom","document","getElementById","html","template","createElement","innerHTML","content","cloneNode","start","NProgress","done","fileNameTarget","innerText","name","displayAlert","bootbox","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","application","Application","context","load","definitionsFromContext","register","Flatpickr","storage","metadata","size","filename","mime_type","type","uploadServer","meta","match","JSON","stringify","uploadURL","body","Core","autoProceed","restrictions","allowedFileTypes","accept","split","AwsS3","companionUrl","AwsS3Multipart","XHRUpload","endpoint","window","addEventListener","includes","preventDefault","alert","___CSS_LOADER_EXPORT___","push"],"sourceRoot":""}