UNPKG

angular-cd-timer

Version:

Cd-Timer is a Angular CLI component with countup, countdown and multiple options.

1 lines 17.8 kB
{"version":3,"file":"angular-cd-timer.mjs","sources":["../../../projects/angular-cd-timer/src/lib/angular-cd-timer.component.ts","../../../projects/angular-cd-timer/src/lib/angular-cd-timer.module.ts","../../../projects/angular-cd-timer/src/public-api.ts","../../../projects/angular-cd-timer/src/angular-cd-timer.ts"],"sourcesContent":["\nimport {\n AfterViewInit,\n Component, ElementRef, EventEmitter, Input, OnDestroy, Output, Renderer2\n} from '@angular/core';\nimport {TimeInterface} from './angular-cd-timer.interface';\n\n@Component({\n selector: 'cd-timer',\n template: ' <ng-content></ng-content>'\n})\nexport class CdTimerComponent implements AfterViewInit, OnDestroy {\n private timeoutId: any;\n private tickCounter: number;\n private ngContentSchema: string;\n\n private seconds: number;\n private minutes: number;\n private hours: number;\n private days: number;\n\n @Input() startTime: number;\n @Input() endTime: number;\n @Input() countdown: boolean;\n @Input() autoStart: boolean;\n @Input() maxTimeUnit: string;\n @Input() format: string;\n @Output() onStart: EventEmitter<CdTimerComponent> = new EventEmitter<CdTimerComponent>();\n @Output() onStop: EventEmitter<CdTimerComponent> = new EventEmitter<CdTimerComponent>();\n @Output() onTick: EventEmitter<TimeInterface> = new EventEmitter<TimeInterface>();\n @Output() onComplete: EventEmitter<CdTimerComponent> = new EventEmitter<CdTimerComponent>();\n\n constructor(private elt: ElementRef, private renderer: Renderer2) {\n // Initialization\n this.autoStart = true;\n this.startTime = 0;\n this.endTime = 0;\n this.timeoutId = null;\n this.countdown = false;\n this.format = 'default';\n }\n\n ngAfterViewInit() {\n const ngContentNode = this.elt.nativeElement.lastChild; // Get last child, defined by user or span\n this.ngContentSchema = ngContentNode ? ngContentNode.nodeValue : '';\n if (this.autoStart === undefined || this.autoStart === true) {\n this.start();\n }\n }\n\n ngOnDestroy() {\n this.resetTimeout();\n }\n\n /**\n * Start the timer\n */\n public start() {\n this.initVar();\n this.resetTimeout();\n this.computeTimeUnits();\n this.startTickCount();\n\n this.onStart.emit(this);\n }\n\n /**\n * Resume the timer\n */\n public resume() {\n this.resetTimeout();\n\n this.startTickCount();\n }\n\n /**\n * Stop the timer\n */\n public stop() {\n this.clear();\n\n this.onStop.emit(this);\n }\n\n /**\n * Reset the timer\n */\n public reset() {\n this.initVar();\n this.resetTimeout();\n this.clear();\n this.computeTimeUnits();\n this.renderText();\n }\n\n /**\n * Get the time information\n * @returns TimeInterface\n */\n public get() {\n return {\n seconds: this.seconds,\n minutes: this.minutes,\n hours: this.hours,\n days: this.days,\n timer: this.timeoutId,\n tick_count: this.tickCounter\n };\n }\n\n /**\n * Initialize variable before start\n */\n private initVar() {\n this.startTime = this.startTime || 0;\n this.endTime = this.endTime || 0;\n this.countdown = this.countdown || false;\n this.tickCounter = this.startTime;\n\n // Disable countdown if start time not defined\n if (this.countdown && this.startTime === 0) {\n this.countdown = false;\n }\n\n // Determine auto format\n if (!this.format) {\n this.format = (this.ngContentSchema.length > 5) ? 'user' : 'default';\n }\n }\n\n /**\n * Reset timeout\n */\n private resetTimeout() {\n if (this.timeoutId) {\n clearInterval(this.timeoutId);\n }\n }\n\n /**\n * Render the time to DOM\n */\n private renderText() {\n let outputText;\n if (this.format === 'user') {\n // User presentation\n const items = {\n 'seconds': this.seconds,\n 'minutes': this.minutes,\n 'hours': this.hours,\n 'days': this.days\n };\n\n outputText = this.ngContentSchema;\n\n for (const key of Object.keys(items)) {\n outputText = outputText.replace('[' + key + ']', (items as any)[key].toString());\n }\n } else if (this.format === 'intelli') {\n // Intelli presentation\n outputText = '';\n if (this.days > 0) {\n outputText += this.days.toString() + 'day' + ((this.days > 1) ? 's' : '') + ' ';\n }\n if ((this.hours > 0) || (this.days > 0)) {\n outputText += this.hours.toString() + 'h ';\n }\n if (((this.minutes > 0) || (this.hours > 0)) && (this.days === 0)) {\n outputText += this.minutes.toString().padStart(2, '0') + 'min ';\n }\n if ((this.hours === 0) && (this.days === 0)) {\n outputText += this.seconds.toString().padStart(2, '0') + 's';\n }\n } else if (this.format === 'hms') {\n // Hms presentation\n outputText = this.hours.toString().padStart(2, '0') + ':';\n outputText += this.minutes.toString().padStart(2, '0') + ':';\n outputText += this.seconds.toString().padStart(2, '0');\n } else if (this.format === 'ms') {\n // ms presentation\n outputText = '';\n if(this.hours>0) {\n outputText = this.hours.toString().padStart(2, '0') + ':';\n }\n outputText += this.minutes.toString().padStart(2, '0') + ':';\n outputText += this.seconds.toString().padStart(2, '0');\n } else {\n // Default presentation\n outputText = this.days.toString() + 'd ';\n outputText += this.hours.toString() + 'h ';\n outputText += this.minutes.toString() + 'm ';\n outputText += this.seconds.toString() + 's';\n }\n\n this.renderer.setProperty(this.elt.nativeElement, 'innerHTML', outputText);\n }\n\n private clear() {\n this.resetTimeout();\n this.timeoutId = null;\n }\n\n /**\n * Compute each unit (seconds, minutes, hours, days) for further manipulation\n * @protected\n */\n protected computeTimeUnits() {\n if (!this.maxTimeUnit || this.maxTimeUnit === 'day') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor((this.tickCounter / 60) % 60);\n this.hours = Math.floor((this.tickCounter / 3600) % 24);\n this.days = Math.floor((this.tickCounter / 3600) / 24);\n } else if (this.maxTimeUnit === 'second') {\n this.seconds = this.tickCounter;\n this.minutes = 0;\n this.hours = 0;\n this.days = 0;\n } else if (this.maxTimeUnit === 'minute') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor(this.tickCounter / 60);\n this.hours = 0;\n this.days = 0;\n } else if (this.maxTimeUnit === 'hour') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor((this.tickCounter / 60) % 60);\n this.hours = Math.floor(this.tickCounter / 3600);\n this.days = 0;\n }\n\n this.renderText();\n }\n\n /**\n * Start tick count, base of this component\n * @protected\n */\n protected startTickCount () {\n const that = this;\n\n that.timeoutId = setInterval(function() {\n let counter;\n\n if (that.countdown) {\n // Compute finish counter for countdown\n counter = that.tickCounter;\n\n if (that.startTime > that.endTime) {\n counter = that.tickCounter - that.endTime - 1;\n }\n } else {\n // Compute finish counter for timer\n counter = that.tickCounter - that.startTime;\n\n if (that.endTime > that.startTime) {\n counter = that.endTime - that.tickCounter - 1;\n }\n }\n\n that.computeTimeUnits();\n\n const timer: TimeInterface = {\n seconds: that.seconds,\n minutes: that.minutes,\n hours: that.hours,\n days: that.days,\n timer: that.timeoutId,\n tick_count: that.tickCounter\n };\n\n that.onTick.emit(timer);\n\n if (counter < 0) {\n that.stop();\n\n that.onComplete.emit(that);\n return;\n }\n\n if (that.countdown) {\n that.tickCounter--;\n } else {\n that.tickCounter++;\n }\n }, 1000); // Each seconds\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CdTimerComponent } from './angular-cd-timer.component';\n\n\n\n@NgModule({\n declarations: [CdTimerComponent],\n imports: [\n ],\n exports: [CdTimerComponent]\n})\nexport class CdTimerModule { }\n","/*\n * Public API Surface of angular-cd-timer\n */\n\nexport * from './lib/angular-cd-timer.component';\nexport * from './lib/angular-cd-timer.interface';\nexport * from './lib/angular-cd-timer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}