{"version":3,"sources":["readUTM.js"],"names":["ReadUTM","params","window","location","search","replace","str","key","value","temp","push","href","vars","newString","map","item","queryString","join","length","indexOf","$item","$","eq","attr","url","readHref","getVars","concatUTM","document","ready","readUTM"],"mappings":";;;;;;;;AAAA;IACMA,O;;;;AACF;;;;8BAIU;AACN,UAAMC,MAAM,GAAG,EAAf;AACAC,MAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB,CACKC,OADL,CACa,yBADb,EACwC,UAASC,GAAT,EAAcC,GAAd,EAAmBC,KAAnB,EAA0B;AAC1D,YAAMC,IAAI,GAAG,EAAb;AACAA,QAAAA,IAAI,CAAC,KAAD,CAAJ,GAAcF,GAAd;AACAE,QAAAA,IAAI,CAAC,OAAD,CAAJ,GAAgBD,KAAhB;AACAP,QAAAA,MAAM,CAACS,IAAP,CAAYD,IAAZ;AACH,OANL;AAOA,aAAOR,MAAP;AACH;AAED;;;;;;;;;8BAMUU,I,EAAMC,I,EAAM;AAClB,UAAMC,SAAS,GAAGD,IAAI,CAACE,GAAL,CAAS,UAACC,IAAD,EAAU;AACjC,yBAAUA,IAAI,CAAC,KAAD,CAAd,cAAyBA,IAAI,CAAC,OAAD,CAA7B;AACH,OAFiB,CAAlB;AAGA,UAAMC,WAAW,GAAGH,SAAS,CAACI,IAAV,CAAe,GAAf,CAApB;;AACA,UAAIJ,SAAS,CAACK,MAAV,IAAoB,CAAxB,EAA2B;AACvB,YAAIP,IAAI,CAACQ,OAAL,CAAa,GAAb,KAAqB,CAAC,CAA1B,EAA6B;AACzB,2BAAUR,IAAV,cAAkBK,WAAlB;AACH,SAFD,MAEO;AACH,2BAAUL,IAAV,cAAkBK,WAAlB;AACH;AACJ,OAND,MAMO;AACH,yBAAUL,IAAV;AACH;AAEJ;AAED;;;;;;;+BAIW;AACP,UAAMS,KAAK,GAAGC,CAAC,CAAC,6BAAD,CAAD,CAAiCC,EAAjC,CAAoC,CAApC,CAAd;AACA,aAAOF,KAAK,CAACG,IAAN,CAAW,MAAX,CAAP;AACH;AAED;;;;;;;AAIA,qBAAc;AAAA;;AACV,QAAMC,GAAG,GAAG,KAAKC,QAAL,EAAZ;AACA,QAAMb,IAAI,GAAG,KAAKc,OAAL,EAAb;AACA,QAAMb,SAAS,GAAG,KAAKc,SAAL,CAAeH,GAAf,EAAoBZ,IAApB,CAAlB;AACAS,IAAAA,CAAC,CAAC,6BAAD,CAAD,CAAiCE,IAAjC,CAAsC,MAAtC,EAA8CV,SAA9C;AACH;;;KAIL;;AACA;;;;;;AAIAQ,CAAC,CAACO,QAAD,CAAD,CAAYC,KAAZ,CAAkB,YAAW;AACzB,MAAMC,OAAO,GAAG,IAAI9B,OAAJ,EAAhB;AACH,CAFD","sourcesContent":["/** Clase que aplica la lectura de los valores de utm enviados por parámetro en el url */\r\nclass ReadUTM {\r\n /**\r\n * Extrae los valores enviados por parámetros en el url\r\n * @return {array} params - lista de parámetros contenidos en el url\r\n */\r\n getVars() {\r\n const params = [];\r\n window.location.search\r\n .replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str, key, value) {\r\n const temp = {};\r\n temp['key'] = key;\r\n temp['value'] = value;\r\n params.push(temp);\r\n });\r\n return params;\r\n }\r\n\r\n /**\r\n * Concatena el href del botón con la lista de parámetros del url\r\n * @param {string} href - valor href del botón\r\n * @param {array} vars - lista con los valores de los parámetros del url\r\n * @return {string} - nuevo valor del href para el botón\r\n */\r\n concatUTM(href, vars) {\r\n const newString = vars.map((item) => {\r\n return `${item['key']}=${item['value']}`;\r\n })\r\n const queryString = newString.join(\"&\");\r\n if (newString.length >= 1) {\r\n if (href.indexOf('?') != -1) {\r\n return `${href}&${queryString}`;\r\n } else {\r\n return `${href}?${queryString}`;\r\n }\r\n } else {\r\n return `${href}`;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Extrae el href del botón\r\n * @return {string} - valor del href del botón\r\n */\r\n readHref() {\r\n const $item = $('a.btn[data-read-utm=\"true\"]').eq(0);\r\n return $item.attr('href');\r\n }\r\n\r\n /**\r\n * Constructor de la clase\r\n * @return {void}\r\n */\r\n constructor() {\r\n const url = this.readHref();\r\n const vars = this.getVars();\r\n const newString = this.concatUTM(url, vars);\r\n $('a.btn[data-read-utm=\"true\"]').attr('href', newString);\r\n }\r\n}\r\n\r\n\r\n// ----------------------------------------------------------------------\r\n/**\r\n * Definición del document ready de jquery\r\n * @return {void}\r\n */\r\n$(document).ready(function() {\r\n const readUTM = new ReadUTM();\r\n})"],"file":"readUTM.js"}