{"version":3,"file":"Stopwatch.min.js","sources":["https:\/\/moodle.sonsbeekmedia.nl\/caie_39\/mod\/teachingtools\/amd\/src\/duration\/Stopwatch.js"],"sourcesContent":["export default class Stopwatch{\n\n constructor(secondsObserver,\n buttons,\n aWindow\n\n ) {\n this._window = aWindow;\n this._startButton = buttons.startButton;\n this._stopButton = buttons.stopButton;\n this._resetButton = buttons.resetButton;\n\n \/\/ seconds observers must implement two functions\n \/\/ IncrementSeconds(), and ResetSeconds();\n this._secondsObserver = secondsObserver;\n this._SetupButtons();\n\n this._interval = null;\n }\n\n _SetupButtons() {\n\n this._startButton.onclick = () => {\n this.Start();\n };\n\n this._stopButton.onclick = () => {\n this.Stop();\n };\n\n this._resetButton.onclick = () => {\n this.Reset();\n };\n this._MakeThoseButtonsEnabled([this._startButton]);\n }\n\n _IncrementInterval()\n {\n this._secondsObserver.IncrementSeconds();\n }\n\n \/\/ input is an array of buttons\n _MakeThoseButtonsEnabled(buttons)\n {\n this._startButton.disabled = true;\n this._stopButton.disabled = true;\n this._resetButton.disabled = true;\n for(const button of buttons)\n {\n button.disabled = false;\n }\n }\n\n Start(){\n this._interval = this._window.setInterval(()=>{this._IncrementInterval();}, 1000);\n this._MakeThoseButtonsEnabled([this._stopButton, this._resetButton]);\n }\n Stop(){\n clearInterval(this._interval);\n this._MakeThoseButtonsEnabled([this._startButton, this._resetButton]);\n }\n Reset(){\n clearInterval(this._interval);\n this._secondsObserver.ResetSeconds();\n this._MakeThoseButtonsEnabled([this._startButton, this._resetButton]);\n }\n}"],"names":["constructor","secondsObserver","buttons","aWindow","_window","_startButton","startButton","_stopButton","stopButton","_resetButton","resetButton","_secondsObserver","_SetupButtons","_interval","onclick","Start","Stop","Reset","_MakeThoseButtonsEnabled","this","_IncrementInterval","IncrementSeconds","disabled","button","setInterval","clearInterval","ResetSeconds"],"mappings":"4LAEIA,YAAYC,gBACAC,QACAC,cAGHC,QAAUD,aACVE,aAAeH,QAAQI,iBACvBC,YAAcL,QAAQM,gBACtBC,aAAeP,QAAQQ,iBAIvBC,iBAAmBV,qBACnBW,qBAEAC,UAAY,KAGrBD,qBAESP,aAAaS,QAAU,UACnBC,cAGJR,YAAYO,QAAU,UAClBE,aAGJP,aAAaK,QAAU,UACnBG,cAEJC,yBAAyB,CAACC,KAAKd,eAGxCe,0BAEST,iBAAiBU,mBAI1BH,yBAAyBhB,cAEhBG,aAAaiB,UAAW,OACxBf,YAAYe,UAAW,OACvBb,aAAaa,UAAW,MACzB,MAAMC,UAAUrB,QAEhBqB,OAAOD,UAAW,EAI1BP,aACSF,UAAYM,KAAKf,QAAQoB,aAAY,UAAUJ,uBAAwB,UACvEF,yBAAyB,CAACC,KAAKZ,YAAaY,KAAKV,eAE1DO,OACIS,cAAcN,KAAKN,gBACdK,yBAAyB,CAACC,KAAKd,aAAcc,KAAKV,eAE3DQ,QACIQ,cAAcN,KAAKN,gBACdF,iBAAiBe,oBACjBR,yBAAyB,CAACC,KAAKd,aAAcc,KAAKV"}