angular-countdown-date-time
Version:
angular countdown by end time
151 lines • 13.1 kB
JavaScript
/**
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb3VudGRvd24tZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItY291bnRkb3duLWRhdGUtdGltZS8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLWNvdW50ZG93bi1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxpQkFBaUIsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQVE3RSxNQUFNLE9BQU8saUNBQWlDO0lBd0I1QztRQUNFLFFBQVEsQ0FBQztJQUNYLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sUUFBUSxDQUFDO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUMsV0FBVzs7O1FBQUMsR0FBRyxFQUFFOztnQkFDWCxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7O2dCQUNqQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FB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QUVMLEtBQUs7MEJBRUwsS0FBSzs7OztJQVJOLHdEQUNvQjs7SUFDcEIsb0RBQ2dCOztJQUNoQixxREFDaUI7O0lBQ2pCLHdEQUNvQjs7SUFDcEIsd0RBQ29COztJQUdwQixvREFBYzs7SUFDZCxpREFBYTs7SUFDYiw0REFBd0I7O0lBQ3hCLGlEQUFhOztJQUNiLGtEQUFjOztJQUNkLG9EQUFnQjs7SUFDaEIsb0RBQWdCOztJQUNoQix3REFBb0I7O0lBQ3BCLHlEQUFxQjs7SUFDckIsNERBQXdCOztJQUN4Qiw0REFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYW5ndWxhci1jb3VudGRvd24tZGF0ZVRpbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5ndWxhci1jb3VudGRvd24tZGF0ZS10aW1lLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmd1bGFyLWNvdW50ZG93bi1kYXRlLXRpbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ291bnRkb3duRGF0ZVRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBlbmREYXRlQmluZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBkYXlUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGhvdXJUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG1pbnV0ZXNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHNlY29uZHNUZXh0OiBzdHJpbmc7XG5cbiAgLy9lbmREYXRlOiBEYXRlID0gbmV3IERhdGUoJzIwMTktMDQtMjMgMDA6MDA6MDAnKTtcbiAgZW5kRGF0ZTogRGF0ZTtcbiAgZGlmZjogbnVtYmVyO1xuICBjb3VudERvd25SZXN1bHQ6IG51bWJlcjtcbiAgZGF5czogc3RyaW5nO1xuICBob3Vyczogc3RyaW5nO1xuICBtaW51dGVzOiBzdHJpbmc7XG4gIHNlY29uZHM6IHN0cmluZztcbiAgZGF5VGV4dEJpbmQ6IHN0cmluZztcbiAgaG91clRleHRCaW5kOiBzdHJpbmc7XG4gIG1pbnV0ZXNUZXh0QmluZDogc3RyaW5nO1xuICBzZWNvbmRzVGV4dEJpbmQ6IHN0cmluZztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZGVidWdnZXI7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBkZWJ1Z2dlcjtcbiAgICB0aGlzLmVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGVCaW5kKTtcblxuICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGxldCBlbmQgPSB0aGlzLmVuZERhdGUudG9EYXRlU3RyaW5nKCk7XG4gICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpO1xuICAgICAgdGhpcy5kaWZmID0gTWF0aC5mbG9vcigodGhpcy5lbmREYXRlLmdldFRpbWUoKSAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApO1xuICAgICAgdGhpcy5kYXlUZXh0QmluZCA9IHRoaXMuZGF5VGV4dDtcbiAgICAgIHRoaXMuaG91clRleHRCaW5kID0gdGhpcy5ob3VyVGV4dDtcbiAgICAgIHRoaXMubWludXRlc1RleHRCaW5kID0gdGhpcy5taW51dGVzVGV4dDtcbiAgICAgIHRoaXMuc2Vjb25kc1RleHRCaW5kID0gdGhpcy5zZWNvbmRzVGV4dDtcbiAgICAgIHRoaXMuZGF5cyA9IHRoaXMuZ2V0RGF5cyh0aGlzLmRpZmYpO1xuICAgICAgdGhpcy5ob3VycyA9IHRoaXMuZ2V0SG91cnModGhpcy5kaWZmKTtcbiAgICAgIHRoaXMubWludXRlcyA9IHRoaXMuZ2V0TWludXRlcyh0aGlzLmRpZmYpO1xuICAgICAgdGhpcy5zZWNvbmRzID0gdGhpcy5nZXRTZWNvbmRzKHRoaXMuZGlmZik7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBnZXREYXlzKHQpIHtcbiAgICBsZXQgZGF5cztcbiAgICBkYXlzID0gTWF0aC5mbG9vcih0IC8gODY0MDApO1xuICAgIHJldHVybiAoJzAnICsgZGF5cykuc2xpY2UoLTIpO1xuICB9XG5cbiAgZ2V0SG91cnModCkge1xuICAgIGxldCBkYXlzLCBob3VycztcbiAgICBkYXlzID0gTWF0aC5mbG9vcih0IC8gODY0MDApO1xuICAgIHQgLT0gZGF5cyAqIDg2NDAwO1xuICAgIGhvdXJzID0gTWF0aC5mbG9vcih0IC8gMzYwMCkgJSAyNDtcbiAgICByZXR1cm4gKCcwJyArIGhvdXJzKS5zbGljZSgtMik7XG4gIH1cblxuICBnZXRNaW51dGVzKHQpIHtcbiAgICBsZXQgZGF5cywgaG91cnMsIG1pbnV0ZXM7XG4gICAgZGF5cyA9IE1hdGguZmxvb3IodCAvIDg2NDAwKTtcbiAgICB0IC09IGRheXMgKiA4NjQwMDtcbiAgICBob3VycyA9IE1hdGguZmxvb3IodCAvIDM2MDApICUgMjQ7XG4gICAgdCAtPSBob3VycyAqIDM2MDA7XG4gICAgbWludXRlcyA9IE1hdGguZmxvb3IodCAvIDYwKSAlIDYwO1xuICAgIHJldHVybiAoJzAnICsgbWludXRlcykuc2xpY2UoLTIpO1xuICB9XG5cbiAgZ2V0U2Vjb25kcyh0KSB7XG4gICAgbGV0IGRheXMsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzO1xuICAgIGRheXMgPSBNYXRoLmZsb29yKHQgLyA4NjQwMCk7XG4gICAgdCAtPSBkYXlzICogODY0MDA7XG4gICAgaG91cnMgPSBNYXRoLmZsb29yKHQgLyAzNjAwKSAlIDI0O1xuICAgIHQgLT0gaG91cnMgKiAzNjAwO1xuICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKHQgLyA2MCkgJSA2MDtcbiAgICB0IC09IG1pbnV0ZXMgKiA2MDtcbiAgICBzZWNvbmRzID0gdCAlIDYwO1xuICAgIHJldHVybiAoJzAnICsgc2Vjb25kcykuc2xpY2UoLTIpO1xuICB9XG5cblxuXG59XG4iXX0=