{"version":3,"file":"Quote.bundle.js","mappings":"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","sources":["webpack://advfnweb/webpack/runtime/chunk loaded","webpack://advfnweb/./advfn3/content/_common/quote/src/js/QuoteSearchBox.js","webpack://advfnweb/./advfn3/content/_common/quote/src/app.js","webpack://advfnweb/./advfn3/content/_common/quote/src/scss/main.scss?1d0a","webpack://advfnweb/webpack/bootstrap","webpack://advfnweb/webpack/runtime/compat get default export","webpack://advfnweb/webpack/runtime/define property getters","webpack://advfnweb/webpack/runtime/global","webpack://advfnweb/webpack/runtime/hasOwnProperty shorthand","webpack://advfnweb/webpack/runtime/make namespace object","webpack://advfnweb/webpack/runtime/node module decorator","webpack://advfnweb/webpack/runtime/runtimeId","webpack://advfnweb/webpack/runtime/jsonp chunk loading","webpack://advfnweb/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import md5 from 'md5';\n\nconst axios = require('axios');\n\nconst MAX_RESULTS = 20;\n\nexport default class QuoteSearchBox\n{\n /**\n * @param {HTMLElement} element\n */\n constructor(element)\n {\n /** @type {HTMLElement} */\n this._element = element;\n\n /** @type {HTMLInputElement} */\n this._inputBox = this._element.querySelector('input[type=\"text\"]');\n\n /** @type {HTMLElement} */\n this._loadingSpinner = this._element.querySelector('.fa-spinner');\n\n /** @type {HTMLDivElement} */\n this._searchResultsContainer = this._element.querySelector('.search-results');\n\n /** @type {Object} */\n this._searchResults = {};\n\n /** @type {string} */\n this._currentSearch = '';\n\n this._intervalCheckInput = setInterval(() => this._checkInput(), 150);\n }\n\n setLoading(isLoading)\n {\n if (isLoading)\n {\n this._loadingSpinner.style.opacity = 1;\n }\n else\n {\n this._loadingSpinner.style.opacity = 0;\n }\n }\n\n openSearchBox()\n {\n this._searchResultsContainer.style.display = '';\n }\n\n closeSearchBox()\n {\n this._searchResultsContainer.style.display = 'none';\n }\n\n _checkInput()\n {\n const inputValue = this._inputBox.value.trim();\n\n if (inputValue === '')\n {\n this._currentSearch = '';\n this.closeSearchBox();\n return;\n }\n\n if (inputValue === this._currentSearch) return;\n\n this.setLoading(true);\n\n this._getResults(inputValue)\n .then(({ results }) =>\n {\n this._currentSearch = inputValue;\n\n if (results.length === 0)\n {\n this.closeSearchBox();\n return;\n }\n\n this._loadResultsHTML(results);\n })\n .catch(() =>\n {\n this._currentSearch = '';\n })\n .finally(() =>\n {\n this.setLoading(false);\n });\n }\n\n _loadResultsHTML(results)\n {\n this._searchResultsContainer.innerHTML = '';\n\n let counter = 0;\n results.forEach((result) =>\n {\n if (counter >= MAX_RESULTS) return;\n\n const resultElement = document.createElement('div');\n resultElement.classList.add('search-result');\n\n const resultLink = document.createElement('a');\n resultLink.href = `/p.php?pid=quote&symbol=${result.display_symbol}`;\n\n const resultSymbol = document.createElement('div');\n resultSymbol.classList.add('search-result-symbol');\n resultSymbol.innerText = result.symbol;\n\n const resultName = document.createElement('div');\n resultName.classList.add('search-result-name');\n resultName.innerText = result.name;\n\n const resultMarket = document.createElement('div');\n resultMarket.classList.add('search-result-market');\n resultMarket.innerText = result.market;\n\n resultLink.appendChild(resultSymbol);\n resultLink.appendChild(resultName);\n resultLink.appendChild(resultMarket);\n\n resultElement.appendChild(resultLink);\n\n this._searchResultsContainer.appendChild(resultElement);\n\n counter++;\n });\n\n this.openSearchBox();\n }\n\n /**\n * @param {string} term\n * @returns {Promise<{term: string, results: object[]}>}\n */\n _getResults(term)\n {\n return new Promise((resolve, reject) =>\n {\n const key = this._genSearchKey(term);\n\n if (this._searchResults[key])\n {\n resolve({\n term,\n results: this._searchResults[key],\n });\n return;\n }\n\n axios.get(`/common/api/search/SymbolLookup?term=${term}`)\n .then(({ status, data }) =>\n {\n if (status === 200)\n {\n if (data.status === 'success')\n {\n this._searchResults[key] = data.result.results;\n\n resolve({\n term: data.result.term,\n results: data.result.results,\n });\n return;\n }\n }\n\n reject();\n })\n .catch((error) =>\n {\n reject(error);\n });\n });\n }\n\n /**\n * @param {string} term\n * @returns {string}\n */\n _genSearchKey(term)\n {\n return md5(term);\n }\n}\n","import QuoteSearchBox from './js/QuoteSearchBox';\nimport './scss/main.scss';\n\ndocument.addEventListener('DOMContentLoaded', () =>\n{\n const searchElement = document.querySelector('[data-app=\"quote-search-box\"]');\n if (searchElement)\n {\n new QuoteSearchBox(searchElement);\n }\n});\n","// style-loader: Adds some css to the DOM by adding a