ng-materialgrammi
Version:
An Angular framework which follows
92 lines • 13.7 kB
JavaScript
import { Component, Input, Output, EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class CountdownComponent {
constructor() {
this.till = "25 December 2050";
this.expiredText = "expired";
this.parseProperties = {
day: "day",
days: "days",
hour: "hour",
hours: "hours",
minute: "minute",
minutes: "minutes",
second: "second",
seconds: "seconds"
};
this.class = "";
this.timeover = new EventEmitter(false);
this.endDate = new Date();
this.display = "";
}
ngAfterContentInit() {
this.endDate = new Date(this.till);
this.count();
}
count() {
var _this = this;
var x = setInterval(function () {
var dateNow = new Date();
var now = new Date().getTime();
var distance = _this.endDate.getTime() - now;
var days = _this.getDays();
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
_this.display = "<span class='countdown-days'>" + days + " " + _this.updateDisplay(days, "d") + "</span><span class='countdown-hours'> " + hours + " " + _this.updateDisplay(hours, "h") + " </span><span class='countdown-minutes'>"
+ minutes + " " + _this.updateDisplay(minutes, "m") + "</span><span class='countdown-seconds'> " + seconds + " " + _this.updateDisplay(seconds, "s") + "</span>";
if (distance < 0) {
clearInterval(x);
_this.display = _this.expiredText;
}
}, 1000);
}
getDays() {
// One day Time in ms (milliseconds)
var one_day = 1000 * 60 * 60 * 24;
// To set present_dates to two variables
var present_date = new Date();
// 0-11 is Month in JavaScript
var christmas_day = this.endDate;
// To Calculate next year's Christmas if passed already.
if (present_date.getMonth() == 11 && present_date.getDate() > 25)
christmas_day.setFullYear(christmas_day.getFullYear() + 1);
// To Calculate the result in milliseconds and then converting into days
var Result = Math.round(christmas_day.getTime() - present_date.getTime()) / (one_day);
// To remove the decimals from the (Result) resulting days value
return parseInt((Result).toFixed(0));
}
updateDisplay(amount, unit = "d") {
if (unit == "d") {
return amount > 1 ? this.parseProperties.days : this.parseProperties.day;
}
if (unit == "h") {
return amount > 1 ? this.parseProperties.hours : this.parseProperties.hour;
}
if (unit == "m") {
return amount > 1 ? this.parseProperties.minutes : this.parseProperties.minute;
}
if (unit == "s") {
return amount > 1 ? this.parseProperties.seconds : this.parseProperties.second;
}
return "";
}
}
CountdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CountdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
CountdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CountdownComponent, selector: "mg-countdown", inputs: { till: "till", expiredText: "expiredText", parseProperties: "parseProperties", class: "class" }, outputs: { timeover: "timeover" }, ngImport: i0, template: "<ng-container><span [innerHtml]=\"display\" [ngClass]=\"class\"></span></ng-container>\n", styles: [""], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CountdownComponent, decorators: [{
type: Component,
args: [{ selector: 'mg-countdown', template: "<ng-container><span [innerHtml]=\"display\" [ngClass]=\"class\"></span></ng-container>\n", styles: [""] }]
}], ctorParameters: function () { return []; }, propDecorators: { till: [{
type: Input
}], expiredText: [{
type: Input
}], parseProperties: [{
type: Input
}], class: [{
type: Input
}], timeover: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsZ3JhbW1pL3NyYy9saWIvY29tcG9uZW50cy9jb3VudGRvd24vY291bnRkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsZ3JhbW1pL3NyYy9saWIvY29tcG9uZW50cy9jb3VudGRvd24vY291bnRkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9CLE1BQU0sZUFBZSxDQUFDOzs7QUFPakcsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0I7UUFyQlMsU0FBSSxHQUFHLGtCQUFrQixDQUFDO1FBQzFCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUc7WUFDekIsR0FBRyxFQUFFLEtBQUs7WUFDVixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUUsUUFBUTtZQUNoQixPQUFPLEVBQUUsU0FBUztZQUNsQixNQUFNLEVBQUUsUUFBUTtZQUNoQixPQUFPLEVBQUUsU0FBUztTQUNuQixDQUFDO1FBQ08sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVWLGFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxZQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVyQixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBR0csQ0FBQztJQUVqQixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FB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QUksSUFBSSxHQUFHLEVBQUU7WUFDZixPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztTQUMxRTtRQUNELElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtZQUNmLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1NBQzVFO1FBQ0QsSUFBSSxJQUFJLElBQUksR0FBRyxFQUFFO1lBQ2YsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7U0FDaEY7UUFDRCxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUU7WUFDZixPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztTQUNoRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7K0dBcEZVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlNQ1AvQiwwRkFDQTsyRkRNYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsY0FBYzswRUFLZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQVVHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJDb250ZW50SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZy1jb3VudGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY291bnRkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291bnRkb3duLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb3VudGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgdGlsbCA9IFwiMjUgRGVjZW1iZXIgMjA1MFwiO1xuICBASW5wdXQoKSBleHBpcmVkVGV4dCA9IFwiZXhwaXJlZFwiO1xuICBASW5wdXQoKSBwYXJzZVByb3BlcnRpZXMgPSB7XG4gICAgZGF5OiBcImRheVwiLFxuICAgIGRheXM6IFwiZGF5c1wiLFxuICAgIGhvdXI6IFwiaG91clwiLFxuICAgIGhvdXJzOiBcImhvdXJzXCIsXG4gICAgbWludXRlOiBcIm1pbnV0ZVwiLFxuICAgIG1pbnV0ZXM6IFwibWludXRlc1wiLFxuICAgIHNlY29uZDogXCJzZWNvbmRcIixcbiAgICBzZWNvbmRzOiBcInNlY29uZHNcIlxuICB9O1xuICBASW5wdXQoKSBjbGFzcyA9IFwiXCI7XG5cbiAgQE91dHB1dCgpIHRpbWVvdmVyID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG5cbiAgZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGlzcGxheSA9IFwiXCI7XG5cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLnRpbGwpOyAgXG4gICAgdGhpcy5jb3VudCgpO1xuICB9XG5cbiAgY291bnQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcbiAgICB2YXIgeCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRlTm93ID0gbmV3IERhdGUoKTtcbiAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIHZhciBkaXN0YW5jZSA9IF90aGlzLmVuZERhdGUuZ2V0VGltZSgpIC0gbm93O1xuXG4gICAgICB2YXIgZGF5cyA9IF90aGlzLmdldERheXMoKTtcbiAgICAgIHZhciBob3VycyA9IE1hdGguZmxvb3IoKGRpc3RhbmNlICUgKDEwMDAgKiA2MCAqIDYwICogMjQpKSAvICgxMDAwICogNjAgKiA2MCkpO1xuICAgICAgdmFyIG1pbnV0ZXMgPSBNYXRoLmZsb29yKChkaXN0YW5jZSAlICgxMDAwICogNjAgKiA2MCkpIC8gKDEwMDAgKiA2MCkpO1xuICAgICAgdmFyIHNlY29uZHMgPSBNYXRoLmZsb29yKChkaXN0YW5jZSAlICgxMDAwICogNjApKSAvIDEwMDApO1xuICAgICAgX3RoaXMuZGlzcGxheSA9IFwiPHNwYW4gY2xhc3M9J2NvdW50ZG93bi1kYXlzJz5cIiArIGRheXMgKyBcIiBcIiArIF90aGlzLnVwZGF0ZURpc3BsYXkoZGF5cywgXCJkXCIpICsgXCI8L3NwYW4+PHNwYW4gY2xhc3M9J2NvdW50ZG93bi1ob3Vycyc+IFwiICsgaG91cnMgKyBcIiBcIiArIF90aGlzLnVwZGF0ZURpc3BsYXkoaG91cnMsIFwiaFwiKSArIFwiIDwvc3Bhbj48c3BhbiBjbGFzcz0nY291bnRkb3duLW1pbnV0ZXMnPlwiXG4gICAgICAgICsgbWludXRlcyArIFwiIFwiICsgX3RoaXMudXBkYXRlRGlzcGxheShtaW51dGVzLCBcIm1cIikgKyBcIjwvc3Bhbj48c3BhbiBjbGFzcz0nY291bnRkb3duLXNlY29uZHMnPiBcIiArIHNlY29uZHMgKyBcIiBcIiArIF90aGlzLnVwZGF0ZURpc3BsYXkoc2Vjb25kcywgXCJzXCIpICsgXCI8L3NwYW4+XCI7XG4gICAgICBpZiAoZGlzdGFuY2UgPCAwKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwoeCk7XG4gICAgICAgIF90aGlzLmRpc3BsYXkgPSBfdGhpcy5leHBpcmVkVGV4dDtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGdldERheXMoKSB7XG4gICAgLy8gT25lIGRheSBUaW1lIGluIG1zIChtaWxsaXNlY29uZHMpXG4gICAgdmFyIG9uZV9kYXkgPSAxMDAwICogNjAgKiA2MCAqIDI0XG5cbiAgICAvLyBUbyBzZXQgcHJlc2VudF9kYXRlcyB0byB0d28gdmFyaWFibGVzXG4gICAgdmFyIHByZXNlbnRfZGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAvLyAwLTExIGlzIE1vbnRoIGluIEphdmFTY3JpcHRcbiAgICB2YXIgY2hyaXN0bWFzX2RheSA9IHRoaXMuZW5kRGF0ZTtcblxuICAgIC8vIFRvIENhbGN1bGF0ZSBuZXh0IHllYXIncyBDaHJpc3RtYXMgaWYgcGFzc2VkIGFscmVhZHkuXG4gICAgaWYgKHByZXNlbnRfZGF0ZS5nZXRNb250aCgpID09IDExICYmIHByZXNlbnRfZGF0ZS5nZXREYXRlKCkgPiAyNSlcbiAgICAgIGNocmlzdG1hc19kYXkuc2V0RnVsbFllYXIoY2hyaXN0bWFzX2RheS5nZXRGdWxsWWVhcigpICsgMSlcblxuICAgIC8vIFRvIENhbGN1bGF0ZSB0aGUgcmVzdWx0IGluIG1pbGxpc2Vjb25kcyBhbmQgdGhlbiBjb252ZXJ0aW5nIGludG8gZGF5c1xuICAgIHZhciBSZXN1bHQgPSBNYXRoLnJvdW5kKGNocmlzdG1hc19kYXkuZ2V0VGltZSgpIC0gcHJlc2VudF9kYXRlLmdldFRpbWUoKSkgLyAob25lX2RheSk7XG5cbiAgICAvLyBUbyByZW1vdmUgdGhlIGRlY2ltYWxzIGZyb20gdGhlIChSZXN1bHQpIHJlc3VsdGluZyBkYXlzIHZhbHVlXG4gICAgcmV0dXJuIHBhcnNlSW50KChSZXN1bHQpLnRvRml4ZWQoMCkpO1xuICB9XG5cbiAgdXBkYXRlRGlzcGxheShhbW91bnQ6IG51bWJlciwgdW5pdDogc3RyaW5nID0gXCJkXCIpIHtcbiAgICBpZiAodW5pdCA9PSBcImRcIikge1xuICAgICAgcmV0dXJuIGFtb3VudCA+IDEgPyB0aGlzLnBhcnNlUHJvcGVydGllcy5kYXlzIDogdGhpcy5wYXJzZVByb3BlcnRpZXMuZGF5O1xuICAgIH1cbiAgICBpZiAodW5pdCA9PSBcImhcIikge1xuICAgICAgcmV0dXJuIGFtb3VudCA+IDEgPyB0aGlzLnBhcnNlUHJvcGVydGllcy5ob3VycyA6IHRoaXMucGFyc2VQcm9wZXJ0aWVzLmhvdXI7XG4gICAgfVxuICAgIGlmICh1bml0ID09IFwibVwiKSB7XG4gICAgICByZXR1cm4gYW1vdW50ID4gMSA/IHRoaXMucGFyc2VQcm9wZXJ0aWVzLm1pbnV0ZXMgOiB0aGlzLnBhcnNlUHJvcGVydGllcy5taW51dGU7XG4gICAgfVxuICAgIGlmICh1bml0ID09IFwic1wiKSB7XG4gICAgICByZXR1cm4gYW1vdW50ID4gMSA/IHRoaXMucGFyc2VQcm9wZXJ0aWVzLnNlY29uZHMgOiB0aGlzLnBhcnNlUHJvcGVydGllcy5zZWNvbmQ7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cblxufVxuIiwiPG5nLWNvbnRhaW5lcj48c3BhbiBbaW5uZXJIdG1sXT1cImRpc3BsYXlcIiBbbmdDbGFzc109XCJjbGFzc1wiPjwvc3Bhbj48L25nLWNvbnRhaW5lcj5cbiJdfQ==