UNPKG

angular-countdown-date-time

Version:

angular countdown by end time

151 lines 13.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ViewEncapsulation } from '@angular/core'; export class AngularCountdownDateTimeComponent { constructor() { debugger; } /** * @return {?} */ ngOnInit() { debugger; this.endDate = new Date(this.endDateBind); setInterval((/** * @return {?} */ () => { /** @type {?} */ let end = this.endDate.toDateString(); /** @type {?} */ let start = new Date().toDateString(); this.diff = Math.floor((this.endDate.getTime() - new Date().getTime()) / 1000); this.dayTextBind = this.dayText; this.hourTextBind = this.hourText; this.minutesTextBind = this.minutesText; this.secondsTextBind = this.secondsText; this.days = this.getDays(this.diff); this.hours = this.getHours(this.diff); this.minutes = this.getMinutes(this.diff); this.seconds = this.getSeconds(this.diff); }), 1000); } /** * @param {?} t * @return {?} */ getDays(t) { /** @type {?} */ let days; days = Math.floor(t / 86400); return ('0' + days).slice(-2); } /** * @param {?} t * @return {?} */ getHours(t) { /** @type {?} */ let days; /** @type {?} */ let hours; days = Math.floor(t / 86400); t -= days * 86400; hours = Math.floor(t / 3600) % 24; return ('0' + hours).slice(-2); } /** * @param {?} t * @return {?} */ getMinutes(t) { /** @type {?} */ let days; /** @type {?} */ let hours; /** @type {?} */ let minutes; days = Math.floor(t / 86400); t -= days * 86400; hours = Math.floor(t / 3600) % 24; t -= hours * 3600; minutes = Math.floor(t / 60) % 60; return ('0' + minutes).slice(-2); } /** * @param {?} t * @return {?} */ getSeconds(t) { /** @type {?} */ let days; /** @type {?} */ let hours; /** @type {?} */ let minutes; /** @type {?} */ let seconds; days = Math.floor(t / 86400); t -= days * 86400; hours = Math.floor(t / 3600) % 24; t -= hours * 3600; minutes = Math.floor(t / 60) % 60; t -= minutes * 60; seconds = t % 60; return ('0' + seconds).slice(-2); } } AngularCountdownDateTimeComponent.decorators = [ { type: Component, args: [{ selector: 'lib-angular-countdown-dateTime', template: "<div class=\"count-down\">\r\n <div class=\"count-down-row\">\r\n <div>\r\n <span>\r\n {{days}}\r\n </span>\r\n </div>\r\n <div>\r\n <span>\r\n {{hours}}\r\n </span>\r\n </div>\r\n <div>\r\n <span>\r\n {{minutes}}\r\n </span>\r\n </div>\r\n <div>\r\n <span>\r\n {{seconds}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"count-down-row\">\r\n <div>\r\n {{dayTextBind}}\r\n </div>\r\n <div>\r\n {{hourTextBind}}\r\n </div>\r\n <div>\r\n {{minutesTextBind}}\r\n </div>\r\n <div>\r\n {{secondsTextBind}}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", encapsulation: ViewEncapsulation.None, styles: [".count-down{background:#fff;border:0 solid #dadada;border-radius:4.48px;position:relative;width:100%;padding:20px 0 10px}.count-down .count-down-row{display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center}.count-down .count-down-row>div{flex-grow:1;padding-bottom:10px;width:25%}.count-down span{letter-spacing:0;font-size:1.5em;color:#616161;text-align:center;font-weight:500}"] }] } ]; /** @nocollapse */ AngularCountdownDateTimeComponent.ctorParameters = () => []; AngularCountdownDateTimeComponent.propDecorators = { endDateBind: [{ type: Input }], dayText: [{ type: Input }], hourText: [{ type: Input }], minutesText: [{ type: Input }], secondsText: [{ type: Input }] }; if (false) { /** @type {?} */ AngularCountdownDateTimeComponent.prototype.endDateBind; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.dayText; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.hourText; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.minutesText; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.secondsText; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.endDate; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.diff; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.countDownResult; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.days; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.hours; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.minutes; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.seconds; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.dayTextBind; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.hourTextBind; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.minutesTextBind; /** @type {?} */ AngularCountdownDateTimeComponent.prototype.secondsTextBind; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb3VudGRvd24tZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItY291bnRkb3duLWRhdGUtdGltZS8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLWNvdW50ZG93bi1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxpQkFBaUIsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQVE3RSxNQUFNLE9BQU8saUNBQWlDO0lBd0I1QztRQUNFLFFBQVEsQ0FBQztJQUNYLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sUUFBUSxDQUFDO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUMsV0FBVzs7O1FBQUMsR0FBRyxFQUFFOztnQkFDWCxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7O2dCQUNqQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxHQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsQ0FBQzs7WUFDSCxJQUFJO1FBQ1IsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsQ0FBQzs7WUFDSixJQUFJOztZQUFFLEtBQUs7UUFDZixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLENBQUM7O1lBQ04sSUFBSTs7WUFBRSxLQUFLOztZQUFFLE9BQU87UUFDeEIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLENBQUM7O1lBQ04sSUFBSTs7WUFBRSxLQUFLOztZQUFFLE9BQU87O1lBQUUsT0FBTztRQUNqQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7O1lBdkZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyx3ckJBQWlEO2dCQUVqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7OzBCQUVFLEtBQUs7c0JBRUwsS0FBSzt1QkFFTCxLQUFLOzBCQUVMLEtBQUs7MEJBRUwsS0FBSzs7OztJQVJOLHdEQUNvQjs7SUFDcEIsb0RBQ2dCOztJQUNoQixxREFDaUI7O0lBQ2pCLHdEQUNvQjs7SUFDcEIsd0RBQ29COztJQUdwQixvREFBYzs7SUFDZCxpREFBYTs7SUFDYiw0REFBd0I7O0lBQ3hCLGlEQUFhOztJQUNiLGtEQUFjOztJQUNkLG9EQUFnQjs7SUFDaEIsb0RBQWdCOztJQUNoQix3REFBb0I7O0lBQ3BCLHlEQUFxQjs7SUFDckIsNERBQXdCOztJQUN4Qiw0REFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYW5ndWxhci1jb3VudGRvd24tZGF0ZVRpbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5ndWxhci1jb3VudGRvd24tZGF0ZS10aW1lLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmd1bGFyLWNvdW50ZG93bi1kYXRlLXRpbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ291bnRkb3duRGF0ZVRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBlbmREYXRlQmluZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBkYXlUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGhvdXJUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG1pbnV0ZXNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHNlY29uZHNUZXh0OiBzdHJpbmc7XG5cbiAgLy9lbmREYXRlOiBEYXRlID0gbmV3IERhdGUoJzIwMTktMDQtMjMgMDA6MDA6MDAnKTtcbiAgZW5kRGF0ZTogRGF0ZTtcbiAgZGlmZjogbnVtYmVyO1xuICBjb3VudERvd25SZXN1bHQ6IG51bWJlcjtcbiAgZGF5czogc3RyaW5nO1xuICBob3Vyczogc3RyaW5nO1xuICBtaW51dGVzOiBzdHJpbmc7XG4gIHNlY29uZHM6IHN0cmluZztcbiAgZGF5VGV4dEJpbmQ6IHN0cmluZztcbiAgaG91clRleHRCaW5kOiBzdHJpbmc7XG4gIG1pbnV0ZXNUZXh0QmluZDogc3RyaW5nO1xuICBzZWNvbmRzVGV4dEJpbmQ6IHN0cmluZztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZGVidWdnZXI7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBkZWJ1Z2dlcjtcbiAgICB0aGlzLmVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGVCaW5kKTtcblxuICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGxldCBlbmQgPSB0aGlzLmVuZERhdGUudG9EYXRlU3RyaW5nKCk7XG4gICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpO1xuICAgICAgdGhpcy5kaWZmID0gTWF0aC5mbG9vcigodGhpcy5lbmREYXRlLmdldFRpbWUoKSAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApO1xuICAgICAgdGhpcy5kYXlUZXh0QmluZCA9IHRoaXMuZGF5VGV4dDtcbiAgICAgIHRoaXMuaG91clRleHRCaW5kID0gdGhpcy5ob3VyVGV4dDtcbiAgICAgIHRoaXMubWludXRlc1RleHRCaW5kID0gdGhpcy5taW51dGVzVGV4dDtcbiAgICAgIHRoaXMuc2Vjb25kc1RleHRCaW5kID0gdGhpcy5zZWNvbmRzVGV4dDtcbiAgICAgIHRoaXMuZGF5cyA9IHRoaXMuZ2V0RGF5cyh0aGlzLmRpZmYpO1xuICAgICAgdGhpcy5ob3VycyA9IHRoaXMuZ2V0SG91cnModGhpcy5kaWZmKTtcbiAgICAgIHRoaXMubWludXRlcyA9IHRoaXMuZ2V0TWludXRlcyh0aGlzLmRpZmYpO1xuICAgICAgdGhpcy5zZWNvbmRzID0gdGhpcy5nZXRTZWNvbmRzKHRoaXMuZGlmZik7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBnZXREYXlzKHQpIHtcbiAgICBsZXQgZGF5cztcbiAgICBkYXlzID0gTWF0aC5mbG9vcih0IC8gODY0MDApO1xuICAgIHJldHVybiAoJzAnICsgZGF5cykuc2xpY2UoLTIpO1xuICB9XG5cbiAgZ2V0SG91cnModCkge1xuICAgIGxldCBkYXlzLCBob3VycztcbiAgICBkYXlzID0gTWF0aC5mbG9vcih0IC8gODY0MDApO1xuICAgIHQgLT0gZGF5cyAqIDg2NDAwO1xuICAgIGhvdXJzID0gTWF0aC5mbG9vcih0IC8gMzYwMCkgJSAyNDtcbiAgICByZXR1cm4gKCcwJyArIGhvdXJzKS5zbGljZSgtMik7XG4gIH1cblxuICBnZXRNaW51dGVzKHQpIHtcbiAgICBsZXQgZGF5cywgaG91cnMsIG1pbnV0ZXM7XG4gICAgZGF5cyA9IE1hdGguZmxvb3IodCAvIDg2NDAwKTtcbiAgICB0IC09IGRheXMgKiA4NjQwMDtcbiAgICBob3VycyA9IE1hdGguZmxvb3IodCAvIDM2MDApICUgMjQ7XG4gICAgdCAtPSBob3VycyAqIDM2MDA7XG4gICAgbWludXRlcyA9IE1hdGguZmxvb3IodCAvIDYwKSAlIDYwO1xuICAgIHJldHVybiAoJzAnICsgbWludXRlcykuc2xpY2UoLTIpO1xuICB9XG5cbiAgZ2V0U2Vjb25kcyh0KSB7XG4gICAgbGV0IGRheXMsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzO1xuICAgIGRheXMgPSBNYXRoLmZsb29yKHQgLyA4NjQwMCk7XG4gICAgdCAtPSBkYXlzICogODY0MDA7XG4gICAgaG91cnMgPSBNYXRoLmZsb29yKHQgLyAzNjAwKSAlIDI0O1xuICAgIHQgLT0gaG91cnMgKiAzNjAwO1xuICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKHQgLyA2MCkgJSA2MDtcbiAgICB0IC09IG1pbnV0ZXMgKiA2MDtcbiAgICBzZWNvbmRzID0gdCAlIDYwO1xuICAgIHJldHVybiAoJzAnICsgc2Vjb25kcykuc2xpY2UoLTIpO1xuICB9XG5cblxuXG59XG4iXX0=