vendor: 1,382 bytes, lines 1-28
1(() => { 2 var __create = Object.create; 3 var __defProp = Object.defineProperty; 4 var __getOwnPropDesc = Object.getOwnPropertyDescriptor; 5 var __getOwnPropNames = Object.getOwnPropertyNames; 6 var __getProtoOf = Object.getPrototypeOf; 7 var __hasOwnProp = Object.prototype.hasOwnProperty; 8 var __commonJS = (cb, mod) => function __require() { 9 return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; 10 }; 11 var __copyProps = (to, from, except, desc) => { 12 if (from && typeof from === "object" || typeof from === "function") { 13 for (let key of __getOwnPropNames(from)) 14 if (!__hasOwnProp.call(to, key) && key !== except) 15 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); 16 } 17 return to; 18 }; 19 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( 20 // If the importer is in node compatibility mode or this is not an ESM 21 // file that has been converted to a CommonJS file using a Babel- 22 // compatible transform (i.e. "__esModule" has not been set), then set 23 // "default" to the CommonJS "module.exports" for node compatibility. 24 isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, 25 mod 26 )); 27 28
28// vendor/assets/javascripts/js.cookie.js 29 var require_js_cookie = __commonJS({ 30 "vendor/assets/javascripts/js.cookie.js"(exports, module) { 31 (function(factory) { 32 var registeredInModuleLoader = false; 33 if (typeof define === "function" && define.amd) { 34 define(factory); 35 registeredInModuleLoader = true; 36 } 37 if (typeof exports === "object") { 38 module.exports = factory(); 39 registeredInModuleLoader = true; 40 } 41 if (!registeredInModuleLoader) { 42 var OldCookies = window.Cookies; 43 var api = window.Cookies = factory(); 44 api.noConflict = function() { 45 window.Cookies = OldCookies; 46 return api; 47 }; 48 } 49 })(function() { 50 function extend() { 51 var i = 0; 52 var result = {}; 53 for (; i < arguments.length; i++) { 54 var attributes = arguments[i]; 55 for (var key in attributes) { 56 result[key] = attributes[key]; 57 } 58 } 59 return result; 60 } 61 function init(converter) { 62 function api(key, value, attributes) { 63 var result; 64 if (typeof document === "undefined") { 65 return; 66 } 67 if (arguments.length > 1) { 68 attributes = extend({ 69 path: "/" 70 }, api.defaults, attributes); 71 if (typeof attributes.expires === "number") { 72 var expires = /* @__PURE__ */ new Date(); 73 expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e5); 74 attributes.expires = expires; 75 } 76 attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ""; 77 try { 78 result = JSON.stringify(value); 79 if (/^[\{\[]/.test(result)) { 80 value = result; 81 } 82 } catch (e) { 83 } 84 if (!converter.write) { 85 value = encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); 86 } else { 87 value = converter.write(value, key); 88 } 89 key = encodeURIComponent(String(key)); 90 key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); 91 key = key.replace(/[\(\)]/g, escape); 92 var stringifiedAttributes = ""; 93 for (var attributeName in attributes) { 94 if (!attributes[attributeName]) { 95 continue; 96 } 97 stringifiedAttributes += "; " + attributeName; 98 if (attributes[attributeName] === true) { 99 continue; 100 } 101 stringifiedAttributes += "=" + attributes[attributeName]; 102 } 103 return document.cookie = key + "=" + value + stringifiedAttributes; 104 } 105 if (!key) { 106 result = {}; 107 } 108 var cookies = document.cookie ? document.cookie.split("; ") : []; 109 var rdecode = /(%[0-9A-Z]{2})+/g; 110 var i = 0; 111 for (; i < cookies.length; i++) { 112 var parts = cookies[i].split("="); 113 var cookie = parts.slice(1).join("="); 114 if (cookie.charAt(0) === '"') { 115 cookie = cookie.slice(1, -1); 116 } 117 try { 118 var name = parts[0].replace(rdecode, decodeURIComponent); 119 cookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent); 120 if (this.json) { 121 try { 122 cookie = JSON.parse(cookie); 123 } catch (e) { 124 } 125 } 126 if (key === name) { 127 result = cookie; 128 break; 129 } 130 if (!key) { 131 result[name] = cookie; 132 } 133 } catch (e) { 134 } 135 } 136 return result; 137 } 138 api.set = api; 139 api.get = function(key) { 140 return api.call(api, key); 141 }; 142 api.getJSON = function() { 143 return api.apply({ 144 json: true 145 }, [].slice.call(arguments)); 146 }; 147 api.defaults = {}; 148 api.remove = function(key, attributes) { 149 api(key, "", extend(attributes, { 150 expires: -1 151 })); 152 }; 153 api.withConverter = init; 154 return api; 155 } 156 return init(function() { 157 }); 158 }); 159 } 160 }); 161 162
162// app/javascript/packs/application.js 163 var import_js = __toESM(require_js_cookie()); 164 165
165// app/assets/javascripts/contenidos.js 166 window.inputCharCount = function(input, charCounterSelector, upperCounterSelector) { 167 if (!input) return; 168 var countWarn = input.parentElement.querySelector(charCounterSelector || ".rnk-Forms_InputCharCounter"); 169 var upperAlert = input.parentElement.querySelector(upperCounterSelector || ".rnk-Forms_InputUpperCaseCounter"); 170 if (!countWarn) return; 171 var text = input.value.trim(), charTotal = text.length, charMax = input.getAttribute("maxlength"); 172 countWarn.textContent = charTotal + "/" + charMax; 173 if (!upperAlert) return; 174 var upperNow = text.replace(/[^A-Z]/g, "").length, upperMax = Math.floor(charTotal / 2, 0); 175 if (upperNow / upperMax > 1) { 176 upperAlert.textContent = "\xA1Demasiadas may\xFAsculas (" + upperNow + "/" + upperMax + ")!"; 177 input.setAttribute("pattern", true); 178 } else { 179 upperAlert.textContent = ""; 180 input.removeAttribute("pattern"); 181 } 182 }; 183 var sendAjax = function(element) { 184 if (element.dataset.status === "pending") { 185 return; 186 } 187 var confirmMsg = element.dataset.confirm; 188 if (confirmMsg && !confirm(confirmMsg)) { 189 element.dataset.status = "rejected"; 190 return; 191 } 192 element.dataset.status = "pending"; 193 const fetchParams = { 194 credentials: "same-origin", 195 method: element.dataset.type || "GET", 196 headers: { "Accept": "application/json" } 197 }; 198 return fetch(element.dataset.url, fetchParams).then(function(response) { 199 return response.json(); 200 }); 201 }; 202 window.showRespuestaParent = function(element, data) { 203 const respuesta = element.closest("article"); 204 const parentIsLoaded = respuesta.dataset.parentLoaded === "true" ? true : false; 205 if (!parentIsLoaded) { 206 const padre = document.createElement("div"); 207 padre.classList.add("padre", "rnk-PostReply_ParentMsgQuote", "rnk-PostReply_ParentMsg"); 208 padre.innerHTML = '<div class="rnk-ClosingX"></div><header><b></b> dijo:</header><main>AQU\xCD VA EL TEXTO COMPLETO</main>'; 209 padre.querySelector("b").textContent = data.usr_nick; 210 padre.querySelector("main").innerHTML = data.texto_completo; 211 padre.querySelector(".rnk-ClosingX").addEventListener("click", function() { 212 respuesta.classList.remove("rnk-PostReply-showing-parent"); 213 }); 214 const selector = respuesta.classList.contains("rnk-PostReply") ? ".rnk-PostReplyMessage_Content" : ".rnk-Comment_Body"; 215 respuesta.querySelector(selector).insertAdjacentElement("beforebegin", padre); 216 respuesta.dataset.parentLoaded = "true"; 217 } 218 respuesta.classList.toggle("rnk-PostReply-showing-parent"); 219 }; 220 function activeClickShowRespuesta(event2) { 221 document.querySelectorAll("[data-done]").forEach(function(elem) { 222 elem.addEventListener("click", function() { 223 const element = this; 224 const promise = sendAjax(element); 225 if (promise === void 0) { 226 return; 227 } 228 promise.then(function(data) { 229 element.dataset.status = "fullfilled"; 230 switch (element.dataset.done) { 231 case "ver-padre": 232 showRespuestaParent(element, data); 233 break; 234 case "reload": 235 window.location.reload(); 236 break; 237 } 238 }).then(null, function() { 239 element.dataset.status = "rejected"; 240 }); 241 }); 242 }); 243 } 244 document.addEventListener("DOMContentLoaded", activeClickShowRespuesta); 245 document.addEventListener("turbo:frame-render", activeClickShowRespuesta); 246 window.ocultarSocialShare = function(contenidoId) { 247 const id = "#barra-social-" + contenidoId; 248 const socialShare = document.querySelector(id); 249 const pseudolink = document.querySelector("pseudolink-loader[target='" + id + "']"); 250 pseudolink.onclick = function() { 251 socialShare.classList.toggle("hidden"); 252 }; 253 pseudolink.click(); 254 }; 255 256
256// app/assets/javascripts/nojs.js 257 document.addEventListener("DOMContentLoaded", function() { 258 document.querySelector("body").classList.remove("nojs"); 259 }); 260 261
261// app/javascript/packs/application.js 262 window.Cookies = window.Cookies || import_js.default; 263 window.scrollToNode = function(selector, forcedOffset) { 264 const node = typeof selector === "string" ? document.querySelector(selector) : selector; 265 if (isNaN(parseInt(forcedOffset))) { 266 node.scrollIntoView({ block: "start", behavior: "smooth" }); 267 } else { 268 window.scrollTo(0, node.offsetTop + forcedOffset); 269 } 270 }; 271 window.showEnlargedPhoto = function(href) { 272 if (!href.startsWith("/fotos_ampliadas/")) { 273 return; 274 } 275 fetch(href, { credentials: "same-origin" }).then(function(response) { 276 return response.text(); 277 }).then(function(responseText) { 278 new Dialog(responseText, { closingx: true, size: "large" }); 279 }); 280 }; 281 window.loadBanners = function() { 282 document.querySelectorAll("template[is=lazyload-template]").forEach(function(element) { 283 element.loadContent(); 284 }); 285 }; 286 window.loginRequired = function(event_data) { 287 event.preventDefault(); 288 var accion = event_data["accion"]; 289 window.location.href = urlLogin(accion); 290 }; 291 function urlLogin(accion) { 292 var url = new URL(window.location); 293 url.pathname = "/login"; 294 url.searchParams.append("destino_login", destinoLogin()); 295 url.searchParams.append("accion", accion); 296 return url; 297 } 298 function destinoLogin() { 299 const hrefDelAnchor = event.target.tagName === "A" && event.target.href; 300 const hrefDelAnchorPadre = event.target.closest("a") && event.target.closest("a").href; 301 const urlDelFormButtonTo = event.target.closest("form") && event.target.closest("form").action; 302 const hrefEvento = hrefDelAnchor || hrefDelAnchorPadre || urlDelFormButtonTo; 303 const paramDestinoLogin = new URL(hrefEvento).searchParams.get("destino_login"); 304 return paramDestinoLogin || hrefEvento || window.location.href; 305 } 306 window.popupAcceder = function() { 307 const loginUrl = "/acceder?destino_login=" + window.location.href; 308 fetch(loginUrl, { credentials: "same-origin" }).then(function(response) { 309 const wcOptions = { 310 id: "popup-acceder", 311 closingx: true, 312 runscripts: true, 313 ondismiss: "window.history.back()"
314 }; 315 response.text().then(function(htmlResponse) { 316 const wcContent = document.createElement("div"); 317 wcContent.innerHTML = htmlResponse; 318 window.popupLoginModal = new Dialog(wcContent, wcOptions); 319 }); 320 }); 321 window.history.pushState(null, "login", window.location.href); 322 window.onpopstate = function() { 323 window.popupLoginModal.destroy(); 324 }; 325 }; 326 window.copiarEnlace = function(urlOrPath) { 327 navigator.clipboard.writeText(urlOrPath[0] === "/" ? window.location.origin + urlOrPath : urlOrPath); 328 muestraUnTooltip(event.target, "Enlace copiado"); 329 }; 330 function muestraUnTooltip(element, mensaje) { 331 const emergiaTooltip = document.createElement("emergia-tooltip"); 332 emergiaTooltip.setAttribute("message", mensaje); 333 emergiaTooltip.classList.add("tooltip-without-icon"); 334 element.appendChild(emergiaTooltip); 335 emergiaTooltip.tooltip.show(); 336 setTimeout(function() { 337 emergiaTooltip.tooltip.hide(); 338 emergiaTooltip.remove(); 339 }, 2e3); 340 } 341 function togglePasswordVisibility(button) { 342 var passwordField = button.closest(".rnk-Forms_Password-wrapper").querySelector("input"); 343 var icon = button.querySelector(".password-icon"); 344 if (passwordField.type === "password") { 345 passwordField.type = "text"; 346 icon.style.setProperty("--icon-url", `url(${button.dataset.eyeClosed})`); 347 } else { 348 passwordField.type = "password"; 349 icon.style.setProperty("--icon-url", `url(${button.dataset.eyeOpen})`); 350 } 351 } 352 function updatePasswordIcon(passwordField) { 353 var button = passwordField.closest(".rnk-Forms_Password-wrapper").querySelector(".rnk-Forms_Password-toggle"); 354 var icon = button.querySelector(".password-icon"); 355 if (passwordField.value.length === 0) { 356 icon.style.setProperty("--icon-url", `url(${button.dataset.eyeClosed})`); 357 icon.style.color = "#5A6773"; 358 } else { 359 icon.style.setProperty("--icon-url", `url(${button.dataset.eyeOpen})`); 360 icon.style.color = "#5A6773"; 361 } 362 } 363 document.addEventListener("turbo:load", function() { 364 var passwordFields = document.querySelectorAll('input[type="password"]'); 365 passwordFields.forEach(function(field) { 366 field.addEventListener("input", function() { 367 updatePasswordIcon(this); 368 }); 369 var toggleButton = field.closest(".rnk-Forms_Password-wrapper").querySelector(".rnk-Forms_Password-toggle"); 370 if (toggleButton && toggleButton.classList.contains("rnk-Forms_Password-toggle")) { 371 toggleButton.addEventListener("click", function() { 372 togglePasswordVisibility(this); 373 }); 374 } 375 }); 376 }); 377})(); 378/*! 379 * JavaScript Cookie v2.1.3 380 * https://github.com/js-cookie/js-cookie 381 * 382 * Copyright 2006, 2015 Klaus Hartl & Fagner Brack 383 * Released under the MIT license 384 */ 385//# sourceMappingURL=/assets/application-69ba30f2.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.