@embrace-io/web-sdk
Version:
3 lines (2 loc) • 993 B
JavaScript
import{EmbraceInstrumentationBase as e}from"../../EmbraceInstrumentationBase/EmbraceInstrumentationBase.js";import{getHTMLElementFriendlyName as t}from"./utils.js";class n extends e{constructor({diag:e,perf:n}={}){super({instrumentationName:"SpanSessionBrowserActivityInstrumentation",instrumentationVersion:"1.0.0",diag:e,perf:n,config:{}}),this._onClickHandler=e=>{const n=e.target;if(n instanceof HTMLElement&&!n.hasAttribute("disabled"))try{const i=this.sessionManager.getSessionSpan();i&&i.addEvent("click",{"emb.type":"ux.tap","view.name":t(n),"tap.coords":`${e.x.toString()},${e.y.toString()}`},this.perf.epochMillisFromOriginOffset(e.timeStamp))}catch(e){this._diag.error("failed to create new user interaction span event",e)}},this._config.enabled&&this.enable()}disable(){document.removeEventListener("click",this._onClickHandler)}enable(){document.addEventListener("click",this._onClickHandler)}}export{n as ClicksInstrumentation};
//# sourceMappingURL=ClicksInstrumentation.js.map