{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/ts/Controllers/supportProductDetails.ts","webpack:///./src/ts/apps/Common/helpers/supportLoadMore.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","9","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","p","jsonpArray","window","kwsWebpackJsonp","oldJsonpFunction","slice","KWS","$","supportLoadMore_1","controllers","supportProductDetails","SUPPORT_API_URL","DATA_ATTR_NAME","Type","ForType","Keyword","ForValue","Total","Shown","PageSize","loadMoreElement","message","product","val","productId","divLoader","tagsDropdown","answersTotal","updateLoadMoreContext","context","removeData","attr","init","answerInput","searchButton","topicLink","tagList","answersLoadMore","on","event","keyCode","preventDefault","trigger","e","empty","hide","removeClass","each","this","replace","siblings","query","url","settings","async","method","headers","accept","ajax","done","totalCount","text","template","document","getElementById","innerHTML","htmlMarkup","Handlebars","compile","append","show","addClass","scrollTo","fail","response","console","log","location","reload","clickedLi","parent","img","find","src","topicId","tags","results","tagSelectListBox","urlName","title","tagId","EVENT_SELECTOR","toggleClickEvent","enable","handleClickEvent","off","stopPropagation","$element","target","deferred","Deferred","resolve","reject","promise","content","markup","toggleClick"],"mappings":"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","file":"/controllers/supportProductDetails.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(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 \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\t9: 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[\"kwsWebpackJsonp\"] = window[\"kwsWebpackJsonp\"] || [];\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([14,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import * as $ from 'jquery';\r\nimport { answersLoadMore } from \"../apps/Common/helpers/supportLoadMore\";\r\n\r\ndeclare module Handlebars {\r\n export function compile(markup: any): any;\r\n}\r\n\r\ntype LoadMoreContext = {\r\n Type: string;\r\n ForType: string;\r\n ForValue: string;\r\n Total: number;\r\n Shown: number;\r\n PageSize: number; \r\n Keyword: string;\r\n}\r\n\r\ntype LoadMoreAttributeNames = {\r\n [K in keyof LoadMoreContext]: string;\r\n}\r\n\r\ninterface ILoadMoreContentResponse {\r\n results: any[];\r\n totalCount: number;\r\n}\r\n\r\nnamespace KWS.controllers.supportProductDetails {\r\n\r\n const SUPPORT_API_URL = '/api/kws/support';\r\n const SUPPORT_DETAIL_URL = '/support/productdetail';\r\n const showAnswerCount = 9; \r\n const DATA_ATTR_NAME: LoadMoreAttributeNames = {\r\n Type: \"loadmore-type\",\r\n ForType: \"loadmore-fortype\",\r\n Keyword: \"loadmore-keyword\",\r\n ForValue: \"loadmore-forvalue\",\r\n Total: \"loadmore-total\",\r\n Shown: \"loadmore-shown\",\r\n PageSize: \"loadmore-pagesize\"\r\n };\r\n let loadMoreElement = $('#loadmoreElement');\r\n let message = $('.js-search-error');\r\n let product = $('#answerSearchProduct').val();\r\n let productId = $('#productId').val(); \r\n let divLoader = $('#divLoading');\r\n let tagsDropdown = $('#tagsDropdown');\r\n let answersTotal = $('#answersTotal');\r\n\r\n function setupClickEvents() {\r\n var answerInput = $('#answerSearchInput'),\r\n searchButton = $('#answerSearchButton'),\r\n topicLink = $('.js-topic-link'),\r\n tagList = $('.js-tag');\r\n\r\n answerInput.on('keyup', function (event) {\r\n // Number 13 is the \"Enter\" key on the keyboard\r\n if (event.keyCode === 13) {\r\n // Cancel the default action, if needed\r\n event.preventDefault();\r\n // Trigger the button element with a click\r\n searchButton.trigger('click');\r\n }\r\n });\r\n\r\n searchButton.on('click', function (e) {\r\n e.preventDefault(); \r\n message.empty();\r\n message.hide();\r\n $('#loadmoreElement').hide();\r\n divLoader.removeClass('hidden');\r\n tagsDropdown.hide();\r\n $('#topicGrid img').each(function () {\r\n $(this).attr('src', $(this).attr('src').replace(\"-on\", \"\"));\r\n }); \r\n $('#topicGrid li').siblings('li').removeClass('product-grid-spd__item--selected');\r\n let query = $('#answerSearchInput').val(); \r\n let url = `${SUPPORT_API_URL}/search/${product}/answers?keyword=${query}`;\r\n if (query.length > 0) {\r\n const settings: JQueryAjaxSettings = {\r\n async: true,\r\n url: `${url}`,\r\n method: \"GET\",\r\n headers: {\r\n accept: \"application/json\"\r\n }\r\n };\r\n $.ajax(settings)\r\n .done(function (result) {\r\n if (result) { \r\n let totalCount = result.totalCount;\r\n answersTotal.text(`${totalCount}`);\r\n $(`.loadmore-answers`).empty();\r\n if (totalCount > 0) { \r\n answersLoadMore(false);\r\n const template = document.getElementById(`answers-template`).innerHTML;\r\n const templateScript = Handlebars.compile(template);\r\n const htmlMarkup = templateScript(result);\r\n $(`.loadmore-answers`).append(htmlMarkup);\r\n let context = { Type: 'answers', ForType: 'search', ForValue: `${product}`, Total: `${totalCount}`, Shown: `${showAnswerCount}`, Keyword: \"\" };\r\n updateLoadMoreContext(context);\r\n if (totalCount > showAnswerCount) {\r\n answersLoadMore(true);\r\n $('#loadmoreElement').show();\r\n }\r\n else {\r\n $('#loadmoreElement').hide();\r\n }\r\n }\r\n else {\r\n message.show();\r\n message.append(\"No results found, please try different search term.\");\r\n }\r\n divLoader.addClass('hidden'); \r\n } else {\r\n message.show();\r\n message.append(\"No results found, please try different search term.\");\r\n window.scrollTo(0, 0);\r\n }\r\n \r\n })\r\n .fail(function (response) {\r\n message.show();\r\n message.append(\"Error occurred while getting results\");\r\n divLoader.addClass('hidden');\r\n console.log('fail:' + response); \r\n }); \r\n }\r\n else { \r\n divLoader.addClass('hidden');\r\n location.reload();\r\n // window.location.href = `${SUPPORT_DETAIL_URL}/${product}#answers`;\r\n // var loc = window.location;\r\n // location.href = loc.protocol + \"//\" + loc.hostname + loc.pathname + \"#answers\";\r\n }\r\n });\r\n\r\n topicLink.on('click', function (e) {\r\n e.preventDefault(); \r\n answerInput.val(\"\");\r\n message.hide();\r\n tagsDropdown.hide();\r\n divLoader.removeClass('hidden');\r\n var clickedLi = $(this).parent();\r\n if (clickedLi.data('type') === \"topicId\") { \r\n clickedLi.siblings('li').removeClass('product-grid-spd__item--selected');\r\n clickedLi.addClass('product-grid-spd__item--selected'); \r\n $('#topicGrid img').each(function () {\r\n $(this).attr('src', $(this).attr('src').replace(\"-on\", \"\"));\r\n });\r\n let img = $(this).find(\"img\")[0];\r\n img.src = img.src + \"-on\";\r\n let topicId = clickedLi.data('id'); \r\n let url = `${SUPPORT_API_URL}/topic/${topicId}/${productId}/tags?`;\r\n const settings: JQueryAjaxSettings = {\r\n async: true,\r\n url: `${url}`,\r\n method: \"GET\",\r\n headers: {\r\n accept: \"application/json\"\r\n }\r\n };\r\n $.ajax(settings)\r\n .done(function (result) { \r\n let tags = result.results;\r\n if (tags) { \r\n var tagSelectListBox = $(\"#tagList\");\r\n tagSelectListBox.empty(); \r\n for (var i = 0; i < tags.length; i++) {\r\n tagSelectListBox.append('');\r\n } \r\n tagList.val(tags[0].urlName).trigger('change');\r\n } \r\n \r\n })\r\n .fail(function (response) { \r\n message.show();\r\n message.append(\"Error occurred while getting results\");\r\n divLoader.addClass('hidden');\r\n console.log('fail:' + response); \r\n });\r\n }\r\n \r\n });\r\n\r\n tagList.on('change', function (e) {\r\n e.preventDefault(); \r\n message.hide();\r\n divLoader.removeClass('hidden');\r\n var tagId = tagList.val();\r\n tagId = $(this).find(\":selected\").val() \r\n if (tagId.length >0) { \r\n var url = `${SUPPORT_API_URL}/tags/${tagId}/${productId}`;\r\n const settings: JQueryAjaxSettings = {\r\n async: true,\r\n url: `${url}`,\r\n method: \"GET\",\r\n headers: {\r\n accept: \"application/json\"\r\n }\r\n };\r\n $.ajax(settings)\r\n .done(function (result) { \r\n var totalCount = result.totalCount;\r\n answersTotal.text(`${totalCount}`);\r\n if (result) {\r\n $(`.loadmore-answers`).empty(); \r\n answersLoadMore(false);\r\n const template = document.getElementById(`answers-template`).innerHTML;\r\n const templateScript = Handlebars.compile(template);\r\n const htmlMarkup = templateScript(result); \r\n $(`.loadmore-answers`).append(htmlMarkup); \r\n let context = { Type: `${productId}`, ForType: 'tags', ForValue: `${tagId}`, Total: `${totalCount}`, Shown: `${showAnswerCount}`};\r\n updateLoadMoreContext(context); \r\n if (totalCount > showAnswerCount) {\r\n answersLoadMore(true);\r\n $('#loadmoreElement').show();\r\n }\r\n else { \r\n $('#loadmoreElement').hide();\r\n } \r\n } \r\n divLoader.addClass('hidden');\r\n tagsDropdown.show();\r\n })\r\n .fail(function (response) {\r\n message.show();\r\n message.append(\"Error occurred while getting results\");\r\n divLoader.addClass('hidden');\r\n console.log('fail:' + response); \r\n });\r\n }\r\n \r\n }); \r\n }\r\n\r\n function updateLoadMoreContext(context: any) {\r\n loadMoreElement.removeData(DATA_ATTR_NAME.Type);\r\n loadMoreElement.attr(`data-${DATA_ATTR_NAME.Type}`, context.Type);\r\n loadMoreElement.removeData(DATA_ATTR_NAME.ForType);\r\n loadMoreElement.attr(`data-${DATA_ATTR_NAME.ForType}`, context.ForType);\r\n loadMoreElement.removeData(DATA_ATTR_NAME.ForValue);\r\n loadMoreElement.attr(`data-${DATA_ATTR_NAME.ForValue}`, context.ForValue);\r\n loadMoreElement.removeData(DATA_ATTR_NAME.Total);\r\n loadMoreElement.attr(`data-${DATA_ATTR_NAME.Total}`, context.Total);\r\n loadMoreElement.removeData(DATA_ATTR_NAME.Shown);\r\n loadMoreElement.attr(`data-${DATA_ATTR_NAME.Shown}`, context.Shown);\r\n }\r\n \r\n export function init() {\r\n answersLoadMore(true);\r\n setupClickEvents(); \r\n }\r\n}\r\n\r\nKWS.controllers.supportProductDetails.init();\r\n","import { Number } from \"core-js\";\r\n\r\ndeclare module Handlebars {\r\n export function compile(markup: any): any;\r\n}\r\n\r\ntype LoadMoreContext = {\r\n Type: string;\r\n ForType: string;\r\n ForValue: string;\r\n Total: number;\r\n Shown: number;\r\n PageSize: number;\r\n Keyword: string;\r\n}\r\n\r\ntype LoadMoreAttributeNames = {\r\n [K in keyof LoadMoreContext]: string;\r\n}\r\n\r\ninterface ILoadMoreContentResponse {\r\n results: any[];\r\n totalCount: number;\r\n}\r\n\r\n\r\n const EVENT_SELECTOR = \"[data-loadmore]\";\r\n const SUPPORT_API_URL = '/api/kws/support';\r\n\r\n const DATA_ATTR_NAME: LoadMoreAttributeNames = {\r\n Type: \"loadmore-type\",\r\n ForType: \"loadmore-fortype\",\r\n Keyword: \"loadmore-keyword\",\r\n ForValue: \"loadmore-forvalue\",\r\n Total: \"loadmore-total\",\r\n Shown: \"loadmore-shown\",\r\n PageSize: \"loadmore-pagesize\"\r\n };\r\n\r\n function toggleClickEvent(enable: boolean): void {\r\n if (enable) $(document).on('click', EVENT_SELECTOR, handleClickEvent);\r\n else $(document).off('click', EVENT_SELECTOR, handleClickEvent);\r\n }\r\n\r\n function handleClickEvent(e: JQueryEventObject): void {\r\n // Stop the browser from handling click\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n // Clicked element containing context attributes\r\n let $element = $(e.target);\r\n\r\n // Parse context from element attributes\r\n let context = parseContext($element);\r\n\r\n // Fetch more content\r\n fetchContent(context).done(content => {\r\n // Render fetched content\r\n renderContent(content);\r\n\r\n // Update context\r\n updateContext(context, content);\r\n\r\n // Write context to element attributes\r\n persistContext(context, $element);\r\n\r\n // Unregister and hide click element if all content has loaded\r\n disableIfAllContentHasLoaded(context, $element);\r\n });\r\n }\r\n\r\n function parseContext($element: JQuery): LoadMoreContext {\r\n return {\r\n Type: $element.data(DATA_ATTR_NAME.Type),\r\n ForType: $element.data(DATA_ATTR_NAME.ForType),\r\n Keyword: $element.data(DATA_ATTR_NAME.Keyword),\r\n ForValue: $element.data(DATA_ATTR_NAME.ForValue),\r\n Total: $element.data(DATA_ATTR_NAME.Total),\r\n Shown: $element.data(DATA_ATTR_NAME.Shown),\r\n PageSize: $element.data(DATA_ATTR_NAME.PageSize), \r\n };\r\n }\r\n\r\n function updateContext(context: LoadMoreContext, content: ILoadMoreContentResponse): void {\r\n context.Shown += content.results.length;\r\n context.Total = content.totalCount;\r\n }\r\n\r\n function persistContext(context: LoadMoreContext, $element: JQuery): void {\r\n $element\r\n .data(DATA_ATTR_NAME.Total, context.Total)\r\n .attr(`data-${DATA_ATTR_NAME.Total}`, context.Total);\r\n $element\r\n .data(DATA_ATTR_NAME.Shown, context.Shown)\r\n .attr(`data-${DATA_ATTR_NAME.Shown}`, context.Shown);\r\n }\r\n\r\n function fetchContent(context: LoadMoreContext): JQueryPromise {\r\n const deferred = $.Deferred();\r\n var query = $('#answerSearchInput').val(); \r\n var url = `/api/kws/support/${context.ForType}/${context.ForValue}/${context.Type}?skip=${context.Shown}&take=${context.PageSize}`;\r\n if (context.ForType == \"search\") {\r\n if (query != null && query.length > 0) {\r\n url = url + `&keyword=${query}`;\r\n } \r\n }\r\n const settings: JQueryAjaxSettings = {\r\n async: true,\r\n url: `${url}`,\r\n method: \"GET\",\r\n headers: {\r\n accept: \"application/json\"\r\n }\r\n };\r\n $.ajax(settings)\r\n .done(deferred.resolve)\r\n .fail(deferred.reject);\r\n return deferred.promise();\r\n }\r\n\r\n function renderContent(content: ILoadMoreContentResponse) {\r\n const template = document.getElementById(`answers-template`).innerHTML;\r\n const compile = Handlebars.compile(template);\r\n const markup = compile(content);\r\n $(`.loadmore-answers`).append(markup);\r\n }\r\n\r\n function disableIfAllContentHasLoaded(context: LoadMoreContext, $element: JQuery) {\r\n if (context.Shown >= context.Total) { \r\n toggleClickEvent(false);\r\n $element.hide();\r\n }\r\n }\r\n\r\n export function answersLoadMore(toggleClick) {\r\n toggleClickEvent(toggleClick);\r\n }\r\n\r\n\r\n"],"sourceRoot":""}