{"version":3,"file":"js/application-836f20b375b227285ed2.js","mappings":"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","sources":["webpack://app/./app/javascript/images/ sync ^\\.\\/.*$","webpack://app/./app/javascript/src/catchment_area.js","webpack://app/./app/javascript/src/copy_to_clipboard.js","webpack://app/./app/javascript/src/date_constants.js","webpack://app/./app/javascript/src/date_range_picker.js","webpack://app/./app/javascript/src/date_range_picker_event_group.js","webpack://app/./app/javascript/src/double_date_range_filter.js","webpack://app/./app/javascript/src/load_by_ajax.js","webpack://app/./app/javascript/src/production_categorisation.js","webpack://app/./app/javascript/application.js","webpack://app/./app/javascript/src/confirmation_dialog.js","webpack://app/./app/javascript/src/debug_translations.js","webpack://app/./app/javascript/src/duca_cookie_button.js","webpack://app/./app/javascript/src/highcharts.js","webpack://app/./app/javascript/src/organisation_selector.js","webpack://app/./app/javascript/src/overview_dashboard_segments_catchment_chart.js","webpack://app/./app/javascript/src/performance_categorisation.js","webpack://app/./app/javascript/src/reports/highcharts_reach_column_chart.js","webpack://app/./app/javascript/src/reports/highcharts_segment_reach_bar_chart.js","webpack://app/./app/javascript/src/reports/highcharts_two_series_bar.js","webpack://app/./app/javascript/src/sticky_heading.js","webpack://app/./app/javascript/src/survey_selector.js","webpack://app/./app/javascript/src/ticketing_feed_selector.js","webpack://app/./app/javascript/src/tooltip.js","webpack://app/./app/javascript/src/turbo_animations.js","webpack://app/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["var map = {\n\t\"./backgrounds/as-background.svg\": 3319,\n\t\"./backgrounds/as-bg.svg\": 7394,\n\t\"./backgrounds/audience-spectrum-background.svg\": 7293,\n\t\"./backgrounds/behaviour-background.png\": 4979,\n\t\"./backgrounds/cpm-bg.png\": 2687,\n\t\"./backgrounds/evidence.png\": 8018,\n\t\"./backgrounds/half-circle-primary.svg\": 7139,\n\t\"./backgrounds/half-circle.svg\": 2038,\n\t\"./backgrounds/headlines-background.png\": 7089,\n\t\"./backgrounds/login-background-answers.jpg\": 4339,\n\t\"./backgrounds/login-background-answers.png\": 8075,\n\t\"./backgrounds/login-background-new.png\": 7076,\n\t\"./backgrounds/nations/england-background.png\": 3442,\n\t\"./backgrounds/nations/england.png\": 5355,\n\t\"./backgrounds/nations/northern-ireland-background.png\": 5641,\n\t\"./backgrounds/nations/northern-ireland.png\": 9566,\n\t\"./backgrounds/nations/scotland-background.png\": 8485,\n\t\"./backgrounds/nations/scotland.png\": 242,\n\t\"./backgrounds/nations/wales-background.png\": 1591,\n\t\"./backgrounds/nations/wales.png\": 7252,\n\t\"./backgrounds/overview-dashboard.png\": 4595,\n\t\"./backgrounds/place-background.png\": 5135,\n\t\"./backgrounds/profile-background.png\": 865,\n\t\"./backgrounds/survey-report.png\": 4924,\n\t\"./backgrounds/yield-background.svg\": 1582,\n\t\"./icons/add.svg\": 6122,\n\t\"./icons/add_bold.svg\": 9732,\n\t\"./icons/add_circle_orange.svg\": 3218,\n\t\"./icons/add_circle_teal.svg\": 9286,\n\t\"./icons/add_circle_white.svg\": 9235,\n\t\"./icons/admin.svg\": 8374,\n\t\"./icons/admin_illustration.svg\": 5399,\n\t\"./icons/advice.svg\": 3453,\n\t\"./icons/analysis.svg\": 2871,\n\t\"./icons/analytics_board_bars_gray300.svg\": 9290,\n\t\"./icons/arrow-button-circle-down-1.svg\": 9741,\n\t\"./icons/arrow-button-circle-up-1.svg\": 890,\n\t\"./icons/arrow_circle_down.svg\": 7230,\n\t\"./icons/arrow_circle_up.svg\": 6693,\n\t\"./icons/arrow_down.svg\": 7031,\n\t\"./icons/arrow_left_black.svg\": 532,\n\t\"./icons/arrow_ribbon.svg\": 2219,\n\t\"./icons/arrow_right.svg\": 3367,\n\t\"./icons/arrow_right_2_gray900.svg\": 255,\n\t\"./icons/arrow_right_2_teal.svg\": 2537,\n\t\"./icons/arrow_right_black.svg\": 8107,\n\t\"./icons/arrow_up.svg\": 136,\n\t\"./icons/as/as-bg.svg\": 3152,\n\t\"./icons/as/commuterland-culturebuffs.svg\": 3994,\n\t\"./icons/as/dormitory-dependables.svg\": 2151,\n\t\"./icons/as/experience-seekers.svg\": 7239,\n\t\"./icons/as/facebook-families.svg\": 8529,\n\t\"./icons/as/heydays.svg\": 3939,\n\t\"./icons/as/home-and-heritage.svg\": 1,\n\t\"./icons/as/kaleidoscope-creativity.svg\": 8962,\n\t\"./icons/as/m1.svg\": 5974,\n\t\"./icons/as/metroculturals.svg\": 3084,\n\t\"./icons/as/trips-and-treats.svg\": 7914,\n\t\"./icons/as/up-our-street.svg\": 1254,\n\t\"./icons/audience.svg\": 723,\n\t\"./icons/audience_spectrum_v1/commuterland-culturebuffs.svg\": 7774,\n\t\"./icons/audience_spectrum_v1/dormitory-dependables.svg\": 3331,\n\t\"./icons/audience_spectrum_v1/experience-seekers.svg\": 3467,\n\t\"./icons/audience_spectrum_v1/frontline-families.svg\": 5808,\n\t\"./icons/audience_spectrum_v1/home-and-heritage.svg\": 6029,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/commuterland-culturebuffs.svg\": 6583,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/dormitory-dependables.svg\": 6322,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/experience-seekers.svg\": 8324,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/frontline-families.svg\": 2643,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/home-and-heritage.svg\": 420,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/kaleidoscope-creativity.svg\": 6599,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/metroculturals.svg\": 7495,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/supported-communities.svg\": 1115,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/trips-and-treats.svg\": 7261,\n\t\"./icons/audience_spectrum_v1/icon-only/colours/up-our-street.svg\": 9451,\n\t\"./icons/audience_spectrum_v1/icon-only/commuterland-culturebuffs.svg\": 7429,\n\t\"./icons/audience_spectrum_v1/icon-only/dormitory-dependables.svg\": 8140,\n\t\"./icons/audience_spectrum_v1/icon-only/experience-seekers.svg\": 7762,\n\t\"./icons/audience_spectrum_v1/icon-only/frontline-families.svg\": 6337,\n\t\"./icons/audience_spectrum_v1/icon-only/home-and-heritage.svg\": 1850,\n\t\"./icons/audience_spectrum_v1/icon-only/kaleidoscope-creativity.svg\": 4629,\n\t\"./icons/audience_spectrum_v1/icon-only/metroculturals.svg\": 677,\n\t\"./icons/audience_spectrum_v1/icon-only/supported-communities.svg\": 8410,\n\t\"./icons/audience_spectrum_v1/icon-only/trips-and-treats.svg\": 9267,\n\t\"./icons/audience_spectrum_v1/icon-only/up-our-street.svg\": 2073,\n\t\"./icons/audience_spectrum_v1/kaleidoscope-creativity.svg\": 4206,\n\t\"./icons/audience_spectrum_v1/metroculturals.svg\": 6176,\n\t\"./icons/audience_spectrum_v1/supported-communities.svg\": 9714,\n\t\"./icons/audience_spectrum_v1/trips-and-treats.svg\": 8902,\n\t\"./icons/audience_spectrum_v1/up-our-street.svg\": 8242,\n\t\"./icons/audience_spectrum_v1_5/commuterland-culturebuffs-c1.svg\": 1723,\n\t\"./icons/audience_spectrum_v1_5/commuterland-culturebuffs-c2.svg\": 3656,\n\t\"./icons/audience_spectrum_v1_5/dormitory-dependables-d1.svg\": 4857,\n\t\"./icons/audience_spectrum_v1_5/dormitory-dependables-d2.svg\": 9274,\n\t\"./icons/audience_spectrum_v1_5/experience-seekers-e1.svg\": 9266,\n\t\"./icons/audience_spectrum_v1_5/experience-seekers-e2.svg\": 3809,\n\t\"./icons/audience_spectrum_v1_5/frontline-families-f1.svg\": 882,\n\t\"./icons/audience_spectrum_v1_5/frontline-families-f2.svg\": 1249,\n\t\"./icons/audience_spectrum_v1_5/home-and-heritage-h1.svg\": 4779,\n\t\"./icons/audience_spectrum_v1_5/home-and-heritage-h2.svg\": 360,\n\t\"./icons/audience_spectrum_v1_5/kaleidoscope-creativity-k1.svg\": 3747,\n\t\"./icons/audience_spectrum_v1_5/kaleidoscope-creativity-k2.svg\": 4352,\n\t\"./icons/audience_spectrum_v1_5/metroculturals-m1.svg\": 9783,\n\t\"./icons/audience_spectrum_v1_5/metroculturals-m2.svg\": 5188,\n\t\"./icons/audience_spectrum_v1_5/supported-communities-s1.svg\": 1759,\n\t\"./icons/audience_spectrum_v1_5/supported-communities-s2.svg\": 2732,\n\t\"./icons/audience_spectrum_v1_5/trips-and-treats-t1.svg\": 5266,\n\t\"./icons/audience_spectrum_v1_5/trips-and-treats-t2.svg\": 9809,\n\t\"./icons/audience_spectrum_v1_5/up-our-street-u1.svg\": 7829,\n\t\"./icons/audience_spectrum_v1_5/up-our-street-u2.svg\": 9606,\n\t\"./icons/back_arrow.svg\": 6918,\n\t\"./icons/back_arrow_gray900.svg\": 4197,\n\t\"./icons/back_arrow_red.svg\": 3954,\n\t\"./icons/back_arrow_teal.svg\": 411,\n\t\"./icons/bookers.svg\": 6642,\n\t\"./icons/button_refresh_arrows.svg\": 4906,\n\t\"./icons/categorisation_illustration.svg\": 5720,\n\t\"./icons/categorise_productions.svg\": 8500,\n\t\"./icons/chart_placeholder.svg\": 3897,\n\t\"./icons/check.svg\": 3079,\n\t\"./icons/check_circle_1.svg\": 3746,\n\t\"./icons/check_white.svg\": 2561,\n\t\"./icons/circle--inactive.svg\": 8888,\n\t\"./icons/circle--success.svg\": 5264,\n\t\"./icons/circle--warning.svg\": 1469,\n\t\"./icons/close_fullscreen.svg\": 4045,\n\t\"./icons/cog_white.svg\": 5492,\n\t\"./icons/command-centre.svg\": 5580,\n\t\"./icons/community_illustration.svg\": 1181,\n\t\"./icons/configure.svg\": 3199,\n\t\"./icons/construction.svg\": 1662,\n\t\"./icons/copy_paste.svg\": 8534,\n\t\"./icons/copy_paste_white.svg\": 4088,\n\t\"./icons/crane.svg\": 8708,\n\t\"./icons/danger.svg\": 680,\n\t\"./icons/dashboard.svg\": 1823,\n\t\"./icons/data_sources.svg\": 818,\n\t\"./icons/data_table.svg\": 1544,\n\t\"./icons/database_download.svg\": 4581,\n\t\"./icons/database_question.svg\": 8773,\n\t\"./icons/database_sync.svg\": 372,\n\t\"./icons/decrease.svg\": 4097,\n\t\"./icons/delete.svg\": 4648,\n\t\"./icons/delete_1.svg\": 5132,\n\t\"./icons/delete_red.svg\": 6828,\n\t\"./icons/digital.svg\": 6016,\n\t\"./icons/digital_surveys_illustration.svg\": 1556,\n\t\"./icons/down_arrow_white.svg\": 1701,\n\t\"./icons/down_ribbon_arrow.svg\": 9626,\n\t\"./icons/download.svg\": 8989,\n\t\"./icons/download_data.svg\": 2104,\n\t\"./icons/draft.svg\": 6978,\n\t\"./icons/edit.svg\": 9845,\n\t\"./icons/edit_teal.svg\": 8698,\n\t\"./icons/edit_white.svg\": 3375,\n\t\"./icons/essentials.svg\": 2034,\n\t\"./icons/events.svg\": 3850,\n\t\"./icons/expire.svg\": 324,\n\t\"./icons/external_link.svg\": 3555,\n\t\"./icons/farming_hay_illustration.svg\": 9877,\n\t\"./icons/feedback.svg\": 208,\n\t\"./icons/filter.svg\": 7679,\n\t\"./icons/forum.svg\": 2036,\n\t\"./icons/fullscreen.svg\": 1110,\n\t\"./icons/fullscreen_close.svg\": 7567,\n\t\"./icons/fullscreen_open.svg\": 3489,\n\t\"./icons/graph_no_change.svg\": 7626,\n\t\"./icons/graph_stats_ascend.svg\": 5068,\n\t\"./icons/graph_stats_descend.svg\": 4040,\n\t\"./icons/grip.svg\": 2689,\n\t\"./icons/headlines.svg\": 5528,\n\t\"./icons/helper_arrow_down.svg\": 1686,\n\t\"./icons/home.svg\": 2952,\n\t\"./icons/household.svg\": 24,\n\t\"./icons/hyperlink_3_gray300.svg\": 7382,\n\t\"./icons/hyperlink_3_white.svg\": 9745,\n\t\"./icons/icon-danger.svg\": 9162,\n\t\"./icons/icon-info-blue.svg\": 7156,\n\t\"./icons/icon-info.svg\": 940,\n\t\"./icons/icon-primary.svg\": 8115,\n\t\"./icons/icon-secondary.svg\": 139,\n\t\"./icons/icon-success.svg\": 7632,\n\t\"./icons/icon-success_white.svg\": 4250,\n\t\"./icons/icon-tips.svg\": 9961,\n\t\"./icons/icon-warning.svg\": 3837,\n\t\"./icons/idea.svg\": 5464,\n\t\"./icons/illustration-analyse-answers-colours.svg\": 9173,\n\t\"./icons/illustration-analyse-iktf-colours.svg\": 314,\n\t\"./icons/illustration-survey-grey.svg\": 3242,\n\t\"./icons/illustration-surveys-answers-colours.svg\": 92,\n\t\"./icons/illustration-surveys-iktf-colours.svg\": 828,\n\t\"./icons/illustration-ticketing-answers-colours.svg\": 5186,\n\t\"./icons/illustration_empty_gray500.svg\": 1354,\n\t\"./icons/illustration_insights_answers_colours.svg\": 2539,\n\t\"./icons/in-depth.svg\": 1592,\n\t\"./icons/income.svg\": 5152,\n\t\"./icons/increase.svg\": 5425,\n\t\"./icons/info.svg\": 3645,\n\t\"./icons/insights.svg\": 4034,\n\t\"./icons/light_bulb_shine_icon_white.svg\": 1055,\n\t\"./icons/link.svg\": 2205,\n\t\"./icons/link_arrow.svg\": 371,\n\t\"./icons/mouse_gray900.svg\": 2841,\n\t\"./icons/mouse_px96_gray200.svg\": 6104,\n\t\"./icons/mouse_white.svg\": 1388,\n\t\"./icons/movies_audience_gray900.svg\": 456,\n\t\"./icons/movies_audience_px96_gray200.svg\": 9311,\n\t\"./icons/movies_audience_white.svg\": 8381,\n\t\"./icons/new-booker.svg\": 2620,\n\t\"./icons/next.svg\": 4558,\n\t\"./icons/no_change.svg\": 927,\n\t\"./icons/organisation.svg\": 6339,\n\t\"./icons/owl_white.svg\": 15,\n\t\"./icons/paper_write_icon.svg\": 8499,\n\t\"./icons/pencil_write_2.svg\": 6941,\n\t\"./icons/performance_tablet_increase.svg\": 4455,\n\t\"./icons/place.svg\": 1742,\n\t\"./icons/preview.svg\": 3479,\n\t\"./icons/preview_teal.svg\": 2924,\n\t\"./icons/preview_white.svg\": 7137,\n\t\"./icons/previous.svg\": 9754,\n\t\"./icons/profile.svg\": 1124,\n\t\"./icons/programming.svg\": 9064,\n\t\"./icons/question.svg\": 7341,\n\t\"./icons/question_circle.svg\": 6596,\n\t\"./icons/refine.svg\": 8150,\n\t\"./icons/refresh.svg\": 4794,\n\t\"./icons/remove-circle-bold.svg\": 2918,\n\t\"./icons/reports.svg\": 7630,\n\t\"./icons/reports_illustration.svg\": 5471,\n\t\"./icons/resources.svg\": 2060,\n\t\"./icons/results.svg\": 4961,\n\t\"./icons/returning-booker.svg\": 6704,\n\t\"./icons/rocket.svg\": 6401,\n\t\"./icons/school_building.svg\": 8760,\n\t\"./icons/science_graph.svg\": 4860,\n\t\"./icons/search.svg\": 5025,\n\t\"./icons/search_white.svg\": 9659,\n\t\"./icons/sector.svg\": 9119,\n\t\"./icons/server_question.svg\": 4879,\n\t\"./icons/share_2_darkgrey.svg\": 1557,\n\t\"./icons/share_2_teal.svg\": 3410,\n\t\"./icons/snapshot.svg\": 7193,\n\t\"./icons/solutions.svg\": 6319,\n\t\"./icons/sort_ascend.svg\": 4150,\n\t\"./icons/sort_descend.svg\": 5622,\n\t\"./icons/study_light_idea.svg\": 6053,\n\t\"./icons/study_owl.svg\": 7403,\n\t\"./icons/success.svg\": 6466,\n\t\"./icons/survey_admin_illustration.svg\": 3400,\n\t\"./icons/survey_library_new_home.svg\": 7066,\n\t\"./icons/surveys.svg\": 9930,\n\t\"./icons/surveys_illustration.svg\": 2947,\n\t\"./icons/ticket.svg\": 9473,\n\t\"./icons/ticketing.svg\": 2159,\n\t\"./icons/tickets.svg\": 1904,\n\t\"./icons/tips.svg\": 7631,\n\t\"./icons/up_arrow.svg\": 1208,\n\t\"./icons/warning.svg\": 887,\n\t\"./icons/wip.svg\": 2863,\n\t\"./icons/yield.svg\": 4920,\n\t\"./illustrations/admin.svg\": 3125,\n\t\"./illustrations/as-map.svg\": 8277,\n\t\"./illustrations/audience-report.svg\": 5077,\n\t\"./illustrations/coach.svg\": 9918,\n\t\"./illustrations/evidence.svg\": 9199,\n\t\"./illustrations/faqs.svg\": 8347,\n\t\"./illustrations/guides.svg\": 7339,\n\t\"./illustrations/insights.svg\": 5151,\n\t\"./illustrations/location.svg\": 1989,\n\t\"./illustrations/networks.svg\": 2573,\n\t\"./illustrations/overview-dashboard.svg\": 8486,\n\t\"./illustrations/question.svg\": 2764,\n\t\"./illustrations/resources.svg\": 7199,\n\t\"./illustrations/sector.svg\": 4286,\n\t\"./illustrations/solutions.svg\": 1844,\n\t\"./illustrations/survey-report.svg\": 2909,\n\t\"./illustrations/surveys.svg\": 3389,\n\t\"./illustrations/ticketing.svg\": 4932,\n\t\"./illustrations/your-data.svg\": 1806,\n\t\"./patterns/diagonal_stripes.png\": 7425,\n\t\"./patterns/polka_dots.png\": 9099,\n\t\"./patterns/zig_zag.png\": 4085\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;","import L from 'leaflet';\n\nfunction zoomLevel(radius) {\n if (radius <= 1) {\n return 14;\n } if (radius > 1 && radius <= 2) {\n return 13;\n } if (radius > 2 && radius <= 4) {\n return 12;\n } if (radius > 4 && radius <= 8) {\n return 11;\n } if (radius > 8 && radius <= 16) {\n return 10;\n } if (radius > 16 && radius <= 32) {\n return 9;\n } if (radius > 32 && radius <= 64) {\n return 8;\n } if (radius > 64 && radius <= 128) {\n return 7;\n } if (radius > 128 && radius <= 256) {\n return 6;\n } if (radius > 256 && radius <= 512) {\n return 5;\n } if (radius > 512 && radius <= 1024) {\n return 4;\n } if (radius > 1024 && radius <= 2048) {\n return 3;\n } if (radius > 2048 && radius <= 4096) {\n return 2;\n }\n return 1;\n}\n\nfunction makeLayers(map, organisationLocation, catchmentCircleOptions) {\n const houseIcon = L.icon({\n iconUrl: '/map-marker/map-marker-house.svg',\n iconSize: [45.12, 57],\n iconAnchor: [22.56, 57],\n shadowUrl: '/map-marker/map-marker-house-shadow.svg',\n shadowSize: [32.44, 45.36],\n shadowAnchor: [0, 45.36],\n });\n\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors',\n }).addTo(map);\n\n L.marker(organisationLocation, { icon: houseIcon }).addTo(map);\n L.circle(organisationLocation, catchmentCircleOptions).addTo(map);\n}\n\nfunction catchmentArea(mapSelector, background) {\n const el = $(`#${mapSelector}`);\n const radius = el.data('radius');\n const longitude = el.data('longitude');\n const latitude = el.data('latitude');\n const maxRadius = el.data('maxRadius') || radius;\n\n const organisationLocation = [latitude, longitude];\n const map = L.map(mapSelector, {\n scrollWheelZoom: false,\n }).setView(organisationLocation, zoomLevel(maxRadius / 1000));\n\n const catchmentCircleOptions = {\n radius,\n stroke: false,\n fill: true,\n fillColor: background,\n fillOpacity: 0.6,\n };\n\n makeLayers(map, organisationLocation, catchmentCircleOptions);\n}\n\n$(document).ready(() => {\n document.addEventListener('primary-catchment-area-loaded', () => {\n catchmentArea('primary-catchment-area-map', '#2DB8C5');\n });\n\n document.addEventListener('comparison-catchment-area-loaded', () => {\n catchmentArea('comparison-catchment-area-map', '#1D7981');\n });\n\n document.addEventListener('pre-covid-reference-catchment-area-loaded', () => {\n catchmentArea('pre-covid-reference-catchment-area-map', '#636AAF');\n });\n});\n\nwindow.catchmentArea = catchmentArea;\n","/* eslint no-new: \"off\" */\nimport ClipboardJS from 'clipboard';\n\n$(document).ready(() => {\n new ClipboardJS('.clipboard_btn');\n});\n","const DateConstants = {\n earliestPerformanceDateForCategorisation: '2022-04-01',\n earliestPerformanceDateWithTransactions: '2017-03-25',\n};\n\nexport default DateConstants;\n","import DateConstants from './date_constants';\n\nfunction setDatePickerOptions(selector, startDate, endDate) {\n const datePickerOptions = {\n autoclose: true,\n clearBtn: true,\n endDate: endDate ? new Date(endDate) : new Date(),\n format: 'D, dd M yyyy',\n language: 'en-GB',\n maxViewMode: 2,\n todayBtn: true,\n todayHighlight: true,\n };\n\n datePickerOptions.startDate = new Date(startDate);\n $(selector).datepicker(datePickerOptions);\n}\n\n$(() => {\n setDatePickerOptions('#headline-datepicker .input-daterange', DateConstants.earliestPerformanceDateWithTransactions);\n setDatePickerOptions('.date-range-picker .input-daterange', DateConstants.earliestPerformanceDateWithTransactions);\n setDatePickerOptions('#production-categorisation-datepicker .input-daterange', DateConstants.earliestPerformanceDateForCategorisation);\n setDatePickerOptions('#insight-datepicker .input-daterange', DateConstants.earliestPerformanceDateWithTransactions);\n const rangedDatepicker = $('#ranged-datepicker');\n const earliestVisitDate = rangedDatepicker.data('start-date');\n const latestVisitDate = rangedDatepicker.data('end-date');\n setDatePickerOptions('#ranged-datepicker .input-daterange', earliestVisitDate, latestVisitDate);\n});\n","import DateConstants from './date_constants';\n\nfunction filterElems() {\n // Get references to the radio buttons and content divs\n // PRIMARY\n const primaryEventGroup = document.getElementById('primary_data_selection_event_group');\n const primaryDateRange = document.getElementById('primary_data_selection_date_range');\n const primaryEventGroupContent = document.getElementById('primary_event_group_content');\n const primaryDateRangeContent = document.getElementById('primary_date_range_content');\n const primaryStartDateField = document.getElementById('primary_start_date');\n const primaryEndDateField = document.getElementById('primary_end_date');\n // COMPARISON\n const comparisonEventGroup = document.getElementById('comparison_data_selection_event_group');\n const comparisonDateRange = document.getElementById('comparison_data_selection_date_range');\n const comparisonDateRangeWrapper = document.getElementById('comparison_date_range_wrapper');\n const comparisonEventGroupContent = document.getElementById('comparison_event_group_content');\n const comparisonDateRangeContent = document.getElementById('comparison_date_range_content');\n const comparisonDateRangeAutoContent = document.getElementById('comparison_date_range_auto_content');\n const autoComparisonCheckbox = document.getElementById('auto_comparison_period');\n const comparisonStartDateField = document.getElementById('comparison_start_date');\n const comparisonEndDateField = document.getElementById('comparison_end_date');\n const comparisonDateTipText = document.getElementById('comparison_period_date_tip');\n\n return {\n primaryEventGroup,\n primaryDateRange,\n primaryEventGroupContent,\n primaryDateRangeContent,\n primaryStartDateField,\n primaryEndDateField,\n comparisonEventGroup,\n comparisonDateRange,\n comparisonDateRangeWrapper,\n comparisonEventGroupContent,\n comparisonDateRangeContent,\n comparisonDateRangeAutoContent,\n autoComparisonCheckbox,\n comparisonStartDateField,\n comparisonEndDateField,\n comparisonDateTipText,\n };\n}\n\nfunction jQueryObj(element) {\n return $(`#${element.id}`);\n}\n\nfunction primaryDateRangeChanged() {\n const elems = filterElems();\n if (elems.primaryDateRange.checked) {\n elems.primaryEventGroupContent.style.display = 'none';\n elems.primaryDateRangeContent.style.display = 'block';\n elems.comparisonDateRangeAutoContent.style.display = 'flex';\n elems.comparisonStartDateField.disabled = elems.autoComparisonCheckbox.checked;\n elems.comparisonEndDateField.disabled = true;\n elems.comparisonEndDateField.readOnly = true;\n elems.comparisonDateTipText.style.display = 'block';\n }\n}\n\nfunction primaryEventGroupChanged() {\n const elems = filterElems();\n if (elems.primaryEventGroup.checked) {\n elems.primaryEventGroupContent.style.display = 'block';\n elems.primaryDateRangeContent.style.display = 'none';\n elems.comparisonDateRangeAutoContent.style.display = 'none';\n elems.comparisonStartDateField.disabled = false;\n elems.comparisonEndDateField.disabled = false;\n elems.comparisonEndDateField.readOnly = false;\n elems.comparisonDateTipText.style.display = 'none';\n if (elems.comparisonDateRange.checked) {\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setEndDate', new Date());\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setEndDate', new Date());\n } else {\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setEndDate', new Date(elems.primaryStartDateField.value));\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setEndDate', new Date(elems.primaryStartDateField.value));\n }\n }\n}\n\nfunction comparisonDateRangeChanged() {\n const elems = filterElems();\n if (elems.comparisonDateRange.checked) {\n elems.comparisonEventGroupContent.style.display = 'none';\n elems.comparisonDateRangeContent.style.display = 'block';\n elems.comparisonDateRangeWrapper.style.display = 'block';\n elems.comparisonDateRangeAutoContent.style.display = elems.primaryDateRange.checked ? 'block' : 'none';\n elems.comparisonStartDateField.disabled = elems.primaryDateRange.checked\n && elems.autoComparisonCheckbox.checked;\n elems.comparisonEndDateField.disabled = elems.primaryDateRange.checked;\n elems.comparisonEndDateField.readOnly = elems.primaryDateRange.checked;\n elems.comparisonDateTipText.style.display = elems.primaryDateRange.checked;\n if (elems.primaryDateRange.checked) {\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setEndDate', new Date(elems.primaryStartDateField.value));\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setEndDate', new Date(elems.primaryStartDateField.value));\n } else {\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setStartDate', new Date(DateConstants.earliestPerformanceDateWithTransactions));\n jQueryObj(elems.comparisonStartDateField)\n .datepicker('setEndDate', new Date());\n jQueryObj(elems.comparisonEndDateField)\n .datepicker('setEndDate', new Date());\n }\n }\n}\n\nfunction comparisonEventGroupChanged() {\n const elems = filterElems();\n if (elems.comparisonEventGroup.checked) {\n elems.comparisonEventGroupContent.style.display = 'block';\n elems.comparisonDateRangeContent.style.display = 'none';\n elems.comparisonDateRangeWrapper.style.display = 'none';\n elems.comparisonDateRangeAutoContent.style.display = 'none';\n elems.comparisonStartDateField.disabled = false;\n elems.comparisonEndDateField.disabled = false;\n elems.comparisonEndDateField.readOnly = false;\n elems.comparisonDateTipText.style.display = 'none';\n }\n}\n\n// TODO: functions for each of the buttons' event listeners to call, and export them at the bottom\n// of the file for better testability.\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const elems = filterElems();\n\n // Don't run on page without a full event group filter\n let filteringControlsOnPage = true;\n Object.values(elems).forEach((value) => {\n if (!value) filteringControlsOnPage = false;\n });\n if (!filteringControlsOnPage) return;\n\n // Add event listeners to the radio buttons to toggle content\n // TODO: If these are ever changed, update the ERB templates' logic for style/attribute values as\n // well, to ensure consistency between the statically-rendered page and its dynamic behaviour.\n\n elems.primaryDateRange.addEventListener('change', () => {\n primaryDateRangeChanged();\n });\n\n elems.primaryEventGroup.addEventListener('change', () => {\n primaryEventGroupChanged();\n });\n\n elems.comparisonDateRange.addEventListener('change', () => {\n comparisonDateRangeChanged();\n });\n\n elems.comparisonEventGroup.addEventListener('change', () => {\n comparisonEventGroupChanged();\n });\n});\n\nexport {\n primaryDateRangeChanged,\n primaryEventGroupChanged,\n comparisonDateRangeChanged,\n comparisonEventGroupChanged,\n filterElems,\n};\n","import moment from 'moment';\n\nfunction jQueryObj(element) {\n return $(`#${element.id}`);\n}\n\nfunction updateDate(dateElement, newDate) {\n // eslint-disable-next-line no-param-reassign\n dateElement.value = newDate.format('ddd, DD MMM YYYY');\n jQueryObj(dateElement).datepicker('update');\n}\n\nfunction updateOnDateChanged(\n primaryStartDateElement,\n primaryEndDateElement,\n comparisonStartDateElement,\n comparisonEndDateElement,\n autoComparisonCheckboxElement,\n) {\n const primaryEventGroupRadioButton = document.getElementById('primary_data_selection_event_group');\n const primaryStartDate = moment(primaryStartDateElement.value);\n const primaryEndDate = moment(primaryEndDateElement.value);\n const comparisonStartDate = moment(comparisonStartDateElement.value);\n const primaryDaysDiff = primaryEndDate.diff(primaryStartDate, 'days');\n const maxComparisonStartDate = moment(primaryStartDateElement.value).subtract(primaryDaysDiff + 1, 'days');\n\n if (primaryEventGroupRadioButton && primaryEventGroupRadioButton.checked) {\n jQueryObj(comparisonEndDateElement).datepicker('setStartDate', new Date(comparisonStartDate));\n return;\n }\n\n jQueryObj(comparisonStartDateElement).datepicker('setEndDate', new Date(maxComparisonStartDate));\n\n if (autoComparisonCheckboxElement.checked === true) {\n const newComparisonStartDate = primaryStartDate.subtract(1, 'year');\n updateDate(comparisonStartDateElement, newComparisonStartDate);\n updateDate(comparisonEndDateElement, newComparisonStartDate.add(primaryDaysDiff, 'days'));\n } else {\n const newComparisonEndDate = comparisonStartDate.add(primaryDaysDiff, 'days');\n updateDate(comparisonEndDateElement, newComparisonEndDate);\n }\n}\n\nfunction updateComparisonStartDateDisabledAttr(comparisonStartDateField, autoComparisonCheckbox) {\n const dateField = comparisonStartDateField;\n dateField.disabled = autoComparisonCheckbox.checked === true;\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n if (!document.getElementById('primary_start_date')) {\n return;\n }\n\n const primaryStartDateField = document.getElementById('primary_start_date');\n const primaryEndDateField = document.getElementById('primary_end_date');\n const comparisonStartDateField = document.getElementById('comparison_start_date');\n const comparisonEndDateField = document.getElementById('comparison_end_date');\n const autoComparisonCheckbox = document.getElementById('auto_comparison_period');\n\n function onDateChanged() {\n updateOnDateChanged(\n primaryStartDateField,\n primaryEndDateField,\n comparisonStartDateField,\n comparisonEndDateField,\n autoComparisonCheckbox,\n );\n }\n\n primaryStartDateField.onchange = onDateChanged;\n primaryEndDateField.onchange = onDateChanged;\n comparisonStartDateField.onchange = onDateChanged;\n autoComparisonCheckbox.onchange = onDateChanged;\n\n autoComparisonCheckbox.addEventListener('click', () => {\n updateComparisonStartDateDisabledAttr(comparisonStartDateField, autoComparisonCheckbox);\n });\n});\n\nexport { updateDate, updateOnDateChanged, updateComparisonStartDateDisabledAttr };\n","/* eslint no-shadow: \"off\" */\nconst fetchFragment = function (urlPath, selector, data) {\n $.ajax({\n url: urlPath,\n type: 'GET',\n data,\n }).then((data) => {\n $(selector).html(data);\n });\n};\nwindow.fetchFragment = fetchFragment;\n\nconst postData = function (endpoint, data, callback) {\n $.ajax({\n type: 'POST',\n beforeSend(xhr) {\n xhr.setRequestHeader('X-CSRF-Token', $('meta[name=\"csrf-token\"]').attr('content'));\n },\n url: endpoint,\n data,\n datatype: 'json',\n }).done(callback);\n};\n\nexport { fetchFragment, postData };\n","/* eslint class-methods-use-this: \"off\" */\n\nimport moment from 'moment';\nimport { fetchFragment, postData } from './load_by_ajax';\n\n// The table for the performance categorisation powered by the DataTables.js library\nclass ProductionCategorisationTable {\n constructor() {\n const self = this;\n\n // Labels will be updated from the API\n self.labels = {};\n\n // Putting table columns here so we can quickly\n // look up indexes rather than storing in magic numbers\n self.tableColumns = [\n {\n className: 'select-checkbox',\n orderable: false,\n render: () => '',\n },\n { data: 'name' },\n { data: 'group_name' },\n { data: 'venue' },\n {\n data: 'opening_date',\n type: 'date',\n render: (data) => moment(data).format('D MMM YYYY'),\n },\n { data: 'count' },\n {\n data: 'artform',\n render: (data, type, row) => {\n let label = self.labels.uncategorised;\n if (row.excluded === true) {\n label = self.labels.excluded;\n } else if (row.artform) {\n label = row.artform;\n }\n return `
\n \n
\n
`;\n },\n },\n ];\n\n self.table = $('#production-categorisation').DataTable({\n ajax: {\n url: 'production-categorisation/productions-data',\n data: (d) => {\n const options = d;\n // Filter to the active tab, the filters are set on data attributes within the HTML\n options.filter = $('#production-categorisation-tabs .nav-link.active').parent().attr('data-filter');\n },\n dataSrc: (json) => {\n // Update the labels from the API\n self.labels = json.labels;\n const { productions } = json;\n return productions;\n },\n },\n // Column definitions for the tables\n columns: self.tableColumns,\n // This adds necessary html around the datatables elements\n dom: '<\"#advanced.border shadow-sm p-3 collapse smallish mt-2\" Q><\"#table-container\" t><\"mb-3 font-italic smallish\" lip>',\n // Allow columns to be selected (this triggers the modal for multi-categorisation)\n select: {\n style: 'multi',\n selector: 'td:not(:last-child)',\n },\n createdRow: (row, data) => {\n if (data.excluded) {\n $(row).addClass('excluded');\n } else if (data.artform) {\n $(row).addClass('categorised');\n }\n },\n deferRender: true,\n order: [[self.getColumnIndexByDataKey('opening_date'), 'desc']], // default sort order on load (start date descending)\n paging: true,\n language: {\n searchBuilder: {\n title: 'Advanced Search Builder', // Changes the title of the Advanced Search Builder\n },\n },\n // specifies which columns to include in the Advanced Search Builder\n searchBuilder: {\n columns: [self.getColumnIndexByDataKey('name'), self.getColumnIndexByDataKey('group_name'), self.getColumnIndexByDataKey('venue'), self.getColumnIndexByDataKey('opening_date'), self.getColumnIndexByDataKey('count')],\n\n },\n\n }).on('select deselect', () => {\n // Handle different select all button states\n\n const currentPageSelectedRows = self.table.rows({ selected: true, page: 'current' });\n const currentPageRows = self.table.rows({ page: 'current' });\n\n if (!currentPageSelectedRows.count()) {\n $('.selectAll').prop('checked', false);\n $('.selectAll').parent().attr('data-selected-state', 'none');\n } else if (currentPageSelectedRows.count() === currentPageRows.count()) {\n $('.selectAll').prop('checked', true);\n $('.selectAll').parent().attr('data-selected-state', 'all');\n } else {\n $('.selectAll').prop('checked', false);\n $('.selectAll').parent().attr('data-selected-state', 'some');\n }\n\n const allSelectedRows = self.table.rows({ selected: true });\n\n const perfIDs = allSelectedRows.data().pluck('perf_ids').toArray().flat();\n\n if (allSelectedRows.count() < 2) {\n self.hideSelectionModal();\n return;\n }\n\n // Get selected rows\n\n self.selectionModal(perfIDs, allSelectedRows.indexes().toArray());\n }).on('change', '.selectAll', (e) => {\n // Select all / deselect all\n if (e.target.checked) {\n self.table.rows({ page: 'current' }).select();\n } else {\n self.table.rows().deselect();\n }\n })\n .on('page order', () => {\n self.table.rows().deselect();\n });\n\n self.registerInteractions();\n self.addDateFilter();\n }\n\n // Quick lookup of column index by data key\n getColumnIndexByDataKey(dataKey) {\n const self = this;\n\n return self.tableColumns.findIndex((x) => x.data === dataKey);\n }\n\n selectionModal(perfIDs) {\n const self = this;\n\n // Get width of last column\n const artformColumn = self.getColumnIndexByDataKey('artform');\n\n const artformColum = $('#production-categorisation th').eq(artformColumn);\n\n const multiWidth = artformColum[0].offsetWidth;\n\n const content = `
\n

Choose an artform for selected production(s)

\n \n
\n
`;\n\n $('#multi_select_modal').remove();\n\n const multiSelect = document.createElement('div');\n multiSelect.id = 'multi_select_modal';\n multiSelect.style.width = `${multiWidth}px`;\n multiSelect.innerHTML = content;\n multiSelect.style.position = 'absolute';\n multiSelect.style.top = 0;\n\n $('#prod-cat-table-container').append(multiSelect);\n }\n\n hideSelectionModal() {\n $('#multi_select_modal').remove();\n }\n\n registerInteractions() {\n const self = this;\n\n $(document).on('click', '.select-selected', (e) => {\n self.toggleArtformDropdown($(e.currentTarget));\n });\n\n $(document).on('keyup', '#artform-search', (e) => {\n const searchTerm = $(e.currentTarget).val().toLowerCase();\n self.filterArtformDropdown(searchTerm);\n });\n\n $('#production-categorisation-datepicker').on('change', () => {\n self.table.ajax.reload();\n });\n\n $('#search-table').on('keyup', (e) => {\n self.table.search(e.currentTarget.value).draw();\n });\n\n $('.nav-link').on('click', (e) => {\n $(e.currentTarget).addClass('active');\n $(e.currentTarget).parent().siblings().children('.nav-link')\n .removeClass('active');\n self.table.ajax.reload();\n });\n\n $(document).on('click', '.second-tier', (e) => {\n self.categorisePerformances(e.currentTarget);\n });\n\n $(document).on('click', '#exclude', (e) => {\n self.excludePerformances(e.currentTarget);\n });\n }\n\n // Add date filter to table search\n addDateFilter() {\n const self = this;\n\n $.fn.dataTable.ext.search.push(\n (settings, data) => {\n const min = new Date($('#production-categorisation-datepicker #min').val()).setUTCHours(0, 0, 0, 0);\n const max = new Date($('#production-categorisation-datepicker #max').val()).setUTCHours(23, 59, 59, 999);\n const startDate = new Date(data[self.getColumnIndexByDataKey('opening_date')]);\n\n return (min === null && max === null)\n || (min === null && startDate <= max)\n || (min <= startDate && max === null)\n || (min <= startDate && startDate <= max);\n },\n );\n }\n\n filterArtformDropdown(searchTerm) {\n const firstTierButtons = $('.select-items button.first-tier');\n const matchesSearch = (button) => button.text().toLowerCase().includes(searchTerm);\n const expandSection = (section) => {\n section.show();\n section.attr('aria-expanded', 'true');\n section.siblings('ul').addClass('show');\n };\n const collapseSection = (section) => {\n section.attr('aria-expanded', 'false');\n section.siblings('ul').removeClass('show');\n section.hide();\n };\n\n if (!searchTerm) {\n firstTierButtons.each(() => {\n collapseSection($(this));\n });\n return;\n }\n\n firstTierButtons.each(() => {\n const secondTierButtons = $(this).siblings('ul').children('li').children('button.second-tier');\n // If there is a match on the first tier, show first tier and all second tier\n if (matchesSearch($(this))) {\n expandSection($(this));\n secondTierButtons.each(() => {\n $(this).show();\n });\n } else {\n // If there is a match on the second tier\n // show first tier and just the matching second tiers\n let anySecondTierMatch = false;\n secondTierButtons.each(() => {\n if (matchesSearch($(this))) {\n $(this).show();\n anySecondTierMatch = true;\n } else {\n $(this).hide();\n }\n });\n if (anySecondTierMatch) {\n expandSection($(this));\n } else {\n collapseSection($(this));\n }\n }\n });\n }\n\n toggleArtformDropdown(elem) {\n const self = this;\n\n const perfIDs = elem.attr('data-perf-ids');\n\n const isExpanded = elem.attr('aria-expanded') === 'true';\n\n if (isExpanded) {\n self.minimiseDropdown(elem);\n } else {\n // First minimise all dropdowns\n self.minimiseAllDropdowns();\n\n elem.attr('aria-expanded', 'true');\n fetchFragment(\n 'production-categorisation/artforms-dropdown',\n `[data-perf-ids-dropdown='${perfIDs}']`,\n { current_path: window.location.pathname },\n );\n }\n\n elem.toggleClass('select-arrow-active');\n }\n\n minimiseDropdown(elem) {\n elem.attr('aria-expanded', 'false');\n elem.siblings('div').children('.select-items').remove();\n }\n\n minimiseAllDropdowns() {\n const self = this;\n $.each($('.select-selected[aria-expanded=\"true\"]'), (index, element) => {\n self.minimiseDropdown($(element));\n });\n }\n\n categorisePerformances(element) {\n const self = this;\n\n $('#categorisation-success-message').show();\n\n // Set count of productions categorised when the single row interface\n // (and not row selection) is used\n let successCount = 1;\n\n if (self.table.rows({ selected: true }).count()) {\n successCount = self.table.rows({ selected: true }).count();\n }\n\n $('#success-count').html(successCount);\n\n const {\n displayBox, rows, label, perfIds,\n } = self.getDropdownContext($(element));\n\n const artformId = $(element).attr('value');\n const callback = function (resp) {\n if (resp.ok) {\n rows.each((index, elem) => {\n $(elem).attr('class', 'categorised');\n\n // If multiple then we need to also update the label on all the buttons\n\n $(elem).find('.select-selected').text(label);\n });\n }\n self.toggleArtformDropdown(displayBox);\n };\n\n $('#success-category').html(label);\n\n self.hideSelectionModal();\n\n postData(\n 'production-categorisation',\n {\n artform_id: artformId ? parseInt(artformId) : null,\n perf_ids: perfIds.split(','),\n },\n callback,\n );\n\n self.table.rows().deselect();\n }\n\n getDropdownContext(dropdownItem) {\n const self = this;\n let selectedRowElements;\n\n const displayBox = dropdownItem.closest('.fancy-select').children('.select-selected');\n\n // Check if we have multiple rows selected\n\n const selected = $(self.table.containers()[0]).find('tbody tr.selected');\n\n if (selected.length) {\n selectedRowElements = selected;\n } else {\n selectedRowElements = displayBox.closest('tr');\n }\n\n return {\n displayBox,\n rows: selectedRowElements,\n label: dropdownItem.text(),\n // NB: The performance ids for each row are stored\n // as a data attribute on the dropdown display box\n perfIds: displayBox.attr('data-perf-ids'),\n };\n }\n\n excludePerformances(element) {\n const self = this;\n\n $('#exclusion-success-message').show();\n\n // Set count of productions categorised when the single row interface\n // (and not row selection) is used\n let exSuccessCount = 1;\n\n if (self.table.rows({ selected: true }).count()) {\n exSuccessCount = self.table.rows({ selected: true }).count();\n }\n\n $('#exclusion-success-count').html(exSuccessCount);\n\n const {\n displayBox, label, rows, perfIds,\n } = self.getDropdownContext($(element));\n const callback = function (resp) {\n if (resp.ok) {\n // displayBox.text(label);\n\n rows.each((index, elem) => {\n $(elem).attr('class', 'excluded');\n\n // If multiple then we need to also update the label on all the buttons\n $(elem).find('.select-selected').text(label);\n });\n }\n self.toggleArtformDropdown(displayBox);\n };\n\n self.hideSelectionModal();\n\n postData(\n 'production-categorisation',\n {\n is_exclusion: true,\n perf_ids: perfIds.split(','),\n },\n callback,\n );\n\n self.table.rows().deselect();\n }\n}\n\n// Sets up the production categorisation table as a DataTable\n// See https://datatables.net/ for info\n$(() => {\n window.productionCategorisationTable = new ProductionCategorisationTable();\n});\n\n// TODO: This should be in a separate helper class\nfunction toggleFullscreen() {\n const elem = document.getElementById('active');\n const openbutton = document.getElementById('fullscreen');\n const closebutton = document.getElementById('close_fullscreen');\n\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) { /* Safari */\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) { /* IE11 */\n document.msExitFullscreen();\n }\n\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.webkitRequestFullscreen) { /* Safari */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) { /* IE11 */\n elem.msRequestFullscreen();\n }\n\n $(openbutton).toggle();\n $(closebutton).toggle();\n}\n\nwindow.toggleFullscreen = toggleFullscreen;\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//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\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//\n// const imagePath = (name) => images(name, true)\nimport $ from 'expose-loader?exposes=$,jQuery!jquery'; // eslint-disable-line\nimport 'bootstrap';\nimport 'bootstrap-datepicker';\nimport 'datatables.net-bs4';\nimport 'datatables.net-datetime';\nimport 'datatables.net-responsive-bs4';\nimport 'datatables.net-searchbuilder-bs4';\nimport 'datatables.net-select-bs4';\nimport '@hotwired/turbo-rails';\n\nimport 'src/catchment_area';\nimport 'src/confirmation_dialog';\nimport 'src/copy_to_clipboard';\nimport 'src/date_range_picker';\nimport 'src/date_range_picker_event_group';\nimport 'src/debug_translations';\nimport 'src/duca_cookie_button';\nimport 'src/double_date_range_filter';\nimport 'src/highcharts';\nimport 'src/reports/highcharts_segment_reach_bar_chart';\nimport 'src/reports/highcharts_reach_column_chart';\nimport 'src/reports/highcharts_two_series_bar';\nimport 'src/load_by_ajax';\nimport 'src/organisation_selector';\nimport 'src/overview_dashboard_segments_catchment_chart';\nimport 'src/performance_categorisation';\nimport 'src/production_categorisation';\nimport 'src/sticky_heading';\nimport 'src/survey_selector';\nimport 'src/ticketing_feed_selector';\nimport 'src/tooltip';\nimport 'src/turbo_animations';\n\nconst images = require.context('./images', true); // eslint-disable-line\n","/* eslint no-alert: \"off\" */\n$(() => {\n $('[data-confirm]').each(function confirmationDialog() {\n const message = $(this).attr('data-confirm');\n $(this).click((event) => {\n if (!window.confirm(message)) {\n event.preventDefault();\n }\n });\n });\n});\n","$(() => {\n function removeStretchedLinks() {\n $('.stretched-link').addClass('stretched-link-removed').removeClass('stretched-link');\n }\n\n function addStretchedLinks() {\n $('.stretched-link-removed').addClass('stretched-link').removeClass('stretched-link-removed');\n }\n\n function highlightMissingTranslations() {\n $('.translation_missing').addClass('highlight');\n\n // Also highlight any text that looks like \"translation missing: en-GB.some.key\"\n $('body *').each(function () {\n if ($(this).text().match(/^translation missing: \\w{2}-\\w{2}\\./)) {\n $(this).addClass('highlight');\n }\n });\n }\n\n function unhighlightMissingTranslations() {\n $('.translation_missing.highlight').removeClass('highlight');\n }\n\n function addLinksToTranslations() {\n $('.translation_missing').each(function () {\n const title = $(this).attr('title');\n const matched = title.match(/translation missing: \\w{2}-\\w{2}\\.(.*)$/);\n if (matched) {\n const i18nKey = matched[1];\n const url = `https://app.localedata.com/projects/72f51a0a-995b-4671-93bd-417cf4d1f1c5/translation_keys?query=${i18nKey}`;\n const $link = $('Open translation');\n $link.attr('href', url);\n $link.attr('target', '_blank');\n $link.addClass('small mark open-translation-link');\n $(this).after($link);\n }\n });\n }\n\n function removeLinksToTranslations() {\n $('.open-translation-link').remove();\n }\n\n $('a.missing-translations').each(function () {\n const $link = $(this);\n const missingTranslationCount = $('.translation_missing').length;\n\n $link.text(`${$link.text()} (${missingTranslationCount})`);\n\n $link.click(function (event) {\n event.preventDefault();\n\n if ($(this).hasClass('hide')) {\n removeLinksToTranslations();\n unhighlightMissingTranslations();\n addStretchedLinks();\n } else {\n removeStretchedLinks();\n highlightMissingTranslations();\n addLinksToTranslations();\n }\n\n $('a.missing-translations').toggle();\n });\n });\n});\n","$('document').ready(() => {\n $('#duca_cookie_button').click(() => {\n // Lasts for one year, like the EU consent cookie\n const date = new Date();\n date.setFullYear(date.getFullYear() + 1);\n document.cookie = `duca_accepted=true; SameSite=Lax; expires=${date.toUTCString()}`;\n $('#duca_cookie_banner').hide();\n });\n});\n","const surveyReportsStyling = {\n chart: {\n type: 'bar',\n styledMode: true,\n },\n legend: { enabled: false },\n title: false,\n credits: {\n enabled: false,\n },\n plotOptions: {\n series: {\n borderColor: '#1F8089',\n color: {\n pattern: {\n path: {\n d: 'M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11',\n strokeWidth: 5,\n },\n width: 10,\n height: 10,\n opacity: 1,\n color: '#1F8089',\n },\n },\n },\n },\n exporting: {\n chartOptions: {\n title: {\n text: null,\n },\n },\n buttons: {\n contextButton: {\n menuItems: ['viewFullscreen', 'printChart', 'separator', 'downloadPNG', 'downloadJPEG', 'downloadPDF', 'downloadSVG', 'separator', 'downloadCSV'],\n },\n },\n },\n};\n\n$(document).ready(() => {\n $('*[data-graph-type=\"survey-reports\"]').each(function () {\n // convert from strings to arrays\n const labels = JSON.parse($(this).attr('data-labels'));\n const counts = JSON.parse($(this).attr('data-counts'));\n\n const xAxis = {\n xAxis: {\n categories: labels,\n title: false,\n },\n };\n\n const yAxis = {\n yAxis: {\n title: {\n align: 'low',\n text: $(this).attr('data-series-name'),\n margin: 20,\n },\n },\n };\n\n const seriesData = {\n series: [{\n name: $(this).attr('data-series-name'),\n data: counts,\n }],\n };\n\n // eslint-disable-next-line no-undef\n Highcharts.chart($(this).attr('id'), {\n ...surveyReportsStyling,\n ...xAxis,\n ...yAxis,\n ...seriesData,\n });\n });\n});\n","$(document).ready(() => {\n $('#organisation_selection_button').on('click', (e) => {\n e.preventDefault();\n window.location.href = $('#organisation_selection').val();\n });\n});\n","function mapSeriesData(data, typeName, infoMap) {\n const results = [];\n Object.keys(data).forEach((key) => {\n results.push({\n y: data[key].percentage,\n count: data[key].count,\n className: infoMap[key].class,\n type: typeName,\n info: infoMap[key].description,\n pointCat: key,\n });\n });\n return results;\n}\n\nfunction makeTooltip(translations) {\n const tooltip = {\n tooltip: {\n backgroundColor: null,\n borderWidth: 0,\n shared: true,\n useHTML: true,\n className: 'aatooltip',\n outside: true,\n followPointer: false,\n formatter() {\n const point1 = this.points[0].point;\n const point2 = this.points[1].point;\n return `\n
\n

${this.x}

\n ${translations.your_catchment_area}\n

${point1.count} ${point1.type} (${Math.round(point1.y)}%)

\n

${point2.count} ${point2.type} (${Math.round(point2.y)}%)

\n

${point1.info}

\n
`;\n },\n },\n };\n return tooltip;\n}\n\nfunction axisWidth() {\n const chartW = $('.catchment').width();\n const barW = $('.catchment .highcharts-plot-background').width();\n $('.aa-xlabel').width(chartW - barW - 65);\n}\n\ndocument.addEventListener('catchment-audience-spectrum-loaded', () => {\n const triggerChart = function () {\n const chartSelector = 'audience-spectrum-bar-chart';\n const el = $(`#${chartSelector}`);\n\n const bookersSegments = el.data('bookers');\n const householdSegments = el.data('households');\n const infoMap = el.data('segmentInfo');\n const translations = el.data('translations');\n\n const households = mapSeriesData(householdSegments, translations.households, infoMap);\n const bookers = mapSeriesData(bookersSegments, translations.bookers, infoMap);\n\n const standardStyling = {\n chart: {\n type: 'bar',\n styledMode: true,\n height: 500,\n events: {\n load() {\n axisWidth();\n },\n },\n },\n plotOptions: {\n series: {\n groupPadding: 0.1,\n },\n },\n legend: { enabled: false },\n title: {\n text: translations.chart_title,\n },\n credits: {\n enabled: false,\n },\n exporting: {\n chartOptions: {\n title: {\n text: translations.chart_title,\n align: 'left',\n },\n },\n },\n };\n\n const xAxis = {\n xAxis: {\n title: {\n align: 'high',\n text: $(this).attr('data-series-name'),\n margin: 20,\n },\n className: 'aa-labels',\n categories: Object.keys(householdSegments),\n labels: {\n align: 'left',\n reserveSpace: true,\n useHTML: true,\n formatter() {\n return `\n \n \n ${this.value}${translations.learn_more}\n ${infoMap[this.value].icon}\n \n \n `;\n },\n },\n },\n };\n\n const yAxis = {\n yAxis: {\n title: false,\n },\n };\n\n const seriesData = {\n series: [\n {\n type: 'bar',\n name: translations.percentage_bookers,\n data: bookers,\n },\n {\n type: 'bar',\n name: translations.percentage_households,\n data: households,\n },\n ],\n };\n\n // eslint-disable-next-line no-undef\n Highcharts.setOptions({\n defs: {\n hatch: {\n tagName: 'pattern',\n id: 'hatch',\n patternUnits: 'userSpaceOnUse',\n width: 4,\n height: 4,\n children: [{\n tagName: 'path',\n d: 'M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2',\n }],\n },\n },\n });\n\n // eslint-disable-next-line no-undef\n Highcharts.chart('audience-spectrum-bar-chart', {\n ...standardStyling,\n ...xAxis,\n ...yAxis,\n ...seriesData,\n ...makeTooltip(translations),\n });\n };\n\n triggerChart();\n});\n\n$('.label-bookers').hover(() => {\n $('.highcharts-color-1').css({ opacity: 0.5 });\n}, () => {\n $('.highcharts-color-1').css({ opacity: 1 });\n});\n\n$('.label-households').hover(() => {\n $('.highcharts-color-0').css({ opacity: 0.5 });\n}, () => {\n $('.highcharts-color-0').css({ opacity: 1 });\n});\n","$(() => {\n $('input[name=\"exclude\"]').click((event) => {\n if (event.target.value === 'true') {\n $('#artformList').prop('disabled', true);\n } else {\n $('#artformList').prop('disabled', false);\n }\n });\n});\n\n$(() => {\n function toggleArtformSubmitButton() {\n const excludedValue = $('input[name=\"exclude\"]:checked').val();\n const artformValue = $('select[name=\"artform\"]').val();\n const performanceIdCount = $('input[name=\"performance_ids[]\"]:checked').length;\n\n const performancesSelected = performanceIdCount > 0;\n const excluded = excludedValue === 'true';\n const included = !excluded;\n const artformSelected = artformValue !== '';\n\n if (performancesSelected && (excluded || (included && artformSelected))) {\n $('#submit-categorisation').prop('disabled', false);\n } else {\n $('#submit-categorisation').prop('disabled', true);\n }\n }\n\n $('input[name=\"exclude\"], select[name=\"artform\"], input[name=\"performance_ids[]\"]').change(() => {\n toggleArtformSubmitButton();\n });\n\n toggleArtformSubmitButton();\n});\n\n$(() => {\n function toggleCategorisationForm() {\n const categorisationForm = $('#artformList, #exclude-select, #submit-categorisation');\n const performanceIdCount = $('input[name=\"performance_ids[]\"]:checked').length;\n const performancesSelected = performanceIdCount > 0;\n\n if (performancesSelected) {\n categorisationForm.css('display', 'block');\n } else {\n categorisationForm.css('display', 'none');\n }\n }\n $('input[name=\"performance_ids[]\"]').change(() => {\n toggleCategorisationForm();\n });\n toggleCategorisationForm();\n});\n","function constructColumnChartForReachMetric() {\n const chartSelector = 'reach-chart';\n const el = $(`#${chartSelector}`);\n\n const series = el.data('series') || [];\n const categories = series.map((c) => c.name);\n const primaryData = series.map((c) => c.primary);\n const comparisonData = series.map((c) => c.comparison);\n\n const translations = el.data('translations');\n\n // eslint-disable-next-line no-undef\n Highcharts.chart('reach-chart', {\n chart: {\n type: 'column',\n styledMode: true,\n },\n title: {\n text: translations.chart_title,\n },\n credits: {\n enabled: false,\n },\n tooltip: {\n format: translations.highcharts_tooltip_html,\n },\n xAxis: {\n categories,\n title: {\n align: 'low',\n text: translations.x_axis_label,\n margin: 20,\n },\n },\n yAxis: {\n title: {\n align: 'high',\n text: translations.y_axis_label,\n margin: 20,\n },\n labels: {\n format: '{text}%',\n },\n },\n series: [{\n name: translations.primary_period_label,\n data: primaryData,\n }, {\n name: translations.comparison_period_label,\n data: comparisonData,\n }],\n });\n}\n\n$(document).ready(() => {\n $('*[data-graph-type=\"location-page-reach-metric\"]').each(() => {\n $(document).on('reach-metric-loaded', () => {\n constructColumnChartForReachMetric();\n });\n });\n});\n","function constructColumnChartForReachMetric() {\n const chartSelector = 'reach-chart';\n const el = $(`#${chartSelector}`);\n\n const series = el.data('series') || [];\n const categories = series.map((c) => c.name);\n const primaryData = series.map((c) => c.primary);\n const comparisonData = series.map((c) => c.comparison);\n\n const translations = el.data('translations');\n\n // Custom labels only if spectrum config is present\n const audienceSpectrumInfo = el.data('as-info');\n let labels = null;\n if (audienceSpectrumInfo) {\n labels = {\n align: 'left',\n reserveSpace: true,\n useHTML: true,\n formatter() {\n return `\n \n ${this.value}\n ${audienceSpectrumInfo[this.value].icon}\n \n `;\n },\n };\n }\n\n // eslint-disable-next-line no-undef\n return Highcharts.chart('reach-chart', {\n chart: {\n type: 'bar',\n styledMode: true,\n },\n title: {\n text: translations.chart_title,\n },\n credits: {\n enabled: false,\n },\n tooltip: {\n format: translations.highcharts_tooltip_html,\n },\n xAxis: {\n categories,\n ...(labels && { labels }),\n title: {\n align: 'low',\n text: translations.x_axis_label,\n margin: 20,\n },\n },\n yAxis: {\n title: {\n align: 'high',\n text: translations.y_axis_label,\n margin: 20,\n },\n labels: {\n format: '{text}%',\n },\n },\n series: [{\n name: translations.primary_period_label,\n data: primaryData,\n }, {\n name: translations.comparison_period_label,\n data: comparisonData,\n }],\n });\n}\n\nfunction showExtraComparison(reachChart) {\n const chartSelector = 'reach-chart';\n const el = $(`#${chartSelector}`);\n\n const series = el.data('series-alt');\n const primaryData = series.map((c) => c.primary);\n const comparisonData = series.map((c) => c.comparison);\n const extraData = series.map((c) => c.extra);\n\n const translations = el.data('translations');\n\n reachChart.update({\n yAxis: {\n title: {\n text: translations.alt_y_axis_label,\n },\n labels: {\n format: null,\n },\n },\n tooltip: {\n format: translations.alt_highcharts_tooltip_html,\n },\n series: [{\n name: translations.primary_period_label,\n data: primaryData,\n }, {\n name: translations.comparison_period_label,\n data: comparisonData,\n },\n {\n name: translations.alt_total_households_label,\n data: extraData,\n }],\n }, true, true);\n}\n\nfunction hideExtraComparison(reachChart) {\n const chartSelector = 'reach-chart';\n const el = $(`#${chartSelector}`);\n\n const series = el.data('series');\n const primaryData = series.map((c) => c.primary);\n const comparisonData = series.map((c) => c.comparison);\n\n const translations = el.data('translations');\n\n reachChart.update({\n yAxis: {\n title: {\n text: translations.y_axis_label,\n },\n labels: {\n format: '{text}%',\n },\n },\n tooltip: {\n format: translations.highcharts_tooltip_html,\n },\n series:\n [{\n name: translations.primary_period_label,\n data: primaryData,\n }, {\n name: translations.comparison_period_label,\n data: comparisonData,\n }],\n }, true, true);\n}\n\n$(document)\n .ready(() => {\n $('*[data-graph-type=\"spectrum-page-reach-metric\"]')\n .each(() => {\n let reachChart = null;\n $(document)\n .on('reach-metric-loaded', () => {\n reachChart = constructColumnChartForReachMetric();\n });\n $('#reach-toggle-bookers')\n .on('click', () => {\n if (reachChart) {\n showExtraComparison(reachChart);\n }\n });\n $('#reach-toggle-percent')\n .on('click', () => {\n if (reachChart) {\n hideExtraComparison(reachChart);\n }\n });\n });\n });\n","function constructHighchartsTwoSeriesBarForMetric(metricName) {\n const chartSelector = `${metricName}-chart`;\n const el = $(`#${chartSelector}`);\n\n const series = el.data('series') || [];\n const categories = series.map((c) => c.name);\n const primaryData = series.map((c) => c.primary);\n const comparisonData = series.map((c) => c.comparison);\n\n const translations = el.data('translations');\n\n // Custom labels only if spectrum config is present\n const audienceSpectrumInfo = el.data('as-info');\n let labels = null;\n if (audienceSpectrumInfo) {\n labels = {\n align: 'left',\n reserveSpace: true,\n useHTML: true,\n formatter() {\n return `\n \n ${this.value}\n ${audienceSpectrumInfo[this.value].icon}\n \n `;\n },\n };\n }\n // eslint-disable-next-line no-undef\n Highcharts.chart(chartSelector, {\n chart: {\n type: 'bar',\n styledMode: true,\n },\n title: {\n text: translations.chart_title,\n },\n credits: {\n enabled: false,\n },\n tooltip: {\n format: translations.highcharts_tooltip_html,\n },\n xAxis: {\n categories,\n ...(labels && { labels }),\n title: {\n align: 'high',\n text: translations.x_axis_label,\n margin: 20,\n },\n },\n yAxis: {\n title: {\n align: 'low',\n text: translations.y_axis_label,\n margin: 20,\n },\n },\n series: [{\n name: translations.primary_period_label,\n data: primaryData,\n }, {\n name: translations.comparison_period_label,\n data: comparisonData,\n }],\n lang: {\n thousandsSep: ',',\n },\n });\n}\n\n$(document).ready(() => {\n $('*[data-graph-type=\"location-page-metric\"]').each(function () {\n const metricName = $(this).data('metric-name');\n $(document).on(`${metricName}-metric-loaded`, () => {\n constructHighchartsTwoSeriesBarForMetric(metricName);\n });\n });\n $('*[data-graph-type=\"spectrum-page-metric\"]').each(function () {\n const metricName = $(this).data('metric-name');\n $(document).on(`${metricName}-metric-loaded`, () => {\n constructHighchartsTwoSeriesBarForMetric(metricName);\n });\n });\n});\n","$(window).scroll(() => {\n const stickyClasses = 'sticky-top text-white bg-dark ease';\n $('#sticky-heading').each(function () {\n const stickyHeading = $(this);\n const headingOffset = $(window).scrollTop();\n\n if (headingOffset <= 40) {\n stickyHeading.removeClass(stickyClasses);\n } else {\n stickyHeading.addClass(stickyClasses);\n }\n });\n});\n\n$('#sticky-heading').each(function () {\n const wordArray = $(this).text().split(' ');\n if (wordArray.length > 1) {\n wordArray[wordArray.length - 2] += ` ${wordArray[wordArray.length - 1]}`;\n wordArray.pop();\n $(this).html(wordArray.join(' '));\n }\n});\n","$(document).ready(() => {\n $('#survey_analysis_button').on('click', (e) => {\n e.preventDefault();\n window.location.href = $('#survey_analysis_option').val();\n });\n});\n","$(document).ready(() => {\n $('#system_selection_button').on('click', (e) => {\n e.preventDefault();\n window.location.href = $('#system_selection').val();\n });\n});\n","$(document).ready(() => {\n $('[data-toggle=\"tooltip\"]').tooltip();\n});\n","// snippet from https://edforshaw.co.uk/hotwire-turbo-stream-animations\ndocument.addEventListener('turbo:before-stream-render', (event) => {\n // Add a class to an element we are about to add to the page\n // as defined by its \"data-stream-enter-class\"\n if (event.target.firstElementChild instanceof HTMLTemplateElement) {\n const child = event.target.templateContent.firstElementChild;\n const enterAnimationClass = child ? child.dataset.streamEnterClass : null;\n if (enterAnimationClass) {\n event.target.templateElement.content.firstElementChild.classList.add(enterAnimationClass);\n }\n }\n\n // Add a class to an element we are about to remove from the page\n // as defined by its \"data-stream-exit-class\"\n const elementToRemove = document.getElementById(event.target.target);\n if (elementToRemove) {\n const { streamExitClass } = elementToRemove.dataset;\n if (streamExitClass) {\n // Intercept the removal of the element\n event.preventDefault();\n const { streamEnterClass } = elementToRemove.dataset;\n if (streamEnterClass) {\n elementToRemove.classList.remove(streamEnterClass);\n }\n elementToRemove.classList.add(streamExitClass);\n // Wait for its animation to end before removing the element\n elementToRemove.addEventListener('animationend', () => {\n event.target.performAction();\n });\n }\n }\n});\n","var map = {\n\t\"./af\": 5177,\n\t\"./af.js\": 5177,\n\t\"./ar\": 1509,\n\t\"./ar-dz\": 1488,\n\t\"./ar-dz.js\": 1488,\n\t\"./ar-kw\": 8676,\n\t\"./ar-kw.js\": 8676,\n\t\"./ar-ly\": 2353,\n\t\"./ar-ly.js\": 2353,\n\t\"./ar-ma\": 4496,\n\t\"./ar-ma.js\": 4496,\n\t\"./ar-sa\": 2682,\n\t\"./ar-sa.js\": 2682,\n\t\"./ar-tn\": 9756,\n\t\"./ar-tn.js\": 9756,\n\t\"./ar.js\": 1509,\n\t\"./az\": 5533,\n\t\"./az.js\": 5533,\n\t\"./be\": 8959,\n\t\"./be.js\": 8959,\n\t\"./bg\": 7777,\n\t\"./bg.js\": 7777,\n\t\"./bm\": 4903,\n\t\"./bm.js\": 4903,\n\t\"./bn\": 1290,\n\t\"./bn-bd\": 7357,\n\t\"./bn-bd.js\": 7357,\n\t\"./bn.js\": 1290,\n\t\"./bo\": 1545,\n\t\"./bo.js\": 1545,\n\t\"./br\": 1470,\n\t\"./br.js\": 1470,\n\t\"./bs\": 4429,\n\t\"./bs.js\": 4429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 6464,\n\t\"./cs.js\": 6464,\n\t\"./cv\": 3635,\n\t\"./cv.js\": 3635,\n\t\"./cy\": 4226,\n\t\"./cy.js\": 4226,\n\t\"./da\": 3601,\n\t\"./da.js\": 3601,\n\t\"./de\": 7853,\n\t\"./de-at\": 6111,\n\t\"./de-at.js\": 6111,\n\t\"./de-ch\": 4697,\n\t\"./de-ch.js\": 4697,\n\t\"./de.js\": 7853,\n\t\"./dv\": 708,\n\t\"./dv.js\": 708,\n\t\"./el\": 4691,\n\t\"./el.js\": 4691,\n\t\"./en-au\": 3872,\n\t\"./en-au.js\": 3872,\n\t\"./en-ca\": 8298,\n\t\"./en-ca.js\": 8298,\n\t\"./en-gb\": 6195,\n\t\"./en-gb.js\": 6195,\n\t\"./en-ie\": 6584,\n\t\"./en-ie.js\": 6584,\n\t\"./en-il\": 5543,\n\t\"./en-il.js\": 5543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 9402,\n\t\"./en-nz.js\": 9402,\n\t\"./en-sg\": 3004,\n\t\"./en-sg.js\": 3004,\n\t\"./eo\": 2934,\n\t\"./eo.js\": 2934,\n\t\"./es\": 7650,\n\t\"./es-do\": 838,\n\t\"./es-do.js\": 838,\n\t\"./es-mx\": 7730,\n\t\"./es-mx.js\": 7730,\n\t\"./es-us\": 6575,\n\t\"./es-us.js\": 6575,\n\t\"./es.js\": 7650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 527,\n\t\"./fi.js\": 527,\n\t\"./fil\": 5995,\n\t\"./fil.js\": 5995,\n\t\"./fo\": 2477,\n\t\"./fo.js\": 2477,\n\t\"./fr\": 5498,\n\t\"./fr-ca\": 6435,\n\t\"./fr-ca.js\": 6435,\n\t\"./fr-ch\": 7892,\n\t\"./fr-ch.js\": 7892,\n\t\"./fr.js\": 5498,\n\t\"./fy\": 7071,\n\t\"./fy.js\": 7071,\n\t\"./ga\": 1734,\n\t\"./ga.js\": 1734,\n\t\"./gd\": 217,\n\t\"./gd.js\": 217,\n\t\"./gl\": 7329,\n\t\"./gl.js\": 7329,\n\t\"./gom-deva\": 2124,\n\t\"./gom-deva.js\": 2124,\n\t\"./gom-latn\": 3383,\n\t\"./gom-latn.js\": 3383,\n\t\"./gu\": 5050,\n\t\"./gu.js\": 5050,\n\t\"./he\": 1713,\n\t\"./he.js\": 1713,\n\t\"./hi\": 3861,\n\t\"./hi.js\": 3861,\n\t\"./hr\": 6308,\n\t\"./hr.js\": 6308,\n\t\"./hu\": 609,\n\t\"./hu.js\": 609,\n\t\"./hy-am\": 7160,\n\t\"./hy-am.js\": 7160,\n\t\"./id\": 4063,\n\t\"./id.js\": 4063,\n\t\"./is\": 9374,\n\t\"./is.js\": 9374,\n\t\"./it\": 8383,\n\t\"./it-ch\": 1827,\n\t\"./it-ch.js\": 1827,\n\t\"./it.js\": 8383,\n\t\"./ja\": 3827,\n\t\"./ja.js\": 3827,\n\t\"./jv\": 9722,\n\t\"./jv.js\": 9722,\n\t\"./ka\": 1794,\n\t\"./ka.js\": 1794,\n\t\"./kk\": 7088,\n\t\"./kk.js\": 7088,\n\t\"./km\": 6870,\n\t\"./km.js\": 6870,\n\t\"./kn\": 4451,\n\t\"./kn.js\": 4451,\n\t\"./ko\": 3164,\n\t\"./ko.js\": 3164,\n\t\"./ku\": 8174,\n\t\"./ku.js\": 8174,\n\t\"./ky\": 8474,\n\t\"./ky.js\": 8474,\n\t\"./lb\": 9680,\n\t\"./lb.js\": 9680,\n\t\"./lo\": 5867,\n\t\"./lo.js\": 5867,\n\t\"./lt\": 5766,\n\t\"./lt.js\": 5766,\n\t\"./lv\": 9532,\n\t\"./lv.js\": 9532,\n\t\"./me\": 8076,\n\t\"./me.js\": 8076,\n\t\"./mi\": 1848,\n\t\"./mi.js\": 1848,\n\t\"./mk\": 306,\n\t\"./mk.js\": 306,\n\t\"./ml\": 3739,\n\t\"./ml.js\": 3739,\n\t\"./mn\": 9053,\n\t\"./mn.js\": 9053,\n\t\"./mr\": 6169,\n\t\"./mr.js\": 6169,\n\t\"./ms\": 3386,\n\t\"./ms-my\": 2297,\n\t\"./ms-my.js\": 2297,\n\t\"./ms.js\": 3386,\n\t\"./mt\": 7075,\n\t\"./mt.js\": 7075,\n\t\"./my\": 2264,\n\t\"./my.js\": 2264,\n\t\"./nb\": 2274,\n\t\"./nb.js\": 2274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 2572,\n\t\"./nl-be\": 3784,\n\t\"./nl-be.js\": 3784,\n\t\"./nl.js\": 2572,\n\t\"./nn\": 4566,\n\t\"./nn.js\": 4566,\n\t\"./oc-lnc\": 9330,\n\t\"./oc-lnc.js\": 9330,\n\t\"./pa-in\": 9849,\n\t\"./pa-in.js\": 9849,\n\t\"./pl\": 4418,\n\t\"./pl.js\": 4418,\n\t\"./pt\": 9834,\n\t\"./pt-br\": 8303,\n\t\"./pt-br.js\": 8303,\n\t\"./pt.js\": 9834,\n\t\"./ro\": 4457,\n\t\"./ro.js\": 4457,\n\t\"./ru\": 2271,\n\t\"./ru.js\": 2271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 3478,\n\t\"./se.js\": 3478,\n\t\"./si\": 7538,\n\t\"./si.js\": 7538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 6637,\n\t\"./sl.js\": 6637,\n\t\"./sq\": 6794,\n\t\"./sq.js\": 6794,\n\t\"./sr\": 5719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 5719,\n\t\"./ss\": 6000,\n\t\"./ss.js\": 6000,\n\t\"./sv\": 1011,\n\t\"./sv.js\": 1011,\n\t\"./sw\": 748,\n\t\"./sw.js\": 748,\n\t\"./ta\": 1025,\n\t\"./ta.js\": 1025,\n\t\"./te\": 1885,\n\t\"./te.js\": 1885,\n\t\"./tet\": 8861,\n\t\"./tet.js\": 8861,\n\t\"./tg\": 6571,\n\t\"./tg.js\": 6571,\n\t\"./th\": 5802,\n\t\"./th.js\": 5802,\n\t\"./tk\": 9527,\n\t\"./tk.js\": 9527,\n\t\"./tl-ph\": 9231,\n\t\"./tl-ph.js\": 9231,\n\t\"./tlh\": 1052,\n\t\"./tlh.js\": 1052,\n\t\"./tr\": 5096,\n\t\"./tr.js\": 5096,\n\t\"./tzl\": 9846,\n\t\"./tzl.js\": 9846,\n\t\"./tzm\": 1765,\n\t\"./tzm-latn\": 7711,\n\t\"./tzm-latn.js\": 7711,\n\t\"./tzm.js\": 1765,\n\t\"./ug-cn\": 8414,\n\t\"./ug-cn.js\": 8414,\n\t\"./uk\": 6618,\n\t\"./uk.js\": 6618,\n\t\"./ur\": 158,\n\t\"./ur.js\": 158,\n\t\"./uz\": 7609,\n\t\"./uz-latn\": 2475,\n\t\"./uz-latn.js\": 2475,\n\t\"./uz.js\": 7609,\n\t\"./vi\": 1135,\n\t\"./vi.js\": 1135,\n\t\"./x-pseudo\": 4051,\n\t\"./x-pseudo.js\": 4051,\n\t\"./yo\": 2218,\n\t\"./yo.js\": 2218,\n\t\"./zh-cn\": 2648,\n\t\"./zh-cn.js\": 2648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 1541,\n\t\"./zh-mo.js\": 1541,\n\t\"./zh-tw\": 304,\n\t\"./zh-tw.js\": 304\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 = 5358;"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","catchmentArea","mapSelector","background","el","$","radius","data","longitude","latitude","maxRadius","organisationLocation","L","scrollWheelZoom","setView","zoomLevel","catchmentCircleOptions","houseIcon","iconUrl","iconSize","iconAnchor","shadowUrl","shadowSize","shadowAnchor","attribution","addTo","icon","makeLayers","stroke","fill","fillColor","fillOpacity","document","ready","addEventListener","window","ClipboardJS","earliestPerformanceDateForCategorisation","earliestPerformanceDateWithTransactions","setDatePickerOptions","selector","startDate","endDate","datePickerOptions","autoclose","clearBtn","Date","format","language","maxViewMode","todayBtn","todayHighlight","datepicker","DateConstants","rangedDatepicker","filterElems","primaryEventGroup","getElementById","primaryDateRange","primaryEventGroupContent","primaryDateRangeContent","primaryStartDateField","primaryEndDateField","comparisonEventGroup","comparisonDateRange","comparisonDateRangeWrapper","comparisonEventGroupContent","comparisonDateRangeContent","comparisonDateRangeAutoContent","autoComparisonCheckbox","comparisonStartDateField","comparisonEndDateField","comparisonDateTipText","jQueryObj","element","elems","filteringControlsOnPage","values","forEach","value","checked","style","display","disabled","readOnly","primaryDateRangeChanged","primaryEventGroupChanged","comparisonDateRangeChanged","comparisonEventGroupChanged","updateDate","dateElement","newDate","onDateChanged","primaryStartDateElement","primaryEndDateElement","comparisonStartDateElement","comparisonEndDateElement","autoComparisonCheckboxElement","primaryEventGroupRadioButton","primaryStartDate","moment","primaryEndDate","comparisonStartDate","primaryDaysDiff","diff","maxComparisonStartDate","subtract","newComparisonStartDate","add","updateOnDateChanged","onchange","updateComparisonStartDateDisabledAttr","fetchFragment","urlPath","ajax","url","type","then","html","postData","endpoint","callback","beforeSend","xhr","setRequestHeader","attr","datatype","done","ProductionCategorisationTable","constructor","self","this","labels","tableColumns","className","orderable","render","row","label","uncategorised","excluded","artform","perf_ids","table","DataTable","d","filter","parent","dataSrc","json","productions","columns","dom","select","createdRow","addClass","deferRender","order","getColumnIndexByDataKey","paging","searchBuilder","title","on","currentPageSelectedRows","rows","selected","page","currentPageRows","count","prop","allSelectedRows","perfIDs","pluck","toArray","flat","hideSelectionModal","selectionModal","indexes","target","deselect","registerInteractions","addDateFilter","dataKey","findIndex","x","artformColumn","multiWidth","eq","offsetWidth","content","remove","multiSelect","createElement","width","innerHTML","position","top","append","toggleArtformDropdown","currentTarget","searchTerm","val","toLowerCase","filterArtformDropdown","reload","search","draw","siblings","children","removeClass","categorisePerformances","excludePerformances","fn","dataTable","ext","push","settings","min","setUTCHours","max","firstTierButtons","matchesSearch","button","text","includes","expandSection","section","show","collapseSection","hide","each","secondTierButtons","anySecondTierMatch","elem","minimiseDropdown","minimiseAllDropdowns","current_path","location","pathname","toggleClass","index","successCount","displayBox","perfIds","getDropdownContext","artformId","artform_id","parseInt","split","resp","ok","find","dropdownItem","selectedRowElements","closest","containers","length","exSuccessCount","is_exclusion","productionCategorisationTable","toggleFullscreen","openbutton","closebutton","exitFullscreen","webkitExitFullscreen","msExitFullscreen","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","toggle","require","message","click","event","confirm","preventDefault","$link","missingTranslationCount","hasClass","match","matched","after","date","setFullYear","getFullYear","cookie","toUTCString","surveyReportsStyling","chart","styledMode","legend","enabled","credits","plotOptions","series","borderColor","color","pattern","path","strokeWidth","height","opacity","exporting","chartOptions","buttons","contextButton","menuItems","JSON","parse","counts","xAxis","categories","yAxis","align","margin","seriesData","name","Highcharts","href","mapSeriesData","typeName","infoMap","results","key","y","percentage","class","info","description","pointCat","makeTooltip","translations","tooltip","backgroundColor","borderWidth","shared","useHTML","outside","followPointer","formatter","point1","points","point","point2","your_catchment_area","Math","round","bookersSegments","householdSegments","households","bookers","standardStyling","events","load","chartW","barW","axisWidth","groupPadding","chart_title","reserveSpace","learn_more","percentage_bookers","percentage_households","setOptions","defs","hatch","tagName","patternUnits","triggerChart","hover","css","toggleArtformSubmitButton","excludedValue","artformValue","change","toggleCategorisationForm","categorisationForm","c","primaryData","primary","comparisonData","comparison","highcharts_tooltip_html","x_axis_label","y_axis_label","primary_period_label","comparison_period_label","constructColumnChartForReachMetric","reachChart","audienceSpectrumInfo","extraData","extra","update","alt_y_axis_label","alt_highcharts_tooltip_html","alt_total_households_label","showExtraComparison","hideExtraComparison","constructHighchartsTwoSeriesBarForMetric","metricName","chartSelector","lang","thousandsSep","scroll","stickyClasses","stickyHeading","scrollTop","wordArray","pop","join","firstElementChild","HTMLTemplateElement","child","templateContent","enterAnimationClass","dataset","streamEnterClass","templateElement","classList","elementToRemove","streamExitClass","performAction"],"sourceRoot":""}