{"version":3,"file":"js/page__shared_events_manager-911f690bd2a83f1b314f.chunk.js","mappings":"geAAA,MAAM,UAAEA,GAAcC,OAEP,MAAMC,EACnB,WAAAC,CAAYC,GACVC,KAAKD,QAAUA,EACfJ,EAAUM,cAAcC,KAAK,uCAAmBH,EAClD,CAEA,IAAAI,GACEP,OAAOQ,cAAgBJ,KACvBA,KAAKK,qBACP,CAEA,QAAAC,CAASC,EAAWC,GAEZA,GAA8C,kBAApBA,IAC9BA,EAAkBC,KAAKC,MAAMF,GAAmB,OAElDb,EAAUW,SAAS,GAAGC,IAAaC,EACrC,CAGA,mBAAAH,GACEM,SAASC,iBAAiB,SAASC,IACjC,MAAM,OAAEC,GAAWD,EACnBb,KAAKe,gBAAgBD,GACrBd,KAAKgB,oBAAoBF,EAAO,GAEpC,CAEA,eAAAC,CAAgBD,GACd,MAAMG,EAAgBH,EAAOI,QAAQ,+BAErC,IAAID,EAAe,OAEnB,MAAM,mBAAEE,EAAkB,yBAAEC,GAA4BH,EAAcI,QAEnEF,GACDnB,KAAKM,SAASa,EAAoBC,EAEtC,CAEA,mBAAAJ,CAAoBF,GAClB,MAAMG,EAAgBH,EAAOI,QAAQ,2BAErC,IAAID,EAAe,OAEnB,MAAM,eAAEK,EAAc,qBAAEC,GAAwBN,EAAcI,QAE3DC,GACDtB,KAAKM,SAAS,GAAGgB,YAA0BC,EAE/C,E","sources":["webpack://nodalview/./app/javascript/src/shared/events_manager/index.js"],"sourcesContent":["const { amplitude } = window;\n\nexport default class EventsManager {\n  constructor(user_id) {\n    this.user_id = user_id\n    amplitude.getInstance().init(AMPLITUDE_API_KEY, user_id)\n  }\n\n  boot() {\n    window.eventsManager = this;\n    this._initEventListeners()\n  }\n\n  logEvent(eventName, eventProperties) {\n    // If we receive a json stringified eventProperties\n    if (!!eventProperties && typeof eventProperties === \"string\") {\n      eventProperties = JSON.parse(eventProperties || '{}');\n    }\n    amplitude.logEvent(`${eventName}`, eventProperties);\n  }\n\n\n  _initEventListeners() {\n    document.addEventListener('click',(event) =>{\n      const { target } = event;\n      this._handle_tracker(target);\n      this._handle_old_tracker(target);\n    })\n  }\n\n  _handle_tracker(target) {\n    const closestButton = target.closest('[data-amplitude-event-name]')\n\n    if(!closestButton) return\n\n    const { amplitudeEventName, amplitudeEventProperties} = closestButton.dataset\n\n    if(amplitudeEventName){\n      this.logEvent(amplitudeEventName, amplitudeEventProperties)\n    }\n  }\n\n  _handle_old_tracker(target) {\n    const closestButton = target.closest('[data-click-event-name]')\n\n    if(!closestButton) return\n\n    const { clickEventName, clickEventProperties} = closestButton.dataset\n\n    if(clickEventName){\n      this.logEvent(`${clickEventName} - click`, clickEventProperties)\n    }\n  }\n}\n"],"names":["amplitude","window","EventsManager","constructor","user_id","this","getInstance","init","boot","eventsManager","_initEventListeners","logEvent","eventName","eventProperties","JSON","parse","document","addEventListener","event","target","_handle_tracker","_handle_old_tracker","closestButton","closest","amplitudeEventName","amplitudeEventProperties","dataset","clickEventName","clickEventProperties"],"sourceRoot":""}