@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
24 lines • 3.09 kB
JavaScript
import { WeekDay } from '@angular/common';
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
export class WeekDaySortPipe {
transform(value, startOfWeek) {
// ensure start of week is in range
startOfWeek = Math.max(WeekDay.Sunday, Math.min(WeekDay.Saturday, startOfWeek));
// create a new array to avoid altering the original
const weekdays = [...value];
for (let idx = 0; idx < startOfWeek; idx++) {
weekdays.push(weekdays.shift());
}
return weekdays;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WeekDaySortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: WeekDaySortPipe, name: "weekDaySort" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WeekDaySortPipe, decorators: [{
type: Pipe,
args: [{
name: 'weekDaySort'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2RheS1zb3J0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3BpcGVzL3dlZWtkYXktc29ydC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLGVBQWU7SUFFeEIsU0FBUyxDQUFDLEtBQWUsRUFBRSxXQUFvQjtRQUUzQyxtQ0FBbUM7UUFDbkMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVoRixvREFBb0Q7UUFDcEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBRTVCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOytHQWZRLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsYUFBYTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZWVrRGF5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICd3ZWVrRGF5U29ydCdcbn0pXG5leHBvcnQgY2xhc3MgV2Vla0RheVNvcnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZ1tdLCBzdGFydE9mV2VlazogV2Vla0RheSk6IHN0cmluZ1tdIHtcblxuICAgICAgICAvLyBlbnN1cmUgc3RhcnQgb2Ygd2VlayBpcyBpbiByYW5nZVxuICAgICAgICBzdGFydE9mV2VlayA9IE1hdGgubWF4KFdlZWtEYXkuU3VuZGF5LCBNYXRoLm1pbihXZWVrRGF5LlNhdHVyZGF5LCBzdGFydE9mV2VlaykpO1xuXG4gICAgICAgIC8vIGNyZWF0ZSBhIG5ldyBhcnJheSB0byBhdm9pZCBhbHRlcmluZyB0aGUgb3JpZ2luYWxcbiAgICAgICAgY29uc3Qgd2Vla2RheXMgPSBbLi4udmFsdWVdO1xuXG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHN0YXJ0T2ZXZWVrOyBpZHgrKykge1xuICAgICAgICAgICAgd2Vla2RheXMucHVzaCh3ZWVrZGF5cy5zaGlmdCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB3ZWVrZGF5cztcbiAgICB9XG59Il19