{"version":3,"file":"CardsCountdown.js","names":["defineDs","m","Render","MithrilRedrawEverySecond","CardsCountdown","controller","render","countdownTime","property","timeRemaining","previous","ticks","getTimeRemaining","endtime","t","Date","time","days","Math","floor","hours","mins","secs","cardStackElement","values","type","class","randomPosition","upper","lower","d","flip","computeValues","counter","prev","value","valUp","valDown","undefined","generateCardsCountdown","number","randomArray","i","push","ready","then","start","config","depend"],"sources":["DanskeSpil/Domain/AllOrNothing/Scripts/Templates/CardsCountdown.js"],"sourcesContent":["defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Templates/CardsCountdown',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/MithrilRedrawEverySecond'\r\n\r\n ],\r\n function (m, Render, MithrilRedrawEverySecond) {\r\n\r\n // Template:\r\n var CardsCountdown = function (controller) {\r\n\r\n var render = Render();\r\n var countdownTime = controller.property('endCountdownDate');\r\n var timeRemaining = controller.property('timeRemaining') || 0;\r\n var previous = controller.property('previous') || 0;\r\n var ticks = controller.property('ticks') || controller.property('ticks', [0, 0, 0, 0]);\r\n\r\n var getTimeRemaining = function (endtime) {\r\n var t = endtime - new Date();\r\n controller.property('diffSeconds', t);\r\n\r\n t = t < 0 ? 0 : t;\r\n var time = {\r\n days: Math.floor(t / (1000 * 60 * 60 * 24)),\r\n hours: Math.floor((t / (1000 * 60 * 60)) % 24),\r\n mins: Math.floor((t / 1000 / 60) % 60),\r\n secs: Math.floor((t / 1000) % 60)\r\n };\r\n\r\n controller.property('timeRemaining', time);\r\n };\r\n\r\n var cardStackElement = function (values, type) {\r\n return m('div', { class: 'cards-stack-wrapper' }, [\r\n m('div', { class: 'all-or-nothing-number-cell-wrapper rotation-position-' + randomPosition(values.upper)[0] }),\r\n m('div', { class: 'all-or-nothing-number-cell-wrapper rotation-position-' + randomPosition(values.upper)[1] }),\r\n m('div', { class: 'all-or-nothing-number-cell-wrapper rotation-position-' + randomPosition(values.upper)[2] }, [\r\n m('div', { class: 'number-wrapper' }, values.lower),\r\n m('div', { class: 'card-text' }, controller.d('Countdown/InnerTexts/' + type))\r\n ]),\r\n m('div', { class: 'all-or-nothing-number-cell-wrapper ' + values.flip + ' rotation-position-' + randomPosition(values.upper)[3] }, [\r\n m('div', { class: 'number-wrapper' }, values.upper),\r\n m('div', { class: 'card-text' }, controller.d('Countdown/InnerTexts/' + type))\r\n ])\r\n ]);\r\n };\r\n\r\n var computeValues = function (counter, prev, value) {\r\n var valUp;\r\n var valDown = value;\r\n if (counter === 0) {\r\n // days\r\n if (value > 99) {\r\n valUp = 99;\r\n valDown = 99;\r\n } else {\r\n valUp = value === 99 ? 99 : value + (prev ? 1 : 0);\r\n }\r\n } else if (counter === 1) {\r\n // hours\r\n valUp = value === 23 ? 0 : value + (prev ? 1 : 0);\r\n } else {\r\n // mins and secs\r\n valUp = value === 59 ? 0 : value + (prev ? 1 : 0);\r\n }\r\n\r\n if (ticks !== undefined) {\r\n if (prev !== value) {\r\n ticks[counter]++;\r\n }\r\n\r\n return {\r\n upper: valUp,\r\n lower: valDown,\r\n flip: ticks[counter] % 2 === 0\r\n };\r\n } else {\r\n return {\r\n upper: 0,\r\n lower: 0,\r\n flip: true\r\n };\r\n }\r\n };\r\n\r\n var generateCardsCountdown = function () {\r\n controller.property('previous', timeRemaining);\r\n getTimeRemaining(countdownTime);\r\n return [cardStackElement(computeValues(0, previous.days, timeRemaining.days), 'days'),\r\n cardStackElement(computeValues(1, previous.hours, timeRemaining.hours), 'hours'),\r\n cardStackElement(computeValues(2, previous.mins, timeRemaining.mins), 'minutes'),\r\n cardStackElement(computeValues(3, previous.secs, timeRemaining.secs), 'seconds')];\r\n };\r\n\r\n function randomPosition(number) {\r\n var randomArray = [];\r\n for (var i = 0; i < 5; i++) {\r\n randomArray.push((((number + i) % 20) + 1));\r\n }\r\n return randomArray;\r\n }\r\n\r\n render.ready.then(function () {\r\n MithrilRedrawEverySecond.start();\r\n });\r\n\r\n if (controller.property('diffSeconds') <= 0) {\r\n return '';\r\n }\r\n\r\n // View:\r\n return m('div', { class: 'all-or-nothing-cards-countdown-wrapper ', config: render.depend('container') }, [\r\n m('div', { class: 'cards-countdown-inner-wrapper' }, generateCardsCountdown())\r\n ]);\r\n };\r\n\r\n // Public functions:\r\n return CardsCountdown;\r\n\r\n });\r\n"],"mappings":"AAAAA,QAAQ,CAAC,iEAAiE,EACxE,CACE,+CAA+C,EAC/C,iDAAiD,EACjD,mEAAmE,CAEpE,EACD,UAAUC,CAAC,EAAEC,MAAM,EAAEC,wBAAwB,EAAE;EAE7C;EACA,IAAIC,cAAc,GAAG,SAAAA,CAAUC,UAAU,EAAE;IAEzC,IAAIC,MAAM,GAAGJ,MAAM,CAAC,CAAC;IACrB,IAAIK,aAAa,GAAGF,UAAU,CAACG,QAAQ,CAAC,kBAAkB,CAAC;IAC3D,IAAIC,aAAa,GAAGJ,UAAU,CAACG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7D,IAAIE,QAAQ,GAAGL,UAAU,CAACG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;IACnD,IAAIG,KAAK,GAAGN,UAAU,CAACG,QAAQ,CAAC,OAAO,CAAC,IAAIH,UAAU,CAACG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtF,IAAII,gBAAgB,GAAG,SAAAA,CAAUC,OAAO,EAAE;MACxC,IAAIC,CAAC,GAAGD,OAAO,GAAG,IAAIE,IAAI,CAAC,CAAC;MAC5BV,UAAU,CAACG,QAAQ,CAAC,aAAa,EAAEM,CAAC,CAAC;MAErCA,CAAC,GAAGA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,CAAC;MACjB,IAAIE,IAAI,GAAG;QACTC,IAAI,EAAEC,IAAI,CAACC,KAAK,CAACL,CAAC,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3CM,KAAK,EAAEF,IAAI,CAACC,KAAK,CAAEL,CAAC,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAI,EAAE,CAAC;QAC9CO,IAAI,EAAEH,IAAI,CAACC,KAAK,CAAEL,CAAC,GAAG,IAAI,GAAG,EAAE,GAAI,EAAE,CAAC;QACtCQ,IAAI,EAAEJ,IAAI,CAACC,KAAK,CAAEL,CAAC,GAAG,IAAI,GAAI,EAAE;MAClC,CAAC;MAEDT,UAAU,CAACG,QAAQ,CAAC,eAAe,EAAEQ,IAAI,CAAC;IAC5C,CAAC;IAED,IAAIO,gBAAgB,GAAG,SAAAA,CAAUC,MAAM,EAAEC,IAAI,EAAE;MAC7C,OAAOxB,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE;MAAsB,CAAC,EAAE,CAChDzB,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE,uDAAuD,GAAGC,cAAc,CAACH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC;MAAE,CAAC,CAAC,EAC9G3B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE,uDAAuD,GAAGC,cAAc,CAACH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC;MAAE,CAAC,CAAC,EAC9G3B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE,uDAAuD,GAAGC,cAAc,CAACH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC;MAAE,CAAC,EAAE,CAC7G3B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE;MAAiB,CAAC,EAAEF,MAAM,CAACK,KAAK,CAAC,EACnD5B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE;MAAY,CAAC,EAAErB,UAAU,CAACyB,CAAC,CAAC,uBAAuB,GAAGL,IAAI,CAAC,CAAC,CAC/E,CAAC,EACFxB,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE,qCAAqC,GAAGF,MAAM,CAACO,IAAI,GAAG,qBAAqB,GAAGJ,cAAc,CAACH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC;MAAE,CAAC,EAAE,CACjI3B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE;MAAiB,CAAC,EAAEF,MAAM,CAACI,KAAK,CAAC,EACnD3B,CAAC,CAAC,KAAK,EAAE;QAAEyB,KAAK,EAAE;MAAY,CAAC,EAAErB,UAAU,CAACyB,CAAC,CAAC,uBAAuB,GAAGL,IAAI,CAAC,CAAC,CAC/E,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAIO,aAAa,GAAG,SAAAA,CAAUC,OAAO,EAAEC,IAAI,EAAEC,KAAK,EAAE;MAClD,IAAIC,KAAK;MACT,IAAIC,OAAO,GAAGF,KAAK;MACnB,IAAIF,OAAO,KAAK,CAAC,EAAE;QACjB;QACA,IAAIE,KAAK,GAAG,EAAE,EAAE;UACdC,KAAK,GAAG,EAAE;UACVC,OAAO,GAAG,EAAE;QACd,CAAC,MAAM;UACLD,KAAK,GAAGD,KAAK,KAAK,EAAE,GAAG,EAAE,GAAGA,KAAK,IAAID,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACpD;MACF,CAAC,MAAM,IAAID,OAAO,KAAK,CAAC,EAAE;QACxB;QACAG,KAAK,GAAGD,KAAK,KAAK,EAAE,GAAG,CAAC,GAAGA,KAAK,IAAID,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MACnD,CAAC,MAAM;QACL;QACAE,KAAK,GAAGD,KAAK,KAAK,EAAE,GAAG,CAAC,GAAGA,KAAK,IAAID,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MACnD;MAEA,IAAIvB,KAAK,KAAK2B,SAAS,EAAE;QACvB,IAAIJ,IAAI,KAAKC,KAAK,EAAE;UAClBxB,KAAK,CAACsB,OAAO,CAAC,EAAE;QAClB;QAEA,OAAO;UACLL,KAAK,EAAEQ,KAAK;UACZP,KAAK,EAAEQ,OAAO;UACdN,IAAI,EAAEpB,KAAK,CAACsB,OAAO,CAAC,GAAG,CAAC,KAAK;QAC/B,CAAC;MACH,CAAC,MAAM;QACL,OAAO;UACLL,KAAK,EAAE,CAAC;UACRC,KAAK,EAAE,CAAC;UACRE,IAAI,EAAE;QACR,CAAC;MACH;IACF,CAAC;IAED,IAAIQ,sBAAsB,GAAG,SAAAA,CAAA,EAAY;MACvClC,UAAU,CAACG,QAAQ,CAAC,UAAU,EAAEC,aAAa,CAAC;MAC9CG,gBAAgB,CAACL,aAAa,CAAC;MAC/B,OAAO,CAACgB,gBAAgB,CAACS,aAAa,CAAC,CAAC,EAAEtB,QAAQ,CAACO,IAAI,EAAER,aAAa,CAACQ,IAAI,CAAC,EAAE,MAAM,CAAC,EACnFM,gBAAgB,CAACS,aAAa,CAAC,CAAC,EAAEtB,QAAQ,CAACU,KAAK,EAAEX,aAAa,CAACW,KAAK,CAAC,EAAE,OAAO,CAAC,EAChFG,gBAAgB,CAACS,aAAa,CAAC,CAAC,EAAEtB,QAAQ,CAACW,IAAI,EAAEZ,aAAa,CAACY,IAAI,CAAC,EAAE,SAAS,CAAC,EAChFE,gBAAgB,CAACS,aAAa,CAAC,CAAC,EAAEtB,QAAQ,CAACY,IAAI,EAAEb,aAAa,CAACa,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IACrF,CAAC;IAED,SAASK,cAAcA,CAACa,MAAM,EAAE;MAC9B,IAAIC,WAAW,GAAG,EAAE;MACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;QAC1BD,WAAW,CAACE,IAAI,CAAG,CAACH,MAAM,GAAGE,CAAC,IAAI,EAAE,GAAI,CAAE,CAAC;MAC7C;MACA,OAAOD,WAAW;IACpB;IAEAnC,MAAM,CAACsC,KAAK,CAACC,IAAI,CAAC,YAAY;MAC5B1C,wBAAwB,CAAC2C,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAIzC,UAAU,CAACG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;MAC3C,OAAO,EAAE;IACX;;IAEA;IACA,OAAOP,CAAC,CAAC,KAAK,EAAE;MAAEyB,KAAK,EAAE,yCAAyC;MAAEqB,MAAM,EAAEzC,MAAM,CAAC0C,MAAM,CAAC,WAAW;IAAE,CAAC,EAAE,CACxG/C,CAAC,CAAC,KAAK,EAAE;MAAEyB,KAAK,EAAE;IAAgC,CAAC,EAAEa,sBAAsB,CAAC,CAAC,CAAC,CAC/E,CAAC;EACJ,CAAC;;EAED;EACA,OAAOnC,cAAc;AAEvB,CAAC,CAAC","ignoreList":[]}