{"version":3,"file":"resource-center.js","sources":["../../node_modules/@progress-wad/resource-center/src/js/resource-center-strings.js","../../node_modules/@progress-wad/resource-center/src/js/resource-center-sanitize.js","../../node_modules/@progress-wad/resource-center/src/js/resource-center-page-url-service.js","../../node_modules/@progress-wad/resource-center/src/js/resource-center-api-service.js","../../node_modules/@progress-wad/resource-center/src/js/resource-center-filter-service.js","../../node_modules/@progress-wad/resource-center/src/js/resource-center-api-url-service.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-wug.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-ipswitch.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-partners.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-customers.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-resources.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-events.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-webinars.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-dci-overview.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-dci-accordion.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-center-html-provider-progress-dci-connectors-list.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-center-html-provider-progress-user-awards-list.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-kemp-partners.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-flowmon-partners.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-kemp-videos.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-flowmon-resources.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-kemp-resources.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-flowmon-research-projects.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-chef-in-ipswitch-resources.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-webinars.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-telerik-release-notes.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-tutorials.js","../../node_modules/@progress-wad/resource-center/src/js/site-spicific-data/resource-item-html-provider-progress-sitefinity-integrations.js","../../node_modules/@progress-wad/resource-center/src/js/object-factory.js","../../node_modules/@progress-wad/resource-center/src/js/init.js"],"sourcesContent":["export class ResourceCenterStrings {\n static get contentTypesKeyName() {\n return \"content-types\";\n }\n\n static get languageKeyName() {\n return \"language\";\n }\n\n static get industriesKeyName() {\n return \"industries\";\n }\n\n static get solutionsKeyName() {\n return \"solutions\";\n }\n\n static get categoriesKeyName() {\n return \"categories\";\n }\n\n static get productsKeyName() {\n return \"products\";\n }\n\n static get searchtextKeyName() {\n return \"searchtext\";\n }\n\n static get pageKeyName() {\n return \"page\";\n }\n}\n","export const htmlEncode = (html = '') => html ? document.createElement('div').appendChild(document.createTextNode(html)).parentNode.innerHTML : html;\nexport const htmlDecode = (html = '') => html ? new DOMParser().parseFromString(html, 'text/html').documentElement.textContent : html;\n","import { ResourceCenterStrings } from \"./resource-center-strings.js\";\nimport { htmlEncode } from \"./resource-center-sanitize.js\";\n\nconst languageValues = {\n chinese: \"zh-TW\",\n japanese: \"ja\",\n swedish: \"sv\"\n}\n\nexport class ResourceCenterPageUrlService {\n constructor() {\n }\n\n getCurrentQueryParams() {\n const queryParams = new URLSearchParams(window.location.search);\n\n return queryParams;\n }\n\n getPageNumber() {\n const queryParams = this.getCurrentQueryParams();\n\n let pageNumber = 1;\n\n if (queryParams.has(ResourceCenterStrings.pageKeyName)) {\n pageNumber = Number(queryParams.get(ResourceCenterStrings.pageKeyName))\n }\n\n return pageNumber;\n\n }\n\n getResourcesLanguage() {\n const urlQueryString = this.getCurrentQueryParams();\n let resourceLanguage = urlQueryString.get(ResourceCenterStrings.languageKeyName);\n if (resourceLanguage == null) {\n resourceLanguage = this.getPageLanguage();\n }\n\n return resourceLanguage;\n }\n\n getPageLanguage() {\n let languageFromPath = window.location.pathname.split('/').filter(function (el) { return el != \"\"; })[0];\n if (languageFromPath == \"jp\") { languageFromPath = languageValues.japanese; }\n if (languageFromPath == \"tw\") { languageFromPath = languageValues.chinese; }\n if (languageFromPath == \"se\") { languageFromPath = languageValues.swedish; }\n\n let defaultLanguage = 'en';\n const languageInputField = document.getElementById(languageFromPath);\n\n if (languageInputField) {\n defaultLanguage = languageInputField.id;\n }\n\n return defaultLanguage;\n }\n\n transformSelectionsToQueryParams(page, shouldPushState, currentFilterSelection) {\n const queryParams = this.parseFilterSelectionToQueryParams(page, currentFilterSelection);\n let url = new URL(window.location);\n url.search = queryParams;\n\n if (shouldPushState) {\n ResourceCenterPageUrlService.push(url);\n }\n }\n\n parseFilterSelectionToQueryParams(page, currentFilterSelection) {\n let query = new URLSearchParams();\n if (Object.keys(currentFilterSelection.selectedTaxonomies).length > 0) {\n currentFilterSelection.selectedTaxonomies.forEach(taxonomies => {\n for (const taxon in taxonomies) {\n taxonomies[taxon].taxa.forEach(taxa => {\n const taxaDomElementById = document.querySelector(`[data-id*=\"${taxa}\"]`);\n if (taxaDomElementById) {\n const queryParamAlreadyExists = query.get(taxon) === taxaDomElementById.dataset.name\n if (!queryParamAlreadyExists) {\n query.append(taxon.toLowerCase(), taxaDomElementById.dataset.name);\n }\n }\n });\n }\n });\n }\n\n if(page > 0){\n query.append(ResourceCenterStrings.pageKeyName, page);\n }\n\n if (currentFilterSelection.searchTerm.length > 0) {\n query.append(ResourceCenterStrings.searchtextKeyName, htmlEncode(currentFilterSelection.searchTerm));\n }\n if (currentFilterSelection.language) {\n query.append(ResourceCenterStrings.languageKeyName, currentFilterSelection.language);\n }\n\n // Dispach event in order to be able to extend with custom filters query params\n let urlSearchParamsWrapper = {\n urlSearchParams: query\n };\n const onParseFilterToQueryParamsCompleted = new CustomEvent(\"onParseFilterToQueryParamsCompleted\", { detail: urlSearchParamsWrapper });\n document.dispatchEvent(onParseFilterToQueryParamsCompleted);\n\n return query.toString();\n }\n\n static push(url) {\n if (!ResourceCenterPageUrlService.validate(url)) {\n throw new Error('Please provide valid URL');\n }\n\n let newUrl = url.search;\n if(!newUrl){\n newUrl = (!url.hash) ? url.pathname : (url.pathname + url.hash);\n }\n\n window.history.pushState(null, null, newUrl);\n }\n\n static validate(url) {\n let result = false;\n\n try {\n new URL(url);\n result = true;\n }\n catch (error) {\n result = false;\n }\n\n return result;\n }\n}\n","\n\nconst styles = {\n block: \"-db\",\n none: \"-dn\"\n}\n\nexport class ResourceCenterApiService {\n constructor(apiUrlService, filterService, resourceCenterfactory, settings) {\n this.widgetSettings = settings;\n this.updateGrid = this.updateGrid.bind(this);\n this.apiUrlService = apiUrlService;\n this.filterService = filterService;\n this.pageSize = window.ResourceCenterSettings.ODataSettings.PageSize;\n this.cachedResponses = new Map();\n this.lastRequestURL;\n this.resourceCenterObjectFactory = resourceCenterfactory;\n }\n\n updateGrid(pageNumber) {\n //GET the API call based on DOM selection.\n const apiRequest = this.apiUrlService.generate(pageNumber, this.filterService.getSelection());\n const resourceItems = {};\n let html = \"\";\n const cachedReponse = this.cachedResponses.get(apiRequest);\n this.lastRequestURL = this.normalizeRequestUrl(apiRequest);\n\n if (cachedReponse) {\n cachedReponse.response.totalItemsCount > 0 ? this.showMissingResourcesMessage(false) : this.showMissingResourcesMessage(true);\n\n document.getElementById(this.widgetSettings.ItemsContainer).innerHTML = cachedReponse.html;\n return Promise.resolve(cachedReponse.response);\n }\n\n const result = fetch(apiRequest, {\n method: 'GET',\n })\n .then((response) => {\n const isLastUrlResponse = this.lastRequestURL === response.url;\n if (response.ok && (isLastUrlResponse || !response.url)) {\n return response.json();\n }\n else if (!isLastUrlResponse) {\n return Promise.reject(new Error(\"Awaiting last response.\"));\n }\n else {\n return Promise.reject(new Error(`There was a problem with your request - ${response.url}.`));\n }\n })\n .then(data => {\n resourceItems.resources = data.value;\n resourceItems.dataCount = data['@odata.count'];\n resourceItems.pagesCount = Math.ceil(resourceItems.dataCount / this.pageSize);\n\n if (resourceItems.dataCount == 0 || data.value.length == 0) {\n this.showMissingResourcesMessage(true);\n }\n else {\n this.showMissingResourcesMessage(false);\n let idsWithMissingRelatedMedia = [];\n data.value.forEach(item => {\n const imageFieldName = Object.keys(window.ResourceCenterSettings.ODataSettings.ExpandedFields.Image)[0];\n if (item[imageFieldName] && (item[imageFieldName].length == 0 || (item.File && item.File.length == 0))) {\n idsWithMissingRelatedMedia.push(item.Id);\n }\n });\n return this.getRelatedMedia_english(idsWithMissingRelatedMedia);\n }\n })\n .then(images => {\n resourceItems.images = images;\n return resourceItems;\n })\n .then(() => {\n if(this.widgetSettings.GroupingSettings){\n let groupedCollection = this.groupItems(resourceItems.resources, this.widgetSettings.GroupingSettings);\n groupedCollection.forEach(item => {\n html += this.itemHTML(item, resourceItems.images);\n });\n }\n else{\n resourceItems.resources.forEach(item => {\n html += this.itemHTML(item, resourceItems.images);\n });\n }\n document.getElementById(this.widgetSettings.ItemsContainer).innerHTML = html;\n const response = { totalItemsCount: resourceItems.dataCount, totalPagesCount: resourceItems.pagesCount, currentPage: pageNumber };\n this.cachedResponses.set(apiRequest, { response, html });\n\n return response;\n });\n\n return result;\n }\n\n normalizeRequestUrl(urlString) {\n const absoluteUrlString = window.location.origin + urlString;\n let encodedUrlString;\n try {\n encodedUrlString = new URL(absoluteUrlString).href;\n }\n catch {\n encodedUrlString = absoluteUrlString;\n }\n\n return encodedUrlString;\n }\n\n itemHTML(item, relatedMedia) {\n const itemHtml = this.resourceCenterObjectFactory.getResourceItemHtmlProvider(this.filterService).getItemHtml(item, relatedMedia);\n const result = itemHtml.trim().split('\\n').map(x => x.trim()).join('');\n\n return result;\n }\n\n getRelatedMedia_english(itemIds) {\n if (itemIds.length == 0) {\n return \"\";\n }\n\n const apiRequestUrl = this.apiUrlService.getImagesUrl_english(itemIds);\n const result = fetch(apiRequestUrl, {\n method: 'GET'\n }).then(response => {\n if (response.ok) {\n return response.json().then(data => {\n return data.value;\n });\n }\n });\n\n return result;\n }\n\n showMissingResourcesMessage(showMessage) {\n const missingResourcesMessageDiv = document.querySelector(`#${this.widgetSettings.MissingItemsContainer}`);\n if (missingResourcesMessageDiv) {\n let classToRemove = showMessage ? styles.none : styles.block;\n let classToAdd = classToRemove === styles.none ? styles.block : styles.none;\n\n missingResourcesMessageDiv.classList.remove(classToRemove);\n missingResourcesMessageDiv.classList.add(classToAdd);\n }\n }\n\n groupItems(initialCollection, groupingSettings){\n let itemsGroupingMap = new Map();\n let otherGroupData = {};\n otherGroupData.Title = 'Other';\n otherGroupData.Id = 'other';\n otherGroupData.UrlName = 'other';\n\n for(let item of initialCollection){\n let isInGroup = false;\n for(let taxon of item[groupingSettings.GroupingProperty]){\n if (groupingSettings.ParentTaxonToUseId && taxon.ParentId !== groupingSettings.ParentTaxonToUseId){\n continue;\n }\n\n this.addToGroupMap(item, taxon, itemsGroupingMap);\n\n isInGroup = true;\n }\n\n if(!isInGroup){\n this.addToGroupMap(item, otherGroupData, itemsGroupingMap);\n }\n }\n\n let itemsInColumns = [];\n\n for(let column of groupingSettings.GroupsData){\n let itemsInColumn = [];\n for(let taxonId of column){\n if(itemsGroupingMap.has(taxonId)){\n itemsInColumn.push(itemsGroupingMap.get(taxonId));\n itemsGroupingMap.delete(taxonId);\n }\n }\n itemsInColumns.push(itemsInColumn);\n }\n\n if (itemsGroupingMap.size > 0){\n let otherGroup = null;\n itemsGroupingMap.forEach((value, key) => {\n if(key !== 'other'){\n itemsInColumns[itemsInColumns.length - 1].push(value);\n }\n else{\n otherGroup = value;\n }\n });\n\n if(otherGroup){\n itemsInColumns[itemsInColumns.length - 1].push(otherGroup);\n }\n }\n\n return itemsInColumns;\n }\n\n addToGroupMap(item, data, map){\n if(map.has(data.Id)){\n map.get(data.Id).items.push(item);\n }\n else{\n let itemsGroup = {};\n itemsGroup.title = data.Title;\n itemsGroup.urlName = data.UrlName\n itemsGroup.items = [item]\n map.set(data.Id, itemsGroup);\n }\n }\n}\n","import { ResourceCenterStrings } from \"./resource-center-strings.js\";\nimport { htmlDecode } from \"./resource-center-sanitize.js\";\n\nexport class ResourceCenterFilterService {\n constructor(settings) {\n this.filterSettings = settings;\n }\n\n getSelection() {\n let selectedTaxonomies = [];\n if (this.filterSettings.TaxonomySelectors && this.filterSettings.TaxonomySelectors.length > 0) {\n this.filterSettings.TaxonomySelectors.forEach(selector => {\n const currentTaxon = this.getSelectedTaxonomies(selector);\n if (Object.keys(currentTaxon).length > 0) {\n selectedTaxonomies.push(currentTaxon)\n }\n });\n }\n\n const language = this.getSelectedLanguage();\n const searchTerm = this.getSearchParams();\n\n // WUG specific\n this.toggleClearFiltersButton(selectedTaxonomies);\n\n return { selectedTaxonomies, language, searchTerm };\n }\n\n markSelectedItemsBasedOnQueryParams(queryParams) {\n let querryParamsPertainingToFilterSelection = [\n ResourceCenterStrings.languageKeyName,\n ResourceCenterStrings.searchtextKeyName\n ]\n\n const customQueryParams = this.getQueryParamsFromDom();\n querryParamsPertainingToFilterSelection = querryParamsPertainingToFilterSelection.concat(customQueryParams);\n\n for (let currentKey of querryParamsPertainingToFilterSelection) {\n if (queryParams.has(currentKey)) {\n switch (currentKey) { \n case ResourceCenterStrings.languageKeyName:\n this.setSelectedLanguage(queryParams.get(currentKey));\n break;\n case ResourceCenterStrings.searchtextKeyName:\n this.populateSearchField(htmlDecode(queryParams.get(currentKey)));\n break;\n default:\n let keyValues = queryParams.getAll(currentKey);\n for (let currentValue of keyValues) {\n this.markElementAsSelected(\"data-name\", currentValue);\n }\n break;\n }\n }\n }\n }\n\n getSelectedTaxonomies(selector) {\n let taxonomies = {};\n let selectedTaxonomies = this.getTaxonomiesDomSelection(selector);\n\n if (selectedTaxonomies.length === 0) {\n return taxonomies;\n }\n\n selectedTaxonomies.forEach(taxon => {\n const taxonomyName = taxon.getAttribute(\"taxonomy\");\n if (taxonomyName) {\n const parent = taxon.closest(\"[taxaOperator][taxonomyOperator][taxonomy='\" + taxonomyName + \"']\");\n const taxonomyOperator = parent ? parent.getAttribute(\"taxonomyOperator\") : 'and';\n const taxaOperator = parent ? parent.getAttribute(\"taxaOperator\") : 'or';\n\n let taxaId = [];\n const taxonDataSet = taxon.dataset;\n if (taxonDataSet && taxon.dataset.id) {\n taxaId = taxon.dataset.id.split(\",\");\n }\n else {\n taxaId.push(taxon.getAttribute(\"id\"));\n }\n\n if (taxonomies.hasOwnProperty(taxonomyName)) {\n taxonomies[taxonomyName].taxa = taxonomies[taxonomyName].taxa.concat(taxaId);\n }\n else {\n taxonomies[taxonomyName] = { taxonomyOperator: taxonomyOperator, taxaOperator: taxaOperator, taxa: taxaId };\n }\n }\n });\n\n return taxonomies;\n }\n\n getSearchParams() {\n let searchParams = \"\";\n let searchInputValue = \"\";\n if (document.getElementById(this.filterSettings.SearchSelectors.input)) {\n searchInputValue = document.getElementById(this.filterSettings.SearchSelectors.input).value;\n }\n\n let activeSerchMessageElement = document.querySelector(`.${this.filterSettings.SearchSelectors.activeSerchMessageElement}`);\n let activeSearchMessageTermElement = document.querySelector(`.${this.filterSettings.SearchSelectors.activeSearchMessageTermElement}`);\n\n if (searchInputValue && searchInputValue.length > 0) {\n searchParams += searchInputValue;\n }\n\n if (activeSerchMessageElement && activeSearchMessageTermElement) {\n this.toggleActiveSearchMessage(searchParams, activeSerchMessageElement, activeSearchMessageTermElement, searchInputValue);\n }\n\n return searchParams;\n }\n\n getSelectedLanguage() {\n const selector = this.filterSettings.LanguageSelector;\n if (selector) {\n const selectedLanguage = document.querySelector(`input[class=${selector}]:checked, select[class=${selector}] option:checked`);\n if (!selectedLanguage) {\n return 'en';\n }\n return selectedLanguage.id;\n }\n return '';\n }\n\n setSelectedLanguage(language) {\n let languageField = document.getElementById(language) || document.getElementById('en');\n\n if (!languageField || !language) return;\n\n const domElementType = languageField.tagName.toLowerCase();\n switch (domElementType) {\n case 'option':\n languageField.selected = true;\n break;\n case 'input':\n languageField.checked = true;\n }\n }\n\n markElementAsSelected(propertyName, propertyValue, isSelected = true) {\n try {\n const domElement = document.querySelectorAll(`[${propertyName}='${propertyValue}']`);\n if (domElement) {\n const domElementType = domElement[0].tagName.toLowerCase();\n switch (domElementType) {\n case \"option\":\n domElement[0].selected = isSelected;\n this.triggerItemChangeEvent(domElement[0]);\n case \"input\":\n domElement[0].checked = isSelected;\n this.triggerItemChangeEvent(domElement[0]);\n }\n }\n }\n catch (ex) { }\n }\n\n clearSelection(pageUrlService, clearContentType = true) {\n const defaultLanguage = pageUrlService.getPageLanguage();\n let languageElement = document.querySelector(`#${defaultLanguage}`);\n if (languageElement) {\n languageElement.checked = true;\n }\n\n this.filterSettings.TaxonomySelectors.forEach(selector => {\n let selectedTaxonomies = this.getTaxonomiesDomSelection(selector);\n selectedTaxonomies.forEach(taxon => {\n //Ipswitch and WUG do not reset their content type selection when clearing filters.\n if (taxon.name !== ResourceCenterStrings.contentTypesKeyName) {\n var taxonType = taxon.tagName.toLowerCase();\n switch (taxonType) {\n case \"input\":\n taxon.checked = false;\n this.triggerItemChangeEvent(taxon);\n break;\n case \"option\":\n taxon.selected = false;\n this.triggerItemChangeEvent(taxon);\n break;\n }\n }\n })\n });\n\n if (clearContentType) {\n const defaultContentType = document.querySelector(\"input[title='all-resources']\");\n if (defaultContentType) {\n defaultContentType.checked = true;\n }\n }\n\n this.populateSearchField(\"\");\n }\n\n triggerItemChangeEvent(item) {\n item.dispatchEvent(new Event('change'));\n }\n\n populateSearchField(value) {\n let searchField = document.getElementById(this.filterSettings.SearchSelectors.input);\n if (searchField) {\n document.getElementById(this.filterSettings.SearchSelectors.input).value = value;\n }\n }\n\n toggleActiveSearchMessage(searchParams, activeSerchMessageElement, activeSearchMessageTermElement, searchInputValue) {\n if (searchParams) {\n activeSerchMessageElement.classList.remove(\"-dn\")\n\n activeSearchMessageTermElement.innerText = searchInputValue;\n }\n else {\n activeSerchMessageElement.classList.add(\"-dn\");\n\n activeSearchMessageTermElement.innerText = \"\";\n }\n }\n\n toggleClearFiltersButton(selectedTaxonomies) {\n if (this.filterSettings.ResourceFactorySettings && this.filterSettings.ResourceFactorySettings.ResourceItemHtmlProviderName === \"WUG\" && selectedTaxonomies) {\n const attributeName = 'data-resource-filter';\n const body = document.querySelector('body');\n selectedTaxonomies.length > 0 ? body.setAttribute(attributeName, 'true') : body.removeAttribute(attributeName);\n }\n }\n\n getTaxonomiesDomSelection(selector) {\n const selectedTaxonomiesInput = Array.from(document.querySelectorAll(`.${selector}:checked`));\n const selectedTaxonomiesOption = Array.from($(`.${selector}`).find(\":selected\"));\n const selectedTaxonomies = selectedTaxonomiesInput.concat(selectedTaxonomiesOption);\n\n return selectedTaxonomies;\n }\n getQueryParamsFromDom() {\n const attributeName = \"taxonomy\";\n const domItemsMarkedWithQueryParamsAttribute = Array.from(document.querySelectorAll(`[${attributeName}]`));\n let queryParams = [];\n\n domItemsMarkedWithQueryParamsAttribute.forEach(queryParam => {\n const queryParamKey = queryParam.getAttribute(attributeName);\n // The \"new Set()\" collection is not supported by IE 11;\n if (queryParams.indexOf(queryParamKey) === -1) {\n queryParams.push(queryParamKey);\n }\n });\n\n return queryParams;\n }\n}\n","import { ResourceCenterStrings } from \"./resource-center-strings.js\";\nimport { htmlEncode } from \"./resource-center-sanitize.js\";\n\nexport class ResourceCenterApiUrlService {\n constructor(settings) {\n this.widgetSettings = settings || {};\n this.oDataSettings = settings.ODataSettings || {};\n this.defaults = settings.UrlSettings || {\n filter: '$filter=',\n containsSegment: 'contains',\n expand: '$expand=',\n culture: 'sf_culture=',\n skip: '$skip=',\n take: '$top=',\n count: '$count=true',\n joinById: ' or id eq '\n }\n }\n\n generate(pageNumber, currentSelections) {\n let filterSegments = [];\n filterSegments = filterSegments.concat(this.oDataSettings.FilterSegments);\n const excludeTaxa = this.getTaxaUrls(this.oDataSettings.ExcludedTaxonomies, 'x ne');\n if (excludeTaxa) {\n filterSegments.push(`(${excludeTaxa})`);\n }\n\n let taxonomiesExpression = [];\n currentSelections.selectedTaxonomies.forEach(selectedTaxonomy => {\n const taxaUrl = this.getTaxaUrls(selectedTaxonomy, 'x eq');\n if (taxaUrl) {\n taxonomiesExpression.push(`(${taxaUrl})`);\n }\n });\n\n if (taxonomiesExpression.length > 0) {\n filterSegments.push(taxonomiesExpression.join(' and '));\n }\n const searchUrl = this.getApiSearchData(currentSelections.searchTerm);\n if (searchUrl) {\n filterSegments.push(searchUrl)\n }\n\n let queryParams = [];\n if (filterSegments.length > 0) {\n queryParams.push(`${this.defaults.filter}${filterSegments.join(' and ')}`);\n }\n const skipCount = this.widgetSettings.DisablePaging ? 0 : `${this.defaults.skip}${(pageNumber - 1) * this.oDataSettings.PageSize}`;\n const takeCount = this.widgetSettings.DisablePaging ? 0 : `${this.defaults.take}${this.oDataSettings.PageSize}`;\n const expands = this.getExpandedFieldsQuery();\n let culture = \"\";\n if (currentSelections.language) {\n culture = `${this.defaults.culture}${currentSelections.language}`;\n }\n\n queryParams.push(culture,\n expands,\n this.oDataSettings.SelectedFields,\n this.oDataSettings.OrderBy,\n skipCount,\n takeCount,\n this.defaults.count);\n\n const defaultUrl = this.oDataSettings.Endpoint + '?' + queryParams.filter(removeEmptyEntries => removeEmptyEntries).join('&');\n let apiRequestUrl = {\n url: defaultUrl\n };\n const onOdataUrlGenerated = new CustomEvent(\"onResourceCenterOdataUrlGenerationCompleted\", { detail: apiRequestUrl });\n document.dispatchEvent(onOdataUrlGenerated);\n\n return apiRequestUrl.url;\n }\n\n getExpandedFieldsQuery() {\n let query = [];\n\n const imageQuery = this.getImageQuery();\n if (imageQuery) {\n query.push(imageQuery);\n }\n\n if (this.oDataSettings.ExpandedFields.CommonFields.length > 0) {\n query.push(this.oDataSettings.ExpandedFields.CommonFields.join(','));\n }\n\n return query.length > 0 ? `${this.defaults.expand}${query.join(',')}` : \"\";\n }\n\n getTaxaUrls(taxonomies, taxaComparer) {\n let url = \"\";\n if (!taxonomies || Object.keys(taxonomies).length === 0) {\n return url;\n }\n let count = 0;\n for (let taxonomyName in taxonomies) {\n\n if (count > 0) { url += ' ' + taxonomies[taxonomyName].taxonomyOperator + ' ' }\n let opetator = taxonomies[taxonomyName].taxaOperator || 'or';\n url += taxonomyName + (opetator == 'or' ? '/any(x:' + taxaComparer + ' ' : '/all(x:' + taxaComparer + ' ');\n url += taxonomies[taxonomyName].taxa.join(' ' + opetator + ' ' + taxaComparer + ' ') + ')';\n\n count++;\n }\n url = url.replace(ResourceCenterStrings.categoriesKeyName, 'category');\n url = url.replace(ResourceCenterStrings.contentTypesKeyName, 'contenttypes');\n return url;\n }\n\n getApiSearchData(searchTerm) {\n let search = \"\";\n if (searchTerm.length > 0) {\n let segments = []\n const sanitizedTerm = this.sanitizeValueForUrl(searchTerm);\n\n this.oDataSettings.ContainsFields.forEach(field => {\n segments.push(`${this.defaults.containsSegment}(${field},'${sanitizedTerm}')`)\n });\n\n if (segments.length > 0) {\n search += `(${segments.join(' or ')})`;\n }\n }\n\n return search;\n }\n\n sanitizeValueForUrl(value) {\n let cleanValueFromSpecialCharacters = value.replace(\"'\", \"''\");\n return encodeURIComponent(htmlEncode(cleanValueFromSpecialCharacters));\n }\n\n getImagesUrl_english(resourceIds) {\n let url = '';\n const imageQuery = this.getImageQuery();\n if (imageQuery) {\n url = `${this.oDataSettings.Endpoint}?${this.defaults.filter}(id eq ${resourceIds.join(this.defaults.joinById)})&$select=id&${this.defaults.expand}${imageQuery}`\n }\n return url;\n }\n\n getImageQuery() {\n if (this.oDataSettings.ExpandedFields.Image) {\n return Object.values(this.oDataSettings.ExpandedFields.Image)[0];\n }\n return \"\";\n }\n}\n","export class ResourceItemHtmlProvider {\n constructor(filterService) {\n this.filterService = filterService;\n }\n\n getItemHtml(item, relatedMedia) {\n return \"\";\n }\n\n setRelatedMedia(item, relatedMedia) {\n const imageFieldName = Object.keys(window.ResourceCenterSettings.ODataSettings.ExpandedFields.Image)[0];\n let imageData;\n\n if (item[imageFieldName]) {\n if (Array.isArray(item[imageFieldName])){\n imageData = item[imageFieldName][0];\n }\n else {\n imageData = item[imageFieldName];\n }\n }\n\n let fileData;\n\n let englishVersion;\n if (relatedMedia && relatedMedia.length > 0) {\n englishVersion = relatedMedia.filter(media => { return media.Id === item.Id })[0]\n }\n\n // Fallback to english version.\n if (!imageData) {\n imageData = {};\n if (englishVersion && englishVersion[imageFieldName][0]) {\n imageData = englishVersion[imageFieldName][0];\n }\n }\n\n if (item.NotGated) {\n fileData = item.File[0];\n if (!fileData && (englishVersion && englishVersion.File)) {\n fileData = englishVersion.File[0];\n }\n }\n\n return { imageData, fileData };\n }\n\n getResourceUrl(contentTypeId) {\n let selectedLanguage = this.filterService.getSelectedLanguage();\n\n if (!selectedLanguage){\n selectedLanguage = \"en\";\n }\n\n const localizedUrl = window.localizedUrls[contentTypeId];\n let resourceUrl = \"\";\n\n if (localizedUrl) {\n resourceUrl = localizedUrl.filter(e => e.CultureName == selectedLanguage)[0].UrlName;\n }\n\n return resourceUrl;\n }\n\n encodeHtml(text){\n if(!text){\n return text;\n }\n \n var p = document.createElement(\"p\");\n p.textContent = text;\n var result = p.innerHTML;\n return result;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderWug extends ResourceItemHtmlProvider {\n constructor(filterService) {\n super(filterService);\n this.cssClasses = {\n col: 'col-4 -xl-half -mb3 -m-mb3',\n resource: 'Res-wrp',\n resorceImageRatio: 'Embed Embed--16by9 -bg-black',\n resorceImage: 'Section-bg',\n resourceContent: 'Res-content',\n resourceType: 'Res-label',\n webinarStartDate: 'Res-date',\n resourceSummary: 'Res-summary',\n resourceCTA: 'Res-cta',\n }\n\n this.monthNamesMap = new Map();\n this.monthNamesMap.set(\"en\", [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"Decembеr\"]);\n this.monthNamesMap.set(\"de\", [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"]);\n this.monthNamesMap.set(\"fr\", [\"Janvier\", \"Février\", \"Mars\", \"Avril\", \"Mai\", \"Juin\", \"Juillet\", \"Août\", \"Septembre\", \"Octobre\", \"Novembre\", \"Décembre\"]);\n this.monthNamesMap.set(\"ja\", [\"1月\", \"2月\", \"三月\", \"4月\", \"五月\", \"六月\", \"7月\", \"8月\", \"9月\", \"10月\", \"11月\", \"12月\"]);\n this.monthNamesMap.set(\"pt\", [\"Janeiro\", \"Fevereiro\", \"Marcha\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"]);\n this.monthNamesMap.set(\"es\", [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"]);\n this.monthNamesMap.set(\"zh-TW\", [\"一月\", \"二月\", \"遊行\", \"四月\", \"可能\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十月\"]);\n this.monthNamesMap.set(\"nl\", [\"Januari\", \"Februari\", \"Maart\", \"April\", \"Mei\", \"Juni\", \"Juli\", \"Augustus\", \"September\", \"Oktober\", \"November\", \"Decembre\"]);\n this.monthNamesMap.set(\"sv\", [\"Januari\", \"Februari\", \"Mars\", \"April\", \"Maj\", \"Juni\", \"Juli\", \"Augusti\", \"September\", \"Oktober\", \"November\", \"December\"]);\n }\n\n getItemHtml(item, relatedMedia) {\n const { col, resource, resorceImageRatio, resorceImage, resourceType, webinarStartDate, resourceSummary, resourceCTA, resourceContent } = this.cssClasses;\n const { imageData } = super.setRelatedMedia(item, relatedMedia);\n const { Title, CTAText, UrlName: resourcePath, Summary, StartDate, ExternalUrl, CTAUrl } = item;\n const imageFallback = 'https://d34smkdb128qfi.cloudfront.net/images/librariesprovider2/default-album/resources/resource-default-thumbnail.jpg';\n const contentType = item.resourceCategory[0];\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n const featuredLabel = Boolean(Number(item.IsFeatured)) ? '
Featured
' : '';\n let resourceUrl;\n\n if (CTAUrl) {\n resourceUrl = CTAUrl;\n } else if (ExternalUrl) {\n resourceUrl = ExternalUrl;\n }\n else {\n resourceUrl = `${pageUrl}/${resourcePath}`;\n }\n\n let html = `\n
\n \n
\n
\n \"resource\n
\n
\n
\n ${featuredLabel}\n
${contentType.Title}
`;\n if (contentType.Id === '95d3ec8e-65be-4005-bbbf-cf94764bec84' && StartDate) {\n const startDate = new Date(StartDate);\n html += `
${startDate.getDate()} ${this.getMonthName(startDate.getMonth(), this.filterService.getSelectedLanguage())}
`\n }\n\n html += `

${this.encodeHtml(Title)}

`;\n\n if (Summary) {\n html += `
${this.encodeHtml(Summary)}
`\n }\n\n html += `\n
\n `;\n\n if (CTAText) {\n html += `
${this.encodeHtml(CTAText)}
`\n }\n\n html += `\n
\n
\n `;\n\n return html;\n }\n\n getMonthName(monthNumber, language) {\n const monthNameArray = this.monthNamesMap.get(language);\n return monthNameArray[monthNumber];\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderIpswitch extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n col: 'col-4 -xl-half -mb3',\n resourceWrapper: '-full -b1',\n resourceEmbed: 'Embed Embed--16by9 -db -tint-black -h-op-8',\n resourceImage: 'Section-bg -op-6',\n floatingLabel: 'Resource-floatingLabel Tag -tint-white -ttn',\n resourceContent: '-p2 -pt3 -pb3 -full -mt0 -df',\n labelWrap: '-fs0 -mb1',\n label: 'Tag',\n resourceDate: '-fs14 -fw3 -mb2',\n resourceLink: '-fs14 -ttu -fw5 -c-red -tdn'\n }\n\n this.minLabel = { en: 'min', de: 'minuten', nl: 'minuten', es: 'minutos', pt: 'minutos', fr: 'minutes', sv: 'minuter', jp: '分', 'zh-TW': '分' };\n }\n\n getResourceCtaLabel(contentType) {\n const lang = this.filterService.getSelectedLanguage();\n\n const learnMoreLabel = { en: 'Learn more', de: 'Mehr erfahren', nl: 'Meer informatie', es: 'Más información', pt: 'Saiba mais', fr: 'En savoir plus', sv: 'Läs mer', jp: '詳細', 'zh-TW': '深入瞭解' };\n const downloadTheReportLabel = { en: 'Download the report', de: 'Bericht herunterladen', nl: 'Download het rapport', es: 'Descargar el informe', pt: 'Baixar o relatório', fr: 'Télécharger le rapport', sv: 'Ladda ner rapporten', jp: 'レポートをダウンロード', 'zh-TW': '下載報告' };\n const downloadThePdfLabel = { en: 'Download the PDF', de: 'PDF herunterladen', nl: 'Download de PDF', es: 'Descargar el PDF', pt: 'Baixe o PDF', fr: 'Télécharger le PDF', sv: 'Ladda ner PDF:n', jp: 'PDF をダウンロード', 'zh-TW': '下載 PDF' };\n const viewTheInfographicLabel = { en: 'View the infographic', de: 'Hier die Infografik ansehen', nl: 'Bekijk de infographic', es: 'Ver la infografía', pt: 'Veja o infográfico', fr: 'Voir l\\'infographie', sv: 'Visa infografiken' };\n const watchTheVideoLabel = { en: 'Watch the video', de: 'Sehen Sie sich das Video an', nl: 'Bekijk de video', es: 'Ver el vídeo', pt: 'Assista ao vídeo', fr: 'Regarder la vidéo', sv: 'Titta på videon', jp: 'ビデオを視聴', 'zh-TW': '觀看影片' };\n const registerLabel = { en: 'Register', de: 'Registrieren', nl: 'Registreer', es: 'Regístrese en', pt: 'Registre-se', fr: 'S\\'inscrire', sv: 'Registrera', jp: '登録申し込み', 'zh-TW': '註冊網絡研討會' };\n const watchTheWebinarLabel = { en: 'Watch the webinar', de: 'Webinar ansehen', nl: 'Bekijk het webinar', es: 'Ver el seminario web', pt: 'Assista ao webinar', fr: 'Regarder le webinaire', sv: 'Se webbseminariet', jp: 'ウェビナーを視聴', 'zh-TW': '觀看網絡研討會' };\n const downloadLabel = { en: 'Download', de: 'Herunterladen', nl: 'Download', es: 'Descargar', pt: 'Download', fr: 'Télécharger', sv: 'Ladda ner', jp: 'ダウンロード', 'zh-TW': '下載' };\n\n switch (contentType.Id) {\n case '95d3ec8e-65be-4005-bbbf-cf94764bec84': // Live webinar\n return registerLabel[lang];\n case 'ba3505a5-edf2-4b48-8196-3cd4ec03e8b3': // On-demand webinar\n return watchTheWebinarLabel[lang];\n case 'c5dbf402-5020-4c9f-a6e5-80fbc168e2e8': // Video\n return watchTheVideoLabel[lang];\n case 'fba60918-8c88-4d01-afc9-63a9c113f644': // Analyst report\n return downloadTheReportLabel[lang];\n case 'eeb3c6b5-1f50-4737-a2f3-717e59683ec2': // Data sheet\n return downloadThePdfLabel[lang];\n case '3db61f70-a14e-4431-8aef-2d9fd62ba222': // Infographic\n return viewTheInfographicLabel[lang];\n case '70ae4793-8040-4c66-8bdf-0a7f4e81ede7': // Best practice\n case '6e38772a-82c5-454a-b6e6-740504dce161': // Case study\n return learnMoreLabel[lang];\n case 'fd8805fa-9232-4470-892e-e2e2bb263842': // Whitepaper\n case '63a9b7cc-0814-4876-8a8f-d77bd1451ddd': // Ebook\n return downloadLabel[lang];\n default:\n return this.CTAText;\n }\n }\n\n getItemHtml(item, relatedMedia) {\n let formattedDate = null;\n\n let { col, resourceWrapper, resourceEmbed, resourceImage, floatingLabel, resourceContent, labelWrap, label, resourceDate, resourceLink} = this.cssClasses;\n const { imageData, fileData } = super.setRelatedMedia(item, relatedMedia);\n const { Title, CTAText, UrlName: resourcePath } = item;\n const contentType = item.resourceCategory[0];\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n const resourceUrl = `${pageUrl}/${resourcePath}`;\n const featuredLabel = Boolean(Number(item.IsFeatured)) ? 'Featured' : '';\n const selectedLanguage = this.filterService.getSelectedLanguage();\n\n // Live Webinar Start Date\n if (contentType.Id === '95d3ec8e-65be-4005-bbbf-cf94764bec84' && item.StartDate !== null) {\n let startDate = item.StartDate;\n let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };\n let webinarDate = new Date(startDate);\n formattedDate = webinarDate.toLocaleDateString(selectedLanguage, options);\n }\n\n // Video Play Icon\n if (contentType.Id === 'c5dbf402-5020-4c9f-a6e5-80fbc168e2e8') {\n resourceEmbed += ' -i-play-lite -i--overlay -fs70 -accent-white';\n }\n\n const html = `\n
\n
\n \n ${featuredLabel}\n
\n ${imageData && imageData.Url ? `\"${imageData.AlternativeText}\"` : ''}\n
\n ${!item.VideoLength ? '' : `
${item.VideoLength}${this.minLabel[selectedLanguage] || this.minLabel.en}
`}\n
\n
\n
\n
${contentType.Title}
\n
\n
${this.encodeHtml(Title)}
\n
${formattedDate != null ? formattedDate : ''}
\n ${this.encodeHtml(this.getResourceCtaLabel(contentType) || CTAText)}\n
\n
\n
\n `;\n\n return html;\n }\n}","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderChefPartners extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices); \n }\n\n getItemHtml(item, relatedMedia) {\n const { imageData, fileData } = super.setRelatedMedia(item, relatedMedia); \n const imageFallback = 'https://d1l5pp53ux74mz.cloudfront.net/images/default-source/resources/partner_illustration-.svg';\n\n const html = `\n
\n
\n
\n
\n \"Partner\n
\n

${this.encodeHtml(item.Title)}

\n

${item.Description ? this.encodeHtml(item.Description) : ''}

\n Visit Partner Site\n
\n
\n
\n `;\n\n return html;\n\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderChefCustomers extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n const { UrlName: resourcePath } = item;\n const imageFallback = 'https://d1l5pp53ux74mz.cloudfront.net/images/default-source/resources/customer_story-new.svg'; //<-- We can delete this if we dont need it.\n const { imageData } = super.setRelatedMedia(item, relatedMedia);\n const contentType = item.contenttype ? item.contenttype[0] : item.contenttypes[0]\n const pageUrl = super.getResourceUrl(contentType);\n const resourceUrl = `${pageUrl}/${resourcePath}`;\n\n const html = `\n
\n
\n
\n \"${imageData.AlternativeText}\"\n

${this.encodeHtml(item.Title)}

\n

${this.encodeHtml(item.Summary)}

\n ${this.encodeHtml(item.CTAText)}\n
\n
\n
\n `;\n\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderChefResources extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n\n },\n this.defaultResourceData = [\n {\n imagePath: \"/images/default-source/resources/data_sheet-new.svg\",\n cta: \"Download Now\",\n id: \"b2b0d12d-c6c0-44c9-83cf-f03965abf50c\"\n },\n {\n imagePath: \"/images/default-source/resources/webinar-new.svg\",\n cta: \"Watch the Webinar\",\n id: \"d743233e-7255-424b-ad23-32b674f698db\"\n },\n {\n imagePath: \"/images/default-source/resources/whitepaper-new.svg\",\n cta: \"Download Now\",\n id: \"32632d8b-f588-4c1d-ac53-e806eaa7b8f4\"\n },\n {\n imagePath: \"/images/default-source/resources/customer_story-new.svg\",\n cta: \"View the Customer Story\",\n id: \"35e120fe-546e-4900-a6c5-324a1ebce270\"\n },\n {\n imagePath: null,\n cta: \"Watch Video\",\n id: \"9d8ba3b3-b596-4e59-ac3a-a7df21d642fb\"\n },\n {\n imagePath: \"/images/default-source/resources/video-new.svg\",\n cta: \"Watch Video\",\n id: \"4d293c48-db34-4f40-b68e-df37d3d4b337\"\n },\n {\n imagePath: null,\n cta: \"Download Now\",\n id: \"04a0a1e9-8a4a-4570-a981-fdb196bcdf9b\"\n },\n {\n imagePath: \"/images/default-source/resources/generic-new.svg\",\n cta: \"Download Now\",\n id: \"5c0179a1-80e8-4ef2-8f71-8fb79172e700\"\n }\n ]\n }\n\n getItemHtml(item, relatedMedia) {\n let fileData = null;\n let isWebinar = item.resourceCategory[0].Id == \"d743233e-7255-424b-ad23-32b674f698db\";\n if (item.resourceCategory[0].Id != \"35e120fe-546e-4900-a6c5-324a1ebce270\") {\n fileData = !item.IsGated && item.File ? item.File : null\n } \n const { UrlName: resourcePath } = item;\n const CTATextFallback = this.defaultResourceData.find(ct => ct.id === item.resourceCategory[0].Id)?.cta;\n const imagePath = item.ListImage ? item.ListImage.Url : this.defaultResourceData.find(ct => ct.id === item.resourceCategory[0].Id)?.imagePath;\n const imageFallback = '/images/default-source/resources/generic-new.svg';\n const startDateISO = (new Date(item.StartDate)).toISOString();\n const label = `${item.IsUpcomming ? \"Upcoming\" : \"On-Demand\"}`;\n const featuredLabel = `${item.IsFeatured ? \"Featured\": ''}`;\n const summaryParagraph = `

${this.encodeHtml(item.Summary)}

`;\n const timeElement = item.IsUpcomming ? ``: '';\n const pageUrl = super.getResourceUrl(item.contenttype[0]);\n const resourceUrl = `${pageUrl}/${resourcePath}`;\n const target = fileData != null ? `target=\"_blank\"` : \"\";\n const html = `\n
\n
\n \"${item.resourceCategory[0].Title}\n \n ${featuredLabel} ${isWebinar ? label : ''}\n \n
\n

${item.resourceCategory[0].Title}

\n
${this.encodeHtml(item.Title)}
\n ${isWebinar ? timeElement : ''}\n ${item.Summary ? summaryParagraph : ''}\n ${this.encodeHtml(item.CTAText) || CTATextFallback}\n
\n
\n
\n `;\n\n return html;\n } \n\n getDate(utcDate){\n let date = new Date(utcDate);\n const options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };\n return date.toLocaleDateString(undefined, options);\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderChefEvents extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices); \n }\n\n getItemHtml(item, relatedMedia) {\n const { imageData, fileData } = super.setRelatedMedia(item, relatedMedia); \n\n const html = `\n
\n
\n \"Event\n
\n \n
${this.encodeHtml(item.Title)}
\n More info\n
\n
\n
\n `;\n\n return html;\n\n }\n\n getEventDate(utcDate){\n let currentDate = new Date(utcDate);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n return monthNames[currentDate.getMonth()] + \" \" + currentDate.getDate() + this.nth(currentDate.getDate()) ;\n }\n\n nth(d) {\n if (d > 3 && d < 21) return 'th';\n switch (d % 10) {\n case 1: return \"st\";\n case 2: return \"nd\";\n case 3: return \"rd\";\n default: return \"th\";\n }\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\r\n\r\nexport class ResourceItemHtmlProviderChefWebinars extends ResourceItemHtmlProvider {\r\n constructor(filterServices) {\r\n super(filterServices); \r\n }\r\n\r\n getItemHtml(item, relatedMedia) {\r\n const contentType = item.contenttype ? item.contenttype[0] : item.contenttypes[0]\r\n const { CTAUrl } = item;\r\n const pageUrl = super.getResourceUrl(contentType);\r\n let resourceUrl;\r\n\r\n if (CTAUrl) {\r\n resourceUrl = CTAUrl;\r\n }\r\n else {\r\n resourceUrl = `${pageUrl}/${item.UrlName}`;\r\n }\r\n\r\n const startDateISO = (new Date(item.StartDate)).toISOString();\r\n const timeElement = item.IsUpcomming ? ``: '';\r\n const html = `
\r\n
\r\n
\r\n ${item.IsUpcomming ? \"Upcoming\" : \"On-Demand\"}\r\n

${this.encodeHtml(item.Title)}

\r\n ${timeElement}\r\n

${this.encodeHtml(item.Summary)}

\r\n ${item.IsUpcomming ? \"Register\" : \"Watch Now\"}\r\n
\r\n
\r\n
`;\r\n\r\nreturn html;\r\n}\r\n\r\ngetDate(utcDate){\r\n let date = new Date(utcDate);\r\n const options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };\r\n return date.toLocaleDateString(undefined, options);\r\n }\r\n}\r\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressDciOverview extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n const url = `/connectors/${item.UrlName}`;\n const html = `\n
\n \n
\n \n
\n
\n
\n ${this.encodeHtml(item.Title)}\n
\n
\n `;\n\n return html;\n\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressDciAccordion extends ResourceItemHtmlProvider {\n\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n let html = '';\n\n if (item.Interfaces && item.Interfaces.length){\n const interfaceOrderMap = this.orderInterfaces(item.Interfaces);\n\n html += `\n
\n
\n
\n \n
\n
${this.encodeHtml(item.Title)}
\n
\n
\n `;\n\n interfaceOrderMap.forEach((value, key) => {\n if(key === 'other'){\n for(let otherInterface of value){\n html += this.buildInterfaceHtml(otherInterface);\n }\n }\n else{\n if(value){\n html += this.buildInterfaceHtml(value);\n }\n }\n });\n html += '
';\n }\n html += '
';\n\n return html;\n\n }\n\n buildInterfaceHtml(interfaceData){\n let html = \"\";\n const hasResources = interfaceData.BlogPosts || interfaceData.Videos || interfaceData.SuccessStories\n || interfaceData.Tutorials || interfaceData.Webinars || interfaceData.Whitepapers;\n\n if(hasResources || interfaceData.Documentation){\n html += `
\n ${this.encodeHtml(interfaceData.InterfaceTitle)}\n
\n
`;\n if(interfaceData.Documentation){\n html += `
\n
Documentation
`;\n for(let docContent of interfaceData.Documentation.SectionContent){\n html += `
${docContent}
`;\n }\n }\n\n if(hasResources){\n html += `
`;\n if(interfaceData.BlogPosts){\n html += `
Blogs
`;\n for(let blogPostLink of interfaceData.BlogPosts.Links){\n html += ``;\n }\n }\n\n if(interfaceData.Videos){\n html += `
Videos
`\n for(let videoLink of interfaceData.Videos.Links){\n html += ``;\n }\n }\n\n if(interfaceData.SuccessStories){\n html += `
Success Stories
`;\n\n for(let successStoryLink of interfaceData.SuccessStories.Links){\n html += ``;\n\n }\n }\n html += '
';\n\n if(interfaceData.Tutorials){\n html += `
Tutorials
`;\n\n for(let tutorialLink of interfaceData.Tutorials.Links){\n html += ``;\n }\n }\n\n if(interfaceData.Webinars){\n html += `
Webinars
`;\n\n for(let webinarLink of interfaceData.Webinars.Links){\n html += ``;\n }\n }\n\n if(interfaceData.Whitepapers){\n html += `
Papers
`;\n\n for(let paperLink of interfaceData.Whitepapers.Links){\n html += ``;\n }\n }\n\n html += '
';\n }\n html += '
';\n }\n return html;\n }\n\n orderInterfaces(interfacesCollection) {\n const interfaceOrderMap = new Map();\n interfaceOrderMap.set('odbc', null);\n interfaceOrderMap.set('jdbc', null);\n interfaceOrderMap.set('net', null);\n interfaceOrderMap.set('odata', null);\n interfaceOrderMap.set('xml-converters', null);\n interfaceOrderMap.set('xquery', null);\n interfaceOrderMap.set('xml-editor', null);\n interfaceOrderMap.set('other', []);\n\n for(let currentInterface of interfacesCollection){\n if(interfaceOrderMap.has(currentInterface.InterfaceUrlName)){\n interfaceOrderMap.set(currentInterface.InterfaceUrlName, currentInterface);\n }\n else{\n interfaceOrderMap.get('other').push(currentInterface);\n }\n }\n\n return interfaceOrderMap;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressDciList extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n let html = '';\n\n if (item && item.length){\n html = '
';\n\n for(let group of item){\n html += `
\n ${this.encodeHtml(group.title)}\n
';\n }\n\n html += '
';\n }\n\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressUserAwardsList extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.industryTaxonParentId = '2a37d4d1-00a5-47d0-bc07-b90a9b8b2052';\n this.awardTaxonParentId = 'cbe81580-509b-42a7-85db-c2736ab49c54';\n this.countryTaxonParentId = '747f50af-d826-4b19-8eb9-3c8880a8ef1b';\n this.yearTaxonParentId = 'bcb8fbc4-83bf-463c-9c27-0ebe6d51c951';\n this.monthTaxonParentId = '44758699-4324-408a-8400-6190310374c1';\n this.projectOfTheMonthTaxonId = 'ae08dcbc-a2ed-4951-becb-5cb1ab9c9260';\n this.practitionerOfTheYearTaxonId = '17ec98a9-02e5-472e-b69e-6862e76493a4';\n this.websiteOfTheYearTaxonId = '0ed015d0-836d-453c-afec-ea03f5c4f8c3';\n }\n\n getItemHtml(item) {\n let html = '';\n if (item && item.taxonomyNavigationProperty){\n let industryTitles = item.taxonomyNavigationProperty\n .filter(taxon => taxon.ParentId == this.industryTaxonParentId)\n .map(taxon => taxon.Title)\n .join(', ');\n let awardTitle = item.taxonomyNavigationProperty.filter(taxon => taxon.ParentId == this.awardTaxonParentId)[0].Title;\n let awardId = item.taxonomyNavigationProperty.filter(taxon => taxon.ParentId == this.awardTaxonParentId)[0].Id;\n let countryTitle = item.taxonomyNavigationProperty.filter(taxon => taxon.ParentId == this.countryTaxonParentId)[0].Title;\n let year = item.taxonomyNavigationProperty.filter(taxon => taxon.ParentId == this.yearTaxonParentId)[0].Title;\n let labelText = '';\n let labelClass = '';\n\n html = '
';\n if(awardId == this.projectOfTheMonthTaxonId){\n labelClass = '10';\n labelText = `${awardTitle}`;\n }\n else if(awardId == this.practitionerOfTheYearTaxonId){\n labelClass = '4';\n labelText = `${year} ${awardTitle}`;\n }\n else if(awardId == this.websiteOfTheYearTaxonId){\n labelClass = '9';\n labelText = `${year} ${awardTitle}`;\n }\n html += `\n
\n
\n \"award\n

${labelText}

\n
\n
\n ${this.encodeHtml(item.Title)}\n
Industry: ${industryTitles}
\n
Country: ${countryTitle}
\n
Implemented by: ${this.encodeHtml(item.ImplementorName)}
\n
\n
\n
\n
`;\n }\n\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderKempPartners extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.partnerTypesTaxonId = '94bb48a6-d944-4834-9cf4-1196dbf61e77';\n this.partnerSpecializationsTaxonId = '0dda20a2-f2af-4434-947f-86773ead8524'\n }\n\n getItemHtml(item, relatedMedia) {\n const img = (item.Logo) ? item.Logo.Url : '';\n const partnerTypeData = item.partnerType.filter(type => type.ParentId === this.partnerTypesTaxonId);\n let partnerTypeStr = \"\";\n if(partnerTypeData.length > 0) {\n partnerTypeStr = \n `
Partner Type
\n
${partnerTypeData.map(u => u.Title).join(', ')}
`;\n }\n const countryData = item.countryData.map(country => country.Title).join(', ');\n const languageInput = (window.ResourceCenterSettings && window.ResourceCenterSettings.LanguageSelector) ? document.querySelector(`.${window.ResourceCenterSettings.LanguageSelector}`) : null;\n const itemUrl = languageInput ? `/${languageInput.id}/kemp-partner/${item.UrlName}` : `/kemp-partner/${item.UrlName}`;\n const html = `\n
\n
\n
\n
\n \n
\n
\n

\n ${this.encodeHtml(item.Title)}\n

\n
\n\n ${item.Email && `\n
Email
\n
${item.Email}
\n `}\n\n ${item.Phone && `\n
Phone
\n
${item.Phone}
\n `}\n\n ${item.PostalCode && `\n
Postal Code
\n
${item.PostalCode}
\n `}\n\n ${item.Locality && `\n
Locality
\n
${item.Locality}
\n `}\n\n ${item.Premise && `\n
Premise
\n
${item.Premise}
\n `}\n\n ${item.State && `\n
State
\n
${item.State}
\n `}\n\n ${item.Thoroughfare && `\n
Thoroughfare
\n
${item.Thoroughfare}
\n `}\n\n ${item.Website && `\n
Website
\n
${item.Website}
\n `}\n\n ${partnerTypeStr}\n\n ${countryData && `\n
Country
\n
${countryData}
\n `}\n
\n
\n
\n
\n
\n `;\n return html;\n\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderFlowmonPartners extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.patnerTypesTaxonId = '94bb48a6-d944-4834-9cf4-1196dbf61e77';\n }\n\n getItemHtml(item, relatedMedia) {\n\n const img = (item.Logo) ? item.Logo.Url : '';\n const countryData = item.countryData.map(country=> country.Title).join(', ');\n const partnerURL = `https://kemptechnologies.com/kemp-partner/${item.UrlName}`\n\n const data = {\n Email: item.Email,\n Address: `${item.Thoroughfare} ${item.Premise} ${item.State} ${item.PostalCode} ${item.Locality} ${countryData}`,\n Country: countryData,\n Phone: item.Phone,\n Website: `${item.Website}`,\n Type: item.partnerType.find(type=> type.ParentId === this.patnerTypesTaxonId) || 'No partner type'\n };\n\n let partnerTable = '';\n\n for (const [key, value] of Object.entries(data)) {\n if (value.length > 0) {\n partnerTable += `\n \n ${key}\n ${value}\n `;\n }\n }\n\n const html = `\n
\n
\n
\n
\n \n \n \n
\n
\n \n ${this.encodeHtml(item.Title)}\n \n \n `+ partnerTable +`\n
\n
\n
\n
\n
\n `;\n return html;\n\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderKempVideos extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n const img = 'https://kemptechnologies.com/images/kemptechnologieslibraries/banners/generic-video-thumb-woman.jpg';\n if(item.ListImage.length > 0) {\n img = item.ListImage[0].Url\n }\n\n const { Title, Summary, UrlName: resourcePath } = item;\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n const resourceUrl = `${pageUrl}/${resourcePath}`.replace('/details/', '/');\n\n const html = `\n
\n
\n \n
\n

\n ${this.encodeHtml(Title)}\n

\n

${Summary}…

\n
\n
\n
\n `;\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\r\n\r\nexport class ResourceItemHtmlProviderFlowmonResources extends ResourceItemHtmlProvider {\r\n constructor(filterServices) {\r\n super(filterServices);\r\n this.minLabel = { en: 'min', de: 'minuten', nl: 'minuten', es: 'minutos', pt: 'minutos', fr: 'minutes', sv: 'minuter', jp: '分', 'zh-TW': '分', cs: 'min' };\r\n }\r\n\r\n getResourceCtaLabel(contentType) {\r\n const lang = this.filterService.getSelectedLanguage();\r\n\r\n const learnMoreLabel = { en: 'Learn more',cs: 'Learn more'};\r\n const downloadTheReportLabel = { en: 'Download the report',cs: 'Download the repor' };\r\n const downloadThePdfLabel = { en: 'Download the PDF', cs:'Download the PDF' };\r\n const viewTheInfographicLabel = { en: 'View the infographic', cs: 'View the infographic' };\r\n const watchTheVideoLabel = { en: 'Watch the video', cs: 'Watch the video' };\r\n const registerLabel = { en: 'Register', cs: 'Register' };\r\n const watchTheWebinarLabel = { en: 'Watch the webinar', cs: 'Watch the webinar' };\r\n const downloadLabel = { en: 'Download', cs: 'Download' };\r\n\r\n switch (contentType.Id) {\r\n case '95d3ec8e-65be-4005-bbbf-cf94764bec84': // Live webinar\r\n return registerLabel[lang];\r\n case 'ba3505a5-edf2-4b48-8196-3cd4ec03e8b3': // On-demand webinar\r\n return watchTheWebinarLabel[lang];\r\n case 'c5dbf402-5020-4c9f-a6e5-80fbc168e2e8': // Video\r\n return watchTheVideoLabel[lang];\r\n case 'fba60918-8c88-4d01-afc9-63a9c113f644': // Analyst report\r\n return downloadTheReportLabel[lang];\r\n case 'eeb3c6b5-1f50-4737-a2f3-717e59683ec2': // Data sheet\r\n case '42bf0060-28dd-4c4c-a1a5-c6b74232ec40': // solution brief\r\n case '373353ab-677c-400d-807c-5c8699b8217b': // products brief\r\n case 'cf2fbb3b-dfe7-4f77-98c0-996293ee9d9e': // integrations\r\n case '8640bcb2-4c3d-4776-8140-eaba70d3bbbe': // specification\r\n return downloadThePdfLabel[lang];\r\n case '3db61f70-a14e-4431-8aef-2d9fd62ba222': // Infographic\r\n return viewTheInfographicLabel[lang];\r\n case '70ae4793-8040-4c66-8bdf-0a7f4e81ede7': // Best practice\r\n case '6e38772a-82c5-454a-b6e6-740504dce161': // Case study\r\n case '558909ec-3dd7-428e-95fe-679f8ca002e3': // Other\r\n return learnMoreLabel[lang];\r\n case 'fd8805fa-9232-4470-892e-e2e2bb263842': // Whitepaper\r\n case '63a9b7cc-0814-4876-8a8f-d77bd1451ddd': // Ebook\r\n return downloadLabel[lang];\r\n case '392a9cff-6d1f-48d2-a7b4-d5d158df3595': // Guides\r\n return learnMoreLabel[lang];\r\n default:\r\n return this.CTAText;\r\n }\r\n }\r\n\r\n getItemHtml(item, relatedMedia) {\r\n let formattedDate = null;\r\n\r\n const { imageData, fileData } = super.setRelatedMedia(item, relatedMedia);\r\n const { Title, CTAText, UrlName: resourcePath, Summary, ExternalUrl, CTAUrl } = item;\r\n const contentType = item.resourceCategory[0];\r\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\r\n const featuredLabel = Boolean(Number(item.IsFeatured)) ? 'Featured' : '';\r\n const selectedLanguage = this.filterService.getSelectedLanguage();\r\n const imageFallback = 'https://d34smkdb128qfi.cloudfront.net/images/librariesprovider2/default-album/resources/resource-default-thumbnail.jpg';\r\n const summary = Summary ? `
${this.encodeHtml(Summary)}
` : '';\r\n let resourceUrl = `${pageUrl}/${resourcePath}`;\r\n\r\n // Live Webinar Start Date\r\n if (contentType.Id === '95d3ec8e-65be-4005-bbbf-cf94764bec84' && item.StartDate !== null) {\r\n let startDate = item.StartDate;\r\n let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };\r\n let webinarDate = new Date(startDate);\r\n formattedDate = webinarDate.toLocaleDateString(selectedLanguage, options);\r\n }\r\n\r\n // Video Play Icon\r\n if (contentType.Id === 'C5DBF402-5020-4C9F-A6E5-80FBC168E2E8') {\r\n resourceEmbed += ' -i-play-lite -i--overlay -fs70 -accent-white';\r\n }\r\n\r\n if (CTAUrl) {\r\n resourceUrl = CTAUrl;\r\n } else if (ExternalUrl) {\r\n resourceUrl = ExternalUrl;\r\n }\r\n\r\n const html = `\r\n
\r\n
\r\n \r\n
${featuredLabel}
\r\n
\r\n ${imageData && imageData.Url ? `\"${imageData.AlternativeText}\"` : `\"${imageData.AlternativeText}\"`}\r\n
\r\n ${!item.VideoLength ? '' : `
${item.VideoLength}${this.minLabel[selectedLanguage] || this.minLabel.en}
`}\r\n
\r\n
\r\n
${contentType.Title}
\r\n
${this.encodeHtml(Title)}
\r\n ${summary}\r\n
${formattedDate != null ? formattedDate : ''}
\r\n \r\n \r\n ${this.encodeHtml(this.getResourceCtaLabel(contentType) || CTAText)}\r\n \r\n
\r\n
\r\n
\r\n `;\r\n\r\n return html;\r\n }\r\n}\r\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\r\n\r\nexport class ResourceItemHtmlProviderKempResources extends ResourceItemHtmlProvider {\r\n constructor(filterServices) {\r\n super(filterServices);\r\n this.minLabel = { en: 'min', de: 'minuten', nl: 'minuten', es: 'minutos', pt: 'minutos', fr: 'minutes', sv: 'minuter', jp: '分', 'zh-TW': '分', cs: 'min' };\r\n this.defaultResourceData = [\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/data-sheet-thumnail.svg\",\r\n id: \"eeb3c6b5-1f50-4737-a2f3-717e59683ec2\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/webinar-thumnail.svg\",\r\n id: \"d743233e-7255-424b-ad23-32b674f698db\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/research-papers-thumnail.svg\",\r\n id: \"331bb5f5-7884-4806-8a32-946ebe52bedb\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/case-studies-thumnail.svg\",\r\n id: \"6e38772a-82c5-454a-b6e6-740504dce161\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/video-thumnail.svg\",\r\n id: \"c5dbf402-5020-4c9f-a6e5-80fbc168e2e8\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/solution-brief-thumnail.svg\",\r\n id: \"42bf0060-28dd-4c4c-a1a5-c6b74232ec40\"\r\n },\r\n {\r\n imagePath: \"/images/kemptechnologieslibraries/resources/default-thumbnails/glossary-thumbnail.svg\",\r\n id: \"4e164743-8057-47fc-aedf-70893c4361e2\"\r\n }\r\n ]\r\n }\r\n\r\n getResourceCtaLabel(contentType) {\r\n const lang = this.filterService.getSelectedLanguage();\r\n\r\n const learnMoreLabel = { en: 'Learn more', de: 'Erfahren Sie mehr', fr: 'Learn more', es: 'Learn more', ja: 'Learn more'};\r\n const watchTheVideoLabel = { en: 'Watch the video', de: 'Watch the video', fr: 'Watch the video', es: 'Watch the video', ja: 'Watch the video' };\r\n const registerLabel = { en: 'Register', de: 'Register', fr: 'Register', es: 'Register', ja: 'Register' };\r\n const watchTheWebinarLabel = { en: 'Watch the webinar', de: 'Watch the webinar', fr: 'Watch the webinar', es: 'Watch the webinar', ja: 'Watch the webinar' };\r\n const downloadLabel = { en: 'Download', de: 'Download', fr: 'Download', es: 'Download', ja: 'Download' };\r\n const viewPdfLAbel = { en: 'View PDF', de: 'View PDF', fr: 'View PDF', es: 'View PDF', ja: 'View PDF' };\r\n const seeMoreLAbel = { en: 'See More', de: 'Erfahren Sie mehr', fr: 'See More', es: 'See More', ja: 'See More' };\r\n\r\n switch (contentType.Id) {\r\n case '95d3ec8e-65be-4005-bbbf-cf94764bec84': // Live webinar\r\n return registerLabel[lang];\r\n case 'ba3505a5-edf2-4b48-8196-3cd4ec03e8b3': // On-demand webinar\r\n return watchTheWebinarLabel[lang];\r\n case 'c5dbf402-5020-4c9f-a6e5-80fbc168e2e8': // Video\r\n return watchTheVideoLabel[lang];\r\n case 'fd8805fa-9232-4470-892e-e2e2bb263842': // Whitepaper\r\n case '63a9b7cc-0814-4876-8a8f-d77bd1451ddd': // Ebook\r\n return downloadLabel[lang];\r\n case 'd743233e-7255-424b-ad23-32b674f698db': // Webinar\r\n case '4e164743-8057-47fc-aedf-70893c4361e2': // Glossary\r\n return learnMoreLabel[lang];\r\n case '42bf0060-28dd-4c4c-a1a5-c6b74232ec40': // Solution brief\r\n case 'eeb3c6b5-1f50-4737-a2f3-717e59683ec2': // Data sheet\r\n return viewPdfLAbel[lang];\r\n case '331bb5f5-7884-4806-8a32-946ebe52bedb': // Research papers\r\n case '6e38772a-82c5-454a-b6e6-740504dce161': // Case study\r\n return seeMoreLAbel[lang];\r\n default:\r\n return this.CTAText;\r\n }\r\n }\r\n\r\n getItemHtml(item, relatedMedia) {\r\n const { imageData, fileData } = super.setRelatedMedia(item, relatedMedia);\r\n const { Title, CTAText, UrlName: resourcePath, Summary, ExternalUrl, CTAUrl } = item;\r\n const contentType = item.resourceCategory[0];\r\n let isWebinar = contentType.Id == \"d743233e-7255-424b-ad23-32b674f698db\" || contentType.Id == \"95d3ec8e-65be-4005-bbbf-cf94764bec84\"|| contentType.Id == \"ba3505a5-edf2-4b48-8196-3cd4ec03e8b3\";\r\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\r\n const featuredLabel = Boolean(Number(item.IsFeatured)) ? 'Featured' : '';\r\n const selectedLanguage = this.filterService.getSelectedLanguage();\r\n const imagePath = item.ListImage.length > 0 ? imageData.Url : this.defaultResourceData.find(ct => ct.id === item.resourceCategory[0].Id)?.imagePath;\r\n const imageFallback = 'https://d34smkdb128qfi.cloudfront.net/images/librariesprovider2/default-album/resources/resource-default-thumbnail.jpg';\r\n const imageAlt = imageData.AlternativeText || 'default thumbnail';\r\n const summary = Summary ? `
${this.encodeHtml(Summary)}
` : '';\r\n let resourceUrl = `${pageUrl}/${resourcePath}`;\r\n let upcomingOrOnDemandLabel = `${item.IsUpcomming ? \"UPCOMING\" : \"On Demand\"}`;\r\n\r\n let formattedDate = null;\r\n // Live Webinar Start Date\r\n if (isWebinar && item.StartDate !== null) {\r\n let startDate = item.StartDate;\r\n let options = { year: '2-digit', month: 'numeric', day: 'numeric' };\r\n let webinarDate = new Date(startDate);\r\n formattedDate = webinarDate.toLocaleDateString(selectedLanguage, options);\r\n upcomingOrOnDemandLabel = `${item.IsUpcomming ? \"UPCOMING ON \"+ formattedDate : \"On Demand\"}`;\r\n }\r\n\r\n // Video Play Icon\r\n if (contentType.Id === 'C5DBF402-5020-4C9F-A6E5-80FBC168E2E8') {\r\n resourceEmbed += ' -i-play-lite -i--overlay -fs70 -accent-white';\r\n }\r\n\r\n if (CTAUrl) {\r\n resourceUrl = CTAUrl;\r\n } else if (ExternalUrl) {\r\n resourceUrl = ExternalUrl;\r\n }\r\n\r\n const html = `\r\n
\r\n
\r\n \r\n
${featuredLabel} ${isWebinar ? upcomingOrOnDemandLabel : ''}
\r\n
\r\n \"${imageAlt}\"\r\n
\r\n ${!item.VideoLength ? '' : `
${item.VideoLength}${this.minLabel[selectedLanguage] || this.minLabel.en}
`}\r\n
\r\n
\r\n
${contentType.Title}
\r\n
${this.encodeHtml(Title)}
\r\n ${summary}\r\n \r\n ${this.encodeHtml(CTAText || this.getResourceCtaLabel(contentType))}\r\n \r\n
\r\n
\r\n
\r\n `;\r\n\r\n return html;\r\n }\r\n}\r\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderFlowmonResearchAndProjects extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n const html = `\n
\n
\n
\n

\n \n ${this.encodeHtml(item.Title)}\n \n

\n
${item.Summary}
\n
\n
\n
\n `;\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderChefInIpswitchResources extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n\n },\n this.defaultResourceData = [\n {\n imagePath: \"/images/cheflibraries/resources/data_sheet-new.svg\",\n cta: \"Download Now\",\n id: \"eeb3c6b5-1f50-4737-a2f3-717e59683ec2\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/webinar-new.svg\",\n cta: \"Watch the Webinar\",\n id: \"d743233e-7255-424b-ad23-32b674f698db\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/whitepaper-new.svg\",\n cta: \"Download Now\",\n id: \"fd8805fa-9232-4470-892e-e2e2bb263842\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/customer_story-new.svg\",\n cta: \"View the Customer Story\",\n id: \"35e120fe-546e-4900-a6c5-324a1ebce270\"\n },\n {\n imagePath: null,\n cta: \"Watch Video\",\n id: \"9d8ba3b3-b596-4e59-ac3a-a7df21d642fb\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/video-new.svg\",\n cta: \"Watch Video\",\n id: \"c5dbf402-5020-4c9f-a6e5-80fbc168e2e8\"\n },\n {\n imagePath: null,\n cta: \"Download Now\",\n id: \"63a9b7cc-0814-4876-8a8f-d77bd1451ddd\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/generic-new.svg\",\n cta: \"Download Now\",\n id: \"5c0179a1-80e8-4ef2-8f71-8fb79172e700\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/analyst-report.svg\",\n cta: \"Download the Report\",\n id: \"fba60918-8c88-4d01-afc9-63a9c113f644\"\n },\n {\n imagePath: \"/images/cheflibraries/resources/glossary.svg\",\n cta: \"Learn more\",\n id: \"4e164743-8057-47fc-aedf-70893c4361e2\"\n },\n {\n // Reference architecture content type\n imagePath: \"/images/chefcommunitylibraries/resources/reference-architecture.svg\",\n cta: \"Learn more\",\n id: \"0206c1cc-b28a-47bb-8f15-e85fc7e10872\"\n },\n {\n // Patterns\n imagePath: \"/images/chefcommunitylibraries/resources/patterns.svg\",\n cta: \"Learn more\",\n id: \"b3ef6d9d-3592-4a0d-8a29-53d8966ab9cc\"\n },\n {\n // Best Practice\n imagePath: \"/images/chefcommunitylibraries/resources/best-practices.svg\",\n cta: \"Learn more\",\n id: \"70ae4793-8040-4c66-8bdf-0a7f4e81ede7\"\n },\n {\n // Solutions\n imagePath: \"/images/chefcommunitylibraries/resources/solutions.svg\",\n cta: \"Learn more\",\n id: \"fc755d25-6e7b-48fc-8fa9-3fc439cc4994\"\n },\n {\n // Guidance\n imagePath: \"/images/chefcommunitylibraries/resources/guidance.svg\",\n cta: \"Learn more\",\n id: \"1dcb323e-a053-4c73-88a9-d2e55387f435\"\n }\n ]\n }\n\n getItemHtml(item, relatedMedia) { \n let fileData = null;\n let isWebinar = item.resourceCategory[0].Id == \"d743233e-7255-424b-ad23-32b674f698db\";\n if (item.resourceCategory[0].Id != \"35e120fe-546e-4900-a6c5-324a1ebce270\") {\n fileData = item.NotGated && item.File && item.File.length > 0 ? item.File[0] : null\n } \n const { UrlName: resourcePath, CTAUrl } = item;\n const CTATextFallback = this.defaultResourceData.find(ct => ct.id === item.resourceCategory[0].Id)?.cta; \n const imagePath = item.ListImage && item.ListImage.length > 0 ? item.ListImage[0].Url : this.defaultResourceData.find(ct => ct.id === item.resourceCategory[0].Id)?.imagePath;\n const imageFallback = '/images/cheflibraries/resources/generic-new.svg';\n const startDateISO = (new Date(item.StartDate)).toISOString();\n const label = `${item.IsUpcomming ? \"Upcoming\" : \"OnDemand\"}`;\n const featuredLabel = `${item.IsFeatured ? \"Featured\": ''}`;\n const summaryParagraph = `

${this.encodeHtml(item.Summary)}

`;\n const timeElement = item.IsUpcomming ? ``: '';\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n let resourceUrl;\n\n if (CTAUrl) {\n resourceUrl = CTAUrl;\n }\n else {\n resourceUrl = `${pageUrl}/${resourcePath}`;\n }\n \n const target = fileData != null ? `target=\"_blank\"` : \"\";\n const html = `\n
\n
\n \"${item.resourceCategory[0].Title}\n \n ${featuredLabel} ${isWebinar ? label : ''}\n \n
\n

${item.resourceCategory[0].Title}

\n
${this.encodeHtml(item.Title)}
\n ${isWebinar ? timeElement : ''}\n ${item.Summary ? summaryParagraph : ''}\n ${this.encodeHtml(item.CTAText) || CTATextFallback}\n
\n
\n
\n `;\n\n return html;\n } \n\n getDate(utcDate){\n let date = new Date(utcDate);\n const options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };\n return date.toLocaleDateString(undefined, options);\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgress extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n col: 'col-8 -xl-half -s-full -mb4',\n resourceBox: 'Elevated -full -pr -bg-white -br2',\n resourceWrapper: 'ResourceItem',\n resourceImage: 'ResourceItem-image Section-bg',\n resourceLabel: 'ResourceLabel -mb0 -pa -l0 -b0 -z1',\n resourceContent: 'ResourceItem-info',\n resourceData: 'ResourceItem-hint -cf',\n resourceTitle: 'ResourceItem-title -mb0',\n }\n }\n\n getItemHtml(item, relatedMedia) {\n let { col, resourceBox, resourceWrapper, resourceImage, resourceLabel, resourceContent, resourceData, resourceTitle} = this.cssClasses;\n let { imageData } = super.setRelatedMedia(item, relatedMedia);\n let webinarLabel = '';\n let startDate = '';\n let startTime = '';\n let resourceUrl = '';\n const { Title, UrlName: resourcePath } = item;\n const contentType = item.resourceCategory[0];\n if(item.CTAUrl){\n resourceUrl = item.CTAUrl;\n }\n else {\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n resourceUrl = `${pageUrl}/${resourcePath}`;\n }\n\n switch(contentType.Id)\n {\n case '7504a528-711e-45b6-b299-1ec0be7d1852': // webinars\n if (item.IsUpcomming) {\n var date = new Date(item.StartDate);\n var localDate = new Date(date.getTime() - date.getTimezoneOffset() * 60000);\n startDate = localDate.toLocaleDateString('en-us', { year: 'numeric', month: 'long', day: 'numeric' });\n startTime = localDate.toLocaleTimeString('en-us', { hour: '2-digit', minute: '2-digit', hour12: true });\n startTime += ' ';\n var timeZone = /\\((.*)\\)/.exec(new Date().toString())[1];\n var timeZoneParts = timeZone.split(' ');\n for (var part of timeZoneParts) {\n startTime += part[0]\n }\n } \n else {\n webinarLabel = 'On-Demand';\n }\n resourceLabel += ' ResourceLabel--webinar';\n break;\n case 'e9a8019e-107a-45f5-bdcf-bfaab9ba7ddb': // videos\n if (!imageData || !imageData.Url) {\n imageData = { Url: \"https://img.youtube.com/vi/\" + item.YouTubeId + \"/mqdefault.jpg\", AlternativeText: \"default video thumbnail\" };\n }\n\n resourceLabel += ' ResourceLabel--video';\n break;\n case 'e1399bf0-90d5-4cee-94ff-88910fb5d017': // best practices\n resourceLabel += ' ResourceLabel--bestPractices';\n break;\n default:\n resourceLabel += ' ResourceLabel--paper';\n }\n\n if (!imageData || !imageData.Url) {\n imageData = this.getDefaultThumbnail(contentType.Id);\n }\n\n const html = `\n
\n
\n \n
\n\n
\n \"${imageData.AlternativeText}\"\n

${contentType.Title}

\n
\n
\n
\n ${webinarLabel ? webinarLabel : ''}\n ${!item.Duration ? ' ' : `${item.Duration}`}\n ${startDate || startTime ? `${startDate}${startTime}` : ' '}\n
\n

${this.encodeHtml(Title)}

\n
\n
\n
\n
\n
\n `;\n\n return html;\n }\n\n getDefaultThumbnail(contentTypeId) {\n switch(contentTypeId) {\n case '7504a528-711e-45b6-b299-1ec0be7d1852': // webinars\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/webinar/webinar-3-thumbnail.svg?v=2',\n AlternativeText: 'default webinar thumbnail'\n };\n case 'aed1dd6e-7af4-4570-8852-3547d70331e9': // whitepapers\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/paper/whitepaper-3-thumbnail.svg?v=2',\n AlternativeText: 'default whitepaper thumbnail'\n };\n case '8f53db76-b462-4053-8318-cda7745a693f': // ebooks\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/ebook/ebook-2-thumbnail.svg?v=2',\n AlternativeText: 'default ebook thumbnail'\n };\n case 'b1923938-abe4-4fca-9453-bf0ce38e5cd6': // infographics\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/infographic/infographic-1-thumbnail.svg?v=2',\n AlternativeText: 'default infographic thumbnail'\n };\n case '8d749b3c-ac2b-4f6d-b89c-beafdaff5ac0': // datasheets\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/datasheet/datasheet-3-thumbnail.svg?v=2',\n AlternativeText: 'default datasheet thumbnail'\n };\n case 'ab7b1452-1e5e-4f01-9bdf-ed2e84809561': // reports\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/report/report-2-thumbnail.svg?v=2',\n AlternativeText: 'default report thumbnail'\n };\n case 'e1399bf0-90d5-4cee-94ff-88910fb5d017': // best practices\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/best-practice/best-practices-1-thumbnail.svg?v=2',\n AlternativeText: 'default best practice thumbnail'\n };\n default:\n return {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/paper/whitepaper-3-thumbnail.svg?v=2',\n AlternativeText: 'default resource thumbnail'\n };\n }\n }\n\n getDate(utcDate){\n let date = new Date(utcDate);\n const options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };\n return date.toLocaleDateString(undefined, options);\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressWebinars extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n col: 'col-8 -xl-half -s-full -mb4',\n resourceBox: 'Elevated -full -pr -bg-white -br2',\n resourceWrapper: 'ResourceItem',\n resourceImage: 'ResourceItem-image Section-bg',\n resourceLabel: 'ResourceLabel -mb0 -pa -l0 -b0 -z1',\n resourceContent: 'ResourceItem-info -ps',\n resourceData: 'ResourceItem-hint -cf',\n resourceTitle: 'ResourceItem-title h4 -mb0 -ps HoverBox HoverBox--over -accento-0',\n resourceDescription: 'ResourceItem-summary'\n }\n\n this.minLabel = { en: 'min', de: 'minuten', nl: 'minuten', es: 'minutos', pt: 'minutos', fr: 'minutes', sv: 'minuter', ja: '分', 'zh-TW': '分' };\n this.onDemandLabel = { en: 'On-Demand', de: 'On-Demand', nl: 'On-Demand', es: 'A la carta', pt: 'Sob demanda', fr: 'À la demande', ja: 'オンデマンド', 'zh-TW': '隨選' };\n this.upcomingLabel = { en: 'Upcoming', de: 'Kommende', nl: 'Upcoming', es: 'Próximos', pt: 'Próximos', fr: 'À venir', ja: 'ライブ予定', 'zh-TW': '即將到來' };\n }\n\n getItemHtml(item, relatedMedia) {\n let { col, resourceBox, resourceWrapper, resourceImage, resourceLabel, resourceContent, resourceData, resourceTitle, resourceDescription} = this.cssClasses;\n let { imageData } = super.setRelatedMedia(item, relatedMedia);\n let webinarLabel = '';\n let summary = '';\n let startDate = '';\n let startTime = '';\n let resourceUrl = '';\n const { Title, UrlName: resourcePath } = item;\n\n if (item.CTAUrl) {\n resourceUrl = item.CTAUrl;\n }\n else {\n const pageUrl = super.getResourceUrl(item.contenttypes[0]);\n resourceUrl = `${pageUrl}/${resourcePath}`;\n }\n\n const selectedLanguage = this.filterService.getSelectedLanguage();\n\n if(item.IsUpcomming) {\n webinarLabel = this.upcomingLabel[selectedLanguage];\n resourceLabel += ' ResourceLabel--upcoming';\n\n var localDate = new Date(item.StartDate);\n startDate = localDate.toLocaleDateString('en-us', { year: 'numeric', month: 'long', day: 'numeric' });\n if(localDate.getMinutes() > 0){\n startTime = localDate.toLocaleTimeString('en-us', { timeStyle: 'short', hour12: true });\n }\n else{\n startTime = localDate.toLocaleTimeString('en-us', { hour: 'numeric', hour12: true });\n }\n \n startTime = startTime.replace('AM', 'a.m.').replace('PM', 'p.m.') + ' ';\n \n var enTimezoneString = new Date().toLocaleString(\"en-US\", { hour: \"numeric\", minute: \"numeric\", second: \"numeric\", timeZoneName: \"long\" });\n const timeZone = enTimezoneString?.split(/(AM|PM)/)[2]?.trim();\n const timeZoneParts = timeZone?.split(' ');\n if (timeZoneParts && timeZoneParts.length > 0) {\n for (const part of timeZoneParts) {\n startTime += part[0]\n }\n } else {\n const timeZoneTranslatedName = /\\((.*)\\)/.exec(new Date().toString())[1];\n timeZoneParts = timeZoneTranslatedName?.split(' ');\n for (const part of timeZoneParts) {\n startTime += part[0]\n }\n }\n }\n else {\n webinarLabel = this.onDemandLabel[selectedLanguage];\n resourceLabel += ' ResourceLabel--onDemand';\n }\n\n summary = item.Summary;\n if (summary) {\n resourceWrapper += ' ResourceItem--overlay';\n resourceContent += ' ResourceItem-info--cut';\n }\n\n if (!imageData || !imageData.Url) {\n imageData = {\n Url: 'https://d117h1jjiq768j.cloudfront.net/images/default-source/resource-center/webinar/webinar-3-thumbnail.svg?v=2',\n AlternativeText: 'default webinar thumbnail'\n };\n }\n\n const html = `\n
\n
\n
\n
\n \"${imageData.AlternativeText}\"\n

${webinarLabel}

\n
\n
\n
\n ${startDate || startTime ? `${startDate}${startTime}` : ' '}\n
\n ${this.encodeHtml(Title)}\n ${summary ? `
${summary}
` : ''}\n
\n
\n
\n
\n `;\n\n return html;\n }\n\n getDate(utcDate){\n let date = new Date(utcDate);\n const options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };\n return date.toLocaleDateString(undefined, options);\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderTelerikReleaseNotes extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n }\n\n getItemHtml(item, relatedMedia) {\n const { UrlName: resourcePath } = item;\n const options = { month: 'long', day: 'numeric', year: 'numeric' };\n const date = new Date(item.ReleaseDate).toLocaleString('default', options); \n const html = `\n
  • \n

    \n ${item.Title}

    \n \n \n
  • \n `;\n\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressTutorials extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.cssClasses = {\n resourceTaxa: '-fs16',\n resourceWrapper: '-mb3',\n titleWrapper: '-fs18 -mb0'\n }\n }\n\n getItemHtml(item, relatedMedia) {\n let { resourceTaxa, resourceWrapper, titleWrapper} = this.cssClasses;\n let resourceUrl = '';\n let dciInterfaces = item.prgsUniversalTaxonomy.filter(p => p.ParentId == 'b1f75384-863f-4a10-b545-3072b619ba1a');\n const { Title, UrlName: resourcePath } = item;\n let pageUrl = \"/tutorials/\";\n if(dciInterfaces.length > 0) {\n pageUrl += dciInterfaces[0].UrlName;\n }\n resourceUrl = `${pageUrl}/${resourcePath}`;\n\n let html = `\n
  • \n
    \n ${this.encodeHtml(Title)}\n
    \n `\n ;\n\n for (let i = 0; i < dciInterfaces.length; i++) {\n html += dciInterfaces[i].Title;\n if (i < dciInterfaces.length - 1) {\n html += ', ';\n }\n }\n \n html += '
  • ';\n\n return html;\n }\n}\n","import { ResourceItemHtmlProvider } from \"./resource-item-html-provider.js\";\n\nexport class ResourceItemHtmlProviderProgressSitefinityIntegrations extends ResourceItemHtmlProvider {\n constructor(filterServices) {\n super(filterServices);\n this.typeTaxonParentId = 'ec96d930-b8d3-42ad-a9a6-4d0eb3197bfa';\n this.integrationTypeTaxonId = '56de7340-9890-41da-ac65-340f47084e0f';\n }\n\n getItemHtml(item) {\n let html = '';\n if (item && item.taxonomyNavigationProperty){\n let typeTaxon = item.taxonomyNavigationProperty\n .filter(taxon => taxon.ParentId == this.typeTaxonParentId)[0];\n let typeText = typeTaxon?.Title ?? \"\";\n\n html += `\n
    \n
    \n
    \n
    \n \"integration \n
    \n
    \n
    \n ${this.encodeHtml(typeText)}\n ${this.encodeHtml(item.Title)}\n
    ${this.encodeHtml(item.Summary)}
    \n \n
    \n
    \n
    \n
    `;\n }\n\n return html;\n }\n}\n","\n\nimport { ResourceItemHtmlProviderWug } from \"./site-spicific-data/resource-item-html-provider-wug.js\";\nimport { ResourceItemHtmlProviderIpswitch } from \"./site-spicific-data/resource-item-html-provider-ipswitch.js\";\nimport { ResourceItemHtmlProviderChefPartners } from \"./site-spicific-data/resource-item-html-provider-chef-partners.js\";\nimport { ResourceItemHtmlProviderChefCustomers } from \"./site-spicific-data/resource-item-html-provider-chef-customers.js\";\nimport { ResourceItemHtmlProviderChefResources } from \"./site-spicific-data/resource-item-html-provider-chef-resources.js\";\nimport { ResourceItemHtmlProviderChefEvents } from \"./site-spicific-data/resource-item-html-provider-chef-events.js\";\nimport { ResourceItemHtmlProviderChefWebinars } from \"./site-spicific-data/resource-item-html-provider-chef-webinars.js\";\nimport { ResourceItemHtmlProviderProgressDciOverview } from \"./site-spicific-data/resource-item-html-provider-progress-dci-overview.js\";\nimport { ResourceItemHtmlProviderProgressDciAccordion } from \"./site-spicific-data/resource-item-html-provider-progress-dci-accordion.js\";\nimport { ResourceItemHtmlProviderProgressDciList } from \"./site-spicific-data/resource-center-html-provider-progress-dci-connectors-list.js\";\nimport { ResourceItemHtmlProviderProgressUserAwardsList } from \"./site-spicific-data/resource-center-html-provider-progress-user-awards-list.js\";\nimport { ResourceItemHtmlProviderKempPartners} from \"./site-spicific-data/resource-item-html-provider-kemp-partners.js\";\nimport { ResourceItemHtmlProviderFlowmonPartners} from \"./site-spicific-data/resource-item-html-provider-flowmon-partners.js\";\nimport { ResourceItemHtmlProviderKempVideos} from \"./site-spicific-data/resource-item-html-provider-kemp-videos.js\";\nimport { ResourceItemHtmlProviderFlowmonResources } from \"./site-spicific-data/resource-item-html-provider-flowmon-resources.js\";\nimport { ResourceItemHtmlProviderKempResources } from \"./site-spicific-data/resource-item-html-provider-kemp-resources.js\";\nimport{ ResourceItemHtmlProviderFlowmonResearchAndProjects } from \"./site-spicific-data/resource-item-html-provider-flowmon-research-projects.js\";\nimport{ ResourceItemHtmlProviderChefInIpswitchResources } from \"./site-spicific-data/resource-item-html-provider-chef-in-ipswitch-resources.js\";\nimport{ ResourceItemHtmlProviderProgress } from \"./site-spicific-data/resource-item-html-provider-progress.js\";\nimport{ ResourceItemHtmlProviderProgressWebinars } from \"./site-spicific-data/resource-item-html-provider-progress-webinars.js\";\nimport{ ResourceItemHtmlProviderTelerikReleaseNotes } from \"./site-spicific-data/resource-item-html-provider-progress-telerik-release-notes.js\";\nimport{ ResourceItemHtmlProviderProgressTutorials } from \"./site-spicific-data/resource-item-html-provider-progress-tutorials.js\";\nimport { ResourceItemHtmlProviderProgressSitefinityIntegrations } from \"./site-spicific-data/resource-item-html-provider-progress-sitefinity-integrations.js\";\n\n\n\nexport class ResourceCenterObjectFactory {\n constructor(settings) {\n this.factorySettings = settings;\n this.providers = {\n Ipswitch: ResourceItemHtmlProviderIpswitch,\n ChefPartners: ResourceItemHtmlProviderChefPartners,\n ChefCustomers: ResourceItemHtmlProviderChefCustomers,\n ChefEvents: ResourceItemHtmlProviderChefEvents,\n ChefWebinars: ResourceItemHtmlProviderChefWebinars,\n ChefResources: ResourceItemHtmlProviderChefResources,\n ChefInIpswitchResources: ResourceItemHtmlProviderChefInIpswitchResources,\n WUG: ResourceItemHtmlProviderWug,\n ProgressDciOverview: ResourceItemHtmlProviderProgressDciOverview,\n ProgressDciAccordion: ResourceItemHtmlProviderProgressDciAccordion,\n ProgressDciConnectorsList: ResourceItemHtmlProviderProgressDciList,\n ProgressUserAwardsList: ResourceItemHtmlProviderProgressUserAwardsList,\n ProgressSitefinityIntegrations: ResourceItemHtmlProviderProgressSitefinityIntegrations,\n KempPartners: ResourceItemHtmlProviderKempPartners,\n Kemp: ResourceItemHtmlProviderKempResources,\n FlowmonPartners: ResourceItemHtmlProviderFlowmonPartners,\n KempVideos: ResourceItemHtmlProviderKempVideos,\n FlowmonResearchAndProjects: ResourceItemHtmlProviderFlowmonResearchAndProjects,\n Flowmon: ResourceItemHtmlProviderFlowmonResources,\n Progress: ResourceItemHtmlProviderProgress,\n ProgressTutorials: ResourceItemHtmlProviderProgressTutorials,\n ProgressWebinars: ResourceItemHtmlProviderProgressWebinars,\n TelerikReleaseNotes: ResourceItemHtmlProviderTelerikReleaseNotes,\n default: ResourceItemHtmlProviderIpswitch\n }\n }\n\n getResourceItemHtmlProvider(filterService) {\n debugger; \n if (this.factorySettings.ResourceItemHtmlProviderName) {\n let prov = this.providers[this.factorySettings.ResourceItemHtmlProviderName];\n return new prov(filterService);\n }\n else {\n let prov = this.providers.default;\n return new prov(filterService);\n }\n }\n}\n","import { ResourceCenterPageUrlService } from \"./resource-center-page-url-service.js\";\nimport { ResourceCenterApiService } from \"./resource-center-api-service.js\";\nimport { ResourceCenterFilterService } from \"./resource-center-filter-service.js\"\nimport { ResourceCenterApiUrlService } from \"./resource-center-api-url-service.js\";\nimport { ResourceCenterStrings } from \"./resource-center-strings.js\";\nimport { ResourceCenterObjectFactory } from \"./object-factory.js\";\n\nexport function init() {\n\n if(!window.ResourceCenterSettings) {\n return;\n }\n\n const settings = mergeSettings();\n const pageUrlService = new ResourceCenterPageUrlService();\n\n const filterService = new ResourceCenterFilterService(settings || {});\n const apiUrlService = new ResourceCenterApiUrlService(settings || {});\n const resourceCenterFactory = new ResourceCenterObjectFactory(settings.ResourceFactorySettings || {});\n const apiService = new ResourceCenterApiService(apiUrlService, filterService, resourceCenterFactory, settings);\n let pager = null;\n const itemsContainer = document.getElementById(settings.ItemsContainer);\n\n document.addEventListener('DOMContentLoaded', () => {\n const pagerWrapper = document.querySelector(`#${settings.PagerSelector}`);\n if (pagerWrapper && !settings.DisablePaging) {\n pager = new window.biz.Pager(pagerWrapper, {\n callback: (instance, page) => {\n instance.setPage(page);\n pageUrlService.transformSelectionsToQueryParams(page, true, filterService.getSelection());\n apiService.updateGrid(page).then(updatePager);\n\n if (!pagerWrapper.classList.contains('js-no-scroll')) itemsContainer.scrollIntoView({behavior:\"smooth\"});\n }\n });\n }\n\n if(settings.StartSearchWhenThisNumberOfCharsEntered){\n const searchInput = document.querySelector(`#${settings.SearchSelectors.input}`);\n searchInput.addEventListener('keyup', event => searchOnKeyUp(event, settings.StartSearchWhenThisNumberOfCharsEntered), false);\n }\n else{\n const searchBtn = document.querySelector(`#${settings.SearchSelectors.searchButton}`);\n if (searchBtn) {\n searchBtn.addEventListener('submit', search, false);\n searchBtn.addEventListener('reset', function () {\n filterService.populateSearchField(\"\");\n updateState();\n }, false);\n }\n }\n\n const clearFilters = Array.from(document.querySelectorAll(`.${settings.SearchSelectors.clearFiltersBtn}`));\n if (clearFilters) {\n clearFilters.forEach(clearButton => {\n clearButton.addEventListener('click', onClearButtonClick, false);\n });\n }\n\n settings.TaxonomySelectors.forEach(selector => {\n const taxonomiesSelection = Array.from(document.querySelectorAll(`.${selector}`));\n if (taxonomiesSelection) {\n taxonomiesSelection.forEach(taxon => {\n taxon.addEventListener(\"change\", updateState, false);\n });\n }\n });\n\n const languageSelection = Array.from(document.querySelectorAll(`.${settings.LanguageSelector}`));\n if (languageSelection) {\n languageSelection.forEach(lang => {\n lang.addEventListener('change', updateState, false);\n });\n }\n\n window.addEventListener('popstate', (event) => {\n updateStateFromUrl(false);\n });\n\n const resourcesLanguage = pageUrlService.getResourcesLanguage();\n filterService.setSelectedLanguage(resourcesLanguage);\n\n // If url contains query params, parses them and updates grid.\n if (window.location.search.indexOf('?') > -1) {\n updateStateFromUrl(true);\n }\n else {\n updateState();\n }\n });\n\n function updatePager(newPagerState) {\n if (pager) {\n if (newPagerState.currentPage > newPagerState.totalPagesCount) {\n newPagerState.currentPage = newPagerState.totalPagesCount;\n }\n\n pager.setTotalItems(newPagerState.totalItemsCount);\n pager.setMaxPages(newPagerState.totalPagesCount);\n pager.setPage(newPagerState.currentPage);\n pager.setPageSize(settings.ODataSettings.PageSize);\n\n if (pager._maxPages <= 1) {\n pager.empty();\n }\n else {\n pager.render();\n\n // Temporary fix for the Prev button on page 1.\n if(!pager.hasPrev() && pager.options.prevWrapperClass && document.querySelector(pager.options.prevWrapperClass)){\n pager.wrapper.querySelector('.' + pager.options.prevWrapperClass + ' > a').href = '#';\n }\n }\n }\n }\n\n function updateStateFromUrl(shouldPushState) {\n filterService.clearSelection(pageUrlService);\n let currentQueryParams = pageUrlService.getCurrentQueryParams();\n filterService.markSelectedItemsBasedOnQueryParams(currentQueryParams);\n updateState(currentQueryParams.get(ResourceCenterStrings.pageKeyName), shouldPushState);\n }\n\n // Calls the API service and updates the state of all elements.\n function updateState(page = 1, shouldPushState = true) {\n let pageNumber = settings.DisablePaging ? 0 : page;\n if ((pageNumber == null || isNaN(pageNumber) || pageNumber <= 0) && !settings.DisablePaging) {\n pageNumber = 1;\n }\n const currentSelections = filterService.getSelection();\n pageUrlService.transformSelectionsToQueryParams(pageNumber, shouldPushState, currentSelections);\n apiService.updateGrid(pageNumber).then(response => {\n if (response) {\n updatePager(response);\n\n if (currentSelections.selectedTaxonomies.length || currentSelections.language || currentSelections.searchTerm) {\n const onFilterActivated = new CustomEvent(\"onFilterActivated\", { detail: currentSelections });\n document.dispatchEvent(onFilterActivated);\n }\n else{\n const onFilterDeactivated = new CustomEvent(\"onFilterDeactivated\");\n document.dispatchEvent(onFilterDeactivated);\n }\n }\n }).catch((err) => {\n if (err.message !== \"Awaiting last response.\") {\n console.log(err.message);\n }\n });\n }\n\n // Export the function in order to plug in custom functionalities on widget templates.\n window.refreshGrid = updateState;\n\n // Used for the search box.\n function search(event) {\n event.preventDefault();\n updateState();\n }\n\n // Clears the selection made by the user and updates the grid.\n function onClearButtonClick(event) {\n event.preventDefault();\n filterService.clearSelection(pageUrlService, false);\n\n updateState();\n }\n\n function mergeSettings() {\n let settings = {\n TaxonomiesToExclude: [],\n TaxasToExclude: [],\n ODataSettings: {},\n TaxonomySelectors: [\n \"js-taxon\",\n \"js-contentType\"\n ],\n LanguageSelector: \"js-resourceLanguage\",\n ItemsContainer: \"js-articles\",\n MissingItemsContainer: \"js-no-resources\",\n PagerSelector: \"js-pager\",\n SearchSelectors: {\n input: \"js-searchField\",\n searchButton: \"js-searchButton\",\n clearFiltersBtn: \"js-clearFilters\",\n activeSerchMessageElement: \"js-search-active-message\",\n activeSearchMessageTermElement: \"js-active-serch-term\"\n }\n\n }\n\n Object.keys(window.ResourceCenterSettings).forEach(function (key) {\n settings[key] = window.ResourceCenterSettings[key];\n });\n\n return settings;\n }\n\n function searchOnKeyUp(event, searchStartLengthLimit){\n let valueEntered = event.target.value;\n if(valueEntered.length >= searchStartLengthLimit || valueEntered.length === 0){\n search(event);\n }\n }\n}\n\ninit();\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}