{"version":3,"file":"js/Landing.min.js","mappings":"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","sources":["webpack://Wlt/webpack/bootstrap","webpack://Wlt/webpack/runtime/define property getters","webpack://Wlt/webpack/runtime/hasOwnProperty shorthand","webpack://Wlt/webpack/runtime/make namespace object","webpack://Wlt/./wwwroot/src/scripts/Pages/Store/Landing.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const wilsonHostedStorageKey = 'store.wilsonHostedFilter';\r\nconst partnerHostedStorageKey = 'store.partnerHostedFilter';\r\nconst inPersonStorageKey = 'store.inPersonFilter';\r\nconst virtualStorageKey = 'store.virtualFilter';\r\nconst graduateCreditStorageKey = 'store.graduateCreditFilter';\r\nconst FundationsStorageKey = 'store.FundationsFilter';\r\nconst WrsStorageKey = 'store.WrsFilter';\r\nconst JustWordsStorageKey = 'store.JustWordsFilter';\r\nconst OtherStorageKey = 'store.OtherFilter';\r\nlet isFirstLoad = true;\r\n\r\n\r\n$(\"fieldSet\").find(\"input\").on(\"change\", applyFilterGroups);\r\n\r\n$(\"#ShowAll\").on(\"click\", showAll);\r\n\r\n\r\n$(window).on('load', function (e) {\r\n loadFilters();\r\n applyFilterGroups();\r\n});\r\n\r\nexport function getQueryStringFilter() {\r\n if (!isFirstLoad) return;\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const programFilter = urlParams.get(\"p\");\r\n const nameFilter = urlParams.get(\"name\");\r\n if (programFilter || nameFilter) {\r\n let gridInstance = $(\"#GridContainer\").dxDataGrid(\"instance\");\r\n showAll();\r\n if (programFilter) { gridInstance.filter([\"ProductRelatedEntityViewModel.ProgramName\", \"contains\", programFilter]); }\r\n if (nameFilter) { gridInstance.columnOption(\"Name\", \"filterValue\", nameFilter); }\r\n switch (programFilter) {\r\n case 'Fun':\r\n $(\"#FundationsCheckbox\").prop(\"checked\", true);\r\n break;\r\n case 'WRS':\r\n $(\"#WRSCheckbox\").prop(\"checked\", true);\r\n break;\r\n case 'JW':\r\n $(\"#JustWordsCheckbox\").prop(\"checked\", true);\r\n break;\r\n\r\n default:\r\n }\r\n }\r\n isFirstLoad = false;\r\n}\r\n\r\nexport function detailsRedirect(data) {\r\n window.location.href = `${window.location.pathname}/ProductDetails/${data.Id}`;\r\n}\r\n\r\nexport function showAll() {\r\n var gridInstance = $(\"#GridContainer\").dxDataGrid(\"instance\");\r\n gridInstance.clearFilter();\r\n $(\"fieldSet\").find(\"input\").prop(\"checked\", false);\r\n}\r\n\r\nexport function tokenizedFilterExpression(filterValue) {\r\n const dataField = this.dataField;\r\n const words = filterValue.split(\" \");\r\n return words.map(word => [dataField, \"contains\", word]);\r\n}\r\n\r\nexport function applyFilterGroups() {\r\n // Store filters in local storage for return trips to this page\r\n updateLocalStorage();\r\n\r\n const grid = $(\"#GridContainer\").dxDataGrid(\"instance\");\r\n //Remove all existing filters, we will re-apply them.\r\n grid.clearFilter();\r\n\r\n //Get all FieldSets, these are the main filter groups.\r\n const fieldsetNodeList = Array.from(document.getElementsByTagName('fieldset'));\r\n let groupFilters = [];\r\n\r\n //Build the group based grid filters.\r\n fieldsetNodeList.forEach(node => groupFilters.push(dynamicFilter(node)));\r\n\r\n //Remove any undefined filters; undefined means no active filters within that group.\r\n const activeFilterGroups = groupFilters.filter(filterGroup => filterGroup !== undefined);\r\n\r\n //ultimate filter for all groups and their inner filters.\r\n let gridFilter = [];\r\n\r\n //Bail if we don't have any filters to apply\r\n if (activeFilterGroups.length === 0) return;\r\n\r\n //Join group filters together, if this is the first group filter to apply, ommit the \"and\" as DevEx does not like having a operator with a single group.\r\n activeFilterGroups.forEach(groupFilter => gridFilter.length === 0 ? gridFilter.push(groupFilter) : gridFilter.push(\"and\", groupFilter));\r\n\r\n //Apply resulting grouped filters to grid.\r\n grid.filter(gridFilter);\r\n}\r\n\r\nexport function dynamicFilter(node: HTMLFieldSetElement): any {\r\n //target column to filter.\r\n const columnTarget = node.dataset.target;\r\n\r\n //Get Checked checkbox inputs within this fieldset group.\r\n const inputElements = node.getElementsByTagName('input');\r\n const activeFilters = Array.from(inputElements).filter(el => el.checked);\r\n let fieldGroupFilters: (string | boolean | string[])[][];\r\n\r\n //IF no filters for this group are active, go to next group.\r\n if (activeFilters.length == 0) return;\r\n\r\n //Build filter for each input.\r\n fieldGroupFilters = activeFilters.map(input => {\r\n if (input.dataset.stringMatch) {\r\n return [columnTarget, input.dataset.operator, input.dataset.value];\r\n }\r\n if (input.dataset.stringOther) {\r\n const otherFilter = [[columnTarget, input.dataset.operator, 'FUN'], [columnTarget, input.dataset.operator, 'WRS'], [columnTarget, input.dataset.operator, 'JW']];\r\n return otherFilter;\r\n }\r\n return [columnTarget, input.dataset.operator, input.dataset.value === 'null' ? null : input.dataset.value === 'true'];\r\n });\r\n\r\n let resultConditions = [];\r\n\r\n //Build Filter criteria for each filter in this group.\r\n const groupInnerFilters = Array.from(fieldGroupFilters.map(filterCondtion => [\"or\", filterCondtion]));\r\n\r\n //Build the final list of filters for this group.\r\n groupInnerFilters.forEach(filterCondition => resultConditions.length === 0 ? resultConditions.push(filterCondition[1]) : resultConditions.push(filterCondition[0], filterCondition[1]));\r\n\r\n //Return Group Filter.\r\n return resultConditions;\r\n}\r\n\r\nfunction updateLocalStorage() {\r\n localStorage[wilsonHostedStorageKey] = $(\"#WilsonHostedCheckbox\").prop(\"checked\");\r\n localStorage[partnerHostedStorageKey] = $(\"#PartnerHostedCheckbox\").prop(\"checked\");\r\n localStorage[inPersonStorageKey] = $(\"#InPersonCheckbox\").prop(\"checked\");\r\n localStorage[virtualStorageKey] = $(\"#VirtualCheckbox\").prop(\"checked\");\r\n localStorage[graduateCreditStorageKey] = $(\"#GraduateCreditCheckbox\").prop(\"checked\");\r\n localStorage[FundationsStorageKey] = $(\"#FundationsCheckbox\").prop(\"checked\");\r\n localStorage[WrsStorageKey] = $(\"#WrsCheckbox\").prop(\"checked\");\r\n localStorage[JustWordsStorageKey] = $(\"#JustWordsCheckbox\").prop(\"checked\");\r\n localStorage[OtherStorageKey] = $(\"#OtherCheckbox\").prop(\"checked\");\r\n}\r\n\r\nexport function price_cellTemplate(container, options) {\r\n const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });\r\n const partner = options.data.Partner;\r\n const price = options.data.RetailPrice;\r\n const result = (typeof partner !== 'undefined' && partner != null) ? \"*See Partner\" : formatter.format(price);\r\n container.append(result);\r\n}\r\n\r\nexport function partner_cellTemplate(container, options) {\r\n var imageSrc;\r\n var partner = options.data.Partner;\r\n if (partner) {\r\n if (partner.LogoUrl) {\r\n imageSrc = partner.LogoUrl;\r\n }\r\n else {\r\n switch (partner.PartnerType) {\r\n case 0:\r\n imageSrc = \"partnerlogofull.png\";\r\n break;\r\n default:\r\n imageSrc = \"partnerlogofull-nonaccredited.png\";\r\n break;\r\n }\r\n }\r\n } else {\r\n imageSrc = \"default-logo.png\";\r\n }\r\n container\r\n .append(\r\n $(\"\").attr({ src: `/src/images/logos/partner/${imageSrc}`, class: \"host-img\", alt: \"Host\" })\r\n );\r\n}\r\n\r\nexport function name_cellTemplate(container, options) {\r\n const collaborativeText = options.data.ProductRelatedEntityViewModel?.CollaborativeText;\r\n const productName = options.data.Name;\r\n const result = (typeof collaborativeText !== 'undefined' && collaborativeText != null) ? `