UNPKG

ziko

Version:

a versatile javaScript framework offering a rich set of UI components, advanced mathematical utilities, reactivity, animations, client side routing and graphics capabilities

30 lines 911 B
import { useEventEmitter } from "../Interactions/useEventEmmiter.js"; class ZikoUseTitle{ constructor(title=document.title,useEventEmitter=true){ this.cache={ Emitter:null } if(useEventEmitter)this.useEventEmitter(); this.set(title); } useEventEmitter(){ this.cache.Emitter=useEventEmitter(); return this; } set(title){ if(title!==document.title){ document.title=title; if(this.cache.Emitter)this.cache.Emitter.emit("ziko:title-changed"); } return this; } get current(){ return document.title; } onChange(callback){ if(this.cache.Emitter)this.cache.Emitter.on("ziko:title-changed",callback); return this; } } const useTitle=(title, useEventEmitter)=>new ZikoUseTitle(title, useEventEmitter); export{ useTitle }