UNPKG

design-angular-kit

Version:

Un toolkit Angular conforme alle linee guida di design per i servizi web della PA

56 lines 6.26 kB
import { Pipe } from '@angular/core'; import { TranslatePipe } from '@ngx-translate/core'; import * as i0 from "@angular/core"; /** * Indicates in a textual way how much time has passed since the indicated date * @example 2 hours ago */ export class ItDateAgoPipe extends TranslatePipe { /** * Indicates in a textual way how much time has passed since the indicated date * @example 2 hours ago * @param value the Date or date string */ transform(value) { if (!value) { return ''; } const seconds = Math.floor((+new Date() - +new Date(value)) / 1000); if (isNaN(seconds)) { return ''; } // less than 30 seconds ago will show as 'Just now' if (seconds < 29) { return super.transform('it.date-ago-pipe.just-now'); } const intervals = new Map([ ['year', 31536000], ['month', 2592000], ['week', 604800], ['day', 86400], ['hour', 3600], ['minute', 60], ['second', 1], ]); for (const interval of intervals) { const counter = Math.floor(seconds / interval[1]); if (counter > 0) { return super.transform(`it.date-ago-pipe.${counter === 1 ? 'singular-' : ''}${interval[0]}-ago`, { count: counter, }); } } return ''; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItDateAgoPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItDateAgoPipe, isStandalone: true, name: "itDateAgo", pure: false }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItDateAgoPipe, decorators: [{ type: Pipe, args: [{ name: 'itDateAgo', pure: false, standalone: true, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3BpcGVzL2RhdGUtYWdvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUlwRDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFDOUM7Ozs7T0FJRztJQUNNLFNBQVMsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELG1EQUFtRDtRQUNuRCxJQUFJLE9BQU8sR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQThCO1lBQ3JELENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUNsQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7WUFDbEIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2hCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNkLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztZQUNkLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNkLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNkLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQy9GLEtBQUssRUFBRSxPQUFPO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzhHQXpDVSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBTHpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxudHlwZSBEYXRlQWdvUGlwZUludGVydmFsID0gJ3llYXInIHwgJ21vbnRoJyB8ICd3ZWVrJyB8ICdkYXknIHwgJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJztcblxuLyoqXG4gKiBJbmRpY2F0ZXMgaW4gYSB0ZXh0dWFsIHdheSBob3cgbXVjaCB0aW1lIGhhcyBwYXNzZWQgc2luY2UgdGhlIGluZGljYXRlZCBkYXRlXG4gKiBAZXhhbXBsZSAyIGhvdXJzIGFnb1xuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdpdERhdGVBZ28nLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSXREYXRlQWdvUGlwZSBleHRlbmRzIFRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpbiBhIHRleHR1YWwgd2F5IGhvdyBtdWNoIHRpbWUgaGFzIHBhc3NlZCBzaW5jZSB0aGUgaW5kaWNhdGVkIGRhdGVcbiAgICogQGV4YW1wbGUgMiBob3VycyBhZ29cbiAgICogQHBhcmFtIHZhbHVlIHRoZSBEYXRlIG9yIGRhdGUgc3RyaW5nXG4gICAqL1xuICBvdmVycmlkZSB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IERhdGUpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcigoK25ldyBEYXRlKCkgLSArbmV3IERhdGUodmFsdWUpKSAvIDEwMDApO1xuICAgIGlmIChpc05hTihzZWNvbmRzKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIGxlc3MgdGhhbiAzMCBzZWNvbmRzIGFnbyB3aWxsIHNob3cgYXMgJ0p1c3Qgbm93J1xuICAgIGlmIChzZWNvbmRzIDwgMjkpIHtcbiAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oJ2l0LmRhdGUtYWdvLXBpcGUuanVzdC1ub3cnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRlcnZhbHMgPSBuZXcgTWFwPERhdGVBZ29QaXBlSW50ZXJ2YWwsIG51bWJlcj4oW1xuICAgICAgWyd5ZWFyJywgMzE1MzYwMDBdLFxuICAgICAgWydtb250aCcsIDI1OTIwMDBdLFxuICAgICAgWyd3ZWVrJywgNjA0ODAwXSxcbiAgICAgIFsnZGF5JywgODY0MDBdLFxuICAgICAgWydob3VyJywgMzYwMF0sXG4gICAgICBbJ21pbnV0ZScsIDYwXSxcbiAgICAgIFsnc2Vjb25kJywgMV0sXG4gICAgXSk7XG5cbiAgICBmb3IgKGNvbnN0IGludGVydmFsIG9mIGludGVydmFscykge1xuICAgICAgY29uc3QgY291bnRlciA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIGludGVydmFsWzFdKTtcbiAgICAgIGlmIChjb3VudGVyID4gMCkge1xuICAgICAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKGBpdC5kYXRlLWFnby1waXBlLiR7Y291bnRlciA9PT0gMSA/ICdzaW5ndWxhci0nIDogJyd9JHtpbnRlcnZhbFswXX0tYWdvYCwge1xuICAgICAgICAgIGNvdW50OiBjb3VudGVyLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==