dashboard.component.ts 2.18 KB
import { Component, AfterViewInit, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { ApplicationService } from '../services/application.service';

declare var jQuery: any;

@Component({
    templateUrl: './app/components/dashboard.component.html'
})
export class DashboardComponent implements AfterViewInit, OnInit {


    constructor(private application: ApplicationService, private router: Router) {

    }

    ngAfterViewInit(): void {
        this.initializeUIElements();
    }

    initializeUIElements(): void {



    }

    ngOnInit(): void {
        if (this.application.currentUser == null) {
            this.router.navigate(['/login']);
        }
    }

    showAlert(id: string): void {
        jQuery('#' + id).modal('show');
    }

    getRelativeDate(date: any): string {
        if (date != null) {
            date = new Date(date);

            var delta = Math.round((+new Date - date) / 1000);

            var minute = 60,
                hour = minute * 60,
                day = hour * 24,
                week = day * 7;

            let fuzzy: any;

            if (delta < 30) {
                fuzzy = 'just now.';
            } else if (delta < minute) {
                fuzzy = delta + ' seconds ago.';
            } else if (delta < 2 * minute) {
                fuzzy = 'a minute ago.'
            } else if (delta < hour) {
                fuzzy = Math.floor(delta / minute) + ' minutes ago.';
            } else if (Math.floor(delta / hour) == 1) {
                fuzzy = '1 hour ago.'
            } else if (delta < day) {
                fuzzy = Math.floor(delta / hour) + ' hours ago.';
            } else if (delta < day * 2 && delta > day) {
                fuzzy = 'yesterday';
            } else if (delta > day * 2 && delta < week) {
                fuzzy = Math.floor(delta / (60 * 60 * 24)) + ' days ago';
            } else if (delta > week && delta < week * 6) {
                fuzzy = Math.floor(delta / (60 * 60 * 24 * 7)) + ' weeks ago';
            }
            else {
                fuzzy = Math.floor(delta / (60 * 60 * 24 * 31)) + ' months ago';
            }

            return fuzzy;
        } else {
            return "";
        }
    }
}