/// interface CustomLinkOptions { mouseover? : () => void; mouseout? : () => void; click? : (e : MouseEvent) => void; } module Controls.Links { export function makeCustomLink (element : Element, options : CustomLinkOptions) { if (options.mouseover != undefined && options.mouseout != undefined) { element.addEventListener("mouseover", options.mouseover); element.addEventListener("mouseout", options.mouseout); } element.addEventListener("click", options.click); } export function makeLink (element : Element, action : Action) { makeCustomLink(element, { mouseover : () => { Elements.HyperlinkHandler.hoverAction(action); }, mouseout : () => { Elements.HyperlinkHandler.unhoverAction(); }, click : (e) => { TurnSequence.execute(action); Elements.HyperlinkHandler.unhoverAction(); e.stopPropagation(); e.preventDefault(); } }); } }