{"version":3,"sources":["Pagination.js","BreadCrumb.js","ResultList.js","ViewErrorHandler.js","FiltersSearch.js","ActionsPostLoginUtility.js","ListControllerJobOffers.js","OverwritingUrl.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","normalize","str","replace","bindingSelects","$selectSalary","$modal","$checkboxSalary","$bar","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","d","normalized","tokenizers","whitespace","queryTokenizer","q","local","parse","getItem","typeahead","minLength","highlight","displayKey","limit","sync","index","all","search","templates","notFound","suggestion","preventCityRender","blur","bindingDatePublished","$selectDatePublished","$radioDatePublished","bindingAreas","$selectArea","bindingWorkModalities","$selectWorkModality","$radioWorkModality","modal","updateFilters","filters","currentParams","renderSalaries","salaries","listado","getSelectedCityName","renderCities","renderWorkModalities","workModalities","workModality","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","buildRadios","clear","initialize","div","input","span","optionsFrag","document","createDocumentFragment","createElement","createTextNode","type","textContent","className","htmlFor","appendChild","option","currentVal","idString","nameString","radiosFrag","selectedCity","previousFiltersSearch","ActionsPostLoginUtility","encodeUrl","url","encodeURIComponent","urlMaker","actionOptions","urlAuxParams","auxParams","map","item","Name","Value","join","console","log","urlParams","urlBase","window","location","href","shouldDoLogin","urlMade","previouscallActionsPostLoginUtility","ListControllerSearch","makeRequest","jxqhr","auxFiltersResponse","ajax","method","headers","__RequestVerificationToken","seurityApiToken","apiSearchUrl","dataType","contentType","spinner","toggle","viewErrorHandler","done","notification","jobOfferSearchConstraint","bket_data_collection","error","cities","warning","title","nullSearchTitleText","copy","nullSearchMessageText","list","pagination","paginationInfo","breadCrumb","isFromNullSearch","info","jobOfferNotFoundTitle","jobOfferNotFoundDescription","$target","$resultsContainer","sortExpressionText","s","linkTrackVars","linkTrackEvents","events","eVar56","tl","oldPage","isPaging","eVar62","isDevice","t","omnTagChangePage","bindQuickView","enablePushState","setPushState","fail","alertResultError","filterParam","filterType","paramValue","pageSize","sortExpression","click","showJobOfferQuickView","bindApplyQuickView","userLogged","getLoginUrlForOffer","queryUrl","jobOfferId","postLoginParams","quickApp","urlLogin","actionsPostLoginUtility","jobOfferUrl","indexOf","$quickViewModal","bindShowQuickView","$btnQuickView","offerData","section","list_id","list_name","selectOfferEvent","apiUrl","apiJobOffferUrl","renderJobOfferQuickview","jobOffer","descRemaining","description","substr","lastIndexOf","descTruncated","keywordlist","keyWords","obj","Object","values","company","companyName","salary","equivalentPositions","positionStructures","tags","history","pushState","pushUrl","restoreState","handlerPopState","undefined","state","companyId","countryId","departmentId","jobOfferCode","SortOrderBy","pageName","channel","s_code","write","$globalConfData","$dmpEnable","$filterSortOrderBy","$loginModal","toLowerCase","filtersOptions","$paginationContainer","Spinner","$selectSpinner","spinnerState","$breadCrumbContainer","trim","sortBy","$area","$clickTrg","is","queryPlaceholder","searchBox","setPlaceHolder","setCityValue","cityPlaceholder","onpopstate","trunk8","lines","parseHTML","groupEnd","previousListControllerSearch","OverwritingUrl","removeParameter","parameter","urlparts","split","shift","queryString","prefix","pars","splice","replaceState","parameters","selector","previouscallOverwritingUrl","validateRulesCreateAlert","alertSection","keyword","cityId","salaryIds","getParametersCreateAlerts","jqxhra","response","containerKeyword","$modalConfirmAlert","salaryName","containerSalary","cityName","containerCity","danger","scroll","notificationNotDefaultAlert","messageNotDefaultAlert","titleNotDefaultAlert","$notficationTitle","$notificationText","currentMobile","$tTipSalaryFltr","$filerstBar","$filterCities","$filterDatePublished","$filterSector","$filtersModal","$selectSalaryMobile","$filterCitiesMobile","$filterDatePublishedMobile","$filterSectorMobile","currentValue","$formCreateAlert","$formConfirmAlert","$btnCreateAlert","$formAlert","$checkLegal","alertState","ok","emailBelongsToAnExistingUser","emailAlreadyHasAlert","jobOfferDoesNotExist","completeMaximumAlerts","parameterSaveInvalid","completeCustomAlerts","removedParameters","$hdnAuxVars","filtersConf","$resultH1","jqxhr","valid","attr","serialize","success","result","email","urlBaseLogin","checkboxValues","Array","prop","completeCustomNotDefaultAlerts","jqXHR","textStatus","errorThrown","jsPostLogin","createAlertPostLogin","JobOfferId","tooltip","trigger","eVar3","eVar24","salaryValues","selectedItems","parent","substring","eVar55","datePublished","eVar38","eVar39","eVar27","salaryValue"],"mappings":"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","file":"ResultJobOffers.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 render();\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 // TODO: Check for an alternative solution that includes windows resize\r\n $container.empty();\r\n\r\n if (!eeGlobal.mqDetector.isMobile()) {\r\n //$container.empty();\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 $checkboxSalary;\r\n var $selectDatePublished;\r\n var $radioDatePublished;\r\n var $selectWorkModality;\r\n var $radioWorkModality;\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 bindingWorkModalities();\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 normalize(str) {\r\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\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\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\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') {\r\n localStorage.setItem(\"CitiesCo\", JSON.stringify(options.$conf.data('cities-val')));\r\n } else {\r\n localStorage.setItem(\"CitiesCo\", JSON.stringify(options.$conf.data('cities-val')));\r\n }\r\n\r\n bhCities = new Bloodhound({\r\n datumTokenizer: function (d) {\r\n const normalized = normalize(d.name);\r\n return Bloodhound.tokenizers.whitespace(normalized);\r\n },\r\n queryTokenizer: function (q) {\r\n const normalized = normalize(q);\r\n return Bloodhound.tokenizers.whitespace(normalized);\r\n },\r\n local: JSON.parse(localStorage.getItem(\"CitiesCo\"))\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: 200,\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\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 bindingWorkModalities()\r\n {\r\n $selectWorkModality = $modal.find('.js-work-modality-filter');\r\n $radioWorkModality = $bar.find('.js-work-modality-filter');\r\n\r\n // DevComment: console.log('Binding: Work Modality Select');\r\n $selectWorkModality.on('change', function (event) {\r\n // DevComment: console.log('Work Modality Selected: ', this.value);\r\n callback('workModality', this.value);\r\n \r\n closeModal();\r\n });\r\n\r\n // DevComment: console.log('Binding: Work Modality Radio');\r\n $radioWorkModality.on('change', 'input[type=\"radio\"]', function (event) {\r\n // DevComment: console.log('Work Modality Selected: ', this.value); \r\n callback('workModality', this.value);\r\n \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 var listado = JSON.parse(localStorage.getItem(\"CitiesCo\"));\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 renderWorkModalities(filters.workModalities, currentParams.workModality);\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 // workModalities\r\n function renderWorkModalities(data, currentId) {\r\n var fragment;\r\n\r\n fragment = buildSelectOptions(data);\r\n $selectWorkModality.empty().append(fragment).val(currentId);\r\n\r\n fragment = buildRadios(data, currentId, 'workModality', 'WorkModalitiesInfo1', false);\r\n $radioWorkModality.empty().append(fragment);\r\n }\r\n\r\n function renderCities(data, currentId) {\r\n var $formGroup;\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(\"CitiesCo\"));\r\n\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 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 console.log(urlAuxParams);\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 console.log(urlParams);\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","/* 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 // Instance class\r\n var actionsPostLoginUtility = new ActionsPostLoginUtility();\r\n\r\n function ListControllerSearch(options) {\r\n var options = options || {};\r\n var $conf;\r\n var $globalConfData;\r\n var $dmpEnable;\r\n var params;\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 var $container;\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 var $filterSortOrderBy;\r\n\r\n // Modals\r\n var $loginModal;\r\n var $quickViewModal;\r\n\r\n // Omniture\r\n var sortExpressionText;\r\n var page;\r\n var oldPage;\r\n var isPaging;\r\n\r\n // PushState\r\n var enablePushState = false;\r\n var restoreState = false;\r\n\r\n function init() {\r\n $conf = options.$conf;\r\n $globalConfData = $('.js-conf-global-data');\r\n $dmpEnable = $globalConfData.data('dmp-enable') ? $globalConfData.data('dmp-enable').toLowerCase() == \"true\" : false;\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\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 oldPage = params.pageIndex;\r\n isPaging = false;\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.sortExpression = 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 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\r\n\r\n // Bind QuickView\r\n $quickViewModal = $('#modal-quick-view');\r\n $loginModal = $('#modalLogin');\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 if (params.queryPlaceholder !== undefined) {\r\n eeGlobal.searchBox.setCityValue(params.cityPlaceholder);\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 var jxqhr;\r\n var auxFiltersResponse;\r\n jxqhr = $.ajax({\r\n method: 'POST',\r\n headers: { '__RequestVerificationToken': options.seurityApiToken },\r\n url: apiSearchUrl,\r\n data: JSON.stringify(params),\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8'\r\n });\r\n\r\n spinner.toggle();\r\n\r\n viewErrorHandler.hideMessages();\r\n\r\n jxqhr.done(function (data) {\r\n // TODO: Review valedate to run this function only when a notification is showed\r\n eeGlobal.notification.clean();\r\n\r\n try {\r\n // DMP result from service\r\n if (data.jobOfferSearchConstraint != null) {\r\n // set DMP var from result from service\r\n window.jobOfferSearchConstraint = data.jobOfferSearchConstraint;\r\n // Call DTM function\r\n bket_data_collection();\r\n }\r\n } catch (error) {\r\n /* console.group('DTM and DMP was blocked:');\r\n console.error(error.message);\r\n console.error(error.stack);\r\n console.groupEnd(); */\r\n }\r\n\r\n if (data.results.length > 0) {\r\n filters.update(data.filters, params);\r\n } else {\r\n auxFiltersResponse = data.filters;\r\n auxFiltersResponse.areas = [];\r\n auxFiltersResponse.cities = [];\r\n auxFiltersResponse.salaries = [];\r\n filters.update(auxFiltersResponse, params);\r\n\r\n eeGlobal.notification.warning({\r\n title: data.resources.nullSearchTitleText,\r\n copy: data.resources.nullSearchMessageText\r\n });\r\n }\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 spinner.toggle();\r\n\r\n // Omniture Order component\r\n if (sortExpressionText != null && sortExpressionText.length > 0) {\r\n s.linkTrackVars = 'events,eVar56';\r\n s.linkTrackEvents = 'event12';\r\n s.events = 'event12';\r\n s.eVar56 = 'ordenar por ' + sortExpressionText;\r\n s.tl(true, 'o', 'ordenar');\r\n }\r\n\r\n // Omniture pagination\r\n page = data.paginationInfo.pageIndex || null;\r\n if (page != null && page != oldPage && isPaging) {\r\n oldPage = page;\r\n s.linkTrackVars = \"events,eVar62\";\r\n s.eVar62 = page;\r\n s.linkTrackEvents = \"event76\";\r\n s.events = \"event76\";\r\n\r\n if (eeGlobal.mqDetector.isDevice('xs')) {\r\n s.t();\r\n } else {\r\n s.tl(true, \"o\", \"Cambio de pagina\");\r\n }\r\n\r\n omnTagChangePage();\r\n isPaging = false;\r\n }\r\n\r\n // Bind QuickView buttons\r\n bindQuickView();\r\n\r\n // Call pushtate\r\n if (enablePushState) {\r\n setPushState(data);\r\n }\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 filterParam(filterType, paramValue) {\r\n switch (filterType) {\r\n case 'salaryInfo':\r\n case 'city':\r\n case 'publishDate':\r\n case 'workModality':\r\n case 'area':\r\n // Update this param()\r\n params[filterType] = paramValue;\r\n params.pageIndex = 1;\r\n list.clean();\r\n // Make request\r\n makeRequest();\r\n break;\r\n\r\n case 'paging':\r\n if (paramValue == 'all') {\r\n makeRequest();\r\n }\r\n break;\r\n\r\n case 'pageNumb':\r\n params.pageIndex = paramValue;\r\n makeRequest();\r\n isPaging = true;\r\n break;\r\n\r\n case 'resultsByPage':\r\n params.pageSize = paramValue;\r\n params.pageIndex = 1;\r\n makeRequest();\r\n break;\r\n\r\n case 'orderBy':\r\n params.sortExpression = paramValue;\r\n params.pageIndex = 1;\r\n makeRequest();\r\n break;\r\n\r\n default:\r\n console.warning('default?');\r\n break;\r\n }\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 showJobOfferQuickView(jobOfferId);\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 ];\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 urlQueryForLogin = $('.js-conf').data('url-get-login');\r\n\r\n getLoginUrlForOffer(urlQueryForLogin, jobOfferId, postLoginParams);\r\n\r\n $quickViewModal.modal('hide');\r\n }\r\n });\r\n\r\n function getLoginUrlForOffer(queryUrl, jobOfferId, postLoginParams) {\r\n var jxqhr;\r\n queryUrl = queryUrl + '?jobOfferId=' + jobOfferId;\r\n\r\n jxqhr = $.ajax({\r\n method: 'GET',\r\n url: queryUrl,\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8'\r\n });\r\n\r\n jxqhr.done(function (data) {\r\n if (data.quickApp) {\r\n window.location.href = data.urlLogin;\r\n } else {\r\n actionsPostLoginUtility.shouldDoLogin({ auxParams: postLoginParams, urlBase: data.urlLogin });\r\n }\r\n });\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 vista rapida\r\n var offerData = $(this).data(\"ga4-offerdata\");\r\n //Seteo de fuente de seleccion de la oferta para evento view_offer vista rapida\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) {\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 renderJobOfferQuickview(data);\r\n $quickViewModal.modal('show');\r\n\r\n // Omniture\r\n bindShowQuickView();\r\n\r\n bindApplyQuickView(data.userLogged);\r\n\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: \"SEARCH\",\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\",\r\n list_name: \"Resultado Ofertas\"\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 function setPushState(data) {\r\n history.pushState(params, '', data.pushUrl);\r\n if (restoreState) {\r\n restoreState = false;\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.area = 0;\r\n params.city = 0;\r\n params.companyId = 0;\r\n params.countryId = 0;\r\n params.departmentId = 0;\r\n params.jobOfferCode = null;\r\n params.jobOfferId = 0;\r\n params.publishDate = 6;\r\n params.salaryInfo = [];\r\n params.pageIndex = 1;\r\n params.pageSize = 20;\r\n params.SortOrderBy = 10;\r\n }\r\n restoreState = true;\r\n makeRequest();\r\n }\r\n\r\n // Omniture page change\r\n function omnTagChangePage() {\r\n s.pageName = \"elempleo: personas: resultados de busqueda\";\r\n s.channel = \"elempleo: personas:busquedas\";\r\n s.events = \"event1\";\r\n\r\n try {\r\n s_code = s.t();\r\n if (s_code) document.write(s_code);\r\n } catch (error) {\r\n console.error(error);\r\n }\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 (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 () {\r\n // Get context for controls of dom.\r\n $globalConfData = $('.js-conf-global-data');\r\n $notficationTitle = $globalConfData.data('fail-notification-title');\r\n $notificationText = $globalConfData.data('fail-notification');\r\n // Omniture vars\r\n var s_code;\r\n var id = $('.ee-mod-user-id');\r\n // Filters for Desktop and Tablet\r\n var $filerstBar = $('.js-filters-bar');\r\n var $selectSalary = $filerstBar.find('.js-filter-salary');\r\n var $filterCities = $filerstBar.find('.js-filter-cities');\r\n var $filterDatePublished = $filerstBar.find('js-filter-date-published');\r\n var $filterSector = $filerstBar.find('.js-filter-sector');\r\n // Filters for Mobile\r\n var $filtersModal = $('.js-filters-modal');\r\n var $selectSalaryMobile = $filtersModal.find('.js-filter-salary');\r\n var $filterCitiesMobile = $filtersModal.find('.js-filter-cities');\r\n var $filterDatePublishedMobile = $filtersModal.find('.js-filter-date-published');\r\n var $filterSectorMobile = $filtersModal.find('.js-filter-sector');\r\n\r\n var currentValue = '';\r\n\r\n // Instance class\r\n var actionsPostLoginUtility = new ActionsPostLoginUtility();\r\n\r\n // Variables for create alert.\r\n var $formCreateAlert = $('.js-create-alert-form');\r\n var $formConfirmAlert = $('.js-confirm-alert-form');\r\n var $btnCreateAlert = $('.js-btn-create-alert');\r\n var $modalConfirmAlert = $('.js-confirm-alert');\r\n var $formAlert = $modalConfirmAlert.find('.js-form-alert');\r\n var $checkLegal = $('.js-check-legal');\r\n var containerKeyword = $modalConfirmAlert.find('.js-keyword-alert');\r\n var containerSalary = $modalConfirmAlert.find('.js-salary-alert');\r\n var containerCity = $modalConfirmAlert.find('.js-city-alert');\r\n var alertState = {\r\n ok: 1,\r\n emailBelongsToAnExistingUser: 2,\r\n emailAlreadyHasAlert: 3,\r\n jobOfferDoesNotExist: 4,\r\n completeMaximumAlerts: 5,\r\n parameterSaveInvalid: 6,\r\n completeCustomAlerts: 9\r\n };\r\n\r\n // Variables for remnove of parameters in the url.\r\n var removedParameters = ['createAlertPostLogin'];\r\n var overwritingUrlOffer;\r\n\r\n // Variables for post login.\r\n var $hdnAuxVars = $('.js-hdnvars');\r\n\r\n var $conf = $('.js-conf');\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 // Init Page Omniture\r\n // s.pageName = 'elempleo: personas: resultados de busqueda';\r\n // s.channel = 'elempleo: personas:busquedas';\r\n\r\n s.pageName = $conf.data('page-name');\r\n s.channel = $conf.data('channel-name');\r\n\r\n currentMobile = eeGlobal.mqDetector.isMobile();\r\n $tTipSalaryFltr = $('.js-ttip-salary-fltr');\r\n\r\n // DMP\r\n if ($conf != null) {\r\n window.jobOfferSearchConstraint = $conf.data('constraint-val');\r\n } else {\r\n window.jobOfferSearchConstraint = {};\r\n }\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 seurityApiToken: $('.js-search-api-token input[name=\"__RequestVerificationToken\"]').val(),\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 // Validate if basic rules for create alert success.\r\n function validateRulesCreateAlert(alertSection) {\r\n return alertSection.keyword !== \"\"\r\n || (alertSection.cityId >= 0 && alertSection.salaryIds !== \"\");\r\n }\r\n\r\n // Get parameters fro create alert.\r\n function getParametersCreateAlerts() {\r\n // Make request for get cookie parameters.\r\n var url = $conf.data('parameters-search-url');\r\n var jqxhra;\r\n\r\n jqxhra = $.ajax({\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json'\r\n });\r\n\r\n jqxhra.done(function (response) {\r\n\r\n // Validate basic rules for create alert.\r\n if (!validateRulesCreateAlert(response.alertSection)) {\r\n eeGlobal.notification.danger({\r\n title: $conf.data('no-create-alert'),\r\n copy: $conf.data('parameters-invalid'),\r\n scroll: true\r\n });\r\n\r\n } else {\r\n // Assign data to input settings alert.\r\n if (response.alertSection.keyword === \"\") {\r\n containerKeyword.addClass('hide');\r\n } else {\r\n containerKeyword.removeClass('hide').find('span').text(response.alertSection.keyword);\r\n $modalConfirmAlert.find('.js-keyword').val(response.alertSection.keyword);\r\n }\r\n\r\n if (response.alertSection.salaryName === \"\") {\r\n containerSalary.addClass('hide');\r\n } else {\r\n containerSalary.removeClass('hide').find('span').text(response.alertSection.salaryName);\r\n $modalConfirmAlert.find('.js-salary-ids').val(response.alertSection.salaryIds);\r\n }\r\n\r\n if (response.alertSection.cityName === \"\") {\r\n containerCity.addClass('hide');\r\n } else {\r\n containerCity.removeClass('hide').find('span').text(response.alertSection.cityName).removeClass('hide');\r\n $modalConfirmAlert.find('.js-city-id').val(response.alertSection.cityId);\r\n }\r\n\r\n // Show modal container.\r\n $modalConfirmAlert.modal('show');\r\n }\r\n });\r\n }\r\n\r\n //--- Setting notification when not default alert. --- //\r\n function notificationNotDefaultAlert(response) {\r\n\r\n // Setting data for notification.\r\n var messageNotDefaultAlert = {\r\n title: response.titleNotDefaultAlert,\r\n copy: response.messageNotDefaultAlert\r\n }\r\n\r\n // Show warning notification.\r\n eeGlobal.notification.warning(messageNotDefaultAlert);\r\n }\r\n\r\n // Instance method 'submit' of form create alert.\r\n $formCreateAlert.on('submit', function (event) {\r\n var jqxhr;\r\n event.preventDefault();\r\n eeGlobal.notification.clean();\r\n $formAlert.addClass('hidden');\r\n\r\n if ($formCreateAlert.valid()) {\r\n jqxhr = $.ajax({\r\n type: $formCreateAlert.attr('method'),\r\n url: $formCreateAlert.attr('action'),\r\n data: $formCreateAlert.serialize(),\r\n dataType: 'json'\r\n });\r\n\r\n jqxhr.done(function (response) {\r\n\r\n // If request is valid.\r\n if (response.success) {\r\n\r\n // If the user is not registered and not has alerts\r\n // or if the user is registered.\r\n if (response.result === alertState.ok || response.result === alertState.emailAlreadyHasAlert) {\r\n\r\n // Add message, title to modal container.\r\n $modalConfirmAlert.find('.modal-title').html(response.title);\r\n $modalConfirmAlert.find('.js-description').html(response.message);\r\n\r\n // Assign data to input hidden of modal.\r\n $modalConfirmAlert.find('.js-user-email').val(response.alertSection.email);\r\n\r\n //Get parameters create alert.\r\n getParametersCreateAlerts();\r\n }\r\n // If the user is registered.\r\n else if (response.result === alertState.emailBelongsToAnExistingUser) {\r\n\r\n // Get data for parameters login.\r\n var data = $btnCreateAlert.data('alert-params');\r\n var urlBaseLogin = $conf.data('url-login');\r\n var checkboxValues = new Array();\r\n\r\n // Iteration for all checkobox cheked and add to arry.\r\n $('.js-filter-salary input[type=\"checkbox\"]:checked').each(function () {\r\n\r\n // Add salary id to array.\r\n checkboxValues.push($(this).val());\r\n });\r\n\r\n // Add data parameters salaries post login.\r\n if (checkboxValues.length > 0) {\r\n data.push({ \"Name\": \"salaries\", \"Value\": checkboxValues.join('_') });\r\n }\r\n\r\n actionsPostLoginUtility.shouldDoLogin({auxParams: data, urlBase: urlBaseLogin});\r\n }\r\n\r\n // If the user is registered.\r\n else if (response.result === alertState.completeMaximumAlerts) {\r\n eeGlobal.notification.danger({\r\n title: response.title,\r\n copy: response.message,\r\n scroll: true\r\n });\r\n }\r\n\r\n else if (response.result === alertState.completeCustomAlerts) {\r\n eeGlobal.notification.warning({\r\n title: response.title,\r\n copy: response.message,\r\n scroll: true\r\n });\r\n }\r\n\r\n } else {\r\n eeGlobal.notification.danger({\r\n title: '',\r\n copy: response.message,\r\n scroll: true\r\n });\r\n }\r\n });\r\n\r\n jqxhr.fail(function () {\r\n eeGlobal.notification.danger({\r\n title: $notficationTitle,\r\n copy: $notificationText,\r\n scroll: true\r\n });\r\n });\r\n }\r\n });\r\n\r\n $formConfirmAlert.on('submit', function (event) {\r\n var jqxhr;\r\n event.preventDefault();\r\n eeGlobal.notification.clean();\r\n\r\n var url = $conf.data('section-alert-url');\r\n\r\n // Check if propertie is checked.\r\n if ($checkLegal.prop('checked')) {\r\n jqxhr = $.ajax({\r\n type: $formConfirmAlert.attr('method'),\r\n url: url,\r\n data: $formConfirmAlert.serialize(),\r\n dataType: 'json'\r\n });\r\n\r\n jqxhr.done(function (response) {\r\n\r\n // Add message, title to alert container.\r\n var message = {\r\n title: response.title,\r\n copy: response.message,\r\n scroll: true\r\n };\r\n\r\n // If request is valid.\r\n if (response.success) {\r\n\r\n // If create alert is correct.\r\n if (response.result === alertState.ok) {\r\n eeGlobal.notification.success(message);\r\n\r\n // Notification for complete custom and not default alerts.\r\n if (response.data != null && response.data.completeCustomNotDefaultAlerts) {\r\n notificationNotDefaultAlert(response);\r\n }\r\n }\r\n\r\n // If completed maximum alerts.\r\n else if (response.result === alertState.completeMaximumAlerts\r\n || response.result === alertState.parameterSaveInvalid) {\r\n eeGlobal.notification.danger(message);\r\n }\r\n } else {\r\n eeGlobal.notification.danger(message);\r\n }\r\n\r\n // Hide modal confirm create alert.\r\n $modalConfirmAlert.modal('hide');\r\n });\r\n\r\n jqxhr.fail(function (jqXHR, textStatus, errorThrown) {\r\n eeGlobal.notification.danger({\r\n title: $notficationTitle,\r\n copy: $notificationText,\r\n scroll: true\r\n });\r\n });\r\n } else {\r\n\r\n // Shows the confirmation message for selection check\r\n $formAlert.removeClass('hidden');\r\n }\r\n });\r\n\r\n // Checking Post Login Events\r\n var jsPostLogin = JSON.parse($hdnAuxVars.val());\r\n if (jsPostLogin) {\r\n\r\n // Initialization function.\r\n overwritingUrlOffer = new OverwritingUrl({\r\n parameters: removedParameters\r\n });\r\n\r\n if (jsPostLogin.createAlertPostLogin) {\r\n\r\n var url = $conf.data('validate-rules-url');\r\n var jqxhr;\r\n\r\n var params = {\r\n JobOfferId: \"0\"\r\n }\r\n\r\n jqxhr = $.ajax({\r\n type: 'POST',\r\n url: url,\r\n data: addRequestVerificationToken(params),\r\n dataType: 'json'\r\n });\r\n\r\n jqxhr.done(function (response) {\r\n if (response.success) {\r\n\r\n // If create alert is correct.\r\n if (response.result === alertState.ok) {\r\n\r\n // Add message, title to modal container.\r\n $modalConfirmAlert.find('.modal-title').html(response.title);\r\n $modalConfirmAlert.find('.js-description').html(response.message);\r\n\r\n // Assign data to input hidden of modal.\r\n $modalConfirmAlert.find('.js-user-email').val(response.alertSection.email);\r\n\r\n //Get parameters create alert.\r\n getParametersCreateAlerts();\r\n\r\n // If complete maximum alerts.\r\n } else if (response.result === alertState.completeMaximumAlerts || !response.success) {\r\n eeGlobal.notification.danger({\r\n title: response.title,\r\n copy: response.message,\r\n scroll: true\r\n });\r\n }\r\n }\r\n });\r\n\r\n jqxhr.fail(function (jqXHR, textStatus, errorThrown) {\r\n eeGlobal.notification.clean();\r\n eeGlobal.notification.danger({\r\n title: $notficationTitle,\r\n copy: $notificationText,\r\n scroll: true\r\n });\r\n });\r\n }\r\n }\r\n\r\n function addRequestVerificationToken(data) {\r\n data.__RequestVerificationToken = $('input[name=__RequestVerificationToken]').val();\r\n return data;\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 //Omniture\r\n if ($conf.data('nullsearch') === 'hidden') {\r\n s.eVar3 = $conf.data('query');\r\n s.eVar24 = $conf.data('results-joboffers');\r\n s.events = 'event1,event2';\r\n }\r\n else {\r\n s.eVar3 = $conf.data('query');\r\n s.eVar24 = '0';\r\n s.events = 'event1,event3';\r\n }\r\n\r\n // Omniture\r\n s_code = s.t();\r\n if (s_code) {\r\n document.write(s_code);\r\n }\r\n\r\n /* Omniture desktop and tablet filters */\r\n // Salary filter\r\n $selectSalary.on('change', function (event) {\r\n var salaryValues = '';\r\n var selectedItems = $(this).find('input:checked');\r\n\r\n if (selectedItems != null && selectedItems.length > 0) {\r\n $.each(selectedItems, function (i, val) {\r\n salaryValues += $(val).parent().text().trim() + ', ';\r\n });\r\n }\r\n\r\n if (salaryValues.length > 0) {\r\n salaryValues = salaryValues.substring(0, salaryValues.length - 2);\r\n }\r\n\r\n s.linkTrackVars = \"events,eVar55\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar55 = salaryValues;\r\n s.tl(true, \"o\", \"Filtrar\");\r\n });\r\n\r\n // Date published filter\r\n $filterDatePublished.on('change', function (event) {\r\n var datePublished = $(this).find('input:checked').parent().text().trim();\r\n\r\n s.linkTrackVars = \"events,eVar38\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar38 = datePublished;\r\n s.tl(true, \"o\", \"Filtrar\");\r\n });\r\n\r\n // Cities filter (Desktop, tablet and mobile)\r\n $filterCities.add($filterCitiesMobile).on('blur', function (event) {\r\n if (currentValue !== this.value) {\r\n currentValue = this.value;\r\n s.linkTrackVars = \"events,eVar39\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar39 = currentValue;\r\n s.tl(true, \"o\", \"Filtro por ciudad\");\r\n }\r\n });\r\n\r\n // Sector filter (Desktop, tablet and mobile)\r\n $filterSector.add($filterSectorMobile).on('change', function (event) {\r\n var area = $(this).find(\"option:selected\").text().trim();\r\n\r\n s.linkTrackVars = \"events,eVar27\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar27 = area;\r\n s.tl(true, \"o\", \"Filtrar\");\r\n });\r\n\r\n /* Omniture mobile filters */\r\n // Salary filter\r\n $selectSalaryMobile.on('change', function (event) {\r\n var salaryValue = $(this).find(\"option:selected\").text().trim();\r\n\r\n s.linkTrackVars = \"events,eVar55\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar55 = salaryValue;\r\n s.tl(true, \"o\", \"Filtrar\");\r\n });\r\n\r\n // Date published filter\r\n $filterDatePublishedMobile.on('change', function (event) {\r\n var datePublished = $(this).find(\"option:selected\").text().trim();\r\n\r\n s.linkTrackVars = \"events,eVar38\";\r\n s.linkTrackEvents = \"event11\";\r\n s.events = \"event11\";\r\n s.eVar38 = datePublished;\r\n s.tl(true, \"o\", \"Filtrar\");\r\n });\r\n})();"],"sourceRoot":"/source/"}