{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./package-listing/classes/package-listing-actions.ts","webpack:///./package-listing/classes/package-listing-settings.ts","webpack:///./package-listing/classes/package-listing-text.ts","webpack:///./package-listing/classes/package-listing.ts","webpack:///./package-listing/common/package-api.ts","webpack:///./package-listing/components/app.tsx","webpack:///./package-listing/components/cart/cart-item.tsx","webpack:///./package-listing/components/cart/cart-items.tsx","webpack:///./package-listing/components/cart/cart-messages.tsx","webpack:///./package-listing/components/cart/container.tsx","webpack:///./package-listing/components/cart/order-notes.tsx","webpack:///./package-listing/components/cart/quantity-select.tsx","webpack:///./package-listing/components/cart/seat-choice.tsx","webpack:///./package-listing/components/cart/seating-preference.tsx","webpack:///./package-listing/components/cart/zone-select.tsx","webpack:///./package-listing/components/filters/clear-all.tsx","webpack:///./package-listing/components/filters/container.tsx","webpack:///./package-listing/components/filters/filter.tsx","webpack:///./package-listing/components/filters/fixed-filter.tsx","webpack:///./package-listing/components/list/container.tsx","webpack:///./package-listing/components/list/package.tsx","webpack:///./package-listing/components/list/packages.tsx","webpack:///./package-listing/components/list/performance.tsx","webpack:///./package-listing/components/list/performances.tsx","webpack:///./package-listing/components/list/production-group.tsx","webpack:///./package-listing/components/list/production-groups.tsx","webpack:///./package-listing/components/list/production.tsx","webpack:///./package-listing/components/list/super-package.tsx","webpack:///./package-listing/components/loader.tsx","webpack:///./package-listing/components/package-listing-container.tsx","webpack:///./package-listing/custom/classes/package-listing-settings.ts","webpack:///./package-listing/custom/classes/package-listing-text.ts","webpack:///./package-listing/helpers/cart-helpers.ts","webpack:///./package-listing/helpers/filter-by-query.ts","webpack:///./package-listing/helpers/map-helpers.ts","webpack:///./package-listing/helpers/pricing-helpers.ts","webpack:///./package-listing/index.tsx","webpack:///./package-listing/redux-state/actions/package-api.actions.ts","webpack:///./package-listing/redux-state/actions/package-listing.actions.ts","webpack:///./package-listing/redux-state/index.ts","webpack:///./package-listing/redux-state/reducers/package-listing.reducer.ts","webpack:///./package-listing/redux-state/reducers/package-settings.reducer.ts","webpack:///./package-listing/redux-state/reducers/package-text.reducer.ts","webpack:///./package-listing/views/library/app-fixed.view.tsx","webpack:///./package-listing/views/library/app-flex.view.tsx","webpack:///./package-listing/views/library/list-package.view.tsx","webpack:///./package-listing/views/library/list-packages.view.tsx","webpack:///./package-listing/views/library/list-performance.view.tsx","webpack:///./package-listing/views/library/list-performances.view.tsx","webpack:///./package-listing/views/library/list-prod-performance.view.tsx","webpack:///./package-listing/views/library/list-production-group.view.tsx","webpack:///./package-listing/views/library/list-production-groups.view.tsx","webpack:///./package-listing/views/library/list-production.view.tsx","webpack:///./package-listing/views/library/package-cart-container.view.tsx","webpack:///./package-listing/views/library/package-cart-item.view.tsx","webpack:///./package-listing/views/library/package-cart-items.view.tsx","webpack:///./package-listing/views/library/package-cart-messages.view.tsx","webpack:///./package-listing/views/library/package-cart-order-notes.view.tsx","webpack:///./package-listing/views/library/package-cart-seating-choice.view.tsx","webpack:///./package-listing/views/library/package-cart-seating-preferences.view.tsx","webpack:///./package-listing/views/library/package-filter-clear-all.view.tsx","webpack:///./package-listing/views/library/package-filter.view.tsx","webpack:///./package-listing/views/library/package-filters-container.view.tsx","webpack:///./package-listing/views/library/package-list-container.view.tsx","webpack:///./package-listing/views/library/package-listing-container.view.tsx","webpack:///./package-listing/views/library/package-loader.view.tsx","webpack:///./package-listing/views/library/package-quantity-select.view.tsx","webpack:///./package-listing/views/library/performance-zone-select.view.tsx"],"names":[],"mappings":"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","file":"ace-package-listing.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"package-listing\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./package-listing/index.tsx\",\"common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\r\n * Describes the shape of a single action.\r\n */\r\nexport interface IPackageListingStateAction {\r\n type: ActionType;\r\n value?: any;\r\n}\r\n\r\n/**\r\n * Represents all of the actions that a user can perform on the search page. It's a class so that a dev can extend it.\r\n */\r\nexport class ActionType {\r\n \r\n static get UpdatePerformancesFilter() {\r\n return \"UpdatePerformancesFilter\";\r\n }\r\n \r\n static get RemovePerformancesFilter() {\r\n return \"RemovePerformancesFilter\";\r\n }\r\n static get RemoveAllPerformancesFilters() {\r\n return \"RemoveAllPerformancesFilters\";\r\n }\r\n\r\n static get PerformancesUpdated() {\r\n return \"PerformancesUpdated\";\r\n }\r\n \r\n static get BrowserNavigated() {\r\n return \"BrowserNavigated\";\r\n }\r\n \r\n static get LoadPackage() {\r\n return \"LoadPackage\";\r\n }\r\n\r\n static get LoadPackageRequest() {\r\n return \"LoadPackageRequest\";\r\n }\r\n\r\n static get LoadPackages() {\r\n return \"LoadPackages\";\r\n }\r\n\r\n static get UpdateSettings() {\r\n return \"UpdateSettings\";\r\n }\r\n\r\n static get SelectPerformance() {\r\n return \"SelectPerformance\";\r\n }\r\n\r\n static get AddItemToCart() {\r\n return \"AddItemToCart\";\r\n }\r\n\r\n static get RemoveItemFromCart() {\r\n return \"RemoveItemFromCart\";\r\n }\r\n \r\n static get UpdatePriceTypeQuantity() {\r\n return \"UpdatePriceTypeQuantity\";\r\n }\r\n\r\n static get SetOriginalSeatQuantity() {\r\n return \"SetOriginalSeatQuantity\";\r\n }\r\n\r\n static get SetOriginalSeats() {\r\n return \"SetOriginalSeats\";\r\n }\r\n\r\n static get ClearPriceTypeQuantities() {\r\n return \"ClearPriceTypeQuantities\";\r\n }\r\n\r\n static get UpdateSelectedZone() {\r\n return \"UpdateSelectedZone\";\r\n }\r\n\r\n static get RemoveSelectedZone() {\r\n return \"RemoveSelectedZone\";\r\n }\r\n\r\n static get UpdateOrderNotes() {\r\n return \"UpdateOrderNotes\";\r\n }\r\n\r\n static get UpdateSeatingChoice() {\r\n return \"UpdateSeatingChoice\";\r\n }\r\n\r\n static get UpdateSeatingPreferences() {\r\n return \"UpdateSeatingPreferences\";\r\n }\r\n\r\n static get UpdatePackageProcessing() {\r\n return \"UpdatePackageProcessing\";\r\n }\r\n\r\n static get UpdatePackageProcessingErrors() {\r\n return \"UpdatePackageProcessingErrors\";\r\n }\r\n\r\n static get RequestPerformancePricing() {\r\n return \"RequestPerformancePricing\";\r\n }\r\n\r\n static get ReceivePerformancePricing() {\r\n return \"ReceivePerformancePricing\";\r\n }\r\n\r\n static get ReceivePackagePricing() {\r\n return \"ReceivePackagePricing\";\r\n }\r\n\r\n static get ToggleMiniCart() {\r\n return \"ToggleMiniCart\";\r\n }\r\n\r\n //static get RequestText() {\r\n // return \"RequestText\";\r\n //}\r\n //static get ReceiveText() {\r\n // return \"ReceiveText\";\r\n //}\r\n}","/**\r\n * Want to add more text? Go to custom/classes/calendar-text and add new properties there.\r\n */\r\nexport interface IPackageListingAppBaseSettings {\r\n numberOfPerformancesToDisplayByDefault: number;\r\n configId: number\r\n // Not from api but ~about~ api\r\n requesting: boolean;\r\n useUnseatedReservation: boolean;\r\n isFixed: boolean;\r\n apiError: any;\r\n smartSeatUrl: string;\r\n isRenewal: boolean;\r\n voucherPackage: boolean;\r\n}\r\n\r\n\r\nexport const defaultBaseSettings: IPackageListingAppBaseSettings = {\r\n numberOfPerformancesToDisplayByDefault: 0,\r\n configId: 0,\r\n useUnseatedReservation: false,\r\n isFixed: false,\r\n requesting: false,\r\n apiError: null,\r\n smartSeatUrl: \"\",\r\n isRenewal: false,\r\n voucherPackage: false\r\n}","/**\r\n * Want to add more text? Go to custom/classes/calendar-text and add new properties there.\r\n */\r\nexport interface IPackageListingAppBaseText {\r\n filtersTitle: string;\r\n clearAllFiltersButtonText: string;\r\n productionFilterLabel: string;\r\n productionFilterDefaultValue: string;\r\n dayOfWeekFilterLabel: string;\r\n dayOfWeekFilterDefaultValue: string;\r\n timeSlotFilterLabel: string;\r\n timeSlotDefaultValue: string;\r\n miniCartTitle: string;\r\n minimumPerformanceRequiredMessage: string;\r\n addAdditionalPerformancesMessage: string;\r\n addAdditionalPerformancesForPerformanceGroupMessage: string;\r\n maxPerformancesMessage: string;\r\n maxPerformancesForGroupMessage: string;\r\n removeButtonText: string;\r\n continueToSeatingButtonText: string;\r\n reservePackageButtonText: string;\r\n viewPerformancesButtonText: string;\r\n\r\n packageSubtotalTitle: string;\r\n selectTicketsTitle: string;\r\n selectPackageTitle: string;\r\n missingPriceTypeSelectionMessage: string;\r\n selectAZoneLabel: string;\r\n selectAZoneDropdownDefaultValue: string;\r\n changeZoneButtonText: string;\r\n synopsisHeaderLabel: string;\r\n showSynopsisButtonText: string;\r\n hideSynopsisButtonText: string;\r\n\r\n loadingLabel: string;\r\n hidePerformancesButtonText: string;\r\n selectSubscriptionButtonText: string;\r\n addToCartButtonText: string;\r\n loadMorePerformancesButtonText: string;\r\n\r\n packageLoadErrorMessage: string;\r\n performanceUnavailableErrorMessage: string;\r\n\r\n generalPackageProcessingErrorMessage: string;\r\n packageProcessingMessage: string;\r\n\r\n orderNotesTitle: string;\r\n orderNotesOptionalText: string;\r\n orderNotesPlaceholder: string;\r\n\r\n renewalNotesTitle: string;\r\n seatSelectionDescription: string;\r\n\r\n seatingPreferencesTitle: string;\r\n seatingPreferencesDefaultText: string;\r\n seatingPreferenceOptions: Array;\r\n\r\n // Not from api but ~about~ api\r\n requesting: boolean;\r\n apiError: any;\r\n}\r\n\r\nexport const defaultBaseText: IPackageListingAppBaseText = {\r\n filtersTitle: \"Filters\",\r\n selectSubscriptionButtonText: \"Select\",\r\n clearAllFiltersButtonText: \"Clear all filters\",\r\n productionFilterLabel: \"Productions\",\r\n productionFilterDefaultValue: \"All Productions\",\r\n dayOfWeekFilterLabel: \"Days\",\r\n dayOfWeekFilterDefaultValue: \"All Days\",\r\n timeSlotFilterLabel: \"Times\",\r\n timeSlotDefaultValue: \"All Times\",\r\n miniCartTitle: \"Your subscriptions\",\r\n minimumPerformanceRequiredMessage: \"Select at least {0} performances\",\r\n addAdditionalPerformancesMessage: \"Select at least {0} more performances\",\r\n addAdditionalPerformancesForPerformanceGroupMessage: \"Select at least {0} more performances for {1}\",\r\n maxPerformancesMessage: \"You've reached the max for this package\",\r\n maxPerformancesForGroupMessage: \"You've reached the max for {0}\",\r\n removeButtonText: \"Remove\",\r\n continueToSeatingButtonText: \"Continue to seating\",\r\n reservePackageButtonText: \"Reserve Package\",\r\n packageSubtotalTitle: \"Subtotal\",\r\n loadingLabel: \"Loading\",\r\n hidePerformancesButtonText: \"Hide performances\",\r\n viewPerformancesButtonText: \"View performances\",\r\n addToCartButtonText: \"Add to cart\",\r\n loadMorePerformancesButtonText: \"Load more performances\",\r\n generalPackageProcessingErrorMessage: \"There was an error processing your package request. Please contact box office\",\r\n packageLoadErrorMessage: \"Error Loading Packages\",\r\n packageProcessingMessage: \"Processing\",\r\n performanceUnavailableErrorMessage: \"There was an issue with performance {0}. Please pick another performance or try again\",\r\n hideSynopsisButtonText: \"Hide Synopsis\",\r\n showSynopsisButtonText: \"Read Synopsis\",\r\n synopsisHeaderLabel: \"Synopsis\",\r\n selectTicketsTitle: \"Select Tickets\",\r\n selectPackageTitle: \"Select Number Of Packages\",\r\n seatingPreferencesTitle: \"Seating Preferences\",\r\n seatingPreferencesDefaultText: \"Choose a preference\",\r\n seatingPreferenceOptions: [],\r\n missingPriceTypeSelectionMessage: \"Please select a price type to continue\",\r\n selectAZoneLabel: \"Select a Zone\",\r\n selectAZoneDropdownDefaultValue: \"\",\r\n changeZoneButtonText: \"Change Zone\",\r\n orderNotesTitle: \"Order Notes\",\r\n orderNotesPlaceholder: \"500 characters or fewer\",\r\n orderNotesOptionalText: \"Optional\",\r\n renewalNotesTitle: \"Renewal Notes\",\r\n seatSelectionDescription: \"You have reduced your seat quantity to ({0}) seat. Please select the seats you would like to keep:\",\r\n requesting: false,\r\n apiError: null\r\n}","import * as moment from 'moment';\r\n\r\nexport * from './package-listing-text';\r\n\r\nimport { IProduction, IPerformanceGroup, IPerformance, IPackage, IFacility, IPriceType, IPrice, IZone, IPerformancePricing, IZoneSummary } from '../custom/classes/production';\r\n\r\nexport interface IOption {\r\n text: string;\r\n value: string;\r\n}\r\n\r\nexport interface IPackageListingService {\r\n (options: IPackageListingOptions): IPackageListing;\r\n}\r\n\r\n\r\nexport interface IPackageListingOptions {\r\n weekdayNames?: Array;\r\n}\r\n\r\n\r\nexport interface IPackageListing {\r\n performanceGroups: Array;\r\n}\r\n\r\nexport interface IBaseProduction {\r\n productionId: number;\r\n productionTitle: string;\r\n pdpUrl: string;\r\n seasonId: number;\r\n seasonDescription: string;\r\n seasonYear: number;\r\n productionSeasonId: number;\r\n productionSeasonDescription: string;\r\n pdpImageSrc: string;\r\n performances: Array;\r\n\r\n productionSynopsis: string;\r\n dateRangeString: string;\r\n\r\n //dayOfWeekOfPeformances: Array;\r\n //timeSlotOfPeformances: Array\r\n\r\n facility: IFacility;\r\n}\r\n\r\n\r\nexport interface IBasePerformance {\r\n onSale: boolean;\r\n //date: Date;\r\n dayOfWeekString: string;\r\n timeSlotString: string;\r\n performanceDateString: string;\r\n performanceTimeString: string;\r\n performanceDateDayString: string;\r\n productionDetailPageLink: string;\r\n performanceId: number;\r\n productionSeasonId: number;\r\n title: string;\r\n\r\n facility: IFacility;\r\n description: string;\r\n\r\n shortName: string;\r\n\r\n ticketText1: string;\r\n\r\n ticketText2: string;\r\n\r\n ticketText3: string;\r\n\r\n ticketText4: string;\r\n}\r\n\r\nexport interface IBasePerformanceGroup {\r\n\r\n description: string;\r\n\r\n id: number;\r\n\r\n\r\n maximumPerformances: number;\r\n\r\n minimumPerformances: number;\r\n\r\n tessPerformances: Array;\r\n appProductions: Array;\r\n}\r\n\r\nexport interface IBaseFacility {\r\n facilityDescription: string;\r\n facilityId: number;\r\n // need venue config to be created\r\n facilityImageUrl: string;\r\n}\r\n\r\nexport enum PackageType {\r\n Fixed,\r\n Flex,\r\n Super\r\n}\r\n\r\nexport interface IBasePackageRequest {\r\n\r\n packageId: number;\r\n zoneId: number;\r\n requestedPriceTypeIds: Array;\r\n configId: number;\r\n orderNotes: string;\r\n subPackageZones: { [subPackageId: number]: number; };\r\n\r\n}\r\n\r\nexport interface IBasePackage {\r\n title: string;\r\n description: string;\r\n useUnseatedReservation: boolean;\r\n facility: IFacility;\r\n id: number;\r\n packageType: PackageType;\r\n maximumPerformances: number;\r\n minimumPerformances: number;\r\n packageDateTime: Date;\r\n performanceGroupDetails: Array;\r\n numberOfPerformancesMessage: string;\r\n packageTimeDescriptionMessage: string;\r\n\r\n //public SeasonSummary Season { get; set; }\r\n\r\n subPackages: Array;\r\n\r\n text1: string;\r\n text2: string;\r\n text3: string;\r\n text4: string;\r\n\r\n allowSameProductionReservation: boolean;\r\n packagePriceTypes: Array;\r\n}\r\n\r\nexport interface IBasePriceType {\r\n priceTypeId: number;\r\n description: string;\r\n shortDescription: string;\r\n defaultIndicator: boolean;\r\n isBest: string;\r\n offer: boolean;\r\n maxSeats: number;\r\n zones: Array;\r\n}\r\n\r\nexport interface IBasePerformancePricing {\r\n\r\n performanceId: number;\r\n zonesAvailable: boolean;\r\n zoneMapId: number;\r\n\r\n prices: Array;\r\n zones: Array;\r\n\r\n priceTypeDetails: Array;\r\n}\r\n\r\nexport interface IBasePackagePricing {\r\n\r\n packageId: number;\r\n zonesAvailable: boolean;\r\n zoneMapId: number;\r\n\r\n prices: Array;\r\n zones: Array;\r\n\r\n priceTypeDetails: Array;\r\n}\r\n\r\nexport interface IBaseZone {\r\n zone: IZoneSummary;\r\n sectionSummaries: Array;\r\n\r\n performanceId: number;\r\n\r\n availableCount: number;\r\n\r\n prices: Array;\r\n}\r\n\r\nexport interface IBaseZoneSummary {\r\n id: number;\r\n\r\n description: string;\r\n\r\n shortDescription: string;\r\n\r\n rank: string;\r\n\r\n zoneMapId: number;\r\n\r\n zoneTime: string;\r\n\r\n abbreviation: string;\r\n\r\n zoneLegend: string;\r\n}\r\n\r\nexport interface IBasePrice {\r\n performanceId: number;\r\n packageId: number;\r\n zoneId: number;\r\n priceTypeId: number;\r\n price: number;\r\n enabled: boolean;\r\n isBase: boolean;\r\n parentPackageId: number;\r\n performancePriceTypeId: number;\r\n minPrice: number;\r\n isBest: boolean;\r\n offer: boolean;\r\n modeOfSaleOfferId: number;\r\n}\r\n\r\nexport interface IDateRange {\r\n start: Date;\r\n end: Date;\r\n}\r\n\r\nexport interface IPerformanceErrorMessage {\r\n performanceId: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface ISeat {\r\n price: number;\r\n priceType: string;\r\n priceTyepId: number;\r\n seatDescription: string;\r\n id: number;\r\n row: string;\r\n number: string;\r\n sectionId: number;\r\n sectionDescription: string;\r\n zoneId: number;\r\n zoneDescription: string;\r\n}\r\n\r\nexport interface IPackageListingState {\r\n processing: boolean;\r\n errorMessages: Array;\r\n eventFilter: IEventFilter[];\r\n filterFunction: (event: IProduction) => boolean;\r\n //performanceGroups: Array;\r\n packageDetail: IPackage;\r\n packages: Array;\r\n subPackagesInCart: Map>;\r\n cartItems: Map; // package/performance : selected zone id\r\n priceTypeQuantity: Map;\r\n totalNumberOfTicket: number;\r\n performancePricingList: Map;\r\n orderNotes: string;\r\n seatingPreferences: string;\r\n miniCartOpen: boolean;\r\n apiError: any;\r\n originalSeatQuantity: number;\r\n originalSeats: Array\r\n seatingChoice: Array;\r\n}\r\n\r\nexport const defaultPackageListingModel: IPackageListingState = {\r\n processing: false,\r\n errorMessages: [],\r\n eventFilter: [],\r\n filterFunction: () => { return true; },\r\n cartItems: new Map(),\r\n packageDetail: null,\r\n packages: [],\r\n priceTypeQuantity: new Map(),\r\n apiError: null,\r\n totalNumberOfTicket: 0,\r\n performancePricingList: new Map(),\r\n subPackagesInCart: new Map>(),\r\n orderNotes: null,\r\n seatingPreferences: \"\",\r\n miniCartOpen: false,\r\n originalSeatQuantity: 0,\r\n originalSeats: [],\r\n seatingChoice: []\r\n};\r\n\r\n//export interface IProductionSeasonFilter {\r\n// productionSeasonId: number;\r\n// productionName: string;\r\n//}\r\n\r\nexport interface IEventFilter {\r\n key: string;\r\n selectedValue: any;\r\n filter: (event: IProduction) => boolean;\r\n}\r\n","import axios from 'axios';\r\nimport { memoize } from 'lodash';\r\n\r\nimport { IPerformancePricing, IPackagePricing } from '../custom/classes/production';\r\n\r\nexport default class PackageApi {\r\n private static acePackageAPIRoute = process.env.PACKAGE_API_ROUTE;\r\n\r\n private static performancePricingCache = memoize(PackageApi.getPerformancePricingApi, (performanceId: number) => `perf-${performanceId}`);\r\n\r\n private static packagePricingCache = memoize(PackageApi.getPackagePricingApi, (packageId: number) => `package-${packageId}`);\r\n\r\n private static filtersSource = axios.CancelToken.source();\r\n\r\n\r\n private static getPerformancePricingApi(performanceId: number): Promise {\r\n\r\n var requestString = `/${this.acePackageAPIRoute}${process.env.PERFORMANCE_PRICING_ROUTE}?performanceId=${performanceId}`;\r\n\r\n return axios.get(requestString, {\r\n withCredentials: true,\r\n cancelToken: this.filtersSource.token\r\n }).then(response => response.data);\r\n }\r\n\r\n private static getPackagePricingApi(performanceId: number): Promise {\r\n\r\n var requestString = `/${this.acePackageAPIRoute}${process.env.PACKAGE_PRICING_ROUTE}?packageId=${performanceId}`;\r\n\r\n return axios.get(requestString, {\r\n withCredentials: true,\r\n cancelToken: this.filtersSource.token\r\n }).then(response => response.data);\r\n }\r\n\r\n /**\r\n * Call the API to receive a more specific set of filters.\r\n * @param filter\r\n * @param culture\r\n */\r\n public static getPerformancePricing(performanceId: number): Promise {\r\n\r\n //return this.getPackagePricingApi(packageId, performanceIds);\r\n\r\n // This is the memoized variant. Since the request is cancelable, memoize would need to be tweaked to be properly utilized.\r\n return this.performancePricingCache(performanceId);\r\n }\r\n\r\n /**\r\n * Call the API to receive a more specific set of filters.\r\n * @param filter\r\n * @param culture\r\n */\r\n public static getPackagePricing(packageId: number): Promise {\r\n\r\n // This is the memoized variant. Since the request is cancelable, memoize would need to be tweaked to be properly utilized.\r\n return this.packagePricingCache(packageId);\r\n }\r\n\r\n /**\r\n * Call this to clear the memoized events and start fresh.\r\n */\r\n public static clearPackagePricingCache(): void {\r\n return this.packagePricingCache.cache.clear();\r\n }\r\n\r\n /**\r\n * Call this to clear the memoized events and start fresh.\r\n */\r\n public static clearPerformancePricingCache(): void {\r\n return this.performancePricingCache.cache.clear();\r\n }\r\n\r\n public static processFlexPackage(packageId: number,\r\n performanceZones: { [key: number]: number; },\r\n requestedPriceTypeIds: Array,\r\n isUnseated: boolean,\r\n orderNotes: string,\r\n configId: number) {\r\n\r\n var requestString = `/${this.acePackageAPIRoute}/ProcessPackageRequest`\r\n\r\n const packageRequest = {\r\n packageId,\r\n performanceZones,\r\n requestedPriceTypeIds,\r\n seatedRequest: !isUnseated,\r\n orderNotes,\r\n configId\r\n };\r\n\r\n return axios.post(requestString, packageRequest,\r\n {\r\n method: \"POST\"\r\n }\r\n ).then(response => response.data);\r\n }\r\n\r\n public static processSuperPackage(packageId: number,\r\n subPackageZones: { [key: number]: number; },\r\n requestedPriceTypeIds: Array,\r\n orderNotes: string,\r\n configId: number) {\r\n\r\n var requestString = `/${this.acePackageAPIRoute}/ProcessSuperPackageRequest`\r\n\r\n const packageRequest = {\r\n packageId,\r\n subPackageZones,\r\n requestedPriceTypeIds,\r\n orderNotes,\r\n configId\r\n };\r\n\r\n return axios.post(requestString, packageRequest,\r\n {\r\n method: \"POST\"\r\n }\r\n ).then(response => response.data);\r\n }\r\n\r\n public static processFixedPackage(packageId: number,\r\n zoneId: number,\r\n requestedPriceTypeIds: Array,\r\n orderNotes: string,\r\n configId: number, seatingPreferences: string,\r\n isRenewal: boolean,\r\n seatingChoice: Array) {\r\n\r\n var requestString = `/${this.acePackageAPIRoute}/ProcessFixedPackageRequest`\r\n\r\n const packageRequest = {\r\n packageId,\r\n zoneId,\r\n requestedPriceTypeIds,\r\n orderNotes,\r\n configId,\r\n seatingPreferences,\r\n seatingChoice: isRenewal ? seatingChoice : null\r\n };\r\n\r\n return axios.post(requestString, packageRequest,\r\n {\r\n method: \"POST\"\r\n }\r\n ).then(response => response.data);\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport FlexAppView from '../views/library/app-flex.view';\r\nimport FixedAppView from '../views/library/app-fixed.view';\r\nimport * as Sticky from 'sticky-js';\r\n\r\nimport { IPackageListingAppText } from '../custom/classes/package-listing-text';\r\n\r\nimport { IPackageListingAppState } from '../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { IPackageListingAppSettings } from '../custom/classes/package-listing-settings';\r\n\r\ninterface AppExternalProps {\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n settings: IPackageListingAppSettings;\r\n}\r\n\r\nexport type AppProps = AppExternalProps & StateToProps;\r\n\r\nexport class AppComponent extends React.Component {\r\n constructor(props: AppProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.props.settings.isFixed ?\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: AppExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n settings: state.packageListingSettings\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(AppComponent);\r\n","import CartItemView from 'package-cart-item.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPerformance, IZone } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { removeItemFromCart, removeSelectedZone } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { flatMap } from 'lodash';\r\nimport { getCartItemDetails } from '../../helpers/cart-helpers';\r\nimport { IPerformanceErrorMessage } from '../../../package-listing/classes/package-listing';\r\n\r\n\r\ninterface ICartItemExternalProps {\r\n itemId: number;\r\n selectedZoneId: number;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n itemProcessErrorMessage: string;\r\n selectedZone: IZone;\r\n isUnseated: boolean;\r\n\r\n itemIdToRemove: number;\r\n itemTitle: string;\r\n itemFacility: string;\r\n itemDateString: string;\r\n itemTimeString: string;\r\n\r\n showRemoveButton: boolean;\r\n showChangeZoneButton: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n removeItem: (itemId: number) => void;\r\n removeZone: (itemId: number) => void;\r\n}\r\n\r\nexport type CartItemProps = ICartItemExternalProps & StateToProps & DispatchToProps;\r\n\r\nexport type CombineCartViewProps = CartItemProps;\r\n\r\nexport class FiltersBase extends React.Component {\r\n constructor(props: CartItemProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: ICartItemExternalProps): StateToProps {\r\n var perfMessage: Array = [];\r\n if (state.packageListing.errorMessages != undefined)\r\n perfMessage = state.packageListing.errorMessages.filter(err => err.performanceId === ownProps.itemId);\r\n var performancePricing = state.packageListing.performancePricingList\r\n .get(ownProps.itemId);\r\n\r\n var itemDetails = getCartItemDetails(state, ownProps.itemId);\r\n\r\n if (!performancePricing) {\r\n performancePricing = state.packageListing.performancePricingList.get(itemDetails.itemIdToRemove);\r\n }\r\n\r\n\r\n return {\r\n text: state.packageListingText,\r\n itemProcessErrorMessage: perfMessage.length > 0 ? perfMessage[0].errorMessage : \"\",\r\n selectedZone: performancePricing ? performancePricing.zones\r\n .filter(z => z.zone.id == ownProps.selectedZoneId)[0]\r\n : null,\r\n isUnseated: state.packageListingSettings.useUnseatedReservation,\r\n itemIdToRemove: itemDetails.itemIdToRemove,\r\n itemDateString: itemDetails.itemDate,\r\n itemTimeString: itemDetails.itemTime,\r\n itemFacility: itemDetails.facility.facilityDescription,\r\n itemTitle: itemDetails.itemTitle,\r\n showRemoveButton: state.packageListing.packages.length !== 1,\r\n showChangeZoneButton: performancePricing ? performancePricing.zones.length > 1\r\n : false\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: CartItemProps): DispatchToProps {\r\n return {\r\n removeItem: (itemId: number) => {\r\n dispatch(removeItemFromCart(itemId));\r\n\r\n },\r\n removeZone: (itemId: number) => {\r\n dispatch(removeSelectedZone(itemId));\r\n\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FiltersBase);","import CartItemsView from 'package-cart-items.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPerformance, IPerformanceGroup, IPackage } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { removeItemFromCart } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\n\r\n\r\ninterface ICartItemsExternalProps {\r\n packageMax: number;\r\n packageMin: number;\r\n performanceGroups: Array;\r\n}\r\n\r\ninterface StateToProps {\r\n cartItems: Map;\r\n itemsInCart: number;\r\n text: IPackageListingAppText;\r\n requiresPerformanceGroups: boolean;\r\n isFixedPackage: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n}\r\n\r\nexport interface CartItemGroupViewProps {\r\n groupName: string;\r\n groupId: number;\r\n text: IPackageListingAppText;\r\n performanceMin: number;\r\n cartItems: Map;\r\n isFixedPackage: boolean;\r\n}\r\nexport type CartItemsProps = ICartItemsExternalProps & StateToProps & DispatchToProps;\r\n\r\n\r\nexport class CartItemsBase extends React.Component {\r\n constructor(props: CartItemsProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: ICartItemsExternalProps): StateToProps {\r\n\r\n return {\r\n requiresPerformanceGroups: ownProps.performanceGroups.length > 1\r\n && ownProps.performanceGroups\r\n .filter(pg => pg.minimumPerformances > 0 ||\r\n (pg.maximumPerformances > 0 && pg.maximumPerformances != ownProps.packageMax)).length > 0,\r\n text: state.packageListingText,\r\n isFixedPackage: state.packageListingSettings.isFixed,\r\n cartItems: state.packageListing.cartItems,\r\n itemsInCart: state.packageListing.cartItems.size \r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: CartItemsProps): DispatchToProps {\r\n return {\r\n\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CartItemsBase);","import CartMessagesView from 'package-cart-messages.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPerformance, IZone } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { removeItemFromCart, removeSelectedZone } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { filterMap } from '../../helpers/map-helpers';\r\nimport { IPerformanceErrorMessage } from '../../../package-listing/classes/package-listing';\r\n\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n groupName: string;\r\n maxReached: boolean;\r\n cartPerformanceCount: number;\r\n processPackageErrorMessage: string;\r\n packageMin: number;\r\n shouldRender: boolean;\r\n}\r\n\r\ninterface ICartMessageExternalProps {\r\n performanceGroupId: number;\r\n}\r\n\r\nexport type CartMessagesProps = StateToProps & ICartMessageExternalProps;\r\n\r\nexport class FiltersBase extends React.Component {\r\n constructor(props: CartMessagesProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: ICartMessageExternalProps): StateToProps {\r\n\r\n const requiresPerformanceGroups = state.packageListingSettings.isFixed ? false\r\n : (state.packageListing.packageDetail.performanceGroupDetails.length > 1\r\n && state.packageListing.packageDetail.performanceGroupDetails.filter(pg => pg.minimumPerformances > 0\r\n || pg.maximumPerformances != state.packageListing.packageDetail.maximumPerformances).length > 0);\r\n\r\n var processError: Array = [];\r\n if (state.packageListing.errorMessages != undefined)\r\n processError = state.packageListing.errorMessages.filter(err => err.performanceId === 0);\r\n\r\n if (requiresPerformanceGroups) {\r\n\r\n if (ownProps.performanceGroupId == null)\r\n return {} as any;\r\n else {\r\n var matchedPerfGroup = state.packageListing.packageDetail.performanceGroupDetails.filter(group => group.id === ownProps.performanceGroupId)[0];\r\n var groupPerfIds = [];\r\n if (matchedPerfGroup) {\r\n groupPerfIds = matchedPerfGroup.tessPerformances.map(perf => perf.performanceId);\r\n }\r\n\r\n const cartPerfs = filterMap(state.packageListing.cartItems, (perf) => groupPerfIds.indexOf(perf) >= 0);\r\n\r\n const groupMax = matchedPerfGroup.maximumPerformances == null ? state.packageListing.packageDetail.maximumPerformances\r\n : matchedPerfGroup.maximumPerformances;\r\n return {\r\n text: state.packageListingText,\r\n processPackageErrorMessage: processError.length > 0 ? processError[0].errorMessage : \"\",\r\n cartPerformanceCount: state.packageListingSettings.useUnseatedReservation ?\r\n Array.from(cartPerfs.values()).filter(zoneId => zoneId > 0).length\r\n : cartPerfs.size,\r\n maxReached: cartPerfs.size >= groupMax,\r\n packageMin: matchedPerfGroup.minimumPerformances,\r\n groupName: matchedPerfGroup.description,\r\n shouldRender: true\r\n }\r\n }\r\n\r\n } else {\r\n return {\r\n text: state.packageListingText,\r\n processPackageErrorMessage: processError.length > 0 ? processError[0].errorMessage : \"\",\r\n cartPerformanceCount: state.packageListingSettings.useUnseatedReservation ?\r\n Array.from(state.packageListing.cartItems.values()).filter(zoneId => zoneId > 0).length\r\n : state.packageListing.cartItems.size,\r\n maxReached: state.packageListingSettings.isFixed ? false : (state.packageListing.cartItems.size >= state.packageListing.packageDetail.maximumPerformances),\r\n packageMin: state.packageListingSettings.isFixed ? 0 : (state.packageListing.packageDetail.minimumPerformances),\r\n groupName: \"\",\r\n shouldRender: true\r\n }\r\n }\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps)(FiltersBase);","import * as React from 'react';\r\n\r\nimport CartContainerView from 'package-cart-container.view';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\n\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { IPerformance, IPerformanceGroup, IPackage } from '../../custom/classes/production';\r\nimport { processPackage } from '../../redux-state/actions/package-api.actions';\r\nimport { flatMap, throttle } from 'lodash';\r\nimport { sumPrices } from '../../helpers/pricing-helpers';\r\nimport { toggleMiniCart } from '../../redux-state/actions/package-listing.actions';\r\nimport { getCartItemDetails } from '../../helpers/cart-helpers';\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n cartItems: Map;\r\n //cartPackage: Map;\r\n cartPerformancesInPerfGroup: Map>;\r\n packageMin: number;\r\n packageMax: number;\r\n performanceGroups: Array;\r\n isUnseatedReservation: boolean;\r\n selectedPricing: boolean;\r\n packageSubTotal: number;\r\n requiresPerformanceGroups: boolean;\r\n miniCartOpen: boolean;\r\n isRenewal: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n processPackageClick: () => void;\r\n toggleMiniCart: (openMiniCart: boolean) => void;\r\n}\r\n\r\ninterface ExternalProps {\r\n updateStickyCart: () => void;\r\n}\r\n\r\nexport interface CartContainerState {\r\n showCartLink: boolean\r\n}\r\n\r\nexport type CartContainerProps = StateToProps & DispatchToProps & ExternalProps;\r\nexport type CartContainerViewProps = CartContainerProps;\r\n\r\n// Pixel distance from top where cart link is hidden\r\nconst cartLinkOffset = 300;\r\n// It feels awkward when the link hides exactly when the minicart hits the window, so this is the distance where it shows above the minicart\r\nconst cartLinkShowBuffer = 300;\r\n\r\nexport class CartContainerBase extends React.Component\r\n{\r\n constructor(props: CartContainerProps) {\r\n super(props);\r\n this.state = {\r\n showCartLink: false\r\n };\r\n }\r\n\r\n checkScroll() {\r\n const pageHeight = Math.max(document.body.scrollHeight, document.body.offsetHeight,\r\n document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);\r\n const miniCart = document.querySelector('#miniCart') as HTMLElement;\r\n const cartLinkBottomOffset = miniCart ? pageHeight - miniCart.offsetTop : 0;\r\n const offsetFromBottom = pageHeight - document.documentElement.offsetHeight - cartLinkBottomOffset + cartLinkShowBuffer;\r\n const pageOffset = window.pageYOffset;\r\n this.setState({\r\n showCartLink: pageOffset > cartLinkOffset && pageOffset < offsetFromBottom\r\n })\r\n }\r\n\r\n private boundScroll = throttle(this.checkScroll.bind(this), 50);\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.boundScroll.bind(this));\r\n }\r\n\r\n componentDidMount() {\r\n this.checkScroll();\r\n window.addEventListener('scroll', this.boundScroll);\r\n }\r\n\r\n render() {\r\n return (\r\n )\r\n }\r\n\r\n}\r\nfunction mapStateToProps(state: IPackageListingAppState): StateToProps {\r\n let mappedPerfs = new Map>();\r\n\r\n if (!state.packageListingSettings.isFixed) {\r\n\r\n state.packageListing.packageDetail.performanceGroupDetails.forEach(pg => {\r\n let groupPerfIds = pg.tessPerformances.map(p => p.performanceId);\r\n mappedPerfs.set(pg.id, Array.from(state.packageListing.cartItems.keys()).filter(p => groupPerfIds.indexOf(p) >= 0));\r\n });\r\n }\r\n\r\n const priceSum = getPackageSubTotal(state);\r\n\r\n const selectedPriceTypes = state.packageListing.totalNumberOfTicket > 0;\r\n\r\n var props = {\r\n miniCartOpen: state.packageListing.miniCartOpen,\r\n isUnseatedReservation: state.packageListingSettings.useUnseatedReservation,\r\n text: state.packageListingText,\r\n cartItems: state.packageListing.cartItems,\r\n selectedPricing: selectedPriceTypes && (state.packageListingSettings.useUnseatedReservation ?\r\n Array.from(state.packageListing.cartItems.values()).every(zone => zone > 0)\r\n : true),\r\n cartPerformancesInPerfGroup: mappedPerfs,\r\n packageSubTotal: priceSum,\r\n requiresPerformanceGroups: state.packageListing.packageDetail == null ? false\r\n : (state.packageListing.packageDetail.performanceGroupDetails.length > 1\r\n && state.packageListing.packageDetail.performanceGroupDetails.filter(pg => pg.minimumPerformances > 0\r\n || pg.maximumPerformances != state.packageListing.packageDetail.maximumPerformances).length > 0),\r\n isRenewal: state.packageListingSettings.isRenewal,\r\n\r\n };\r\n\r\n\r\n if (!state.packageListingSettings.isFixed) {\r\n return {\r\n ...props,\r\n packageMax: state.packageListing.packageDetail.maximumPerformances,\r\n packageMin: state.packageListing.packageDetail.minimumPerformances,\r\n performanceGroups: state.packageListing.packageDetail.performanceGroupDetails,\r\n }\r\n } else {\r\n return {\r\n ...props,\r\n packageMax: null,\r\n packageMin: null,\r\n performanceGroups: flatMap(state.packageListing.packages.map(p => p.performanceGroupDetails)),\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nfunction getPackageSubTotal(state: IPackageListingAppState) {\r\n var priceList = [];\r\n\r\n if (state.packageListing.cartItems.size > 0) {\r\n for (let entry of state.packageListing.cartItems.entries()) {\r\n if (entry !== undefined && entry !== null) {\r\n var performancePricing = state.packageListing.performancePricingList\r\n .get(entry[0]);\r\n\r\n var itemDetail = getCartItemDetails(state, entry[0]);\r\n if (!performancePricing) {\r\n performancePricing = state.packageListing.performancePricingList.get(itemDetail.itemIdToRemove);\r\n }\r\n if (performancePricing) {\r\n var matchedZone = performancePricing.zones.filter(z => z.zone.id === entry[1])[0];\r\n if (matchedZone) {\r\n priceList.push(sumPrices(matchedZone, state.packageListing.priceTypeQuantity).priceSum);\r\n }\r\n }\r\n }\r\n }\r\n //}\r\n }\r\n const priceSum = priceList.reduce((total, num) => total + num, 0);\r\n return priceSum;\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch): DispatchToProps {\r\n return {\r\n processPackageClick: () => {\r\n dispatch(processPackage());\r\n },\r\n toggleMiniCart: (open) => dispatch(toggleMiniCart(open))\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CartContainerBase);","import OrderNotesView from 'package-cart-order-notes.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { updateOrderNotes } from '../../redux-state/actions/package-listing.actions';\r\n\r\n\r\ninterface StateToProps {\r\n orderNotesTitle: string;\r\n orderNotesPlaceholder: string;\r\n orderNotesOptionalText: string;\r\n orderNotes: string;\r\n}\r\n\r\n\r\ninterface DispatchToProps {\r\n updateOrderNotes: (orderNotes: string) => void;\r\n}\r\n\r\nexport type OrderNotesProps = StateToProps & DispatchToProps;\r\n\r\n\r\nexport class OrderNotesBase extends React.Component {\r\n constructor(props: OrderNotesProps) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.props.updateOrderNotes(\"\")\r\n });\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: OrderNotesProps): StateToProps {\r\n return {\r\n orderNotesTitle: state.packageListingSettings.isRenewal ? state.packageListingText.renewalNotesTitle : state.packageListingText.orderNotesTitle,\r\n orderNotesPlaceholder: state.packageListingText.orderNotesPlaceholder,\r\n orderNotesOptionalText: state.packageListingText.orderNotesOptionalText,\r\n orderNotes: state.packageListing.orderNotes\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: OrderNotesProps): DispatchToProps {\r\n return {\r\n updateOrderNotes: (orderNotes) => {\r\n dispatch(updateOrderNotes(orderNotes));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrderNotesBase);","import QuantitySelectView from 'package-quantity-select.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPriceType } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { updatePriceTypeQuantity, clearPriceTypeQuantities } from '../../redux-state/actions/package-listing.actions';\r\nimport { flatMap, uniqBy } from 'lodash';\r\n\r\n\r\ninterface StateToProps {\r\n packagePriceTypes: Array;\r\n selectedPriceTypeQuantities: Map;\r\n selectTicketsText: string;\r\n selectPackageTitle: string;\r\n isUnseatedReservation: boolean;\r\n isVoucherPackage: boolean;\r\n cartItems: Map;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectPriceTypeQuantity: (priceTypeId, quantity) => void;\r\n resetPriceTypeQuantities: () => void;\r\n}\r\n\r\nexport type QuantitySelectProps = StateToProps & DispatchToProps;\r\n\r\n\r\nexport class QuantitySelectBase extends React.Component {\r\n constructor(props: QuantitySelectProps) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.selectPriceTypeQuantity.length == 0) {\r\n // reset state again because of browser state being loaded and react not knowing how to handle it\r\n setTimeout(() => this.props.resetPriceTypeQuantities());\r\n }\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState): StateToProps {\r\n return {\r\n packagePriceTypes: state.packageListingSettings.isFixed ?\r\n uniqBy(flatMap(state.packageListing.packages.map(p => p.packagePriceTypes)), pt => pt.priceTypeId)\r\n : uniqBy(state.packageListing.packageDetail.packagePriceTypes, pt => pt.priceTypeId),\r\n selectTicketsText: state.packageListingText.selectTicketsTitle,\r\n selectPackageTitle: state.packageListingText.selectPackageTitle,\r\n selectedPriceTypeQuantities: state.packageListing.priceTypeQuantity,\r\n isUnseatedReservation: state.packageListingSettings.useUnseatedReservation,\r\n isVoucherPackage: state.packageListingSettings.voucherPackage,\r\n cartItems: state.packageListing.cartItems,\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: QuantitySelectProps): DispatchToProps {\r\n return {\r\n selectPriceTypeQuantity: (ptId, quantity) => {\r\n dispatch(updatePriceTypeQuantity(ptId, quantity));\r\n },\r\n resetPriceTypeQuantities: () => {\r\n dispatch(clearPriceTypeQuantities());\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QuantitySelectBase);","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { ISeat } from '../../classes/package-listing';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { updateSeatingChoice } from '../../redux-state/actions/package-listing.actions';\r\nimport SeatingChoiceView from '../../views/library/package-cart-seating-choice.view';\r\n\r\ninterface StateToProps {\r\n originalSeats: Array;\r\n seatingChoice: Array;\r\n currentNumberOfSeats: number;\r\n seatSelectionDescription: string;\r\n}\r\n\r\ninterface DispatchToProps {\r\n updateSeatingChoice: (seatChoice: number) => void;\r\n}\r\n\r\nexport type SeatingChoiceProps = StateToProps & DispatchToProps;\r\n\r\nexport class SeatingChoiceBase extends React.Component {\r\n constructor(props: SeatingChoiceProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: SeatingChoiceProps): StateToProps {\r\n return {\r\n originalSeats: state.packageListing.originalSeats,\r\n seatingChoice: state.packageListing.seatingChoice,\r\n currentNumberOfSeats: state.packageListing.totalNumberOfTicket,\r\n seatSelectionDescription: state.packageListingText.seatSelectionDescription\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: SeatingChoiceProps): DispatchToProps {\r\n return {\r\n updateSeatingChoice: (seatingChoice) => {\r\n dispatch(updateSeatingChoice(seatingChoice));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SeatingChoiceBase)","import { sum } from 'lodash';\r\nimport SeatingPreferencesView from 'package-cart-seating-preferences.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { updateSeatingPreferences } from '../../redux-state/actions/package-listing.actions';\r\nimport flatMap = require('lodash/flatMap');\r\nimport uniqBy = require('lodash/uniqBy');\r\n\r\n\r\ninterface StateToProps {\r\n seatingPreferenceTitle: string;\r\n seatingPreferencesDefaultText: string;\r\n seatingPreferenceOptions: string[];\r\n selectedSeatingPreference: string;\r\n}\r\n\r\n\r\ninterface DispatchToProps {\r\n updateSeatingPreferences: (notes: string) => void;\r\n}\r\n\r\nexport type SeatingPreferencesProps = StateToProps & DispatchToProps;\r\n\r\n\r\nexport class SeatingPreferencesBase extends React.Component {\r\n constructor(props: SeatingPreferencesProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: SeatingPreferencesProps): StateToProps {\r\n return {\r\n seatingPreferenceTitle: state.packageListingText.seatingPreferencesTitle,\r\n seatingPreferenceOptions: state.packageListingText.seatingPreferenceOptions,\r\n selectedSeatingPreference: state.packageListing.seatingPreferences,\r\n seatingPreferencesDefaultText: state.packageListingText.seatingPreferencesDefaultText\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: SeatingPreferencesProps): DispatchToProps {\r\n return {\r\n updateSeatingPreferences: (notes) => {\r\n dispatch(updateSeatingPreferences(notes));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SeatingPreferencesBase);","import ZoneSelectView from 'performance-zone-select.view';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IZone } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { updateSelectedZone, toggleMiniCart } from '../../redux-state/actions/package-listing.actions';\r\nimport { flatMap } from 'lodash';\r\nimport { getCartItemDetails } from '../../helpers/cart-helpers';\r\n\r\n\r\ninterface StateToProps {\r\n zones: Array;\r\n missingPriceTypeSelectionMessage: string;\r\n selectAZoneLabel: string;\r\n selectAZoneDropdownDefaultValue: string;\r\n requiresPriceTypeSelection: boolean;\r\n selectedPriceTypeQuantities: Map;\r\n venueZoneMapImageUrl: string;\r\n isVoucherPackage: boolean;\r\n}\r\n\r\ninterface IZoneSelectExternalProps {\r\n itemId: number;\r\n selectedZone: IZone;\r\n showPriceTypeError: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectZone: (priceTypeId, quantity) => void;\r\n toggleMiniCart: (open: boolean) => void;\r\n}\r\n\r\nexport type ZoneSelectProps = StateToProps & IZoneSelectExternalProps & DispatchToProps;\r\n\r\n\r\nexport class ZoneSelectBase extends React.Component {\r\n constructor(props: ZoneSelectProps) {\r\n super(props);\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.isVoucherPackage && this.props.zones.length > 0 && !this.props.selectedZone) {\r\n this.props.selectZone(this.props.itemId, this.props.zones[0].zone.id);\r\n }\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: ZoneSelectProps): StateToProps {\r\n var selectedPriceTypes = [];\r\n\r\n Array.from(state.packageListing.priceTypeQuantity.keys()).forEach(pt => {\r\n var quantity = state.packageListing.priceTypeQuantity.get(pt);\r\n var i;\r\n for (i = 0; i < quantity; i++) {\r\n selectedPriceTypes.push(pt);\r\n }\r\n\r\n });\r\n\r\n let itemDetail = getCartItemDetails(state, ownProps.itemId);\r\n var isSuperPackage = false;\r\n\r\n let performancePricing = state.packageListing.performancePricingList.get(ownProps.itemId);\r\n\r\n if (!performancePricing) {\r\n isSuperPackage = true;\r\n performancePricing = state.packageListing.performancePricingList.get(itemDetail.itemIdToRemove);\r\n }\r\n\r\n var zoneList = performancePricing ? performancePricing.zones\r\n .filter(z => z.prices.map(pr => pr.priceTypeId)\r\n .filter(value => -1 !== selectedPriceTypes.indexOf(value)).length > 0) : [];\r\n\r\n \r\n return {\r\n requiresPriceTypeSelection: selectedPriceTypes.length < 1,\r\n zones: isSuperPackage ? zoneList.filter(z => z.performanceId === ownProps.itemId) : zoneList,\r\n selectedPriceTypeQuantities: state.packageListing.priceTypeQuantity,\r\n missingPriceTypeSelectionMessage: state.packageListingText.missingPriceTypeSelectionMessage,\r\n selectAZoneLabel: state.packageListingText.selectAZoneLabel,\r\n selectAZoneDropdownDefaultValue: state.packageListingText.selectAZoneDropdownDefaultValue,\r\n venueZoneMapImageUrl: itemDetail.facility.facilityImageUrl,\r\n isVoucherPackage: state.packageListingSettings.voucherPackage\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: ZoneSelectProps): DispatchToProps {\r\n return {\r\n selectZone: (itemId, zoneId) => {\r\n dispatch(updateSelectedZone(itemId, zoneId));\r\n },\r\n toggleMiniCart: (open: boolean) => {\r\n dispatch(toggleMiniCart(open));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ZoneSelectBase);","import * as React from 'react';\r\n\r\nimport ClearAllView from 'package-filter-clear-all.view';\r\nimport { removeAllEventFilters } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\n\r\n\r\ninterface IFilterExternalProps {\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n}\r\n\r\ninterface DispatchToProps {\r\n removeAllFilters: () => void;\r\n}\r\n\r\nexport type ClearAllProps = IFilterExternalProps & StateToProps & DispatchToProps;\r\n\r\nexport class ClearAllBase extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IFilterExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch): DispatchToProps {\r\n return {\r\n removeAllFilters: () => dispatch(removeAllEventFilters())\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClearAllBase);","import * as React from 'react';\r\n\r\nimport FiltersContainerView from 'package-filters-container.view';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\n\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { findDOMNode } from 'react-dom';\r\n\r\nimport A11yDialog = require('a11y-dialog');\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n isFixedPackage: boolean;\r\n}\r\n\r\ninterface ModalControlMethods {\r\n showFilters: () => void;\r\n hideFilters: () => void;\r\n}\r\n\r\ninterface FilterContainerState {\r\n filterOpen: boolean;\r\n}\r\n\r\nexport type FiltersContainerProps = StateToProps;\r\nexport type FiltersContainerViewProps = FiltersContainerProps & ModalControlMethods & FilterContainerState;\r\n\r\n\r\n\r\nexport class FiltersContainerBase extends React.Component implements ModalControlMethods {\r\n constructor(props: FiltersContainerProps) {\r\n super(props);\r\n }\r\n\r\n showFilters() {\r\n this.setState({ filterOpen: true})\r\n }\r\n\r\n hideFilters() {\r\n this.setState({ filterOpen: false })\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n isFixedPackage: state.packageListingSettings.isFixed\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(FiltersContainerBase);","import * as React from 'react';\r\nimport { flatMap, uniq, uniqBy } from 'lodash';\r\n\r\nimport FilterView from 'package-filter.view';\r\nimport { IEventFilter, IOption, } from '../../classes/package-listing';\r\nimport { IPerformance, IProduction } from '../../custom/classes/production';\r\nimport { upsertEventFilter, removeEventFilter, } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { generateEventFilter } from '../../helpers/filter-by-query'\r\ninterface IFilterExternalProps {\r\n /**\r\n * The property to filter the calendar events by.\r\n */\r\n propertyToFilter: keyof IPerformance;\r\n propertyToDisplay: keyof IPerformance;\r\n\r\n sortFunction: (optionA: IOption, optionB: IOption) => any;\r\n /**\r\n * Text to represent the option for no selection. ie All Venues, All Production\r\n */\r\n noSelectionText: string;\r\n /**\r\n * Name of the filter to be labeled on the app\r\n */\r\n filterName: string;\r\n}\r\n\r\ninterface StateToProps {\r\n hasFilters: boolean;\r\n productions: IProduction[];\r\n selectedValue: string;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectFilter: (selectedValue: string) => void;\r\n}\r\n\r\nexport type FilterProps = IFilterExternalProps & StateToProps & DispatchToProps;\r\n\r\ninterface FilterState {\r\n options: IOption[];\r\n}\r\n\r\nexport type CombinedFilterViewProps = FilterProps & FilterState;\r\n\r\nexport class FiltersBase extends React.Component {\r\n constructor(props: FilterProps) {\r\n super(props);\r\n\r\n this.state = {\r\n options: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var currentFilters = this.getFilterOptions(this.props);\r\n\r\n this.setState({\r\n options: currentFilters\r\n });\r\n }\r\n getFilterOptions(props: FilterProps): Array {\r\n const performances = flatMap(props.productions.map(prod => prod.performances));\r\n var returnList = [];\r\n\r\n if (performances.length > 0) {\r\n if (Array.isArray(performances[0][props.propertyToFilter])) {\r\n return []\r\n }\r\n\r\n const mappedProperty = uniq(performances.map(performance => {\r\n return {\r\n text: performance[props.propertyToDisplay],\r\n value: performance[props.propertyToFilter]\r\n }\r\n })).filter(prop => prop != null);\r\n\r\n returnList = uniqBy(mappedProperty.map(eventProperty => {\r\n return {\r\n text: eventProperty.text.toString(),\r\n value: eventProperty.value.toString(),\r\n firstOccurance: \"\"\r\n }\r\n }), option => option.text);\r\n\r\n if (props.sortFunction == null)\r\n return returnList;\r\n return returnList.sort(props.sortFunction);\r\n\r\n }\r\n\r\n return [];\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IFilterExternalProps): StateToProps {\r\n // Find the matched filter to extract the selected value.\r\n let matchedFilter: IEventFilter = null;\r\n\r\n for (let i = 0; i < state.packageListing.eventFilter.length; ++i) {\r\n if (state.packageListing.eventFilter[i].key === ownProps.propertyToFilter) {\r\n matchedFilter = state.packageListing.eventFilter[i];\r\n break;\r\n }\r\n }\r\n\r\n return {\r\n hasFilters: state.packageListing.eventFilter.length > 0,\r\n productions: flatMap(state.packageListing.packageDetail.performanceGroupDetails.map(g => g.appProductions)),\r\n selectedValue: matchedFilter ? matchedFilter.selectedValue : \"\"\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: FilterProps): DispatchToProps {\r\n return {\r\n selectFilter: (selectedValue: string) => {\r\n // If the selected value is null or empty string, remove that filter.\r\n if (!selectedValue || selectedValue === \"\") {\r\n dispatch(removeEventFilter(ownProps.propertyToFilter));\r\n } else {\r\n\r\n const filter: IEventFilter = {\r\n key: ownProps.propertyToFilter,\r\n selectedValue: selectedValue,\r\n filter: generateEventFilter(ownProps.propertyToFilter, selectedValue)\r\n }\r\n dispatch(upsertEventFilter(filter));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FiltersBase);","import * as React from 'react';\r\nimport { flatMap, uniq, uniqBy } from 'lodash';\r\n\r\nimport FilterView from 'package-filter.view';\r\nimport { IEventFilter, IOption, } from '../../classes/package-listing';\r\nimport { IPerformance, IProduction } from '../../custom/classes/production';\r\nimport { upsertEventFilter, removeEventFilter, } from '../../redux-state/actions/package-listing.actions';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { connect } from 'react-redux';\r\nimport { generateEventFilter } from '../../helpers/filter-by-query'\r\ninterface IFilterExternalProps {\r\n /**\r\n * The property to filter the calendar events by.\r\n */\r\n propertyToFilter: keyof IPerformance;\r\n propertyToDisplay: keyof IPerformance;\r\n\r\n sortFunction: (optionA: IOption, optionB: IOption) => any;\r\n /**\r\n * Text to represent the option for no selection. ie All Venues, All Production\r\n */\r\n noSelectionText: string;\r\n /**\r\n * Name of the filter to be labeled on the app\r\n */\r\n filterName: string;\r\n}\r\n\r\ninterface StateToProps {\r\n hasFilters: boolean;\r\n productions: IProduction[];\r\n selectedValue: string;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectFilter: (selectedValue: string) => void;\r\n}\r\n\r\nexport type FilterProps = IFilterExternalProps & StateToProps & DispatchToProps;\r\n\r\ninterface FilterState {\r\n options: IOption[];\r\n}\r\n\r\nexport type CombinedFilterViewProps = FilterProps & FilterState;\r\n\r\nexport class FiltersBase extends React.Component {\r\n constructor(props: FilterProps) {\r\n super(props);\r\n\r\n this.state = {\r\n options: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var currentFilters = this.getFilterOptions(this.props);\r\n\r\n this.setState({\r\n options: currentFilters\r\n });\r\n }\r\n getFilterOptions(props: FilterProps): Array {\r\n const performances = flatMap(props.productions.map(prod => prod.performances));\r\n var returnList = [];\r\n\r\n if (performances.length > 0) {\r\n if (Array.isArray(performances[0][props.propertyToFilter])) {\r\n return []\r\n }\r\n\r\n const mappedProperty = uniq(performances.map(performance => {\r\n return {\r\n text: performance[props.propertyToDisplay],\r\n value: performance[props.propertyToFilter]\r\n }\r\n })).filter(prop => prop != null);\r\n\r\n returnList = uniqBy(mappedProperty.map(eventProperty => {\r\n return {\r\n text: eventProperty.text.toString(),\r\n value: eventProperty.value.toString(),\r\n firstOccurance: \"\"\r\n }\r\n }), option => option.text);\r\n\r\n if (props.sortFunction == null)\r\n return returnList;\r\n return returnList.sort(props.sortFunction);\r\n\r\n }\r\n\r\n return [];\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IFilterExternalProps): StateToProps {\r\n // Find the matched filter to extract the selected value.\r\n let matchedFilter: IEventFilter = null;\r\n\r\n for (let i = 0; i < state.packageListing.eventFilter.length; ++i) {\r\n if (state.packageListing.eventFilter[i].key === ownProps.propertyToFilter) {\r\n matchedFilter = state.packageListing.eventFilter[i];\r\n break;\r\n }\r\n }\r\n\r\n return {\r\n hasFilters: state.packageListing.eventFilter.length > 0,\r\n productions: flatMap(state.packageListing.packages.map(pack => {\r\n if (pack.subPackages.length > 0) {\r\n return flatMap(flatMap(pack.subPackages.map(sub => sub.performanceGroupDetails.map(g => g.appProductions))));\r\n } else {\r\n return flatMap(pack.performanceGroupDetails.map(g => g.appProductions));\r\n }\r\n })),\r\n selectedValue: matchedFilter ? matchedFilter.selectedValue : \"\"\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: FilterProps): DispatchToProps {\r\n return {\r\n selectFilter: (selectedValue: string) => {\r\n // If the selected value is null or empty string, remove that filter.\r\n if (!selectedValue || selectedValue === \"\") {\r\n dispatch(removeEventFilter(ownProps.propertyToFilter));\r\n } else {\r\n\r\n const filter: IEventFilter = {\r\n key: ownProps.propertyToFilter,\r\n selectedValue: selectedValue,\r\n filter: generateEventFilter(ownProps.propertyToFilter, selectedValue)\r\n }\r\n dispatch(upsertEventFilter(filter));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FiltersBase);","import * as React from 'react';\r\nimport { flatMap } from 'lodash';\r\n\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { connect } from 'react-redux';\r\nimport ListContainerView from 'package-list-container.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\n\r\ninterface IListContainerExternalProps {\r\n\r\n}\r\n\r\ninterface StateToProps {\r\n productionCount: number;\r\n minimumPackagePerformanceQuantityMessage: string;\r\n reachedPackageMaxQuantity: boolean;\r\n text: IPackageListingAppText;\r\n isFixed: boolean;\r\n}\r\n\r\nexport type ListContainerProps = IListContainerExternalProps & StateToProps;\r\n\r\nexport const ListContainerBase: React.StatelessComponent = props => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListContainerExternalProps): StateToProps {\r\n if (state.packageListingSettings.isFixed) {\r\n return {\r\n productionCount: 0,\r\n minimumPackagePerformanceQuantityMessage: \"\",\r\n text: state.packageListingText,\r\n reachedPackageMaxQuantity: false,\r\n isFixed: true\r\n }\r\n } else {\r\n return {\r\n isFixed: false,\r\n productionCount: flatMap(state.packageListing.packageDetail.performanceGroupDetails, g => g.appProductions).length,\r\n minimumPackagePerformanceQuantityMessage: state.packageListing.packageDetail.minimumPerformances != null\r\n ? state.packageListingText.minimumPerformanceRequiredMessage.replace(\"{0}\", state.packageListing.packageDetail.minimumPerformances.toString()) : \"\",\r\n text: state.packageListingText,\r\n reachedPackageMaxQuantity: state.packageListing.cartItems.size >= state.packageListing.packageDetail.maximumPerformances\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListContainerBase);","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { flatMap } from 'lodash';\r\n\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformance, IPackage } from '../../custom/classes/production';\r\nimport ListPackageView from '../../views/library/list-package.view';\r\nimport { IPackageListingAppSettings } from '../../custom/classes/package-listing-settings';\r\nimport { toggleMiniCart, selectPackage, removeItemFromCart } from '../../redux-state/actions/package-listing.actions';\r\n\r\ninterface IListPackageExternalProps {\r\n package: IPackage;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n settings: IPackageListingAppSettings;\r\n useUnseatedReserve: boolean;\r\n selectedPackage: boolean;\r\n filterFunction: (option) => any;\r\n numberOfPackagesInList: number;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectPackage: (pkg: IPackage, unseated: boolean) => void;\r\n removeFromCart: (itemId: number) => void;\r\n\r\n}\r\n\r\ninterface ListPackageViewState {\r\n showPerformances: boolean;\r\n}\r\n\r\ninterface ViewProps {\r\n toggleShowPerformances: () => void;\r\n packagePerformances: Array;\r\n}\r\n\r\nexport type ListPackageProps = IListPackageExternalProps & StateToProps & DispatchToProps;\r\n\r\nexport type CombinedPackageViewProps = ListPackageProps & ListPackageViewState & ViewProps;\r\n\r\nexport class ListPackageBase extends React.Component {\r\n\r\n constructor(props: ListPackageProps) {\r\n super(props);\r\n this.state = {\r\n showPerformances: false\r\n };\r\n }\r\n\r\n render() {\r\n const allPerf = flatMap(this.props.package.performanceGroupDetails\r\n .map(group => flatMap(group.appProductions.map(prod => prod.performances))));\r\n const filteredPerformances = allPerf.filter(this.props.filterFunction);\r\n if (filteredPerformances.length == 0)\r\n return null;\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n _toggleShowPerformances = () => {\r\n this.setState(\r\n { showPerformances: !(this.state.showPerformances) }\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListPackageExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n settings: state.packageListingSettings,\r\n useUnseatedReserve: state.packageListingSettings.useUnseatedReservation,\r\n selectedPackage: state.packageListing.cartItems.size > 0 && state.packageListing.cartItems.keys().next().value == ownProps.package.id,\r\n filterFunction: state.packageListing.filterFunction,\r\n numberOfPackagesInList: state.packageListing.packages.length\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: ListPackageProps): DispatchToProps {\r\n return {\r\n selectPackage: (pkg: IPackage, unseated: boolean) => {\r\n if (unseated) {\r\n dispatch(selectPackage(pkg));\r\n } else {\r\n window.location.href = `${window[\"pageData\"].smartSeatUrl}?itemNumber=${pkg.id}`;\r\n }\r\n dispatch(toggleMiniCart(true));\r\n },\r\n removeFromCart: (itemId: number) => {\r\n dispatch(removeItemFromCart(itemId));\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ListPackageBase);","import * as React from 'react';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListPackagesView from 'list-packages.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformanceGroup, IPackage } from '../../custom/classes/production';\r\n\r\ninterface IListPackagesExternalProps {\r\n}\r\n\r\ninterface StateToProps {\r\n packages: Array;\r\n text: IPackageListingAppText;\r\n}\r\n\r\nexport type ListPackagesProps = IListPackagesExternalProps & StateToProps;\r\n\r\nexport class ListPackagesBase extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListPackagesExternalProps): StateToProps {\r\n return {\r\n packages: state.packageListing.packages,\r\n text: state.packageListingText\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListPackagesBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListPerformanceView from 'list-performance.view';\r\nimport ListProdPerformanceView from 'list-prod-performance.view';\r\n\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformance } from '../../custom/classes/production';\r\nimport { removeItemFromCart, addItemToCart, selectPerformance, toggleMiniCart } from '../../redux-state/actions/package-listing.actions';\r\n\r\ninterface IListPerformanceExternalProps {\r\n performance: IPerformance;\r\n allowReserve: boolean;\r\n showReserveButton: boolean;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n performanceInCart: boolean;\r\n isFixedPackage: boolean;\r\n useUnSeatedReservation: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectPerformance: (performance: IPerformance, unseated: boolean) => void;\r\n removeFromCart: (itemId: number) => void;\r\n}\r\n\r\nexport type ListPerformanceProps = IListPerformanceExternalProps & StateToProps & DispatchToProps;\r\n\r\n\r\nexport class ListPerformanceBase extends React.Component {\r\n\r\n constructor(props: ListPerformanceProps) {\r\n super(props);\r\n\r\n this.state = {\r\n showPerformances: false\r\n };\r\n }\r\n render() {\r\n if (this.props.isFixedPackage) {\r\n return \r\n }\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListPerformanceExternalProps): StateToProps {\r\n return {\r\n useUnSeatedReservation: state.packageListingSettings.useUnseatedReservation,\r\n isFixedPackage: state.packageListingSettings.isFixed,\r\n text: state.packageListingText,\r\n performanceInCart: state.packageListingSettings.isFixed ? false : Array.from(state.packageListing.cartItems.keys()).filter(perfId => perfId == ownProps.performance.performanceId).length > 0\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch): DispatchToProps {\r\n return {\r\n removeFromCart: (itemId: number) => {\r\n dispatch(removeItemFromCart(itemId));\r\n\r\n },\r\n selectPerformance: (performance: IPerformance, unseated: boolean) => {\r\n if (unseated) {\r\n dispatch(selectPerformance(performance));\r\n } else {\r\n dispatch(addItemToCart(performance.performanceId));\r\n }\r\n dispatch(toggleMiniCart(true));\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ListPerformanceBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListPerformancesView from 'list-performances.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformance } from '../../custom/classes/production';\r\nimport { IPackageListingAppSettings } from '../../custom/classes/package-listing-settings';\r\n\r\ninterface IListPerformancesExternalProps {\r\n filteredPerformances: Array;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n settings: IPackageListingAppSettings;\r\n allowReserve: boolean;\r\n showReserveButton: boolean;\r\n}\r\n\r\ninterface ListPerformancesViewState {\r\n showAllPerformances: boolean;\r\n}\r\n\r\ninterface ViewProps {\r\n toggleShowAllPerformances: () => void;\r\n}\r\n\r\n\r\nexport type ListPerformancesProps = IListPerformancesExternalProps & StateToProps;\r\n\r\nexport type CombinedPerformancesViewProps = ListPerformancesProps & ListPerformancesViewState & ViewProps;\r\n\r\n\r\nexport class ListPerformancesBase extends React.Component {\r\n\r\n constructor(props: ListPerformancesProps) {\r\n super(props);\r\n\r\n this.state = {\r\n showAllPerformances: false\r\n };\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n _toggleShowAllPerformances = () => {\r\n this.setState(\r\n { showAllPerformances: !(this.state.showAllPerformances) }\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListPerformancesExternalProps): StateToProps {\r\n\r\n var props = {\r\n text: state.packageListingText,\r\n settings: state.packageListingSettings\r\n };\r\n\r\n if (state.packageListingSettings.isFixed) {\r\n\r\n return {\r\n ...props,\r\n showReserveButton: false,\r\n allowReserve: false\r\n };\r\n\r\n } else {\r\n const performanceIds = ownProps.filteredPerformances.map(p => p.performanceId);\r\n const cartPerformanceIds = Array.from(state.packageListing.cartItems.keys())\r\n const cartHasPerformance = performanceIds.filter(id => cartPerformanceIds.indexOf(id) >= 0).length > 0;\r\n\r\n return {\r\n ...props,\r\n showReserveButton: true,\r\n allowReserve: !(!state.packageListing.packageDetail.allowSameProductionReservation && cartHasPerformance)\r\n && state.packageListing.cartItems.size < state.packageListing.packageDetail.maximumPerformances\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListPerformancesBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListProductionGroupView from 'list-production-group.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformanceGroup, IProduction, IPerformance } from '../../custom/classes/production';\r\n\r\ninterface IListProductionGroupExternalProps {\r\n performanceGroup: IPerformanceGroup;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n performanceFilter: (prod: IProduction) => boolean;\r\n requiresPerformanceGroupMin: boolean;\r\n requiresPerformanceGroupMax: boolean;\r\n groupMin: number;\r\n groupMax: number;\r\n cartPerformanceIdsInGroup: Array;\r\n}\r\n\r\nexport type ListProductionGroupProps = IListProductionGroupExternalProps & StateToProps;\r\n\r\nexport class ListProductionGroupBase extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListProductionGroupExternalProps): StateToProps {\r\n const groupPerfIds = ownProps.performanceGroup.tessPerformances.map(p => p.performanceId);\r\n return {\r\n text: state.packageListingText,\r\n performanceFilter: state.packageListing.filterFunction,\r\n requiresPerformanceGroupMin: state.packageListing.packageDetail.performanceGroupDetails.length > 1 && ownProps.performanceGroup.minimumPerformances > 0,\r\n requiresPerformanceGroupMax: state.packageListing.packageDetail.performanceGroupDetails.length > 1 && ownProps.performanceGroup.maximumPerformances > 0 && ownProps.performanceGroup.maximumPerformances !== state.packageListing.packageDetail.maximumPerformances,\r\n groupMin: ownProps.performanceGroup.minimumPerformances,\r\n groupMax: ownProps.performanceGroup.maximumPerformances,\r\n cartPerformanceIdsInGroup: Array.from(state.packageListing.cartItems.keys()).filter(p => groupPerfIds.indexOf(p) >= 0)\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListProductionGroupBase);","import * as React from 'react';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListProductionGroupsView from 'list-production-groups.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformanceGroup, IPackage } from '../../custom/classes/production';\r\n\r\ninterface IListProductionGroupsExternalProps {\r\n}\r\n\r\ninterface StateToProps {\r\n performanceGroups: IPerformanceGroup[];\r\n packageDetail: IPackage;\r\n text: IPackageListingAppText;\r\n}\r\n\r\nexport type ListProductionGroupsProps = IListProductionGroupsExternalProps & StateToProps;\r\n\r\nexport class ListProductionGroupsBase extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListProductionGroupsExternalProps): StateToProps {\r\n return {\r\n performanceGroups: state.packageListing.packageDetail.performanceGroupDetails,\r\n packageDetail: state.packageListing.packageDetail, \r\n text: state.packageListingText\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListProductionGroupsBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ListProductionView from 'list-production.view';\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IProduction, IPerformance } from '../../custom/classes/production';\r\n\r\ninterface IListProductionExternalProps {\r\n production: IProduction;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n filterFunction: (option) => any;\r\n}\r\n\r\ninterface ListProductionViewState {\r\n showPerformances: boolean;\r\n showSynopsis: boolean;\r\n}\r\n\r\ninterface ViewProps {\r\n toggleShowPerformances: () => void;\r\n toggleShowSynopsis: () => void;\r\n filteredPerformances: Array;\r\n}\r\n\r\nexport type ListProductionProps = IListProductionExternalProps & StateToProps;\r\n\r\nexport type CombinedProductionViewProps = ListProductionProps & ListProductionViewState & ViewProps;\r\n\r\nexport class ListProductionBase extends React.Component {\r\n\r\n constructor(props: ListProductionProps) {\r\n super(props);\r\n\r\n this.state = {\r\n showPerformances: false,\r\n showSynopsis: false\r\n };\r\n }\r\n render() {\r\n const filteredPerformances = this.props.production.performances.filter(this.props.filterFunction);\r\n if (filteredPerformances.length == 0)\r\n return null;\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n _toggleShowPerformances = () => {\r\n this.setState(\r\n { showPerformances: !(this.state.showPerformances) }\r\n );\r\n }\r\n\r\n _toggleShowSynopsis= () => {\r\n this.setState(\r\n { showSynopsis: !(this.state.showSynopsis) }\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListProductionExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n filterFunction: state.packageListing.filterFunction\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(ListProductionBase);","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { flatMap } from 'lodash';\r\n\r\nimport { IPackageListingAppState } from '../../redux-state';\r\nimport { IPackageListingAppText } from '../../custom/classes/package-listing-text';\r\nimport { IPerformance, IPackage } from '../../custom/classes/production';\r\nimport ListPackageView from '../../views/library/list-package.view';\r\nimport { IPackageListingAppSettings } from '../../custom/classes/package-listing-settings';\r\nimport { toggleMiniCart, selectPackage, removeItemFromCart } from '../../redux-state/actions/package-listing.actions';\r\n\r\ninterface IListPackageExternalProps {\r\n package: IPackage;\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n settings: IPackageListingAppSettings;\r\n useUnseatedReserve: boolean;\r\n selectedPackage: boolean;\r\n filterFunction: (option) => any;\r\n numberOfPackagesInList: number;\r\n}\r\n\r\ninterface DispatchToProps {\r\n selectPackage: (pkg: IPackage, unseated: boolean) => void;\r\n removeFromCart: (itemId: number) => void;\r\n\r\n}\r\n\r\ninterface ListPackageViewState {\r\n showPerformances: boolean;\r\n}\r\n\r\ninterface ViewProps {\r\n toggleShowPerformances: () => void;\r\n packagePerformances: Array;\r\n}\r\n\r\nexport type ListPackageProps = IListPackageExternalProps & StateToProps & DispatchToProps;;\r\n\r\nexport type CombinedPackageViewProps = ListPackageProps & ListPackageViewState & ViewProps;\r\n\r\nexport class ListPackageBase extends React.Component {\r\n\r\n constructor(props: ListPackageProps) {\r\n super(props);\r\n this.state = {\r\n showPerformances: false\r\n };\r\n }\r\n render() {\r\n const allPerf = flatMap(this.props.package.subPackages.map(subPackage =>\r\n flatMap(subPackage.performanceGroupDetails\r\n .map(group => flatMap(group.appProductions.map(prod => prod.performances))))));\r\n const filteredPerformances = allPerf.filter(this.props.filterFunction);\r\n if (filteredPerformances.length == 0)\r\n return null;\r\n\r\n return (\r\n \r\n )\r\n\r\n }\r\n\r\n _toggleShowPerformances = () => {\r\n this.setState(\r\n { showPerformances: !(this.state.showPerformances) }\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IListPackageExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n settings: state.packageListingSettings,\r\n useUnseatedReserve: state.packageListingSettings.useUnseatedReservation,\r\n selectedPackage: state.packageListing.cartItems.size > 0 && state.packageListing.subPackagesInCart.keys().next().value == ownProps.package.id,\r\n filterFunction: state.packageListing.filterFunction,\r\n numberOfPackagesInList: state.packageListing.packages.length\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps: ListPackageProps): DispatchToProps {\r\n return {\r\n selectPackage: (pkg: IPackage, unseated: boolean) => {\r\n if (unseated) {\r\n dispatch(selectPackage(pkg));\r\n } else {\r\n window.location.href = `${window[\"pageData\"].smartSeatUrl}?itemNumber=${pkg.id}`;\r\n }\r\n dispatch(toggleMiniCart(true));\r\n },\r\n removeFromCart: (itemId: number) => {\r\n dispatch(removeItemFromCart(itemId));\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ListPackageBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { connect, Dispatch } from 'react-redux';\r\nimport { IPackageListingAppState } from '../redux-state';\r\n\r\nimport { IPackageListingAppText } from '../custom/classes/package-listing-text';\r\n\r\nimport LoaderView from 'package-loader.view';\r\n\r\ninterface IExternalProps {\r\n}\r\n\r\ninterface StateToProps {\r\n text: IPackageListingAppText;\r\n isProcessing: boolean;\r\n}\r\n\r\ninterface DispatchToProps {\r\n}\r\n\r\nexport type LoaderProps = IExternalProps & StateToProps;\r\n\r\nexport const LoaderBase: React.StatelessComponent = props => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IExternalProps): StateToProps {\r\n return {\r\n text: state.packageListingText,\r\n isProcessing: state.packageListing.processing\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(LoaderBase);","import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { IPackageListingState } from '../classes/package-listing';\r\nimport { connect } from 'react-redux';\r\n\r\nimport PackageListingContainerView from 'package-listing-container.view';\r\nimport { IPackageListingAppState } from '../redux-state';\r\n\r\ninterface IPackageListingContainerExternalProps {\r\n\r\n}\r\n\r\ninterface StateToProps {\r\n}\r\n\r\nexport type PackageListingContainerProps = IPackageListingContainerExternalProps & StateToProps;\r\n\r\nexport class PackageListingContainerBase extends React.Component {\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IPackageListingAppState, ownProps: IPackageListingContainerExternalProps): StateToProps {\r\n return {\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(PackageListingContainerBase);","import { IPackageListingAppBaseSettings, defaultBaseSettings } from \"../../classes/package-listing-settings\";\r\n\r\n/**\r\n * Want to add more text? Go to custom/classes/calendar-text and add new properties there.\r\n */\r\ninterface IPackageListingCustomSettings{\r\n}\r\n\r\n\r\nlet customText: IPackageListingCustomSettings = {\r\n}\r\n\r\nexport type IPackageListingAppSettings= IPackageListingCustomSettings & IPackageListingAppBaseSettings;\r\nexport const defaultSettings: IPackageListingAppSettings= { ...defaultBaseSettings, ...customText };","import { IPackageListingAppBaseText, defaultBaseText } from \"../../classes/package-listing-text\";\r\n\r\n/**\r\n * Want to add more text? Go to custom/classes/calendar-text and add new properties there.\r\n */\r\ninterface IPackageListingCustomText {\r\n}\r\n\r\n\r\nlet customText: IPackageListingCustomText = {\r\n}\r\n\r\nexport type IPackageListingAppText = IPackageListingCustomText & IPackageListingAppBaseText;\r\nexport const defaultText: IPackageListingAppText = { ...defaultBaseText, ...customText };","import { IZone, IFacility } from '../custom/classes/production';\r\nimport { IPackageListingAppState } from '../redux-state';\r\nimport { flatMap } from 'lodash';\r\nimport { filterMap, filterMapByValue } from './map-helpers';\r\n\r\nexport interface ICartItemDetail {\r\n facility: IFacility;\r\n itemTitle: string;\r\n itemDate: string;\r\n itemTime: string;\r\n itemIdToRemove: number;\r\n}\r\n\r\nexport function getCartItemDetails(state: IPackageListingAppState, itemId: number): ICartItemDetail {\r\n let itemDetail: ICartItemDetail = null;\r\n\r\n if (state.packageListingSettings.isFixed) {\r\n const matchedFixed = state.packageListing.packages.filter(p => p.id == itemId);\r\n\r\n if (matchedFixed.length === 1) {\r\n itemDetail = {\r\n facility: matchedFixed[0].facility,\r\n itemDate: \"\",\r\n itemTime: \"\",\r\n itemTitle: matchedFixed[0].title,\r\n itemIdToRemove: itemId\r\n };\r\n } else {\r\n const allSubPackages = flatMap(state.packageListing.packages\r\n .map(pkg => pkg.subPackages));\r\n\r\n const matchedSubPackage = allSubPackages.filter(p => p.id == itemId)[0];\r\n\r\n if (matchedSubPackage) {\r\n var packageId = filterMapByValue(state.packageListing.subPackagesInCart,\r\n value => {\r\n return value.indexOf(matchedSubPackage.id) >= 0\r\n }).keys().next().value;\r\n\r\n if (packageId) {\r\n const subPackages = state.packageListing.subPackagesInCart.get(packageId);\r\n itemDetail = {\r\n facility: matchedSubPackage.facility,\r\n itemDate: \"\",\r\n itemTime: \"\",\r\n itemIdToRemove: packageId,\r\n itemTitle: subPackages.indexOf(matchedSubPackage.id) === 0 ?\r\n state.packageListing.packages.filter(p => p.id === packageId)[0].title\r\n : \"\"\r\n };\r\n }\r\n\r\n }\r\n\r\n }\r\n } else {\r\n const allPerf = flatMap(state.packageListing.packageDetail.performanceGroupDetails\r\n .map(group => flatMap(group.appProductions.map(prod => prod.performances))));\r\n\r\n const matchedPerf = allPerf.filter(p => p.performanceId == itemId)[0];\r\n\r\n if (matchedPerf) {\r\n itemDetail = {\r\n facility: matchedPerf.facility,\r\n itemDate: matchedPerf.performanceDateDayString,\r\n itemTime: matchedPerf.performanceTimeString,\r\n itemTitle: matchedPerf.title,\r\n itemIdToRemove: itemId\r\n };\r\n\r\n }\r\n }\r\n\r\n return itemDetail;\r\n}\r\n\r\n\r\n","import * as moment from 'moment';\r\nimport { IEventFilter, IPackageListingState } from '../classes/package-listing';\r\nimport { IProduction, IPackage } from '../custom/classes/production';\r\nimport { upsertEventFilter } from '../redux-state/actions/package-listing.actions';\r\n\r\n\r\nexport function AddFilterToQuery(currState: IPackageListingState): void {\r\n const serialized = serializeProps(currState);\r\n if (serialized.length > 0) {\r\n window.location.hash = encodeURI(serialized);\r\n }\r\n}\r\n\r\nfunction serializeProps(state: IPackageListingState): string {\r\n if (state.eventFilter.length < 1)\r\n return \"\";\r\n return JSON.stringify(state.eventFilter);\r\n}\r\n\r\n\r\nexport function generateEventFilter(propertyToFilter: string, selectedValue: string) {\r\n return (production: IProduction) => {\r\n const propertyValue = production[propertyToFilter];\r\n // If it's an array, check if the value exists inside\r\n if (propertyValue.constructor === Array) {\r\n return (propertyValue as any[]).some(item => item === selectedValue);\r\n } else {\r\n return production[propertyToFilter].toString() === selectedValue\r\n }\r\n }\r\n}\r\n","import * as moment from 'moment';\r\nimport { IEventFilter, IPackageListingState } from '../classes/package-listing';\r\nimport { IProduction, IPackage } from '../custom/classes/production';\r\nimport { upsertEventFilter } from '../redux-state/actions/package-listing.actions';\r\n\r\n\r\nexport function filterMap(list: Map, filterFunc: (key: TKey) => boolean): Map {\r\n let resultMap = new Map();\r\n\r\n list.forEach((val, key) => {\r\n if (filterFunc(key)) {\r\n resultMap.set(key, val);\r\n }\r\n })\r\n\r\n return resultMap;\r\n}\r\n\r\nexport function filterMapByValue(list: Map, filterFunc: (value: TValue) => boolean): Map {\r\n let resultMap = new Map();\r\n\r\n list.forEach((val, key) => {\r\n if (filterFunc(val)) {\r\n resultMap.set(key, val);\r\n }\r\n })\r\n\r\n return resultMap;\r\n}\r\n\r\nexport function getByValue(map, searchValue) {\r\n for (let [key, value] of map.entries()) {\r\n if (value === searchValue)\r\n return key;\r\n }\r\n}\r\n\r\n","import { IZone } from '../custom/classes/production';\r\n\r\n\r\nexport function sumPrices(zone: IZone, priceTypeQuantities: Map) {\r\n let prices = [];\r\n let foundAllPriceTypes = true;\r\n priceTypeQuantities.forEach((quantity, ptId) => {\r\n const matchedPrice = zone.prices.filter(pr => pr.priceTypeId === ptId);\r\n if (matchedPrice.length > 0) {\r\n var i;\r\n for (i = 0; i < quantity; i++) {\r\n prices.push(matchedPrice.map(pr => pr.price).reduce((total, num) => total + num, 0));\r\n }\r\n }\r\n else {\r\n foundAllPriceTypes = false;\r\n }\r\n });\r\n\r\n const priceSum = prices.reduce((total, num) => total + num, 0);\r\n return { priceSum, foundAllPriceTypes };\r\n}\r\n\r\n\r\n","import * as React from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { appStore } from './redux-state';\r\nimport App from './components/app';\r\n\r\n\r\nrender(\r\n \r\n \r\n \r\n , document.getElementById(\"package-listing-entry-js\"));","import { IPackageListingAppState } from \"..\";\r\nimport PackageApi from \"../../common/package-api\";\r\nimport { processPackageRequest, processPackageRequestError, receivePerformancePricing, receivePackagePricing } from \"./package-listing.actions\";\r\nimport { IPerformancePricing } from \"../../custom/classes/production\";\r\nimport { filterMap } from \"../../helpers/map-helpers\";\r\n\r\nexport function processPackage() {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n const state = getState();\r\n\r\n dispatch(processPackageRequest());\r\n var priceTypes = [];\r\n\r\n Array.from(state.packageListing.priceTypeQuantity.keys()).forEach(pt => {\r\n var quantity = state.packageListing.priceTypeQuantity.get(pt);\r\n var i;\r\n for (i = 0; i < quantity; i++) {\r\n priceTypes.push(pt);\r\n }\r\n\r\n });\r\n\r\n if (state.packageListingSettings.isFixed) {\r\n\r\n const superPackagesInCart = state.packageListing.subPackagesInCart;\r\n var regularFixedPackages = state.packageListing.cartItems;\r\n\r\n if (superPackagesInCart.size > 0) {\r\n // has super packages in cart\r\n\r\n regularFixedPackages = filterMap(state.packageListing.cartItems,\r\n packageId => Array.from(superPackagesInCart.keys()).indexOf(packageId) < 0)\r\n\r\n superPackagesInCart.forEach((subPackageIds, packageId) => {\r\n let subPackageZones = {};\r\n\r\n subPackageIds.forEach(subPackageId => {\r\n subPackageZones[subPackageId] = state.packageListing.cartItems.get(subPackageId);\r\n })\r\n\r\n PackageApi.processSuperPackage(packageId,\r\n subPackageZones,\r\n priceTypes,\r\n state.packageListing.orderNotes,\r\n state.packageListingSettings.configId\r\n ).then(apiResult => {\r\n if (apiResult.success && apiResult.redirectUrl != null) {\r\n window.location = apiResult.redirectUrl;\r\n } else {\r\n dispatch(processPackageRequestError(apiResult.errorMessages));\r\n }\r\n }).catch(error => {\r\n //dispatch(errorPromoCodeApply(error));\r\n });\r\n })\r\n } else {\r\n regularFixedPackages.forEach((zoneId, packageId) => {\r\n\r\n PackageApi.processFixedPackage(packageId,\r\n zoneId,\r\n priceTypes,\r\n state.packageListing.orderNotes,\r\n state.packageListingSettings.configId,\r\n state.packageListing.seatingPreferences,\r\n state.packageListingSettings.isRenewal,\r\n state.packageListing.seatingChoice\r\n ).then(apiResult => {\r\n if (apiResult.success && apiResult.redirectUrl != null) {\r\n window.location = apiResult.redirectUrl;\r\n } else {\r\n dispatch(processPackageRequestError(apiResult.errorMessages));\r\n }\r\n }).catch(error => {\r\n //dispatch(errorPromoCodeApply(error));\r\n });\r\n });\r\n }\r\n } else {\r\n let performanceZones = {};\r\n\r\n for (let [key, value] of state.packageListing.cartItems) {\r\n performanceZones[key] = value;\r\n }\r\n\r\n return PackageApi.processFlexPackage(state.packageListing.packageDetail.id, performanceZones,\r\n priceTypes, state.packageListing.packageDetail.useUnseatedReservation,\r\n state.packageListing.orderNotes,\r\n state.packageListingSettings.configId\r\n ).then(apiResult => {\r\n if (apiResult.success && apiResult.redirectUrl != null) {\r\n window.location = apiResult.redirectUrl;\r\n } else {\r\n dispatch(processPackageRequestError(apiResult.errorMessages));\r\n }\r\n }).catch(error => {\r\n //dispatch(errorPromoCodeApply(error));\r\n });\r\n }\r\n\r\n }\r\n}\r\n\r\nexport function getPerformancePricing(performanceId: number) {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n\r\n //dispatch(processPackageRequest());\r\n\r\n return PackageApi.getPerformancePricing(performanceId).then(apiResult => {\r\n\r\n dispatch(receivePerformancePricing(apiResult));\r\n }).catch(error => {\r\n //dispatch(errorPromoCodeApply(error));\r\n });\r\n }\r\n}\r\n\r\nexport function getPackagePricing(packageId: number) {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n\r\n return PackageApi.getPackagePricing(packageId).then(apiResult => {\r\n\r\n dispatch(receivePackagePricing(apiResult));\r\n }).catch(error => {\r\n });\r\n }\r\n}","import { chain } from 'lodash';\r\nimport { ActionType } from '../../classes/package-listing-actions';\r\nimport { IEventFilter, IPerformanceErrorMessage, ISeat } from '../../classes/package-listing';\r\nimport { IPackage, IPerformance, IPerformancePricing, IPackagePricing, IPackageRequest } from '../../custom/classes/production';\r\nimport { IPackageListingAppState } from '..';\r\nimport { getPerformancePricing, getPackagePricing } from './package-api.actions';\r\n\r\n/**\r\n * Use only after events have been updated.\r\n */\r\nexport function eventsUpdated() {\r\n return {\r\n type: ActionType.PerformancesUpdated\r\n }\r\n}\r\n\r\n/**\r\n * Update the events being stored in the redux state.\r\n * @param events\r\n */\r\n//export function updateEvents(performanceGroups: Array) {\r\n// return {\r\n// type: ActionType.UpdateEvents,\r\n// value: performanceGroups\r\n// }\r\n//}\r\n\r\n\r\nexport function loadPackage(packageDetail: IPackage) {\r\n return {\r\n type: ActionType.LoadPackage,\r\n value: packageDetail\r\n }\r\n}\r\n\r\nexport function loadPackages(packages: Array) {\r\n return {\r\n type: ActionType.LoadPackages,\r\n value: packages\r\n }\r\n}\r\n\r\nexport function loadPackageRequest(packageDetail: IPackageRequest, originalSeats: Array) {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n const currentState = getState();\r\n\r\n dispatch({ type: ActionType.LoadPackageRequest });\r\n\r\n chain(packageDetail.requestedPriceTypeIds)\r\n .groupBy(id => id)\r\n .forEach((priceTypes, ptId) => {\r\n dispatch(updatePriceTypeQuantity(+ptId, priceTypes.length));\r\n dispatch(setOriginalSeatQuantity(+ptId, priceTypes.length));\r\n })\r\n .value();\r\n\r\n if (packageDetail.packageId > 0) {\r\n dispatch(selectPackage(currentState.packageListing.packages.filter(pkg => pkg.id == packageDetail.packageId)[0]));\r\n currentState.packageListing.originalSeatQuantity = currentState.packageListing.totalNumberOfTicket;\r\n }\r\n\r\n if (originalSeats) {\r\n dispatch(setOriginalSeats(originalSeats));\r\n }\r\n\r\n if (packageDetail.subPackageZones) {\r\n for (let subPackageId in packageDetail.subPackageZones) {\r\n let zoneId = packageDetail.subPackageZones[subPackageId];\r\n dispatch(updateSelectedZone(+subPackageId, zoneId));\r\n }\r\n } else if (packageDetail.zoneId > 0) {\r\n dispatch(updateSelectedZone(packageDetail.packageId, packageDetail.zoneId));\r\n }\r\n }\r\n}\r\n\r\nexport function upsertEventFilter(filterFunction: IEventFilter) {\r\n return {\r\n type: ActionType.UpdatePerformancesFilter,\r\n value: filterFunction\r\n }\r\n}\r\n\r\nexport function removeEventFilter(filterKey: string) {\r\n return {\r\n type: ActionType.RemovePerformancesFilter,\r\n value: filterKey\r\n }\r\n}\r\n\r\nexport function removeAllEventFilters() {\r\n return {\r\n type: ActionType.RemoveAllPerformancesFilters\r\n }\r\n}\r\n\r\nexport function updateSettings(settings) {\r\n return {\r\n type: ActionType.UpdateSettings,\r\n value: settings\r\n }\r\n}\r\n\r\nexport function selectPerformance(performance: IPerformance) {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n dispatch(addItemToCart(performance.performanceId));\r\n dispatch(getPerformancePricing(performance.performanceId))\r\n }\r\n}\r\n\r\nexport function selectPackage(pkg: IPackage) {\r\n return (dispatch, getState: () => IPackageListingAppState) => {\r\n\r\n // super package\r\n if (pkg.subPackages.length > 0) {\r\n pkg.subPackages.forEach(subPackage => {\r\n dispatch(addItemToCart(subPackage.id, pkg.id));\r\n });\r\n } else {\r\n dispatch(addItemToCart(pkg.id));\r\n }\r\n dispatch(getPackagePricing(pkg.id));\r\n\r\n }\r\n}\r\n\r\nexport function receivePerformancePricing(performancePricing: Array) {\r\n return {\r\n type: ActionType.ReceivePerformancePricing,\r\n value: performancePricing\r\n }\r\n}\r\n\r\nexport function receivePackagePricing(packagePricing: IPackagePricing) {\r\n return {\r\n type: ActionType.ReceivePackagePricing,\r\n value: packagePricing\r\n }\r\n}\r\n\r\nexport function addItemToCart(itemId: number, parentPackageId: number = undefined) {\r\n return {\r\n type: ActionType.AddItemToCart,\r\n value: {\r\n itemId,\r\n packageId: parentPackageId\r\n }\r\n }\r\n}\r\n\r\nexport function removeItemFromCart(itemId: number) {\r\n return {\r\n type: ActionType.RemoveItemFromCart,\r\n value: itemId\r\n }\r\n}\r\n\r\nexport function updateSelectedZone(itemId: number, zoneId: number) {\r\n return {\r\n type: ActionType.UpdateSelectedZone,\r\n value: {\r\n itemId: itemId,\r\n zoneId: zoneId\r\n }\r\n }\r\n}\r\n\r\nexport function removeSelectedZone(cartItemId: number) {\r\n return {\r\n type: ActionType.RemoveSelectedZone,\r\n value: cartItemId\r\n }\r\n}\r\n\r\nexport function updatePriceTypeQuantity(priceTypeId: number, quantity: number) {\r\n return {\r\n type: ActionType.UpdatePriceTypeQuantity,\r\n value: {\r\n priceTypeId: priceTypeId,\r\n quantity: quantity\r\n }\r\n }\r\n}\r\n\r\nexport function setOriginalSeatQuantity(priceTypeId: number, quantity: number) {\r\n return {\r\n type: ActionType.SetOriginalSeatQuantity,\r\n value: {\r\n priceTypeId: priceTypeId,\r\n quantity: quantity\r\n }\r\n }\r\n}\r\n\r\nexport function setOriginalSeats(originalSeats: Array) {\r\n return {\r\n type: ActionType.SetOriginalSeats,\r\n value: {\r\n originalSeats: originalSeats\r\n }\r\n }\r\n}\r\n\r\nexport function clearPriceTypeQuantities() {\r\n return {\r\n type: ActionType.ClearPriceTypeQuantities,\r\n value: {\r\n }\r\n }\r\n}\r\n\r\nexport function updateOrderNotes(orderNotes: string) {\r\n return {\r\n type: ActionType.UpdateOrderNotes,\r\n value: orderNotes\r\n }\r\n}\r\n\r\nexport function updateSeatingChoice(seatingChoice: number) {\r\n return {\r\n type: ActionType.UpdateSeatingChoice,\r\n value: seatingChoice\r\n }\r\n}\r\n\r\nexport function updateSeatingPreferences(preferences: string) {\r\n return {\r\n type: ActionType.UpdateSeatingPreferences,\r\n value: preferences\r\n }\r\n}\r\n\r\nexport function processPackageRequest() {\r\n return {\r\n type: ActionType.UpdatePackageProcessing,\r\n value: true\r\n }\r\n}\r\n\r\n\r\nexport function processPackageRequestError(errorMessages: Array) {\r\n return {\r\n type: ActionType.UpdatePackageProcessingErrors,\r\n value: errorMessages\r\n }\r\n}\r\n\r\nexport function toggleMiniCart(openMiniCart: boolean) {\r\n return {\r\n type: ActionType.ToggleMiniCart,\r\n value: openMiniCart\r\n }\r\n}","import * as moment from 'moment';\r\nimport { applyMiddleware, combineReducers, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { IPackageListingState } from '../classes/package-listing';\r\nimport { IPackageListingAppText } from '../custom/classes/package-listing-text';\r\nimport packageListingTextReducer from './reducers/package-text.reducer';\r\nimport packageListingReducer from './reducers/package-listing.reducer';\r\nimport { IProduction, IPackage } from '../custom/classes/production';\r\nimport { loadPackage, updateSettings, loadPackages, loadPackageRequest } from './actions/package-listing.actions';\r\nimport { IPackageListingAppSettings } from '../custom/classes/package-listing-settings';\r\nimport packageListingSettingsReducer from './reducers/package-settings.reducer';\r\n\r\n\r\ndeclare const pageData: any;\r\ndeclare const packageDetail: any;\r\ndeclare const packages: any;\r\ndeclare const packageRequest: any;\r\ndeclare const packageOriginalSeats: any;\r\n\r\nexport interface IPackageListingAppState {\r\n packageListing: IPackageListingState;\r\n packageListingText: IPackageListingAppText;\r\n packageListingSettings: IPackageListingAppSettings;\r\n}\r\n\r\nconst appReducer = combineReducers({\r\n packageListing: packageListingReducer,\r\n packageListingText: packageListingTextReducer,\r\n packageListingSettings: packageListingSettingsReducer\r\n});\r\n\r\n//let calendarSettings = {\r\n// ...defaultCalendarSettings\r\n//};\r\n\r\nconst appStore = createStore(appReducer, {\r\n //calendarSettings: calendarSettings\r\n}, applyMiddleware(thunk));\r\n\r\n// redux-thunk messes with redux typings.\r\n//appStore.dispatch(getEventsFromApi() as any);\r\n\r\n\r\nappStore.dispatch(updateSettings(pageData) as any);\r\nif (typeof (packageDetail) === \"undefined\") {\r\n appStore.dispatch(loadPackages(packages));\r\n if (packageRequest) {\r\n appStore.dispatch(loadPackageRequest(packageRequest, packageOriginalSeats) as any);\r\n }\r\n} else {\r\n appStore.dispatch(loadPackage(packageDetail));\r\n}\r\n\r\nexport { appStore };\r\n","import { IPackageListingState, IEventFilter, defaultPackageListingModel } from '../../classes/package-listing';\r\nimport { IProduction, IPerformanceGroup, IPackage, IPerformancePricing, IPerformance } from '../../custom/classes/production';\r\n\r\nimport { ActionType, IPackageListingStateAction } from '../../classes/package-listing-actions';\r\n\r\nimport { filterMap } from '../../helpers/map-helpers';\r\n\r\nimport { cloneDeep } from 'lodash';\r\nimport { generateEventFilter } from '../../helpers/filter-by-query';\r\n/**\r\n * Returns the new search state given a particular action. This where all of the application\r\n * logic resides.\r\n */\r\nexport default function packageListingReducer(state: IPackageListingState = defaultPackageListingModel, action: IPackageListingStateAction) {\r\n switch (action.type) {\r\n case ActionType.LoadPackage: {\r\n return { ...state, packageDetail: action.value } as IPackageListingState;\r\n }\r\n case ActionType.LoadPackages: { \r\n if (window.location.search !== \"\") {\r\n let queryStringFilters: IEventFilter[] = new Array();\r\n decodeURI(window.location.search)\r\n .replace('?', '')\r\n .split('&')\r\n .map(param => param.split('='))\r\n .map(filters => {\r\n const filter: IEventFilter = {\r\n key: filters[0],\r\n selectedValue: filters[1],\r\n filter: generateEventFilter(filters[0], filters[1])\r\n }\r\n queryStringFilters.push(filter);\r\n });\r\n return { ...state, packages: action.value, eventFilter: queryStringFilters } as IPackageListingState;\r\n }\r\n else {\r\n return { ...state, packages: action.value } as IPackageListingState;\r\n }\r\n }\r\n case ActionType.UpdatePerformancesFilter: {\r\n const updating = true;\r\n const addedFilterFunction = action.value;\r\n let eventFilter: IEventFilter[] = null;\r\n if (state.eventFilter.some(filter => { return filter.key === addedFilterFunction.key })) {\r\n eventFilter = state.eventFilter.filter(filter => !(filter.key === addedFilterFunction.key)).concat([addedFilterFunction]);\r\n } else {\r\n eventFilter = state.eventFilter.concat([addedFilterFunction])\r\n }\r\n const filterFunction = (event) => eventFilter.map(fil => {\r\n return fil.filter;\r\n }).every(f => f(event));\r\n\r\n const currentPage = window.location.origin + window.location.pathname;\r\n let filterQuery = \"\";\r\n eventFilter.forEach(filter => {\r\n if (filterQuery === \"\") {\r\n filterQuery = \"?\" + filter.key + \"=\" + filter.selectedValue;\r\n } else {\r\n filterQuery += \"&\" + filter.key + \"=\" + filter.selectedValue;\r\n }\r\n })\r\n window.history.pushState({ path: currentPage + filterQuery }, '', currentPage + filterQuery);\r\n\r\n return { ...state, eventFilter, filterFunction, updating } as IPackageListingState;\r\n }\r\n\r\n case ActionType.RemovePerformancesFilter: {\r\n const eventFilter = state.eventFilter.filter(filter => filter.key !== action.value);\r\n const filterFunction = (event: IProduction) => eventFilter.map(filter => filter.filter).every(func => func(event));\r\n\r\n return { ...state, eventFilter, filterFunction, updating: true } as IPackageListingState;\r\n }\r\n\r\n case ActionType.RemoveAllPerformancesFilters: {\r\n return { ...state, eventFilter: [], filterFunction: (event: IProduction) => true, updating: true } as IPackageListingState;\r\n }\r\n\r\n case ActionType.UpdateOrderNotes: {\r\n return { ...state, orderNotes: action.value } as IPackageListingState;\r\n }\r\n\r\n case ActionType.UpdateSeatingChoice: {\r\n let updatedSeatingChoice = [...state.seatingChoice];\r\n const indexOfSeat = state.seatingChoice.indexOf(action.value);\r\n if (indexOfSeat >= 0)\r\n updatedSeatingChoice = updatedSeatingChoice.splice(indexOfSeat, indexOfSeat);\r\n else\r\n updatedSeatingChoice.push(action.value);\r\n\r\n return { ...state, seatingChoice: updatedSeatingChoice } as IPackageListingState;\r\n }\r\n\r\n case ActionType.AddItemToCart: {\r\n let updatedMap = state.cartItems.set(action.value.itemId, 0);\r\n\r\n if (action.value.packageId) {\r\n let addedSubPackages = state.subPackagesInCart.get(action.value.packageId);\r\n\r\n let updatedSubPackageList = [...action.value.itemId];\r\n\r\n if (addedSubPackages) {\r\n updatedSubPackageList = addedSubPackages.concat(updatedSubPackageList);\r\n }\r\n var updatedSubPackageMap = state.subPackagesInCart.set(action.value.packageId, updatedSubPackageList)\r\n }\r\n return { ...state, cartItems: updatedMap, subPackagesInCart: updatedSubPackageMap ? updatedSubPackageMap: state.subPackagesInCart } as IPackageListingState;\r\n }\r\n case ActionType.UpdateSeatingPreferences: {\r\n return { ...state, seatingPreferences: action.value } as IPackageListingState;\r\n }\r\n\r\n\r\n\r\n case ActionType.RemoveItemFromCart: {\r\n\r\n const matchedSuperPackage = state.subPackagesInCart.get(action.value);\r\n if (matchedSuperPackage) {\r\n let newPerfs = filterMap(state.cartItems, cartItem => matchedSuperPackage.indexOf(cartItem) < 0);\r\n let newSubPackageList = filterMap(state.subPackagesInCart, cartItem => cartItem !== action.value)\r\n return { ...state, cartItems: newPerfs, subPackagesInCart: newSubPackageList } as IPackageListingState;\r\n\r\n } else {\r\n let newPerfs = filterMap(state.cartItems, cartItem => cartItem !== action.value);\r\n return { ...state, cartItems: newPerfs } as IPackageListingState;\r\n\r\n }\r\n }\r\n\r\n case ActionType.PerformancesUpdated: {\r\n return { ...state, updating: false } as IPackageListingState;\r\n }\r\n case ActionType.BrowserNavigated: {\r\n state = action.value.state;\r\n return state as IPackageListingState;\r\n }\r\n case ActionType.UpdatePriceTypeQuantity: {\r\n state.priceTypeQuantity.set(action.value.priceTypeId, action.value.quantity);\r\n const ticketSum = Array.from(state.priceTypeQuantity.values()).reduce((total, num) => total + num, 0);\r\n return { ...state, totalNumberOfTicket: ticketSum } as IPackageListingState;\r\n }\r\n case ActionType.SetOriginalSeatQuantity: {\r\n const ticketSum = Array.from(state.priceTypeQuantity.values()).reduce((total, num) => total + num, 0);\r\n return { ...state, originalSeatQuantity: ticketSum } as IPackageListingState;\r\n }\r\n case ActionType.SetOriginalSeats: {\r\n return { ...state, originalSeats: action.value.originalSeats }\r\n }\r\n case ActionType.ClearPriceTypeQuantities: {\r\n state.priceTypeQuantity.clear();\r\n let defaultNumberOfTickets = 0;\r\n\r\n if (state.packageDetail != null && state.packageDetail.packagePriceTypes.length == 1) {\r\n defaultNumberOfTickets = 1;\r\n state.priceTypeQuantity.set(state.packageDetail.packagePriceTypes[0].priceTypeId, 1);\r\n }\r\n\r\n return { ...state, totalNumberOfTicket: defaultNumberOfTickets, priceTypeQuantity: new Map() } as IPackageListingState;\r\n }\r\n case ActionType.UpdatePackageProcessing: {\r\n return { ...state, processing: true, errorMessages: [] } as IPackageListingState;\r\n }\r\n case ActionType.UpdatePackageProcessingErrors: {\r\n return { ...state, processing: false, errorMessages: action.value } as IPackageListingState;\r\n }\r\n case ActionType.ReceivePerformancePricing: {\r\n const perfPricing: IPerformancePricing = action.value;\r\n\r\n let newList = state.performancePricingList.set(perfPricing.performanceId, perfPricing);\r\n\r\n return { ...state, performancePricingList: newList } as IPackageListingState;\r\n\r\n }\r\n case ActionType.ReceivePackagePricing: {\r\n const packagePricing = action.value;\r\n\r\n let newList = state.performancePricingList.set(packagePricing.packageId, packagePricing);\r\n\r\n return { ...state, performancePricingList: newList } as IPackageListingState;\r\n\r\n }\r\n case ActionType.UpdateSelectedZone: {\r\n let matchedPerf = filterMap(state.cartItems, p => p === action.value.itemId);\r\n state.cartItems.set(matchedPerf.keys().next().value, action.value.zoneId);\r\n let newPerfs = cloneDeep(state.cartItems);\r\n\r\n return { ...state, cartItems: newPerfs } as IPackageListingState;\r\n\r\n }\r\n\r\n case ActionType.RemoveSelectedZone: {\r\n let matchedItem = filterMap(state.cartItems, p => p === action.value);\r\n state.cartItems.set(matchedItem.keys().next().value, 0);\r\n let newPerfs = cloneDeep(state.cartItems);\r\n\r\n return { ...state, cartItems: newPerfs } as IPackageListingState;\r\n\r\n }\r\n\r\n //case ActionType.UpdatePackageZone: {\r\n\r\n // return { ...state, packageInCart: state.packageInCart.set(state.packageInCart.keys().next().value, action.value.zoneId) } as IPackageListingState;\r\n\r\n //}\r\n\r\n //case ActionType.RemovePackageZone: {\r\n // return { ...state, packageInCart: state.packageInCart.set(state.packageInCart.keys().next().value, 0) } as IPackageListingState;\r\n\r\n //}\r\n\r\n case ActionType.ToggleMiniCart: {\r\n return { ...state, miniCartOpen: action.value } as IPackageListingState;\r\n\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { IPackageListingAppSettings, defaultSettings } from '../../custom/classes/package-listing-settings';\r\nimport { ActionType, IPackageListingStateAction } from '../../classes/package-listing-actions';\r\n\r\n/**\r\n * Returns the new search state given a particular action. This where all of the application\r\n * logic resides.\r\n */\r\nexport default function packageListingSettingsReducer(state: IPackageListingAppSettings = defaultSettings, action: IPackageListingStateAction) {\r\n switch (action.type) {\r\n case ActionType.UpdateSettings: {\r\n return { ...state, ...action.value, requesting: false, apiError: null } as IPackageListingAppSettings;\r\n }\r\n case ActionType.LoadPackage: {\r\n return { ...state, useUnseatedReservation: action.value.useUnseatedReservation, isFixed: false } as IPackageListingAppSettings;\r\n }\r\n case ActionType.LoadPackageRequest: {\r\n return { ...state, isRenewal: true };\r\n }\r\n case ActionType.LoadPackages: {\r\n return { ...state, isFixed: true } as IPackageListingAppSettings;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { IPackageListingAppText, defaultText } from '../../custom/classes/package-listing-text';\r\nimport { ActionType, IPackageListingStateAction } from '../../classes/package-listing-actions';\r\n\r\n/**\r\n * Returns the new search state given a particular action. This where all of the application\r\n * logic resides.\r\n */\r\nexport default function packageTextReducer(state: IPackageListingAppText = defaultText, action: IPackageListingStateAction) {\r\n switch (action.type) {\r\n case ActionType.UpdateSettings: {\r\n return { ...state, ...action.value, requesting: false, apiError: null } as IPackageListingAppText;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as React from 'react';\r\n//import { AppProps } from '../../components/app';\r\nimport PackageListingContainer from '../../components/package-listing-container';\r\nimport CartContainer from '../../components/cart/container';\r\nimport QuantitySelect from '../../components/cart/quantity-select';\r\nimport * as Sticky from 'sticky-js';\r\n\r\nimport FiltersContainer from '../../components/filters/container';\r\nimport { AppProps } from '../../components/app';\r\n\r\ninterface FixedState {\r\n stickyInstance: any;\r\n}\r\n\r\nclass AppView extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n stickyInstance: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.stickyCart();\r\n }\r\n\r\n stickyCart() {\r\n if (this.state) {\r\n if (this.state.stickyInstance == null) {\r\n this.setState({\r\n stickyInstance: new Sticky('[data-sticky-el]')\r\n })\r\n }\r\n else {\r\n this.state.stickyInstance.update();\r\n }\r\n }\r\n }\r\n render() {\r\n return (\r\n <>\r\n\r\n {\r\n this.props.settings.isRenewal || this.props.settings.voucherPackage ? null\r\n :\r\n \r\n }\r\n\r\n
\r\n
\r\n \r\n
\r\n {\r\n !this.props.settings.useUnseatedReservation ? null :\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppView;","import * as React from 'react';\r\n//import { AppProps } from '../../components/app';\r\nimport PackageListingContainer from '../../components/package-listing-container';\r\nimport CartContainer from '../../components/cart/container';\r\nimport QuantitySelect from '../../components/cart/quantity-select';\r\nimport * as Sticky from 'sticky-js';\r\n\r\nimport FiltersContainer from '../../components/filters/container';\r\nimport { AppProps } from '../../components/app';\r\n\r\ninterface FlexState {\r\n stickyInstance: any;\r\n}\r\n\r\nclass AppView extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n stickyInstance: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.stickyCart();\r\n }\r\n\r\n stickyCart() {\r\n if (this.state) {\r\n if (this.state.stickyInstance == null) {\r\n this.setState({\r\n stickyInstance: new Sticky('[data-sticky-el]')\r\n })\r\n }\r\n else {\r\n this.state.stickyInstance.update();\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppView;","import * as React from 'react';\r\n\r\nimport { CombinedPackageViewProps } from '../../components/list/package';\r\nimport ListPerformances from '../../components/list/performances';\r\n\r\nconst ListPackageView: React.StatelessComponent = props => {\r\n\r\n const selectSubscriptionButton = (\r\n \r\n );\r\n\r\n return (\r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {props.package.title}\r\n

    \r\n {\r\n props.package.description ?\r\n

    {props.package.description}

    \r\n : null\r\n }\r\n
    \r\n
    \r\n {\r\n props.package.packageTimeDescriptionMessage ?\r\n

    {props.package.packageTimeDescriptionMessage}

    \r\n : null\r\n }\r\n {\r\n props.package.numberOfPerformancesMessage ?\r\n

    {props.package.numberOfPerformancesMessage}

    \r\n : null\r\n }\r\n
    \r\n
    \r\n\r\n { //check to see if there is only one package (then it doesn't make sense to be able to remove it)\r\n props.numberOfPackagesInList == 1 && props.selectedPackage && props.useUnseatedReserve\r\n ? null\r\n :\r\n
    \r\n {selectSubscriptionButton}\r\n
    \r\n }\r\n
    \r\n {props.settings.voucherPackage ? null :\r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {selectSubscriptionButton}\r\n
    \r\n
    \r\n }\r\n
    \r\n
  • \r\n )\r\n}\r\n\r\nexport default ListPackageView;","import * as React from 'react';\r\n\r\nimport { ListPackagesProps } from '../../components/list/packages';\r\nimport ListPackage from '../../components/list/package';\r\nimport ListSuperPackage from '../../components/list/super-package';\r\n\r\nimport { PackageType } from '../../classes/package-listing';\r\n\r\nconst ListPackagesView: React.StatelessComponent = props => {\r\n return (\r\n
      \r\n {\r\n props.packages.map(pkg =>\r\n pkg.packageType == PackageType.Super ?\r\n \r\n : )\r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default ListPackagesView;","import * as React from 'react';\r\n\r\nimport { ListPerformanceProps } from '../../components/list/performance';\r\nimport ListProduction from '../../components/list/production';\r\n\r\nconst ListPerformanceView: React.StatelessComponent = props => {\r\n\r\n return (\r\n
  • \r\n

    \r\n {props.performance.performanceDateDayString}\r\n {props.performance.performanceTimeString}\r\n

    \r\n {\r\n props.showReserveButton ?\r\n

    \r\n \r\n

    \r\n : null\r\n }\r\n\r\n
  • \r\n );\r\n}\r\n\r\nexport default ListPerformanceView;","import * as React from 'react';\r\n\r\nimport { CombinedPerformancesViewProps } from '../../components/list/performances';\r\nimport ListPerformance from '../../components/list/performance';\r\n\r\nconst ListPerformancesView: React.StatelessComponent = props => {\r\n\r\n return (\r\n <>\r\n
      \r\n {props.settings.numberOfPerformancesToDisplayByDefault > 0 ?\r\n <>\r\n {\r\n props.filteredPerformances.slice(0, props.settings.numberOfPerformancesToDisplayByDefault)\r\n .map(perf => )\r\n }\r\n {\r\n props.showAllPerformances ?\r\n props.filteredPerformances.slice(props.settings.numberOfPerformancesToDisplayByDefault, props.filteredPerformances.length)\r\n .map(perf => )\r\n : null\r\n }\r\n \r\n :\r\n props.filteredPerformances.map(perf => )\r\n }\r\n
    \r\n\r\n {\r\n props.settings.numberOfPerformancesToDisplayByDefault > 0 && props.filteredPerformances.length > props.settings.numberOfPerformancesToDisplayByDefault && !props.showAllPerformances ?\r\n \r\n : null\r\n }\r\n\r\n \r\n );\r\n}\r\n\r\nexport default ListPerformancesView;","import * as React from 'react';\r\n\r\nimport { ListPerformanceProps } from '../../components/list/performance';\r\nimport ListProduction from '../../components/list/production';\r\n\r\nconst ListProdPerformanceView: React.StatelessComponent = props => {\r\n\r\n return (\r\n
  • \r\n
    \r\n

    \r\n {\r\n props.performance.productionDetailPageLink != null && props.performance.productionDetailPageLink.length > 0 ?\r\n {props.performance.title}\r\n :\r\n props.performance.title\r\n }\r\n

    \r\n

    \r\n {props.performance.performanceDateDayString}\r\n {props.performance.performanceTimeString}\r\n

    \r\n
    \r\n\r\n

    \r\n {props.performance.facility.facilityDescription}\r\n

    \r\n
  • \r\n );\r\n}\r\n\r\nexport default ListProdPerformanceView;","import * as React from 'react';\r\n\r\nimport { ListProductionGroupProps } from '../../components/list/production-group';\r\nimport ListProduction from '../../components/list/production';\r\n\r\nconst ListProductionGroupView: React.StatelessComponent = props => {\r\n\r\n return (\r\n
    \r\n\r\n {\r\n props.requiresPerformanceGroupMax || props.requiresPerformanceGroupMin ?\r\n <>\r\n\r\n
    \r\n

    {props.performanceGroup.description}

    \r\n {\r\n props.requiresPerformanceGroupMin && props.cartPerformanceIdsInGroup.length < props.groupMin ?\r\n

    {props.text.addAdditionalPerformancesForPerformanceGroupMessage\r\n .replace(\"{0}\", (props.groupMin - props.cartPerformanceIdsInGroup.length).toString())\r\n .replace(\"{1}\", props.performanceGroup.description)}

    \r\n : null\r\n }\r\n {\r\n props.requiresPerformanceGroupMax && props.cartPerformanceIdsInGroup.length == props.groupMax ?\r\n

    {props.text.maxPerformancesForGroupMessage.replace(\"{0}\", props.performanceGroup.description)}

    \r\n : null\r\n }\r\n
    \r\n \r\n : null\r\n }\r\n\r\n
      \r\n {\r\n props.performanceGroup.appProductions.map(p => )\r\n }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default ListProductionGroupView;","import * as React from 'react';\r\n\r\nimport { ListProductionGroupsProps } from '../../components/list/production-groups';\r\nimport ListProductionGroup from '../../components/list/production-group';\r\n\r\nconst ListProductionGroupsView: React.StatelessComponent = props => {\r\n return (\r\n
    \r\n {\r\n props.performanceGroups.map(pGroup => )\r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default ListProductionGroupsView;","import * as React from 'react';\r\n\r\nimport { CombinedProductionViewProps } from '../../components/list/production';\r\nimport ListPerformances from '../../components/list/performances';\r\n\r\nconst ListMonthsView: React.StatelessComponent = props => {\r\n\r\n const pdpHeader = (\r\n

    {props.production.productionTitle}

    \r\n );\r\n\r\n return (\r\n
  • \r\n
    \r\n
    \r\n {\r\n props.production.pdpImageSrc ?\r\n \"\"\r\n : null\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n pdpHeader\r\n }\r\n

    \r\n {props.production.dateRangeString}\r\n

    \r\n {\r\n props.production.facility != null ?\r\n

    \r\n {\r\n props.production.facility.facilityImageUrl != null ?\r\n {props.production.facility.facilityDescription}\r\n :\r\n props.production.facility.facilityDescription\r\n }\r\n\r\n

    \r\n\r\n : null\r\n }\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.production.productionSynopsis ?\r\n
    \r\n

    {props.text.synopsisHeaderLabel}

    \r\n

    {props.production.productionSynopsis}

    \r\n
    \r\n : null\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
  • \r\n );\r\n}\r\n\r\nexport default ListMonthsView;","import { IOption } from \"../../classes/package-listing\"\r\nimport * as React from 'react';\r\nimport * as numeral from 'numeral';\r\n\r\nimport CartItems from '../../components/cart/cart-items';\r\n\r\nimport QuantitySelect from '../../components/cart/quantity-select';\r\nimport { CartContainerState, CartContainerViewProps } from '../../components/cart/container';\r\nimport { IPerformanceGroup, IPerformance, IPackage } from \"../../custom/classes/production\";\r\nimport LoaderView from '../../components/loader';\r\nimport OrderNotes from \"../../components/cart/order-notes\";\r\nimport SeatingPreferences from \"../../components/cart/seating-preference\";\r\nimport CartMessages from \"../../components/cart/cart-messages\";\r\nimport SeatingChoice from \"../../components/cart/seat-choice\";\r\n\r\n\r\nclass CartContainerView extends React.Component {\r\n\r\n lastCartCount: number = 0;\r\n lastPrice: number = 0;\r\n lastSelectedPricing: boolean = false;\r\n\r\n componentDidUpdate() {\r\n window.requestAnimationFrame(() => {\r\n const cartItemsQuantity = this.props.cartItems ? this.props.cartItems.size : 0;\r\n const price = this.props.packageSubTotal;\r\n if (this.lastCartCount != cartItemsQuantity || this.lastPrice != price || this.lastSelectedPricing != this.props.selectedPricing) {\r\n this.props.updateStickyCart();\r\n this.lastCartCount = cartItemsQuantity;\r\n this.lastPrice = price;\r\n this.lastSelectedPricing = this.props.selectedPricing;\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const packageMinNotReached = this.props.cartItems.size < this.props.packageMin;\r\n let allPerfGroupMinReached = checkForPerformanceGroupMin(this.props.performanceGroups, this.props.cartPerformancesInPerfGroup);\r\n // TODO? Some way to edit the \"...selected\" messaging here in the CMS\r\n const progressText = `${this.props.cartItems.size}${this.props.packageMin ? `/${this.props.packageMin} selected` : ''}${this.props.packageMax ? ` (${this.props.packageMax} max)` : ''}`;\r\n const headerText = `${this.props.text.miniCartTitle}`;\r\n\r\n return (\r\n <>\r\n this.props.toggleMiniCart(true)}>\r\n {\r\n this.props.packageMin || this.props.packageMax ?\r\n

    \r\n : null\r\n }\r\n

    \r\n ' }}>\r\n {/*TODO: Umbracofy this text*/}\r\n Review Package\r\n

    \r\n
    \r\n
    \r\n
    \r\n

    {headerText}

    \r\n \r\n
    \r\n

    \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n this.props.isRenewal ?\r\n \r\n :\r\n null\r\n }\r\n { \r\n this.props.isUnseatedReservation ?\r\n <>\r\n \r\n \r\n \r\n \r\n :\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.props.packageMin || this.props.packageMax ?\r\n

    \r\n : null\r\n }\r\n {\r\n !packageMinNotReached && !this.props.selectedPricing && this.props.cartItems.size > 0 &&\r\n

    \r\n {/*TODO: Umbracofy these error messages, and I'm not sure if the logic is correct*/}\r\n {this.props.isUnseatedReservation ?\r\n this.props.toggleMiniCart(true)}>Select seating zone(s) to continue.\r\n :\r\n this.props.toggleMiniCart(true)}>Select ticket quantity to continue.\r\n }\r\n

    \r\n }\r\n {\r\n this.props.isUnseatedReservation ?\r\n

    \r\n {`${this.props.text.packageSubtotalTitle}:`}\r\n {`${numeral(this.props.packageSubTotal).format('$0,0.00')}`}\r\n

    \r\n : null\r\n }\r\n \r\n
    \r\n
    \r\n \r\n );\r\n\r\n }\r\n}\r\n\r\nexport default CartContainerView;\r\n\r\nfunction checkForPerformanceGroupMin(performanceGroups: Array, cartPerformancesInPerfGroup: Map>) {\r\n let allPerfGroupMinReached = true;\r\n performanceGroups.filter(pg => pg.minimumPerformances > 0).forEach(pg => {\r\n const perfGroupMinNotReached = pg.minimumPerformances - cartPerformancesInPerfGroup.get(pg.id).length > 0;\r\n if (perfGroupMinNotReached) {\r\n allPerfGroupMinReached = false;\r\n }\r\n });\r\n return allPerfGroupMinReached;\r\n}\r\n","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport * as numeral from 'numeral';\r\nimport ZoneSelect from '../../components/cart/zone-select';\r\nimport { sumPrices } from '../../helpers/pricing-helpers';\r\nimport { CombineCartViewProps } from '../../components/cart/cart-item';\r\n\r\nconst CartItemView: React.StatelessComponent = props => {\r\n\r\n return (\r\n
  • \r\n\r\n
    \r\n {\r\n props.itemTitle ?\r\n
    \r\n\r\n

    {props.itemTitle}

    \r\n\r\n {\r\n props.showRemoveButton ?\r\n \r\n : null\r\n }\r\n
    \r\n : null\r\n }\r\n
    \r\n

    {props.itemDateString} {props.itemTimeString}

    \r\n

    {props.itemFacility}

    \r\n
    \r\n\r\n
    \r\n {\r\n props.isUnseated\r\n ?\r\n \r\n : null\r\n }\r\n\r\n {\r\n props.selectedZoneId < 1 || !props.showChangeZoneButton ? null\r\n :\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {\r\n props.itemProcessErrorMessage.length > 0 ?\r\n {props.itemProcessErrorMessage}\r\n : null\r\n }\r\n
  • \r\n );\r\n}\r\n\r\nexport default CartItemView;","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport { CartItemsProps, CartItemGroupViewProps } from '../../components/cart/cart-items';\r\nimport CartItem from '../../components/cart/cart-item';\r\nimport { filterMap } from '../../helpers/map-helpers';\r\nimport CartMessages from '../../components/cart/cart-messages';\r\n\r\nconst CartItemGroupView: React.StatelessComponent = props => {\r\n const anyPerformances = Array.from(props.cartItems.keys()).length > 0;\r\n return (\r\n anyPerformances &&\r\n
    \r\n {\r\n props.groupName.length > 0 ?\r\n <>\r\n
    \r\n

    {props.groupName}

    \r\n {/**/}\r\n
    \r\n \r\n : null\r\n }\r\n\r\n
      0 ? 'space-top-sm border-top' : ''}`}>\r\n {\r\n Array.from(props.cartItems.keys()).map(item =>\r\n \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst CartItemsView: React.StatelessComponent = props => {\r\n\r\n return (\r\n <>\r\n {\r\n props.requiresPerformanceGroups ?\r\n props.performanceGroups.map(pg => {\r\n const groupPerfIds = pg.tessPerformances.map(p => p.performanceId);\r\n const groupPerformances = filterMap(props.cartItems, p => groupPerfIds.indexOf(p) >= 0);\r\n return \r\n })\r\n :\r\n \r\n\r\n }\r\n\r\n \r\n );\r\n}\r\n\r\nexport default CartItemsView;","import * as React from 'react';\r\nimport { CartMessagesProps } from '../../components/cart/cart-messages';\r\n\r\nconst CartMessagesView: React.StatelessComponent = props => {\r\n if (!props.shouldRender)\r\n return null;\r\n\r\n return (\r\n <>\r\n {\r\n props.maxReached ?\r\n

    \r\n\r\n {\r\n props.performanceGroupId != null ?\r\n props.text.maxPerformancesForGroupMessage.replace(\"{0}\", props.groupName)\r\n : props.text.maxPerformancesMessage\r\n }\r\n

    \r\n : null\r\n }\r\n\r\n {\r\n props.packageMin > 0 && props.cartPerformanceCount < props.packageMin ?\r\n

    \r\n {\r\n props.performanceGroupId != null ?\r\n props.text.addAdditionalPerformancesForPerformanceGroupMessage\r\n .replace(\"{0}\", (props.packageMin - props.cartPerformanceCount).toString())\r\n .replace(\"{1}\", props.groupName)\r\n : props.text.addAdditionalPerformancesMessage\r\n .replace(\"{0}\", (props.packageMin - props.cartPerformanceCount).toString())\r\n }\r\n

    \r\n : null\r\n }\r\n\r\n {\r\n props.processPackageErrorMessage.length > 0 ?\r\n

    \r\n {props.processPackageErrorMessage}\r\n

    \r\n : null\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default CartMessagesView;","import * as React from 'react';\r\n\r\nimport { OrderNotesProps } from '../../components/cart/order-notes';\r\n\r\nconst OrderNotesView: React.StatelessComponent = props => {\r\n\r\n function onChange(evt: React.ChangeEvent) {\r\n const updatedValue = evt.currentTarget.value;\r\n props.updateOrderNotes(updatedValue);\r\n }\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default OrderNotesView;\r\n\r\n\r\n","import * as React from 'react';\r\nimport { SeatingChoiceProps } from '../../components/cart/seat-choice';\r\n\r\nconst SeatingChoiceView: React.StatelessComponent = props => {\r\n\r\n function onChange(evt: React.ChangeEvent) {\r\n const updatedValue = evt.currentTarget.value;\r\n props.updateSeatingChoice(parseInt(updatedValue));\r\n }\r\n\r\n return (\r\n\r\n props.originalSeats.length > 0 && props.originalSeats.length > props.currentNumberOfSeats ?\r\n
    \r\n
    \r\n
    {props.seatingChoice.length} of {props.currentNumberOfSeats} {props.currentNumberOfSeats > 1 ? \"seats\" : \"seat\" } selected
    \r\n
      \r\n {\r\n props.originalSeats.map((seat) => {\r\n const checked = props.seatingChoice.indexOf(seat.id) >= 0;\r\n const allSeatsChosen = props.currentNumberOfSeats <= props.seatingChoice.length;\r\n return (\r\n
    • \r\n onChange(evt)} id={\"seat-\" + seat.id} value={seat.id} disabled={!checked && allSeatsChosen} />\r\n \r\n
    • \r\n )\r\n })\r\n }\r\n
    \r\n
    : null);\r\n}\r\n\r\nexport default SeatingChoiceView","import * as React from 'react';\r\n\r\nimport { SeatingPreferencesProps } from '../../components/cart/seating-preference';\r\n\r\nconst SeatingPreferencesView: React.StatelessComponent = props => {\r\n\r\n function onChange(preference: string) {\r\n if (preference != \"0\") {\r\n props.updateSeatingPreferences(preference);\r\n }\r\n }\r\n\r\n return (\r\n props.seatingPreferenceOptions.length > 0 ? \r\n
    \r\n \r\n \r\n
    \r\n : null\r\n );\r\n}\r\nexport default SeatingPreferencesView;\r\n\r\n\r\n","import * as React from 'react';\r\nimport { ClearAllProps } from '../../components/filters/clear-all';\r\n//import { removeLoader } from '../../helpers/scroll-to-month';\r\n\r\nconst ClearAllView: React.StatelessComponent = props => {\r\n function onClick(evt: React.MouseEvent) {\r\n props.removeAllFilters();\r\n window.location.hash = \"\";\r\n //setTimeout(() => removeLoader(), 500)\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default ClearAllView;","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport { CombinedFilterViewProps } from '../../components/filters/filter';\r\n\r\nconst FilterView: React.StatelessComponent = props => {\r\n function onChange(evt: React.ChangeEvent) {\r\n // Grab the selected option's data-first-occurance attribute.\r\n const selectedValue = evt.currentTarget.value;\r\n props.selectFilter(selectedValue);\r\n }\r\n\r\n const collapsedFilterName = props.filterName.replace(/[^\\w]|_/g, \"\");\r\n if (props.options.length == 0)\r\n return null;\r\n\r\n return (\r\n
  • \r\n \r\n \r\n
  • \r\n );\r\n}\r\n\r\nexport default FilterView;","import { IOption } from \"../../classes/package-listing\"\r\nimport * as React from 'react';\r\n\r\nimport Filter from '../../components/filters/filter';\r\nimport FixedFilter from '../../components/filters/fixed-filter';\r\n\r\nimport ClearAll from '../../components/filters/clear-all';\r\n\r\n\r\nimport { FiltersContainerViewProps } from '../../components/filters/container';\r\n\r\n\r\nconst FiltersListView: React.StatelessComponent = props => {\r\n return (\r\n
      \r\n {props.isFixedPackage ?\r\n <>\r\n \r\n \r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n }\r\n
    • \r\n \r\n
    • \r\n
    \r\n )\r\n}\r\n\r\nfunction sortDayOfWeek(optionA: IOption, optionB: IOption) {\r\n const dayOfWeekList = [\"Weekdays\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\r\n\r\n return dayOfWeekList.indexOf(optionA.value) - dayOfWeekList.indexOf(optionB.value);\r\n}\r\n\r\nconst FiltersContainerView: React.StatelessComponent = props => {\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default FiltersContainerView;","import * as React from 'react';\r\n\r\nimport ListProductionGroups from '../../components/list/production-groups';\r\nimport ListPackages from '../../components/list/packages';\r\n\r\nimport { ListContainerProps } from '../../components/list/container';\r\n\r\nconst ListPerformanceGroupsContainerView: React.StatelessComponent = props => {\r\n return (\r\n <>\r\n {props.minimumPackagePerformanceQuantityMessage ?\r\n

    \r\n {props.minimumPackagePerformanceQuantityMessage}

    \r\n : null\r\n }\r\n\r\n {\r\n props.isFixed ?\r\n \r\n :\r\n \r\n\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default ListPerformanceGroupsContainerView;","import * as React from 'react';\r\n\r\nimport ListMonthContainer from '../../components/list/container';\r\n\r\nimport { PackageListingContainerProps } from '../../components/package-listing-container';\r\n\r\n\r\nconst PackageListingContainerView: React.StatelessComponent = props => {\r\n let component: JSX.Element = null;\r\n\r\n component = ;\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default PackageListingContainerView;","import * as React from 'react';\r\nimport { LoaderProps } from '../../components/loader';\r\n\r\nconst LoaderView: React.StatelessComponent = props => {\r\n\r\n if (!props.isProcessing)\r\n return null;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default LoaderView;","import * as React from 'react';\r\nimport * as moment from 'moment';\r\nimport { QuantitySelectProps } from '../../components/cart/quantity-select';\r\n\r\nconst QuantitySelectView: React.StatelessComponent = props => {\r\n\r\n function onChange(evt: React.ChangeEvent) {\r\n const selectedValue = +evt.currentTarget.value;\r\n const priceTypeId = +evt.currentTarget.options[evt.currentTarget.selectedIndex].getAttribute('data-price-type');\r\n props.selectPriceTypeQuantity(priceTypeId, selectedValue);\r\n }\r\n\r\n const qtySelect = (\r\n <>\r\n {\r\n props.packagePriceTypes.map(pt => {\r\n var selectName = \"quantity\" + pt.priceTypeId;\r\n\r\n var options = Array.from(Array(pt.maxSeats + 1).keys());\r\n\r\n\r\n return
    \r\n \r\n\r\n \r\n\r\n
    \r\n })\r\n }\r\n \r\n );\r\n\r\n const anyPerformances = Array.from(props.cartItems.keys()).length > 0;\r\n\r\n return (\r\n <>\r\n {\r\n props.isUnseatedReservation ?\r\n <>\r\n {anyPerformances ? \r\n
    \r\n {qtySelect}\r\n
    \r\n : null}\r\n \r\n :\r\n
    \r\n { qtySelect }\r\n
    \r\n\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default QuantitySelectView;","import * as React from 'react';\r\nimport * as numeral from 'numeral';\r\n\r\nimport { ZoneSelectProps } from '../../components/cart/zone-select';\r\nimport { IZone } from '../../custom/classes/production';\r\nimport { sumPrices } from '../../helpers/pricing-helpers';\r\n\r\nconst ZoneSelectView: React.StatelessComponent = props => {\r\n\r\n function onChange(evt: React.ChangeEvent) {\r\n const selectedValue = +evt.currentTarget.value;\r\n props.selectZone(props.itemId, selectedValue);\r\n }\r\n\r\n\r\n return (\r\n
    \r\n {\r\n props.selectedZone == null && props.venueZoneMapImageUrl != null ?\r\n
    \r\n : null\r\n }\r\n\r\n
    \r\n {\r\n props.requiresPriceTypeSelection ?\r\n (\r\n props.showPriceTypeError && props.zones.length > 0\r\n ?\r\n

    \r\n \r\n {props.missingPriceTypeSelectionMessage}\r\n \r\n

    \r\n : null)\r\n :\r\n (\r\n (props.selectedZone != null && props.selectedZone.zone.id > 0) ?\r\n
    \r\n {props.selectedZone.zone.description}\r\n {numeral(sumPrices(props.selectedZone, props.selectedPriceTypeQuantities).priceSum).format('$0,0.00')}\r\n
    \r\n :\r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ZoneSelectView;\r\n\r\n\r\n"],"sourceRoot":""}