angular-flip-clock
Version:
Port of FlipClock.js to Angular without any dependencies
1 lines • 4.88 kB
JavaScript
!function(){"use strict";function l(){return{restrict:"EA",scope:{time:"@"},bindToController:!0,controller:"DyFlipClockController",controllerAs:"vm",templateUrl:"src/js/angular-flip-clock-directive/angular-flip-clock-directive.html"}}function e(l){function e(){return p(t(f()))}function c(){return s(t(f()))}function n(){return p(u(f()))}function i(){return s(u(f()))}function r(){return p(a(f()))}function o(){return s(a(f()))}function t(l){return Math.floor((l%y-u(l))/m)}function u(l){return Math.floor((l%m-a(l))/k)}function a(l){return Math.floor((l%k-d(l))/v)}function d(l){return Math.floor(l%v)}function p(l){return(l%100-s(l))/10}function s(l){return l%10}function f(){var l=window.parseInt(b.time,10),e=l!==l;return e?0:l}var v=1e3,k=60*v,m=60*k,y=24*m,b=this;b.time=0,b.getHoursTensPlace=e,b.getHoursOnesPlace=c,b.getMinutesTensPlace=n,b.getMinutesOnesPlace=i,b.getSecondsTensPlace=r,b.getSecondsOnesPlace=o}function c(){return{restrict:"EA",scope:{text:"@",hideDivider:"="},bindToController:!0,controller:"DyFlipClockLabelController",controllerAs:"vm",templateUrl:"src/js/angular-flip-clock-label-directive/angular-flip-clock-label-directive.html"}}function n(){}function i(){return{restrict:"EA",scope:{},bindToController:!0,controllerAs:"vm",controller:"DyFlipClockNumberController",templateUrl:"src/js/angular-flip-clock-number-directive/angular-flip-clock-number-directive.html"}}function r(l,e,c){function n(){l.$watch(function(){return e(c.value)(l.$parent)},function(l,e){t.currentValue=l,t.previousValue=e})}function i(l){return t.currentValue===l}function r(l){return t.previousValue!==t.currentValue&&l===t.previousValue}function o(){return t.previousValue!==t.currentValue}var t=this;t.numbers=[0,1,2,3,4,5,6,7,8,9],t.currentValue=0,t.previousValue=0,t.isActive=i,t.isBefore=r,t.isAnimated=o,n()}angular.module("dyFlipClock",["dyFlipClock.dyFlipClockDirective","dyFlipClock.dyFlipClockNumberDirective","dyFlipClock.dyFlipClockLabelDirective"]),angular.module("dyFlipClock.dyFlipClockDirective",["dyFlipClock.dyFlipClockNumberDirective","dyFlipClock.dyFlipClockLabelDirective"]).directive("dyFlipClock",l).controller("DyFlipClockController",e),l.$inject=[],e.$inject=["$interval"],angular.module("dyFlipClock.dyFlipClockLabelDirective",[]).directive("dyFlipClockLabel",c).controller("DyFlipClockLabelController",n),c.$inject=[],n.$inject=[],angular.module("dyFlipClock.dyFlipClockNumberDirective",[]).directive("dyFlipClockNumber",i).controller("DyFlipClockNumberController",r),i.$inject=[],r.$inject=["$scope","$parse","$attrs"],angular.module("dyFlipClock").run(["$templateCache",function(l){l.put("src/js/angular-flip-clock-directive/angular-flip-clock-directive.html",'<div class="dy-flip-clock">\n <dy-flip-clock-label text="Hours" hide-divider="true"></dy-flip-clock-label>\n <dy-flip-clock-number value="vm.getHoursTensPlace()"></dy-flip-clock-number>\n <dy-flip-clock-number value="vm.getHoursOnesPlace()"></dy-flip-clock-number>\n\n <dy-flip-clock-label text="Minutes"></dy-flip-clock-label>\n <dy-flip-clock-number value="vm.getMinutesTensPlace()"></dy-flip-clock-number>\n <dy-flip-clock-number value="vm.getMinutesOnesPlace()"></dy-flip-clock-number>\n\n <dy-flip-clock-label text="Seconds"></dy-flip-clock-label>\n <dy-flip-clock-number value="vm.getSecondsTensPlace()"></dy-flip-clock-number>\n <dy-flip-clock-number value="vm.getSecondsOnesPlace()"></dy-flip-clock-number>\n </ul>\n</div>\n')}]),angular.module("dyFlipClock").run(["$templateCache",function(l){l.put("src/js/angular-flip-clock-label-directive/angular-flip-clock-label-directive.html",'<span class="dy-flip-clock-divider" ng-class="{\'dy-flip-clock-divider-hidden\': !!vm.hideDivider}">\n <span class="dy-flip-clock-label">{{vm.text}}</span>\n <span class="dy-flip-clock-dot dy-flip-clock-dot-top"></span>\n <span class="dy-flip-clock-dot dy-flip-clock-dot-bottom"></span>\n</span>\n')}]),angular.module("dyFlipClock").run(["$templateCache",function(l){l.put("src/js/angular-flip-clock-number-directive/angular-flip-clock-number-directive.html",'<ul class="dy-flip-clock-number" ng-class="{\'dy-flip-clock-number-animated\': vm.isAnimated()}">\n <li\n ng-repeat="number in ::vm.numbers"\n class="dy-flip-clock-number-digit"\n ng-class="{\'dy-flip-clock-number-digit-active\': vm.isActive(number), \'dy-flip-clock-number-digit-before\': vm.isBefore(number)}"\n >\n <div class="dy-flip-clock-card">\n <div class="dy-flip-clock-card-up">\n <div class="dy-flip-clock-card-shadow"></div>\n <div class="dy-flip-clock-card-value dy-flip-clock-card-value-up">{{::number}}</div>\n </div>\n <div class="dy-flip-clock-card-down">\n <div class="dy-flip-clock-card-shadow"></div>\n <div class="dy-flip-clock-card-value dy-flip-clock-card-value-down">{{::number}}</div>\n </div>\n </div>\n </li>\n</ul>\n')}])}();