{"version":3,"sources":["Pagination.js","BreadCrumb.js","ResultList.js","ViewErrorHandler.js","FiltersSearch.js","OverwritingUrl.js","ActionsPostLoginUtility.js","ResultJobOffersServices.js","ListControllerJobOffers.js","ResultJobOffers.js"],"names":["global","Pagination","options","configPag","totalRecords","pageIndex","pageResultSize","totalPages","startPage","endPage","startIndex","endIndex","pages","context","i","push","$filterOrder","hide","show","setResultsData","$startIndex","text","$endIndex","$totalResults","$resultsOneData","$resultsData","setContex","params","resources","render","html","template","$container","empty","append","update","source","callback","$","hbtpl","Handlebars","compile","add","find","registerHelper","val1","val2","fn","this","inverse","on","page","event","preventDefault","target","data","value","previousPagination","noConflict","BreadCrumb","breadcrumbs","hbTpl","sourceTpl","previousBreadCrumb","ResultList","results","eeGlobal","mqDetector","isMobile","animate","scrollTop","cleanResults","clean","previousResultList","ViewErrorHandler","hideMessages","container","showInfo","message","messageDiv","showWarning","previouscallViewErrorHandler","FiltersSearch","bindingSelects","$selectSalary","$modal","$checkboxSalary","$bar","$checkboxCandidateType","$selectCandidateType","selectedValue","parseInt","closeModal","checkedValues","each","element","bindingCities","notFoundCopy","$conf","taCitiesNotFound","$taCities","initCityName","filter","e","id","selectedFilters","city","currentCity","length","name","localStorage","setItem","JSON","stringify","bhCities","Bloodhound","datumTokenizer","tokenizers","whitespace","queryTokenizer","local","parse","getItem","typeahead","minLength","highlight","displayKey","limit","q","sync","index","all","search","templates","notFound","suggestion","preventCityRender","blur","bindingDatePublished","$selectDatePublished","$radioDatePublished","bindingAreas","$selectArea","modal","updateFilters","filters","currentParams","renderSalaries","salaries","listado","getSelectedCityName","renderCities","renderDatePublished","publishDates","publishDate","renderAreas","areas","area","fragment","$formGroup","currentId","salaryInfo","closest","buildSelectOptions","count","defaultSalaryOption","selected","concat","val","buildCheckBoxes","isChecked","inArray","label","parents","badge","checked","removeClass","addClass","clear","initialize","buildRadios","div","input","span","optionsFrag","document","createDocumentFragment","createElement","createTextNode","type","textContent","className","htmlFor","appendChild","option","currentVal","idString","nameString","radiosFrag","selectedCity","previousFiltersSearch","OverwritingUrl","removeParameter","parameter","url","location","href","urlparts","split","urlBase","shift","queryString","join","prefix","encodeURIComponent","pars","lastIndexOf","splice","window","history","replaceState","state","title","pushState","parameters","selector","previouscallOverwritingUrl","ActionsPostLoginUtility","encodeUrl","urlMaker","actionOptions","urlAuxParams","auxParams","map","item","Name","Value","urlParams","shouldDoLogin","urlMade","previouscallActionsPostLoginUtility","ResultJobOffersServices","getResults","ajax","method","dataType","contentType","getAuxFiltersResponse","auxFiltersResponse","cities","previousResultJobOffersServices","ListControllerSearch","makeRequest","spinner","toggle","viewErrorHandler","resultJobOffersServices","apiSearchUrl","then","handleResponse","fail","param","handleErrorResponse","notification","enablePushState","setPushState","drawViewResults","bindQuickView","warning","nullSearchTitleText","copy","nullSearchMessageText","alertResultError","list","pagination","paginationInfo","breadCrumb","isFromNullSearch","info","jobOfferNotFoundTitle","jobOfferNotFoundDescription","$target","$resultsContainer","filterParam","filterType","paramValue","sortExpression","pageSize","click","showJobOfferQuickView","bindApplyQuickView","userLogged","jobOfferUrl","jobOfferId","postLoginParams","indexOf","urlBaseLogin","$quickViewModal","actionsPostLoginUtility","bindShowQuickView","$btnQuickView","offerData","section","list_id","list_name","selectOfferEvent","jobOfferurl","jxqhr","apiUrl","apiJobOffferUrl","done","renderJobOfferQuickview","jobOffer","descRemaining","description","substr","descTruncated","replace","keywordlist","keyWords","obj","Object","values","company","companyName","salary","equivalentPositions","positionStructures","tags","restoreState","pushUrl","handlerPopState","undefined","initParams","sortExpressionText","extend","filtersOptions","$paginationContainer","Spinner","$selectSpinner","spinnerState","$breadCrumbContainer","sortBy","trim","$area","$clickTrg","is","queryPlaceholder","searchBox","setPlaceHolder","onpopstate","trunk8","lines","parseHTML","console","groupEnd","previousListControllerSearch","currentMobile","$tTipSalaryFltr","filtersConf","$resultH1","tooltip","trigger"],"mappings":"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","file":"SearchJobOffersResult.min.js","sourcesContent":["/* DEVELOPER NOTE:\r\n\r\n Find and replace this string, '// DevComment: ' with '' if you want get some\r\n sweets debug messages. But you have to revert the changes for two reasons:\r\n 1. We want to keep those lines in order to debug again.\r\n 2. No production enviroment should have console o other test committed to\r\n production.\r\n\r\n Also, help us improve our debugging code. Thanks\r\n*/\r\n!function(global) {\r\n 'use strict';\r\n\r\n var previousPagination = global.Pagination;\r\n\r\n function Pagination(options) {\r\n var options = options || {};\r\n var template;\r\n var $container;\r\n var source;\r\n var context;\r\n var callback;\r\n var $filterOrder;\r\n var $resultsData;\r\n var $resultsOneData;\r\n var $startIndex;\r\n var $endIndex;\r\n var $totalResults;\r\n\r\n function init() {\r\n // DevComment: console.group('MODULE INITIALIZATION: Pagination');\r\n // Check that callback is not undefined and it is a function\r\n callback = options.callback;\r\n $container = options.$container;\r\n\r\n source = $(options.hbtpl).html();\r\n template = Handlebars.compile(source);\r\n $filterOrder = $('.js-wrap-fltr-order');\r\n $resultsData = $('.js-results-data');\r\n $resultsOneData = $('.js-results-one-data');\r\n $startIndex = $resultsData.add($resultsOneData).find('.js-start-index');\r\n $endIndex = $resultsData.add($resultsOneData).find('.js-end-index');\r\n $totalResults = $resultsData.add($resultsOneData).find('.js-total-results');\r\n\r\n // Added handlebar helper to evaluate equal for two values\r\n Handlebars.registerHelper('ifEq', function(val1, val2, options) {\r\n if (val1 === val2) {\r\n return options.fn(this);\r\n } else {\r\n return options.inverse(this);\r\n }\r\n });\r\n\r\n // Added handlebar helper to evaluate minor values\r\n Handlebars.registerHelper('ifMinEq', function(val1, val2, options) {\r\n if (val1 <= val2) {\r\n return options.fn(this);\r\n }\r\n });\r\n\r\n setContex();\r\n render();\r\n\r\n // Btn see more\r\n $container.on('click', '.js-see-more', function() {\r\n var page;\r\n\r\n page = context.pageIndex;\r\n page++;\r\n callback('pageNumb', page);\r\n });\r\n\r\n // Btn go to page\r\n $container.on('click', '.js-page', function(event){\r\n var page;\r\n event.preventDefault();\r\n\r\n page = $(event.target).data('page');\r\n callback('pageNumb', page);\r\n });\r\n\r\n // Btn go to previous page\r\n $container.on('click', '.js-btn-prev', function(event){\r\n var page;\r\n event.preventDefault();\r\n\r\n page = context.pageIndex;\r\n if(page !== 1) {\r\n page--;\r\n callback('pageNumb', page);\r\n }\r\n });\r\n\r\n // Btn go to next page\r\n $container.on('click', '.js-btn-next', function(event){\r\n var page;\r\n event.preventDefault();\r\n\r\n page = context.pageIndex;\r\n if(page !== context.totalPages) {\r\n page++;\r\n callback('pageNumb', page);\r\n }\r\n });\r\n\r\n // Btn filter by amount of pages\r\n $container.on('change', '.js-results-by-page', function(){\r\n callback('resultsByPage', this.value);\r\n });\r\n }\r\n\r\n function configPag (totalRecords, pageIndex, pageResultSize) {\r\n var totalPages;\r\n var startPage;\r\n var endPage;\r\n var startIndex;\r\n var endIndex;\r\n var pages = [];\r\n\r\n // Get total pages\r\n totalPages = context.totalPages;\r\n\r\n if (totalPages <= 6) {\r\n // Less than 6 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // More than 6 total pages so calculate start and end pages\r\n if (pageIndex <= 4) {\r\n startPage = 1;\r\n endPage = 6;\r\n } else if (pageIndex + 2 >= totalPages) {\r\n startPage = totalPages - 5;\r\n endPage = totalPages;\r\n } else {\r\n startPage = pageIndex - 3;\r\n endPage = pageIndex + 2;\r\n }\r\n }\r\n\r\n // Create array with initial and final page\r\n for (var i = startPage; i <= endPage; i++) {\r\n pages.push(i);\r\n }\r\n\r\n // Calculate start and end item indexes\r\n if(pageIndex !== totalPages) {\r\n startIndex = (pageIndex - 1) * pageResultSize;\r\n } else {\r\n startIndex = totalRecords - pageResultSize;\r\n }\r\n endIndex = startIndex + pageResultSize;\r\n\r\n // Show init index from a value included in the items\r\n startIndex += 1;\r\n\r\n // Hide filter order when totalRecords is equal to 1\r\n if(totalRecords <= 1) {\r\n $filterOrder.hide();\r\n } else {\r\n $filterOrder.show();\r\n }\r\n\r\n setResultsData(startIndex, endIndex, totalRecords);\r\n\r\n // Return pagination config values\r\n return {\r\n pages: pages,\r\n startIndex: startIndex,\r\n endIndex: endIndex\r\n };\r\n }\r\n\r\n function setResultsData (startIndex, endIndex, totalRecords) {\r\n $startIndex.text(startIndex);\r\n $endIndex.text(endIndex);\r\n $totalResults.text(totalRecords);\r\n $resultsOneData.hide();\r\n\r\n if (totalRecords === 0) {\r\n $resultsData.hide();\r\n } else if (totalRecords === 1) {\r\n $resultsData.hide();\r\n $resultsOneData.show();\r\n } else {\r\n $resultsData.show();\r\n }\r\n }\r\n\r\n function setContex() {\r\n context = options.params;\r\n context.resources = options.resources;\r\n context.configPag = configPag(context.totalRecords,\r\n context.pageIndex,\r\n context.pageResultSize);\r\n // DevComment: console.log(context);\r\n // DevComment: console.groupEnd();\r\n }\r\n\r\n function render() {\r\n var html;\r\n\r\n html = template(context);\r\n $container.empty();\r\n $container.append(html);\r\n }\r\n\r\n function update(params, resources) {\r\n context = params;\r\n context.resources = resources;\r\n context.configPag = configPag(context.totalRecords,\r\n context.pageIndex,\r\n context.pageResultSize);\r\n render();\r\n }\r\n\r\n init();\r\n\r\n return {\r\n update: update\r\n }\r\n }\r\n\r\n Pagination.noConflict = function noConflict() {\r\n global.Pagination = previousPagination;\r\n return Pagination;\r\n };\r\n\r\n global.Pagination = Pagination;\r\n}(this);\r\n","/* DEVELOPER NOTE:\r\n\r\n Find and replace this string, '// DevComment: ' with '' if you want get some\r\n sweets debug messages. But you have to revert the changes for two reasons:\r\n 1. We want to keep those lines in order to debug again.\r\n 2. No production enviroment should have console o other test committed to\r\n production.\r\n\r\n Also, help us improve our debugging code. Thanks\r\n*/\r\n!function(global) {\r\n 'use strict';\r\n\r\n var previousBreadCrumb = global.BreadCrumb;\r\n\r\n function BreadCrumb(options) {\r\n var options = options || {};\r\n var $container;\r\n var sourceTpl;\r\n var hbTpl;\r\n \r\n function init() {\r\n $container = options.$container;\r\n sourceTpl = $(options.hbtpl).html();\r\n hbTpl = Handlebars.compile(sourceTpl);\r\n }\r\n\r\n function update(data) {\r\n var context = {};\r\n var html;\r\n\r\n $container.empty();\r\n context.breadcrumbs = data;\r\n html = hbTpl(context);\r\n\r\n //TODO: Fragments\r\n $container.append(html);\r\n }\r\n\r\n init();\r\n\r\n return {\r\n update: update\r\n }\r\n\r\n }\r\n\r\n BreadCrumb.noConflict = function noConflict() {\r\n global.BreadCrumb = previousBreadCrumb;\r\n return BreadCrumb;\r\n };\r\n\r\n global.BreadCrumb = BreadCrumb;\r\n\r\n}(this);","/* DEVELOPER NOTE:\r\n\r\n Find and replace this string, '// DevComment: ' with '' if you want get some\r\n sweets debug messages. But you have to revert the changes for two reasons:\r\n 1. We want to keep those lines in order to debug again.\r\n 2. No production enviroment should have console o other test committed to\r\n production.\r\n\r\n Also, help us improve our debugging code. Thanks\r\n*/\r\n!function(global) {\r\n 'use strict';\r\n\r\n var previousResultList = global.ResultList;\r\n\r\n function ResultList(options) {\r\n var options = options || {};\r\n var $container;\r\n var sourceTpl;\r\n var hbTpl;\r\n\r\n function init() {\r\n $container = options.$container;\r\n sourceTpl = $(options.hbtpl).html();\r\n hbTpl = Handlebars.compile(sourceTpl);\r\n }\r\n\r\n function render(results, resources) {\r\n var context = {};\r\n var html;\r\n var entry;\r\n // DevComment: var t0;\r\n // DevComment: var t1;\r\n // DevComment: t0 = performance.now();\r\n\r\n $container.empty();\r\n\r\n // TODO: Check for an alternative solution that includes windows resize\r\n if (!eeGlobal.mqDetector.isMobile()) {\r\n // Animation to go to the init of the page when results change\r\n $('html, body').animate({\r\n scrollTop: 0\r\n }, 500);\r\n }\r\n\r\n context.results = results;\r\n context.resources = resources;\r\n html = hbTpl(context);\r\n\r\n //TODO: Fragments\r\n $container.append(html);\r\n // DevComment: t1 = performance.now();\r\n // DevComment: console.warn('Render executed in ' + (t1 - t0) + ' ms.');\r\n }\r\n\r\n function cleanResults() {\r\n $container.empty();\r\n }\r\n\r\n init();\r\n\r\n return {\r\n render: render,\r\n clean: cleanResults\r\n }\r\n\r\n }\r\n\r\n ResultList.noConflict = function noConflict() {\r\n global.ResultList = previousResultList;\r\n return ResultList;\r\n };\r\n\r\n global.ResultList = ResultList;\r\n}(this);\r\n","!function(global) {\r\n 'use strict';\r\n\r\n var previouscallViewErrorHandler = global.ViewErrorHandler;\r\n\r\n function ViewErrorHandler(options) {\r\n var options = options || {};\r\n var container;\r\n\r\n function init() {\r\n container = options.container;\r\n }\r\n\r\n function hideMessages() {\r\n container.empty();\r\n }\r\n\r\n function showInfo(message) {\r\n var messageDiv = '
'\r\n //+ ''\r\n + '

Info

'\r\n + '

'\r\n + message\r\n + '

'\r\n + '
';\r\n container.empty();\r\n container.append(messageDiv);\r\n }\r\n\r\n function showWarning(message) {\r\n var messageDiv = '
'\r\n //+ ''\r\n + '

Lo sentimos pero...

'\r\n + '

'\r\n + message\r\n + '

'\r\n + '
';\r\n container.empty();\r\n container.append(messageDiv);\r\n }\r\n\r\n init();\r\n\r\n return {\r\n showInfo: showInfo,\r\n showWarning: showWarning,\r\n hideMessages: hideMessages\r\n }\r\n\r\n }\r\n\r\n ViewErrorHandler.noConflict = function noConflict() {\r\n global.ViewErrorHandler = previouscallViewErrorHandler;\r\n return ViewErrorHandler;\r\n };\r\n\r\n global.ViewErrorHandler = ViewErrorHandler;\r\n}(this);\r\n","/* DEVELOPER NOTE:\r\n\r\n Find and replace this string, '// DevComment: ' with '' if you want get some\r\n sweets debug messages. But you have to revert the changes for two reasons:\r\n 1. We want to keep those lines in order to debug again.\r\n 2. No production enviroment should have console o other test committed to\r\n production.\r\n\r\n Also, help us improve our debugging code. Thanks\r\n*/\r\n!function (global) {\r\n 'use strict';\r\n\r\n var previousFiltersSearch = global.FiltersSearch;\r\n\r\n function FiltersSearch(options) {\r\n var options = options || {};\r\n var currentCity = '';\r\n var preventCityRender = false;\r\n var $conf;\r\n var $modal;\r\n var $bar;\r\n var bhCities;\r\n var $taCities;\r\n var $selectSalary;\r\n var $selectCandidateType;\r\n var $checkboxSalary;\r\n var $checkboxCandidateType;\r\n var $selectDatePublished;\r\n var $radioDatePublished;\r\n var $selectArea;\r\n var callback;\r\n var selectedFilters;\r\n\r\n function init() {\r\n // DevComment: var t0;\r\n // DevComment: var t1;\r\n // DevComment: t0 = performance.now();\r\n // DevComment: console.group('Module Initialization: Filters');\r\n $modal = options.$modal;\r\n $bar = options.$bar;\r\n $conf = options.$conf;\r\n selectedFilters = options.selectedFilters;\r\n\r\n // TODO: Check that callback is not undefined and it is a function\r\n callback = options.callback;\r\n\r\n bindingSelects();\r\n bindingCities();\r\n bindingDatePublished();\r\n bindingAreas();\r\n\r\n // DevComment: console.groupEnd();\r\n // DevComment: t1 = performance.now();\r\n // DevComment: console.warn('Filters Initialization executed in ' + (t1 - t0) + ' ms.');\r\n }\r\n\r\n function bindingSelects() {\r\n $selectSalary = $modal.find('.js-filter-salary');\r\n $checkboxSalary = $bar.find('.js-filter-salary');\r\n $checkboxCandidateType = $bar.find('.js-filter-candidate-type');\r\n $selectCandidateType = $modal.find('.js-filter-candidate-type');\r\n\r\n // DevComment: console.log('Binding: Salary Select');\r\n $selectSalary.on('change', function (event) {\r\n var selectedValue = [parseInt(this.value)];\r\n\r\n // DevComment: console.log('Salary Selected: ', selectedValue);\r\n callback('salaryInfo', selectedValue);\r\n\r\n closeModal();\r\n });\r\n\r\n // DevComment: console.log('Binding: Salary Checkbox');\r\n $checkboxSalary.on('change', 'input[type=\"checkbox\"]', function (event) {\r\n var checkedValues = [];\r\n\r\n $checkboxSalary.find(':checked').each(function (i, element) {\r\n checkedValues.push(parseInt(element.value));\r\n });\r\n\r\n // DevComment: console.log('Salaries Checked: ', checkedValues);\r\n callback('salaryInfo', checkedValues);\r\n closeModal();\r\n });\r\n\r\n $selectCandidateType.on('change', function () {\r\n var selectedValue = [parseInt(this.value)];\r\n\r\n callback('educationStatusInfo', selectedValue);\r\n\r\n closeModal();\r\n });\r\n\r\n $checkboxCandidateType.on('change', 'input[type=\"checkbox\"]', function () {\r\n var checkedValues = [];\r\n\r\n $checkboxCandidateType.find(':checked').each(function (i, element) {\r\n checkedValues.push(parseInt(element.value));\r\n });\r\n\r\n callback('educationStatusInfo', checkedValues);\r\n closeModal();\r\n });\r\n }\r\n\r\n function bindingCities() {\r\n var notFoundCopy;\r\n\r\n notFoundCopy = $conf.data('resources').taCitiesNotFound;\r\n\r\n $taCities = $modal.find('.js-filter-cities')\r\n .add($bar.find('.js-filter-cities'));\r\n\r\n // Setting Init params\r\n // TODO: Move this var declaration to the init of the scope\r\n var initCityName = options.$conf.data('cities-val')\r\n .filter(function (e) {\r\n return parseInt(e.id) === selectedFilters.city;\r\n });\r\n currentCity = initCityName.length > 0 ? initCityName[0].name : '';\r\n\r\n if (currentCity === 'Todas las ciudades' || currentCity === 'Todos los cantones') {\r\n localStorage.setItem(\"CitiesV2\", JSON.stringify(options.$conf.data('cities-val')));\r\n }\r\n\r\n bhCities = new Bloodhound({\r\n datumTokenizer: function (data) {\r\n return Bloodhound.tokenizers.whitespace(data.name);\r\n },\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n local: JSON.parse(localStorage.getItem(\"CitiesV2\"))\r\n });\r\n\r\n $taCities.typeahead(\r\n {\r\n minLength: 0,\r\n highlight: true\r\n },\r\n {\r\n name: 'search',\r\n displayKey: 'name',\r\n limit: 100,\r\n source: function (q, sync) {\r\n if (q === '') {\r\n sync(bhCities.index.all());\r\n }\r\n else {\r\n bhCities.search(q, sync);\r\n }\r\n },\r\n templates: {\r\n notFound: '
' + notFoundCopy + '
'\r\n }\r\n }\r\n );\r\n\r\n // TODO: Check data for cities with duplicate keys for id property\r\n $taCities.typeahead('val', currentCity);\r\n\r\n // DevComment: console.log('Binding: Cities Typeahead');\r\n $taCities\r\n .on('typeahead:select', function (event, suggestion) {\r\n // DevComment: console.log('City Selected: ', suggestion);\r\n preventCityRender = true;\r\n\r\n currentCity = suggestion.name;\r\n\r\n $taCities.blur();\r\n\r\n callback('city', suggestion.id);\r\n closeModal();\r\n })\r\n .on('typeahead:active', function () {\r\n $taCities.typeahead('val', '');\r\n })\r\n .on('blur', function () {\r\n $taCities.typeahead('val', currentCity);\r\n });\r\n }\r\n\r\n function bindingDatePublished() {\r\n $selectDatePublished = $modal.find('.js-filter-date-published');\r\n $radioDatePublished = $bar.find('.js-filter-date-published');\r\n\r\n // DevComment: console.log('Binding: Date Published Select');\r\n $selectDatePublished.on('change', function (event) {\r\n // DevComment: console.log('Date Published Selected: ', this.value);\r\n callback('publishDate', this.value);\r\n closeModal();\r\n });\r\n\r\n // DevComment: console.log('Binding: Date Published Radio');\r\n $radioDatePublished.on('change', 'input[type=\"radio\"]', function (event) {\r\n // DevComment: console.log('Date Published Selected: ', this.value);\r\n callback('publishDate', this.value);\r\n\r\n closeModal();\r\n });\r\n }\r\n\r\n function bindingAreas() {\r\n $selectArea = $modal.find('.js-filter-sector')\r\n .add($bar.find('.js-filter-sector'));\r\n\r\n // DevComment: console.log('Binding: Area Selects');\r\n $selectArea.on('change', function () {\r\n // DevComment: console.log('Area Selected: ', parseInt(this.value));\r\n callback('area', parseInt(this.value));\r\n closeModal();\r\n });\r\n }\r\n\r\n function closeModal() {\r\n $modal.modal('hide');\r\n }\r\n\r\n function updateFilters(filters, currentParams) {\r\n renderSalaries(filters.salaries, currentParams);\r\n\r\n var listado = JSON.parse(localStorage.getItem(\"CitiesV2\"));\r\n\r\n // Updating City Filter\r\n currentCity = getSelectedCityName(currentParams);\r\n $taCities.typeahead('val', currentCity);\r\n if (preventCityRender) {\r\n preventCityRender = false;\r\n }\r\n else {\r\n renderCities(listado, currentParams.city);\r\n }\r\n\r\n renderDatePublished(filters.publishDates, currentParams.publishDate);\r\n renderAreas(filters.areas, currentParams.area);\r\n }\r\n\r\n function renderSalaries(data, currentParams) {\r\n var currentId = currentParams.salaryInfo;\r\n var fragment;\r\n var $formGroup;\r\n\r\n $formGroup = $selectSalary.closest('.form-group')\r\n .add($checkboxSalary.closest('.form-group'));\r\n\r\n if (data.length > 0) {\r\n // Show form-group again\r\n $formGroup.show();\r\n\r\n // Build mobile\r\n fragment = buildSelectOptions([{\r\n count: 1,\r\n id: '0',\r\n name: $conf.data('resources').defaultSalaryOption,\r\n selected: false\r\n }].concat(data));\r\n $selectSalary.empty().append(fragment);\r\n\r\n if (currentId.length > 0) {\r\n $selectSalary.val(currentId[0]);\r\n }\r\n\r\n // Build desktop\r\n fragment = buildCheckBoxes(data);\r\n $checkboxSalary.empty().append(fragment);\r\n\r\n $checkboxSalary.find(':checkbox').each(function (i, element) {\r\n var isChecked = $.inArray(parseInt(element.value), currentId) > -1;\r\n var label = $(element).parents('.checkbox').find('label');\r\n var badge = $(element).parents('.checkbox').find('.badge');\r\n\r\n if (isChecked) {\r\n element.checked = true;\r\n $(label).removeClass('filter-selected-item').addClass('filter-selected-item');\r\n $(badge).removeClass('filter-selected-item').addClass('filter-selected-item');\r\n }\r\n\r\n if (currentId.length > 0) {\r\n badge.text('');\r\n }\r\n });\r\n /*\r\n fragment = buildRadios(data, currentId, 'salary', 'SalaryInfo1', true);\r\n $checkboxSalary.empty().append(fragment);\r\n */\r\n } else {\r\n $formGroup.hide();\r\n }\r\n }\r\n\r\n function renderCities(data, currentId) {\r\n var $formGroup;\r\n\r\n $formGroup = $taCities.closest('.form-group');\r\n\r\n if (data.length > 0) {\r\n // Show form-group again\r\n $formGroup.show();\r\n\r\n bhCities.clear();\r\n bhCities.local = data;\r\n bhCities.initialize(true);\r\n } else {\r\n $formGroup.hide();\r\n }\r\n }\r\n\r\n function renderDatePublished(data, currentId) {\r\n var fragment;\r\n\r\n fragment = buildSelectOptions(data);\r\n $selectDatePublished.empty().append(fragment).val(currentId);\r\n\r\n fragment = buildRadios(data, currentId, 'publishDate', 'PublishDatesInfo1', false);\r\n $radioDatePublished.empty().append(fragment);\r\n }\r\n\r\n function renderAreas(data, currentId) {\r\n var fragment;\r\n var $formGroup;\r\n\r\n $formGroup = $selectArea.closest('.form-group');\r\n\r\n if (data.length > 0) {\r\n // Show form-group again\r\n $formGroup.show();\r\n\r\n fragment = buildSelectOptions(data);\r\n $selectArea.empty().append(fragment).val(currentId);\r\n } else {\r\n $formGroup.hide();\r\n }\r\n }\r\n\r\n function buildCheckBoxes(data) {\r\n var optionsFrag = document.createDocumentFragment();\r\n var i;\r\n var div;\r\n var label;\r\n var input;\r\n var text;\r\n var span;\r\n var id;\r\n\r\n for (i = 0; i < data.length; i++) {\r\n div = document.createElement('div');\r\n span = document.createElement('span');\r\n input = document.createElement('input');\r\n label = document.createElement('label');\r\n\r\n text = document.createTextNode(data[i].name);\r\n id = 'salary' + i;\r\n\r\n input.type = 'checkbox';\r\n input.id = id;\r\n input.name = 'SalaryInfo1';\r\n input.value = data[i].id;\r\n\r\n span.textContent = data[i].count;\r\n span.className = 'badge pull-right';\r\n\r\n label.htmlFor = id;\r\n label.appendChild(input);\r\n label.appendChild(text);\r\n\r\n div.className = 'checkbox';\r\n div.appendChild(label);\r\n div.appendChild(span);\r\n\r\n optionsFrag.appendChild(div);\r\n }\r\n\r\n return optionsFrag;\r\n }\r\n\r\n function buildSelectOptions(data) {\r\n var optionsFrag = document.createDocumentFragment();\r\n var i;\r\n var option;\r\n\r\n for (i = 0; i < data.length; i++) {\r\n option = document.createElement('option');\r\n option.text = data[i].name;\r\n option.value = data[i].id;\r\n\r\n optionsFrag.appendChild(option);\r\n }\r\n\r\n return optionsFrag;\r\n }\r\n\r\n function buildRadios(data, currentVal, idString, nameString, badge) {\r\n var radiosFrag = document.createDocumentFragment();\r\n var i;\r\n var id;\r\n var text;\r\n var div;\r\n var input;\r\n var label;\r\n var span;\r\n\r\n for (i = 0; i < data.length; i++) {\r\n div = document.createElement('div');\r\n span = document.createElement('span');\r\n input = document.createElement('input');\r\n label = document.createElement('label');\r\n text = document.createTextNode(data[i].name);\r\n id = idString + i;\r\n\r\n\r\n input.type = 'radio';\r\n input.id = id;\r\n input.name = nameString;\r\n input.value = data[i].id;\r\n\r\n if (input.value == currentVal) {\r\n input.checked = true;\r\n }\r\n\r\n span.textContent = data[i].count;\r\n span.className = 'badge pull-right';\r\n\r\n label.htmlFor = id;\r\n label.appendChild(input);\r\n label.appendChild(text);\r\n\r\n div.className = 'radio';\r\n div.appendChild(label);\r\n if (badge) {\r\n div.appendChild(span);\r\n }\r\n\r\n radiosFrag.appendChild(div);\r\n }\r\n\r\n return radiosFrag;\r\n }\r\n\r\n function getSelectedCityName(filters) {\r\n var listado = JSON.parse(localStorage.getItem(\"CitiesV2\"));\r\n var selectedCity = listado\r\n .filter(function (e) {\r\n return e.id == filters.city;\r\n });\r\n return selectedCity.length > 0 ? selectedCity[0].name : '';\r\n }\r\n\r\n init();\r\n\r\n return {\r\n update: updateFilters\r\n }\r\n }\r\n\r\n FiltersSearch.noConflict = function noConflict() {\r\n global.FiltersSearch = previousFiltersSearch;\r\n return FiltersSearch;\r\n };\r\n\r\n global.FiltersSearch = FiltersSearch;\r\n}(this);\r\n","!function (global) {\r\n 'use strict';\r\n\r\n // Capture context global variable.\r\n var previouscallOverwritingUrl = global.OverwritingUrl;\r\n\r\n // Global function for working with current url.\r\n function OverwritingUrl(options) {\r\n\r\n // Init for overwriting url.\r\n function init() {\r\n if (!!(window.history && history.pushState) === true) {\r\n $(options.parameters).each(function() {\r\n\r\n // Call function to remove parameter.\r\n removeParameter($(this).selector);\r\n\r\n\r\n });\r\n }\r\n }\r\n\r\n // Removes the specified parameter of the url.\r\n function removeParameter(parameter) {\r\n\r\n var url = document.location.href;\r\n var urlparts = url.split('?');\r\n\r\n if (urlparts.length >= 2) {\r\n\r\n var urlBase = urlparts.shift();\r\n var queryString = urlparts.join(\"?\");\r\n var prefix = encodeURIComponent(parameter) + '=';\r\n var pars = queryString.split(/[&;]/g);\r\n\r\n for (var i = pars.length; i-- > 0;)\r\n\r\n if (pars[i].lastIndexOf(prefix, 0) !== -1)\r\n pars.splice(i, 1);\r\n\r\n url = urlBase + '?' + pars.join('&');\r\n window.history.replaceState(history.state, document.title, url);\r\n\r\n }\r\n\r\n return url;\r\n\r\n }\r\n\r\n init();\r\n }\r\n\r\n OverwritingUrl.noConflict = function noConflict() {\r\n global.OverwritingUrl = previouscallOverwritingUrl;\r\n return OverwritingUrl;\r\n };\r\n\r\n global.OverwritingUrl = OverwritingUrl;\r\n\r\n}(this);\r\n","!function (global) {\r\n 'use strict';\r\n\r\n var previouscallActionsPostLoginUtility = global.ActionsPostLoginUtility;\r\n\r\n function ActionsPostLoginUtility(options) {\r\n\r\n function encodeUrl(url) {\r\n return encodeURIComponent(url);\r\n }\r\n \r\n function urlMaker(actionOptions) {\r\n\r\n var urlAuxParams = actionOptions.auxParams.map(function (item, index) {\r\n return (\r\n 'auxParams' + '[' + index + '].Name=' + item.Name + \r\n '&auxParams' + '[' + index + '].Value=' + item.Value\r\n )\r\n }).join('&');\r\n\r\n\r\n var urlParams = (!actionOptions.urlParams)?\"\":actionOptions.urlParams.map(function (item, index) {\r\n return (\r\n item.Name + '=' + item.Value\r\n );\r\n }).join('&');\r\n\r\n return (actionOptions.urlBase + '?' + \r\n '__previous_url__=' + encodeUrl(window.location.href) +\r\n '&' + urlAuxParams + ((urlParams === \"\")?'&': '&' + urlParams)\r\n );\r\n }\r\n\r\n function shouldDoLogin(actionOptions) {\r\n var urlMade = urlMaker(actionOptions);\r\n\r\n location.href = urlMade;\r\n }\r\n\r\n return {\r\n shouldDoLogin: shouldDoLogin\r\n }\r\n }\r\n\r\n ActionsPostLoginUtility.noConflict = function noConflict() {\r\n global.ActionsPostLoginUtility = previouscallActionsPostLoginUtility;\r\n return ActionsPostLoginUtility;\r\n };\r\n\r\n global.ActionsPostLoginUtility = ActionsPostLoginUtility;\r\n\r\n}(this);\r\n","!function (global) {\r\n 'use strict';\r\n\r\n var previousResultJobOffersServices = global.ResultJobOffersServices;\r\n\r\n function ResultJobOffersServices() {\r\n function getResults(params, url) {\r\n return $.ajax({\r\n method: 'POST',\r\n url: url,\r\n data: JSON.stringify(params),\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8'\r\n });\r\n }\r\n \r\n function getAuxFiltersResponse(data) {\r\n var auxFiltersResponse = {};\r\n\r\n auxFiltersResponse = data.filters;\r\n auxFiltersResponse.areas = [];\r\n auxFiltersResponse.cities = [];\r\n auxFiltersResponse.salaries = [];\r\n\r\n return auxFiltersResponse;\r\n }\r\n\r\n return {\r\n getResults: getResults,\r\n getAuxFiltersResponse: getAuxFiltersResponse\r\n }\r\n }\r\n\r\n ResultJobOffersServices.noConflict = function noConflict() {\r\n global.ResultJobOffersServices = previousResultJobOffersServices;\r\n return ResultJobOffersServices;\r\n };\r\n\r\n global.ResultJobOffersServices = ResultJobOffersServices;\r\n}(this);","/* DEVELOPER NOTE:\r\n\r\n Find and replace this string, '// DevComment: ' with '' if you want get some\r\n sweets debug messages. But you have to revert the changes for two reasons:\r\n 1. We want to keep those lines in order to debug again.\r\n 2. No production enviroment should have console o other test committed to\r\n production.\r\n\r\n Also, help us improve our debugging code. Thanks\r\n*/\r\n!function (global) {\r\n 'use strict';\r\n\r\n var previousListControllerSearch = global.ListControllerSearch;\r\n var actionsPostLoginUtility = new ActionsPostLoginUtility();\r\n var resultJobOffersServices = new ResultJobOffersServices();\r\n\r\n function ListControllerSearch(options) {\r\n var options = options || {};\r\n var $conf;\r\n var params;\r\n var initParams;\r\n\r\n //Modules\r\n var filters;\r\n var list;\r\n var pagination;\r\n var spinner;\r\n var breadCrumb;\r\n\r\n var viewErrorHandler;\r\n // Global Vars\r\n var apiSearchUrl;\r\n var apiJobOffferUrl;\r\n var resources;\r\n\r\n // Filter order\r\n var $filterOrder;\r\n\r\n // Modals\r\n var $quickViewModal;\r\n\r\n // Filters\r\n var sortExpressionText;\r\n\r\n // PushState\r\n var enablePushState = false;\r\n var restoreState = false;\r\n\r\n\r\n function init() {\r\n $conf = options.$conf;\r\n // DevComment: console.group('Module Initialization: Controller');\r\n // Initialize parameter\r\n apiSearchUrl = $conf.data('webapi-search');\r\n apiJobOffferUrl = $conf.data('webapi-joboffer');\r\n // Init params\r\n params = $conf.data('request-params');\r\n resources = $conf.data('resources');\r\n initParams = $.extend({}, params);\r\n\r\n // Initialize modules\r\n options.filtersOptions.callback = filterParam;\r\n options.filtersOptions.$conf = $conf;\r\n options.filtersOptions.selectedFilters = params;\r\n filters = new FiltersSearch(options.filtersOptions);\r\n\r\n pagination = new Pagination({\r\n $container: options.$paginationContainer,\r\n callback: filterParam,\r\n hbtpl: $conf.data('hbtpl-pagination'),\r\n params: $conf.data('pagination'),\r\n resources: $conf.data('resources'),\r\n });\r\n\r\n // This module doesn't need callback so far\r\n list = new ResultList({\r\n $container: options.$resultsContainer,\r\n hbtpl: $conf.data('hbtpl-results'),\r\n });\r\n\r\n // Init spinner\r\n spinner = new Spinner({\r\n $selectSpinner: $('.js-spinner'),\r\n spinnerState: true\r\n });\r\n\r\n // Init ViewErrorHandler\r\n viewErrorHandler = new ViewErrorHandler({\r\n container: $('.js-viewerrorhandler')\r\n });\r\n\r\n // Init breadCrumb\r\n breadCrumb = new BreadCrumb({\r\n $container: options.$breadCrumbContainer,\r\n hbtpl: $conf.data('hbtpl-breadcrumb')\r\n });\r\n\r\n // Init PushsState\r\n enablePushState = !!(window.history && history.pushState);\r\n\r\n // Filter order instance\r\n $filterOrder = $('.js-filter-order');\r\n\r\n // Filter order binding\r\n $filterOrder.on('change', function (event) {\r\n params.sortBy = this.value;\r\n sortExpressionText = $(this).find(\"option:selected\").text().trim();\r\n params.pageIndex = 1;\r\n makeRequest();\r\n });\r\n\r\n // // order By instance\r\n //$filterSortOrderBy = $('.js-filter-SortOrderBy');\r\n\r\n // // order By binding\r\n //$filterSortOrderBy.on('change', function (event) {\r\n // DevComment: console.log('Si existen $filterSortOrderBy - CompaniesSite listJob joboferrts');\r\n // params.sortBy = this.value;\r\n // DevComment: console.log(this.value);\r\n // sortExpressionText = $(this).find(\"option:selected\").text().trim();\r\n // params.pageIndex = 1;\r\n // makeRequest();\r\n //});\r\n\r\n // Bind QuickView\r\n $quickViewModal = $('#modal-quick-view');\r\n bindQuickView();\r\n\r\n // Area bind offer detail\r\n options.$resultsContainer.on('click', '.js-area-bind', function (event) {\r\n var $area = $(this);\r\n var $clickTrg = $(event.target);\r\n\r\n //GA4 select_offer\r\n var offerData = $(this).data(\"ga4-offerdata\");\r\n //Seteo de fuente de seleccion de la oferta para evento view_offer\r\n localStorage.setItem(\"ga4-source\", JSON.stringify({ section: offerData.section, list_id: offerData.list_id, list_name: offerData.list_name }));\r\n selectOfferEvent(offerData);\r\n\r\n if (!$clickTrg.is('a')) {\r\n window.location = $area.data('url');\r\n }\r\n });\r\n\r\n // Set searchbox info\r\n if (params.queryPlaceholder != undefined && params.queryPlaceholder != null && params.queryPlaceholder.length > 0) {\r\n eeGlobal.searchBox.setPlaceHolder(params.queryPlaceholder);\r\n }\r\n\r\n // Binding and set initial state\r\n if (enablePushState) {\r\n window.onpopstate = handlerPopState;\r\n if (history.state && (restoreState = !eeGlobal.mqDetector.isMobile() ? true : restoreState)) {\r\n params = history.state;\r\n restoreState = true;\r\n makeRequest();\r\n }\r\n }\r\n\r\n $quickViewModal.on('shown.bs.modal', function () {\r\n //Truncate title in 2 lines\r\n //TODO: Improve event for trucanted : associate case 7063\r\n $('.js-quick-result-title').trunk8({\r\n lines: 2,\r\n parseHTML: false\r\n });\r\n });\r\n\r\n console.groupEnd();\r\n }\r\n\r\n function makeRequest() {\r\n spinner.toggle();\r\n\r\n viewErrorHandler.hideMessages();\r\n\r\n resultJobOffersServices.getResults(params, apiSearchUrl)\r\n .then(function (data) {\r\n return handleResponse(data);\r\n }).fail(function (param) {\r\n return handleErrorResponse();\r\n });\r\n }\r\n\r\n function handleResponse(data) {\r\n var auxFiltersResponse;\r\n\r\n eeGlobal.notification.clean();\r\n spinner.toggle();\r\n\r\n\r\n if (enablePushState) setPushState(data);\r\n\r\n if (data.results.length > 0) {\r\n filters.update(data.filters, params);\r\n drawViewResults(data);\r\n return bindQuickView();\r\n };\r\n\r\n if (data.results.length <= 0) {\r\n filters.update(resultJobOffersServices.getAuxFiltersResponse(data), params);\r\n drawViewResults(data);\r\n\r\n return eeGlobal.notification.warning({\r\n title: data.resources.nullSearchTitleText,\r\n copy: data.resources.nullSearchMessageText\r\n });\r\n }\r\n }\r\n\r\n function handleErrorResponse() {\r\n spinner.toggle();\r\n viewErrorHandler.showWarning(resources.alertResultError);\r\n }\r\n\r\n function drawViewResults(data) {\r\n list.render(data.results, data.resources);\r\n pagination.update(data.paginationInfo, data.resources);\r\n breadCrumb.update(data.breadcrumbs);\r\n\r\n if (data.isFromNullSearch) {\r\n eeGlobal.notification.info({\r\n title: data.resources.jobOfferNotFoundTitle,\r\n copy: data.resources.jobOfferNotFoundDescription,\r\n $target: options.$resultsContainer\r\n });\r\n }\r\n }\r\n\r\n function filterParam(filterType, paramValue) {\r\n if (filterType === 'orderBy') {\r\n params.sortExpression = paramValue;\r\n params.pageIndex = 1;\r\n return makeRequest();\r\n }\r\n\r\n if (filterType === 'resultsByPage') {\r\n params.pageSize = paramValue;\r\n params.pageIndex = 1;\r\n return makeRequest();\r\n }\r\n\r\n if (filterType === 'pageNumb') {\r\n params.pageIndex = paramValue;\r\n return makeRequest();\r\n }\r\n\r\n if (filterType === 'paging') {\r\n if (paramValue == 'all') return makeRequest();\r\n return;\r\n }\r\n\r\n params[filterType] = paramValue;\r\n params.pageIndex = 1;\r\n list.clean();\r\n // Make request\r\n return makeRequest();\r\n }\r\n\r\n function bindQuickView() {\r\n var $btnQuickView = $('.js-quickview');\r\n\r\n $btnQuickView.click('click', function (event) {\r\n var jobOfferId = $(this).data('joboffer');\r\n var jobOfferurl = $(this).data('jobofferurl');\r\n showJobOfferQuickView(jobOfferId, jobOfferurl);\r\n });\r\n }\r\n\r\n function bindApplyQuickView(userLogged) {\r\n var $btnApplyQuickView = $('.js-quickview-apply');\r\n\r\n $btnApplyQuickView.click('click', function (event) {\r\n var jobOfferUrl = $(this).data('joboffer-url');\r\n var jobOfferId = $(this).data('joboffer-id');\r\n\r\n var postLoginParams = [\r\n { Name: 'applyPostLogin', Value: true },\r\n { Name: 'jobOfferId', Value: jobOfferId },\r\n { Name: 'isQuickView', Value: true }\r\n ];\r\n\r\n if (userLogged) {\r\n if (jobOfferUrl.indexOf('?') > 0) {\r\n window.location.href = jobOfferUrl + '&applyPostLogin=true&isQuickView=true';\r\n }\r\n else {\r\n window.location.href = jobOfferUrl + '?applyPostLogin=true&isQuickView=true';\r\n }\r\n } else {\r\n var urlBaseLogin = $conf.data('url-login');\r\n $quickViewModal.modal('hide');\r\n actionsPostLoginUtility.shouldDoLogin({ auxParams: postLoginParams, urlBase: urlBaseLogin });\r\n }\r\n });\r\n }\r\n\r\n function bindShowQuickView() {\r\n var $btnQuickView = $('.js-view-offer');\r\n var jobOfferId = $('.js-quickview-apply').data('joboffer-id');\r\n\r\n $btnQuickView.on('click', function (event) {\r\n //GA4 select_offer\r\n var offerData = $(this).data(\"ga4-offerdata\");\r\n //Seteo de fuente de seleccion de la oferta para evento view_offer\r\n localStorage.setItem(\"ga4-source\", JSON.stringify({ section: offerData.section, list_id: offerData.list_id, list_name: offerData.list_name }));\r\n selectOfferEvent(offerData);\r\n });\r\n }\r\n\r\n function showJobOfferQuickView(jobOfferId, jobOfferurl) {\r\n var jxqhr;\r\n var apiUrl = apiJobOffferUrl + '?jobOfferId=' + jobOfferId;\r\n\r\n jxqhr = $.ajax({\r\n method: 'GET',\r\n url: apiUrl,\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8'\r\n });\r\n spinner.toggle();\r\n jxqhr.done(function (data) {\r\n spinner.toggle();\r\n data.jobOfferUrl = jobOfferurl;\r\n renderJobOfferQuickview(data);\r\n $quickViewModal.modal('show');\r\n\r\n bindShowQuickView();\r\n\r\n bindApplyQuickView(data.userLogged);\r\n });\r\n\r\n jxqhr.fail(function () {\r\n spinner.toggle();\r\n viewErrorHandler.showWarning(resources.alertResultError);\r\n });\r\n }\r\n\r\n function renderJobOfferQuickview(jobOffer) {\r\n var $container = $('.js-quickview-content');\r\n var description = jobOffer.description;\r\n var descRemaining;\r\n var maxLength = 420;\r\n\r\n if (description.length >= maxLength) {\r\n // Cut description text and add ellipsis (...)\r\n description = description.substr(0, maxLength);\r\n description = description.substr(0, description.lastIndexOf(' '));\r\n jobOffer.descTruncated = description + '...';\r\n\r\n // Get description remaining\r\n descRemaining = jobOffer.description.substr(description.length);\r\n jobOffer.descRemaining = descRemaining.replace(/(<([^>]+)>)/ig, '');\r\n } else {\r\n jobOffer.descTruncated = description;\r\n }\r\n\r\n //GA4 select_offer keywords list\r\n var keywordlist = (jobOffer.keyWords && jobOffer.keyWords.length) ?\r\n jobOffer.keyWords.map(function (obj) { return Object.values(obj)[0]; }).join(',') : null;\r\n\r\n //GA4 select_offer\r\n jobOffer[\"offerData\"] = {\r\n section: \"MICROSITIO\",\r\n id: jobOffer.id,\r\n title: jobOffer.title,\r\n company: jobOffer.companyName,\r\n location: jobOffer.city,\r\n salary: jobOffer.salaryInfo,\r\n equivalentPositions: jobOffer.positionStructures,\r\n tags: keywordlist,\r\n list_id: \"resultado_ofertas_micrositios\",\r\n list_name: \"Resultado Ofertas Micrositio\"\r\n };\r\n //GA4 select_offer serialize offerData\r\n Handlebars.registerHelper('json', function (context) {\r\n return JSON.stringify(context);\r\n });\r\n\r\n // TODO: Get from hidden\r\n var sourceTpl = $('#hbtpl-jobOffer-quickview').html();\r\n var hbTpl = Handlebars.compile(sourceTpl);\r\n var html;\r\n\r\n $container.empty();\r\n html = hbTpl(jobOffer);\r\n $container.append(html);\r\n }\r\n\r\n // PopState\r\n\r\n function setPushState(data) {\r\n if (restoreState) {\r\n restoreState = false;\r\n } else {\r\n history.pushState(params, '', data.pushUrl);\r\n }\r\n }\r\n\r\n function handlerPopState(event) {\r\n if (event.state != undefined && event.state != \"\") {\r\n params = event.state;\r\n } else {\r\n params = initParams;\r\n }\r\n restoreState = true;\r\n makeRequest();\r\n }\r\n\r\n init();\r\n /*return {}*/\r\n\r\n }\r\n\r\n ListControllerSearch.noConflict = function noConflict() {\r\n global.ListControllerSearch = previousListControllerSearch;\r\n return ListControllerSearch;\r\n };\r\n\r\n global.ListControllerSearch = ListControllerSearch;\r\n}(this);\r\n","(function () {\r\n // Configs \r\n var $conf = $('.js-conf');\r\n\r\n // Variables for post login.\r\n var filtersConf = {\r\n $modal: $('.js-filters-modal'),\r\n $bar: $('.js-filters-bar')\r\n };\r\n var listCtrl;\r\n var currentMobile;\r\n var $tTipSalaryFltr;\r\n\r\n // Var for h1 text and implementation of ellipsis plugin\r\n var $resultH1 = $('.js-result-h1');\r\n\r\n currentMobile = eeGlobal.mqDetector.isMobile();\r\n $tTipSalaryFltr = $('.js-ttip-salary-fltr');\r\n\r\n listCtrl = new ListControllerSearch({\r\n $conf: $conf,\r\n $paginationContainer: $('.js-pagination'),\r\n $resultsContainer: $('.js-results-container'),\r\n $breadCrumbContainer: $('.js-bread-crumb-wrapper'),\r\n filtersOptions: filtersConf\r\n });\r\n\r\n $(window).on('resize', function () {\r\n if (currentMobile != eeGlobal.mqDetector.isMobile()) {\r\n window.location = window.location;\r\n }\r\n });\r\n\r\n // Tooltip in salary filter\r\n $tTipSalaryFltr.tooltip();\r\n\r\n // Application for ellipsis plugin on the h1\r\n // TODO: Apply truncated function only when breakpoint change\r\n $(window).on('resize', function () {\r\n if (!eeGlobal.mqDetector.isMobile()) {\r\n $resultH1.trunk8({\r\n lines: 1\r\n });\r\n } else {\r\n $resultH1.trunk8({\r\n lines: 2\r\n });\r\n }\r\n }).trigger('resize');\r\n})();\r\n"],"sourceRoot":"/source/"}