{"version":3,"sources":["readUTM.js"],"names":["ReadUTM","url","readHref","vars","getVars","newString","concatUTM","$","attr","params","window","location","search","replace","str","key","value","temp","push","href","map","item","queryString","join","length","indexOf","$item","eq","document","ready","readUTM"],"mappings":";;;;;;;;AAAA;IACMA,O;AAiDF;AACJ;AACA;AACA;AACI,qBAAc;AAAA;;AACV,QAAMC,GAAG,GAAG,KAAKC,QAAL,EAAZ;AACA,QAAMC,IAAI,GAAG,KAAKC,OAAL,EAAb;AACA,QAAMC,SAAS,GAAG,KAAKC,SAAL,CAAeL,GAAf,EAAoBE,IAApB,CAAlB;AACAI,IAAAA,CAAC,CAAC,6BAAD,CAAD,CAAiCC,IAAjC,CAAsC,MAAtC,EAA8CH,SAA9C;AACH;;;;;AAzDD;AACJ;AACA;AACA;AACI,uBAAU;AACN,UAAMI,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;AACJ;AACA;AACA;AACA;AACA;;;;WACI,mBAAUU,IAAV,EAAgBhB,IAAhB,EAAsB;AAClB,UAAME,SAAS,GAAGF,IAAI,CAACiB,GAAL,CAAS,UAACC,IAAD,EAAU;AACjC,yBAAUA,IAAI,CAAC,KAAD,CAAd,cAAyBA,IAAI,CAAC,OAAD,CAA7B;AACH,OAFiB,CAAlB;AAGA,UAAMC,WAAW,GAAGjB,SAAS,CAACkB,IAAV,CAAe,GAAf,CAApB;;AACA,UAAIlB,SAAS,CAACmB,MAAV,IAAoB,CAAxB,EAA2B;AACvB,YAAIL,IAAI,CAACM,OAAL,CAAa,GAAb,KAAqB,CAAC,CAA1B,EAA6B;AACzB,2BAAUN,IAAV,cAAkBG,WAAlB;AACH,SAFD,MAEO;AACH,2BAAUH,IAAV,cAAkBG,WAAlB;AACH;AACJ,OAND,MAMO;AACH,yBAAUH,IAAV;AACH;AAEJ;AAED;AACJ;AACA;AACA;;;;WACI,oBAAW;AACP,UAAMO,KAAK,GAAGnB,CAAC,CAAC,6BAAD,CAAD,CAAiCoB,EAAjC,CAAoC,CAApC,CAAd;AACA,aAAOD,KAAK,CAAClB,IAAN,CAAW,MAAX,CAAP;AACH;;;;KAeL;;AACA;AACA;AACA;AACA;;;AACAD,CAAC,CAACqB,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"}