{"version":3,"file":"chunks/74bec9ef0bc9b7.js","mappings":"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","sources":["webpack:///./resources/js/common/download-helper.ts","webpack:///./resources/js/components/shared/updateListView.ts"],"sourcesContent":["import * as $ from \"jquery\";\nimport imkt from '../imkt';\nimport storage from \"../utils/storage\";\nimport tracking from '../utils/tracking';\nimport Modal from '../components/generic/modal';\n\nexport default {\n data: {},\n // returns a file extension of a file name\n getFileExtension: function (fileName: string) {\n var fileExtension;\n try {\n fileExtension = fileName.split(\".\").pop();\n } catch (error) {\n fileExtension = \"\";\n }\n switch (fileExtension) {\n case \"gz\":\n return \"TAR.GZ\";\n default:\n return fileExtension.toUpperCase();\n }\n },\n\n // returns a file name (everthing after the last / of the url);\n getFileName: function (filePath: string) {\n var fileName;\n try {\n fileName = filePath.substr(filePath.lastIndexOf(\"/\") + 1);\n } catch (error) {\n fileName = \"Unknown\";\n }\n return fileName;\n },\n\n // returns the OS you're on\n getOS: function () {\n if (navigator.appVersion.indexOf(\"Mac\") !== -1) {\n return \"Mac\";\n } else if (\n navigator.appVersion.indexOf(\"X11\") !== -1 ||\n navigator.appVersion.indexOf(\"Linux\") !== -1\n ) {\n return \"Unix\";\n } else {\n return \"Windows\";\n }\n },\n\n // gets underscore.js and then calls the funciton you pass in\n underscore: function (callback) {\n var underscoreRequest = $.Deferred();\n // underscore is a dependency, so load that first\n if (typeof _ === \"undefined\") {\n underscoreRequest = $.getScript(\n imkt.constants.libPath +\n \"underscore.js\" +\n imkt.constants.cdnVersionQuery\n );\n } else {\n // underscore already exists\n underscoreRequest.resolve();\n }\n $.when(underscoreRequest).then(callback);\n },\n\n // Organizes data from JSONP in OS and calls cloneData() to integrate structured data\n retrieveData: function (\n data,\n callback,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n ) {\n var self = this;\n type = isEnterprise ? \"enterprise\" : type;\n var dataVariable = customArray ? customArray : \"data\";\n var defaultData = context.params.downloadInfo.Default || [];\n var macData = context.params.downloadInfo.Mac || [];\n var linuxData = context.params.downloadInfo.Unix || [];\n var windowsData = context.params.downloadInfo.Windows || [];\n context[dataVariable] = {\n Default: [],\n Mac: [],\n Unix: [],\n Windows: [],\n };\n\n data.forEach(function (download: any) {\n const platform = download.platform ? download.platform : download.downloadLabels.map((label: any) => label.labelName);\n \n if (platform.indexOf(\"Mac\") > -1) {\n self.cloneData(\n \"Mac\",\n macData,\n download,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n );\n }\n if (platform.indexOf(\"Unix\") > -1) {\n self.cloneData(\n \"Unix\",\n linuxData,\n download,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n );\n }\n if (platform.indexOf(\"Windows\") > -1) {\n self.cloneData(\n \"Windows\",\n windowsData,\n download,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n );\n }\n self.cloneData(\n \"Default\",\n defaultData,\n download,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n );\n });\n callback(context, isEnterprise);\n },\n\n // Clones original objects from JSONP and mashes them up with data from structured data in Magnolia\n cloneData: function (\n os,\n osData,\n download,\n context,\n type,\n isEnterprise,\n customArray,\n ignoreLabeling\n ) {\n var self = this;\n var dataVariable = customArray ? customArray : \"data\";\n if (osData.length > 0) {\n osData.forEach(function (object) {\n var shouldPopulate =\n download.description.indexOf(object.descriptionKey) > -1 ||\n ignoreLabeling;\n if (shouldPopulate) {\n var clonedObject = Object.assign({}, download);\n var fileExtension = self.getFileExtension(clonedObject.zipUrl);\n var fileName = self.getFileName(clonedObject.zipUrl);\n if (\n object.fileExtension !== \"none\" &&\n fileExtension !== object.fileExtension\n ) {\n return true;\n }\n switch (type) {\n case \"update\":\n clonedObject.show = object.includeUpdate;\n break;\n case \"enterprise\":\n clonedObject.show = object.includeEnterprise;\n break;\n default:\n clonedObject.show = object.includeDownload;\n break;\n }\n\n clonedObject.displayName = object.descriptionValue;\n clonedObject.selected = object.selected;\n clonedObject.os = object.os;\n clonedObject.fileExtension = fileExtension;\n clonedObject.fileName = ignoreLabeling\n ? object.description\n : fileName;\n context[dataVariable][os].push(clonedObject);\n }\n });\n }\n },\n\n // build tracking data and return it\n buildTrackingData: function (selector) {\n var data = {\n productName: selector.data(\"product-name\"),\n productPlatform: selector.data(\"product-platform\"),\n productVersion: selector.data(\"product-version\"),\n productReleaseDate: selector.data(\"product-release-date\"),\n fileName: selector.data(\"file-name\"),\n fileDescription: selector.data(\"file-description\"),\n fileUrl: selector.data(\"file-url\"),\n releaseNotes: selector.data(\"release-notes\"),\n version: selector.data(\"version\"),\n };\n return data;\n },\n\n // calls changeDownloadLink when selectElement is changed\n // parameter values are selected DOM elements\n changeDownload: function (\n selectElement,\n downloadLink,\n currentVersion,\n releaseNotes\n ) {\n var self = this;\n selectElement.change(function () {\n var $this = $(this);\n var selectedProduct = $this.find(\":selected\");\n self.data = self.buildTrackingData(selectedProduct);\n\n // update DOM\n if (downloadLink && downloadLink.data) {\n downloadLink.data(\"href\", self.data.fileUrl);\n }\n if (releaseNotes && releaseNotes.attr) {\n releaseNotes.attr(\"href\", self.data.releaseNotes);\n }\n if (currentVersion && currentVersion.text) {\n currentVersion.text(self.data.version);\n }\n });\n },\n\n // This pops up our downloads EULA in a modal and adds href to button if they agree. Also, switches between the download/post-download areas and updates post-download buttons with the href={{installer}} to the download file url. Lastly, it sends a tracking event to segment.\n download: function ($domRoot, $downloadModalButton, doNotShowPostContent?: boolean) {\n let self = this;\n let href;\n let downloadModal = $(\"#download-view-modal\", $domRoot);\n let downloadArea = $(\"#download-area\");\n let postDownloadArea = $(\"#post-download-area\");\n let installerButton = postDownloadArea.find(\".button\");\n\n $downloadModalButton.on(\"click\", function (e) {\n e.preventDefault();\n\n let clickedModalButton = $(this);\n href = clickedModalButton.data(\"href\");\n let modalContainer = new Modal({\n modalType: \"download wpl\",\n contentClickToHide: false,\n });\n modalContainer.$modal.find(\".modal-content\").html(downloadModal);\n let downloadButton = modalContainer.$modal.find(\"#eula-downloads-button\");\n let checkbox = modalContainer.$modal.find(\"#download-eula-checkbox\");\n let cancel = modalContainer.$modal.find(\".downloads-view__cancel\");\n\n // EULA Events\n checkbox.off(\"change\");\n checkbox.on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n downloadButton.removeClass(\"disabled\");\n downloadButton.attr(\"href\", href);\n } else {\n downloadButton.addClass(\"disabled\");\n downloadButton.attr(\"href\", \"\");\n }\n });\n checkbox.trigger(\"change\");\n\n cancel.off(\"click\");\n cancel.on(\"click\", function () {\n modalContainer.hide();\n });\n\n downloadButton.off(\"click\");\n downloadButton.on(\"click\", function (e) {\n if (downloadButton.hasClass(\"disabled\")) {\n e.preventDefault();\n } else {\n modalContainer.hide();\n if (clickedModalButton.hasClass(\"download-link--archive\")) {\n self.data = self.buildTrackingData(clickedModalButton);\n }\n\n // Segment tracking call\n tracking.trackEvent(\"Started Download\", self.data);\n\n // Show Post-download section\n if (postDownloadArea.length > 0 && !doNotShowPostContent) {\n $.each(installerButton, function () {\n if ($(this).attr(\"href\") === \"{{installer}}\") {\n $(this).attr(\"href\", href);\n }\n });\n downloadArea.addClass(\"inactive\");\n postDownloadArea.addClass(\"active\");\n }\n }\n });\n modalContainer.show();\n modalContainer.place();\n });\n },\n};\n","import * as $ from \"jquery\";\nimport _ from 'underscore';\nimport tracking from '../../utils/tracking';\nimport downloadHelper from '../../common/download-helper';\n\nexport default class UpdateListView {\n loadTimes: number;\n domRoot: HTMLElement;\n $domRoot: JQuery;\n params: any;\n product: any;\n showEnterpriseColumn: any;\n showChecksum: any;\n \n showMostPopularDownloadFirst: any;\n mostPopularDownload: any;\n unsortedData: any[];\n data: any[];\n enterpriseData: any[];\n agreementData: any[];\n dropdown: any;\n dropdownEnterprise: any;\n dropdownAgreement: any;\n downloadLink: any;\n downloadChosen: any;\n url: any;\n secondURL: any;\n thirdURL: string;\n numOfCalls: number;\n sortedList: any[];\n enterpriseList: any[];\n indexedList: any;\n selectedProduct: { longVersion: string; downloads: any[]; };\n newestDownload: { longVersion: string; downloads: any[]; };\n latestEnterprise: { longVersion: string; downloads: any[]; };\n labels: any;\n baseTracking: { eventComponent: string; };\n\n constructor(domRoot: HTMLElement, params: any) {\n this.loadTimes = 0;\n this.domRoot = domRoot;\n this.$domRoot = $(domRoot);\n\n this.params = params;\n this.product = params.product;\n this.showEnterpriseColumn = params.showEnterprise ? params.showEnterprise : 'both';\n this.showChecksum = params.showChecksum;\n this.showMostPopularDownloadFirst = params.showMostPopularDownloadFirst;\n this.mostPopularDownload = params.mostPopularDownload;\n this.unsortedData = [];\n this.data = [];\n this.enterpriseData = [];\n this.agreementData = [];\n this.dropdown;\n this.dropdownEnterprise;\n this.dropdownAgreement;\n this.downloadLink;\n this.downloadChosen;\n this.url = params.productCurrentJSON;\n this.secondURL = params.productArchivedJSON;\n this.thirdURL = \"https://api.atlassian.com/hams/1.0/public/downloads/binaryDownloads/jira/archived\";\n this.numOfCalls = 0;\n this.sortedList = [];\n this.enterpriseList = [];\n this.indexedList;\n this.selectedProduct = {longVersion: \"0.0.0\", downloads: []};\n this.newestDownload = {longVersion: \"0.0.0\", downloads: []};\n this.latestEnterprise = {longVersion: \"0.0.0\", downloads: []};\n this.labels = params.labels;\n this.baseTracking = {\n eventComponent: \"updateListView\"\n };\n this.init()\n }\n init() {\n this.bindEvents();\n if ($('#second-page-area').length < 1) {\n $(\"#download-area\").after('
');\n $(\"#download-area\").after('
');\n }\n this.params.downloadInfo = this.groupBy(this.params.downloadInfo, 'os');\n\n this.getJSON(this.url);\n if (this.showEnterpriseColumn !== \"standardOnly\") {\n this.getJSON(this.secondURL);\n }\n if (this.product == \"jira-combined\") {\n this.getJSON(this.thirdURL);\n }\n }\n\n async getJSON(url: string) {\n const newData = await fetch(url,\n {\n method: \"GET\",\n credentials: \"include\",\n headers: {\n \"Content-type\": \"application/json; charset=UTF-8\",\n }\n })\n .then((res) => res.json())\n .catch();\n if (newData) {\n this.numOfCalls = this.numOfCalls + 1;\n var oldData = this.unsortedData;\n var joinedData = oldData.concat(newData);\n this.unsortedData = joinedData;\n this.addMetaData();\n }\n }\n\n showAgreementPage(isEnterprise, shouldShowDropdown) {\n window.scrollTo(0, 0);\n this.getTemplate(\"second-page\", isEnterprise, shouldShowDropdown);\n $(\"#download-area, #second-page-area\").addClass('drawer');\n }\n\n bindEvents() {\n var self = this;\n $('body')\n .on('click', '#eula-downloads-button', function() {\n if (!$(this).hasClass('disabled')) {\n $('#downloads-area, #second-page-area').hide();\n $('#post-download-area').show();\n var osIndex = $(\"#select-product-version\")[0].selectedIndex;\n var selectedOSItem = $(\"#select-product-version\")[0].children[osIndex];\n var selectedOS = selectedOSItem.getAttribute('data-product-platform');\n self.baseTracking.label = \"Download Product Update\";\n self.baseTracking.operatingSystem = selectedOS;\n tracking.trackEvent('Download Product Update', self.baseTracking);\n }\n })\n .on('click', '.expander', function(e) {\n self.baseTracking.productVersion = e.target.getAttribute('data-version');\n self.baseTracking.label = e.target.innerText.trim();\n if ($(this).next().is(':visible')) {\n $(this).text(self.labels.showDetails);\n $(this).next().slideUp();\n tracking.trackEvent('Hide downloads', self.baseTracking);\n } else {\n $(this).text(self.labels.hideDetails);\n $(this).next().slideDown();\n tracking.trackEvent('Show/expand downloads', self.baseTracking);\n }\n })\n .on('click', '#choose-another', function(e) {\n $(\"#download-area, #second-page-area\").removeClass('drawer');\n self.baseTracking.label = e.target.innerText.trim(),\n tracking.trackEvent('Choose Another Product Download', self.baseTracking);\n window.scrollTo(0, 0);\n })\n .on('change', '#select-product-version', function() {\n var downloadURL = $(this).val();\n if ($('#download-eula-checkbox').is(':checked')) {\n $('#checksum-download a').attr('href', downloadURL + '.sha256');\n $('#checksum-download a').removeClass('disabled');\n\n $('#eula-downloads-button').attr('href', downloadURL);\n $('#download-installer-again a').attr('href', downloadURL);\n }\n })\n .on('change', '.choosing-product-version', function() {\n var downloadURL = $(this).val();\n self.downloadChosen = downloadURL;\n if ($('#download-eula-checkbox').is(':checked')) {\n $('#checksum-download a').attr('href', downloadURL + '.sha256');\n $('#checksum-download a').removeClass('disabled');\n\n $('#eula-downloads-button').attr('href', downloadURL);\n $('#download-installer-again a').attr('href', downloadURL);\n }\n })\n .on('change', '#download-eula-checkbox', function() {\n var downloadURL = $('#select-product-version').val()\n if ($(this).is(':checked')) {\n $('#download-installer-again a').attr('href', downloadURL);\n $('#checksum-download a').attr('href', downloadURL + '.sha256');\n $('#checksum-download a').removeClass('disabled');\n\n $('#eula-downloads-button').attr('href', downloadURL);\n $('#eula-downloads-button').removeClass('disabled');\n } else {\n $('#download-installer-again a').attr('href', '#');\n $('#checksum-download a').attr('href', '');\n $('#checksum-download a').addClass('disabled');\n\n $('#eula-downloads-button').attr('href', '')\n $('#eula-downloads-button').addClass('disabled');\n }\n })\n .on('click', '.release-notes', function(e) {\n self.baseTracking.label = e.target.innerText.trim(),\n self.baseTracking.productVersion = e.target.getAttribute('data-version');\n self.baseTracking.productEdition = e.target.getAttribute('data-edition').toLowerCase();\n tracking.trackEvent('Read release notes', self.baseTracking);\n })\n .on('click', '.product-versions', function(e) {\n var $this = $(this);\n var majorVersion = $this.attr('data-major-version');\n var minorVersion = $this.attr('data-minor-version');\n var version = $this.attr('data-version');\n self.selectedProduct = self.indexedList.find(item => majorVersion === item.majorVersion).minorVersion.find(item => minorVersion === item.minorVersion).versions.find(item => version === item.longVersion);\n self.baseTracking.productVersion = self.selectedProduct.longVersion;\n self.baseTracking.productEdition = self.selectedProduct.edition;\n self.baseTracking.label = e.target.innerText.trim();\n var shouldChangeDownloadsToEnterprise = self.showMostPopularDownloadFirst && self.selectedProduct.edition == \"Enterprise\";\n downloadHelper.retrieveData(self.selectedProduct.downloads, self.initialEvents, self, \"update\", shouldChangeDownloadsToEnterprise, \"agreementData\", $(this).hasClass('accordion'));\n self.showAgreementPage(shouldChangeDownloadsToEnterprise, $(this).hasClass('accordion'));\n tracking.trackEvent('Click to Agreement Page for product download', self.baseTracking);\n return false;\n })\n .on('click', \"span.enterprise\", function(e) {\n self.getTemplate(\"enterprise-modal\");\n self.baseTracking.label = e.target.innerText.trim(),\n tracking.trackEvent('Learn more about enterprise - modal', self.baseTracking);\n })\n .on('click', \".close-enterprise-modal\", function() {\n $('#enterprise-container').hide();\n self.baseTracking.label = 'Close modal',\n tracking.trackEvent('Close enterprise modal', self.baseTracking);\n });\n }\n\n htmlDecode(string){\n var e = document.createElement('textarea');\n e.innerHTML = string;\n return e.childNodes.length === 0 ? \"\" : e.childNodes[0].nodeValue.replace(/<\\/p>

/g, '

').replace(/()$/g, '');\n }\n\n // Load the underscore template in the .FTL\n getTemplate(name, isEnterprise, showDropdown) {\n var template;\n switch (name) {\n case \"second-page\":\n template = _.template($(\"#download-second-page\").html());\n $('#second-page-area').html(template({\n labels: this.labels,\n mostPopularDownload: this.mostPopularDownload,\n isAccordion: showDropdown,\n showChecksum: this.showChecksum,\n showMostPopularDownloadFirst: this.showMostPopularDownloadFirst && !showDropdown,\n product: this.selectedProduct,\n downloads: this.agreementData,\n preChosenVersion: this.downloadChosen,\n os: downloadHelper.getOS(),\n productName: this.params.product.replace(\"JIRA\", \"Jira\")\n }));\n break;\n case \"download\":\n var templateFill = isEnterprise && this.showEnterpriseColumn !== \"enterpriseOnly\" ? '#enterprise-standalone-block' : '#download-view';\n var thisProduct = isEnterprise ? this.latestEnterprise : this.newestDownload;\n var downloadData = isEnterprise ? this.enterpriseData : this.data;\n var helpText = this.htmlDecode(isEnterprise ? this.labels.helperTextEnterprise : this.labels.helperTextLatest);\n var comparisonVersionNumber = Number(thisProduct.longVersion.replace(/[^\\d]/g, ''));\n template = _.template($(\"#download-template\").html());\n if (comparisonVersionNumber > 0) {\n $(templateFill).html(template({\n labels: this.labels,\n productKey: this.product,\n product: thisProduct,\n downloads: downloadData,\n mostPopularDownload: this.mostPopularDownload,\n showMostPopularDownloadFirst: this.showMostPopularDownloadFirst,\n isEnterprise: isEnterprise,\n os: downloadHelper.getOS(),\n helperText: helpText,\n productName: this.params.product\n }));\n }\n break;\n case \"accordion\":\n template = _.template($(\"#accordion-template\").html());\n $('#accordion-view').html(template({\n product: this.product,\n labels: this.labels,\n downloads: this.indexedList,\n activeVersion: this.newestDownload,\n latestEnterprise: this.latestEnterprise\n }));\n break;\n case \"enterprise-modal\":\n template = _.template($(\"#enterprise-modal-template\").html());\n $('#enterprise-container').show().html(template({\n labels: this.labels,\n product: this.newestDownload\n }));\n break;\n default:\n return false;\n }\n // once template is loaded, grab the select element and to download button and store them\n this.dropdown = this.$domRoot.find('#select-product-standard-version');\n this.dropdownEnterprise = $('#select-product-enterprise-version');\n this.dropdownAgreement = $('#select-product-version');\n this.downloadLink = this.$domRoot.find('#downloads-button');\n }\n\n // .replace(/[^\\d\\.]/g, '') add metadata like file extension and major and minor version numbers for example \"7\" and \"7.1\" for version \"7.1.8\"\n addMetaData() {\n var versionSplit;\n var longVersion;\n var platform;\n var description;\n var self = this;\n if (this.unsortedData && this.unsortedData.length) {\n this.unsortedData.forEach(function(object) {\n platform = object.downloadLabels.map((label: any) => label.labelName).toString();\n longVersion = object.version.name;\n description = object.name;\n versionSplit = longVersion.split('.');\n var formattedDate = new Date(object.version.date);\n var day = (\"0\" + formattedDate.getDate()).slice(-2);\n var month = formattedDate.toLocaleString('default', { month: 'short' });\n var year = formattedDate.getFullYear();\n var zipURL = object.zipURL.replace(\"http:\", \"https:\");\n if (self.product.indexOf('clover') > -1) {\n object.longVersion = longVersion.match(/(\\d*)\\.(\\d*)\\.(\\d*)/) ? longVersion.name.match(/(\\d*)\\.(\\d*)\\.(\\d*)/)[0] : longVersion.replace(/[^\\d\\.]/g, '');\n object.sortVersion = description.match(/Eclipse|Ant|IDEA/) ? description.match(/Eclipse|Ant|IDEA/)[0] : 'All';\n }\n try {\n object.majorVersion = versionSplit[0];\n object.minorVersion = versionSplit[0] + '.' + versionSplit[1].replace(/\\-(.*?)$/, '');\n object.microVersion = versionSplit[2];\n object.longVersion = longVersion;\n object.platform = platform;\n object.date = `${day}-${month}-${year}`;\n object.description = description;\n object.downloadLink = zipURL;\n object.extension = downloadHelper.getFileExtension(zipURL);\n } catch (error) {\n object.majorVersion = longVersion;\n object.minorVersion = longVersion;\n object.microVersion = longVersion;\n object.longVersion = longVersion;\n object.platform = platform;\n object.date = `${day}-${month}-${year}`;\n object.description = description;\n object.downloadLink = zipURL;\n object.extension = downloadHelper.getFileExtension(zipURL);\n }\n });\n this.arrangeData();\n }\n }\n\n // Arrange each download version into a set where the downloads are stored as an array under sortedList.downloads\n arrangeData() {\n this.sortedList = [];\n var data = this.arrayFrom(this.groupBy(this.unsortedData, 'longVersion'));\n\n data.forEach((item) => {\n // get the first item to add some data to set (i.e. release date, release notes url, version numbers, etc)\n var firstItem = item[0] ? item[0] : {};\n var newObject = {\n \"product\": this.params.productName,\n \"description\": firstItem.description,\n \"version\": firstItem.version,\n \"edition\": firstItem.edition,\n \"date\": firstItem.date,\n \"extension\": firstItem.extension,\n \"longVersion\": firstItem.longVersion,\n \"sortVersion\": firstItem.sortVersion,\n \"majorVersion\": firstItem.majorVersion,\n \"minorVersion\": firstItem.minorVersion,\n \"microVersion\": firstItem.microVersion,\n \"released\": firstItem.released,\n \"releaseNotes\": firstItem.releaseNotes,\n \"downloadLink\": firstItem.downloadLink,\n \"downloads\": item\n };\n var biggerOfCurrentAndEnterprise = this.versionComparer(newObject, this.latestEnterprise);\n this.latestEnterprise = biggerOfCurrentAndEnterprise && biggerOfCurrentAndEnterprise.edition === \"Enterprise\" ? biggerOfCurrentAndEnterprise : this.latestEnterprise;\n\n var biggerOfCurrentAndNewest = this.versionComparer(newObject, this.newestDownload);\n this.selectedProduct = this.newestDownload = biggerOfCurrentAndNewest;\n\n this.sortedList.push(newObject);\n });\n this.indexList();\n\n this.baseTracking.productKey = this.selectedProduct.product;\n downloadHelper.retrieveData(this.newestDownload.downloads, this.initialEvents, this, \"update\", false, \"data\");\n downloadHelper.retrieveData(this.latestEnterprise.downloads, this.initialEvents, this, \"update\", true, \"enterpriseData\");\n }\n\n indexList() {\n let arrangedList = this.sortedList.reduce((acc, download) => {\n let majorVersionIndex = acc.findIndex(item => item.majorVersion === download.majorVersion);\n if (majorVersionIndex < 0) {\n let majorVersionObj = {\n majorVersion: download.majorVersion,\n minorVersion: []\n };\n acc.push(majorVersionObj);\n majorVersionIndex = acc.indexOf(majorVersionObj);\n }\n\n let minorVersionIndex = acc[majorVersionIndex].minorVersion.findIndex(item => item.minorVersion === download.minorVersion);\n if (minorVersionIndex < 0) {\n let minorVersionObj = {\n minorVersion: download.minorVersion,\n versions: []\n };\n acc[majorVersionIndex].minorVersion.push(minorVersionObj);\n minorVersionIndex = acc[majorVersionIndex].minorVersion.indexOf(minorVersionObj);\n }\n\n acc[majorVersionIndex].minorVersion[minorVersionIndex].versions.push(download);\n return acc;\n }, []);\n\n let sortedMajorVersion = arrangedList.sort((a, b) => b.majorVersion - a.majorVersion);\n sortedMajorVersion.forEach((majorVersionObj, index) => {\n sortedMajorVersion[index].minorVersion = majorVersionObj.minorVersion.sort((a, b) => {\n let a_minor = this.versionSplitter(a.minorVersion, 1);\n let b_minor = this.versionSplitter(b.minorVersion, 1);\n return b_minor - a_minor;\n });\n sortedMajorVersion[index].minorVersion.forEach((minorVersionObj, minorIndex) => {\n sortedMajorVersion[index].minorVersion[minorIndex].versions = minorVersionObj.versions.sort((a, b) => {\n let a_version = a.microVersion;\n let b_version = b.microVersion;\n return b_version - a_version;\n });\n });\n });\n this.indexedList = sortedMajorVersion;\n }\n\n hasOnlyNumbers(version) {\n return /^\\d+$/.test(version);\n }\n\n versionSplitter(string, position) {\n if (string && string.split('.')[position]) {\n var matcher = string.split('.')[position].match(/^[0-9]+/);\n if (matcher && matcher[0]) {\n return Number(string.split('.')[position].match(/^[0-9]+/)[0]);\n }\n return 0;\n }\n return 0;\n }\n\n versionParser(item) {\n var numArray = [];\n var itemVersion = item && item.longVersion && item.longVersion.length ? item.longVersion : '0.0.0';\n itemVersion.split('.').forEach((dig) => {\n var digit = isNaN(Number(dig)) ? dig : Number(dig);\n numArray.push(digit);\n });\n return numArray;\n }\n\n versionComparer(a, b) {\n let a_version = this.versionParser(a);\n let b_version = this.versionParser(b); // currentNewestx\n\n for (var i = 0; i < b_version.length; i++) {\n if (b_version[i] !== a_version[i] || (i + 1 == b_version.length)) {\n var bigger = a_version.every(vers => ((this.hasOnlyNumbers(vers)) || this.url.includes(\"/eap/\")) && a_version[i] > b_version[i]) ? a : b;\n // keeps EAP version from showing as main download only if it's the standard non-EAP downloads feed\n\n return bigger;\n } else {\n continue;\n }\n }\n }\n\n // this is called in the arrangData() as the callback in the retrieveData(data, callback, context). Context is \"this\"\n initialEvents(context) {\n context.getTemplate('download');\n context.getTemplate('download', true);\n context.getTemplate(\"accordion\");\n downloadHelper.changeDownload(context.dropdownEnterprise, context.downloadLink);\n downloadHelper.changeDownload(context.dropdownAgreement, context.downloadLink);\n downloadHelper.changeDownload(context.dropdown, context.downloadLink);\n downloadHelper.download(context.$domRoot, context.downloadLink);\n }\n\n arrayFrom(object) {\n let returnedArray = [];\n for (let key in object) {\n returnedArray.push(object[key]);\n }\n return returnedArray;\n }\n\n groupBy(xs, key) {\n if (xs.reduce) {\n return xs.reduce(function(rv, x) {\n (rv[x[key]] = rv[x[key]] || []).push(x);\n return rv;\n }, {});\n }\n return xs;\n }\n\n camelCaser(text) {\n var camelString = text.toLowerCase().split(' ');\n for (var c = 0; c < camelString.length; c++) {\n if (c > 0) {\n camelString[c] = camelString[c].charAt(0).toUpperCase() + camelString[c].slice(1);\n }\n }\n return camelString.join('');\n }\n\n}\n"],"names":["data","getFileExtension","fileName","fileExtension","split","pop","error","toUpperCase","getFileName","filePath","substr","lastIndexOf","getOS","navigator","appVersion","indexOf","underscore","callback","underscoreRequest","$","_","imkt","resolve","then","retrieveData","context","type","isEnterprise","customArray","ignoreLabeling","self","this","dataVariable","defaultData","params","downloadInfo","Default","macData","Mac","linuxData","Unix","windowsData","Windows","forEach","download","platform","downloadLabels","map","label","labelName","cloneData","os","osData","length","object","description","descriptionKey","clonedObject","Object","assign","zipUrl","show","includeUpdate","includeEnterprise","includeDownload","displayName","descriptionValue","selected","push","buildTrackingData","selector","productName","productPlatform","productVersion","productReleaseDate","fileDescription","fileUrl","releaseNotes","version","changeDownload","selectElement","downloadLink","currentVersion","change","selectedProduct","find","attr","text","$domRoot","$downloadModalButton","doNotShowPostContent","href","downloadModal","downloadArea","postDownloadArea","installerButton","on","e","preventDefault","clickedModalButton","modalContainer","Modal","modalType","contentClickToHide","$modal","html","downloadButton","checkbox","cancel","off","is","removeClass","addClass","trigger","hide","hasClass","tracking","place","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","reject","record","result","_typeof","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","doneResult","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","reverse","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_defineProperties","target","props","descriptor","input","hint","prim","toPrimitive","res","String","_toPrimitive","UpdateListView","domRoot","instance","Constructor","_classCallCheck","loadTimes","product","showEnterpriseColumn","showEnterprise","showChecksum","showMostPopularDownloadFirst","mostPopularDownload","unsortedData","enterpriseData","agreementData","dropdown","dropdownEnterprise","dropdownAgreement","downloadChosen","url","productCurrentJSON","secondURL","productArchivedJSON","thirdURL","numOfCalls","sortedList","enterpriseList","indexedList","longVersion","downloads","newestDownload","latestEnterprise","labels","baseTracking","eventComponent","init","protoProps","_getJSON","bindEvents","after","groupBy","getJSON","_callee","newData","oldData","joinedData","_context","fetch","credentials","headers","json","concat","addMetaData","args","arguments","apply","_x","shouldShowDropdown","window","scrollTo","getTemplate","osIndex","selectedIndex","selectedOS","children","getAttribute","operatingSystem","innerText","trim","showDetails","slideUp","hideDetails","slideDown","downloadURL","productEdition","toLowerCase","$this","majorVersion","minorVersion","item","versions","edition","shouldChangeDownloadsToEnterprise","downloadHelper","initialEvents","showAgreementPage","string","document","createElement","innerHTML","childNodes","nodeValue","replace","showDropdown","template","isAccordion","preChosenVersion","templateFill","thisProduct","downloadData","helpText","htmlDecode","helperTextEnterprise","helperTextLatest","comparisonVersionNumber","Number","productKey","helperText","activeVersion","versionSplit","toString","formattedDate","Date","date","day","getDate","month","toLocaleString","year","getFullYear","zipURL","match","sortVersion","microVersion","extension","arrangeData","_this","arrayFrom","firstItem","newObject","released","biggerOfCurrentAndEnterprise","versionComparer","biggerOfCurrentAndNewest","indexList","_this2","sortedMajorVersion","reduce","acc","majorVersionIndex","findIndex","majorVersionObj","minorVersionIndex","minorVersionObj","sort","a","b","index","a_minor","versionSplitter","minorIndex","a_version","test","position","matcher","numArray","dig","digit","_this3","versionParser","b_version","every","vers","hasOnlyNumbers","includes","returnedArray","xs","rv","x","camelString","c","join"],"sourceRoot":""}