UNPKG

fundamental-ngx

Version:

SAP Fundamentals, implemented in Angular

154 lines 14 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * Default date model used by the fundamental components. */ import { CalendarService } from '../calendar.service'; export class FdDate { /** * Static function to get the current date in FdDate form. * @return {?} */ static getToday() { /** @type {?} */ const tempDate = new Date(); return new FdDate(tempDate.getFullYear(), tempDate.getMonth() + 1, tempDate.getDate()); } /** * Static function allowing convert js date object to FdDate model * @param {?} date * @return {?} */ static getModelFromDate(date) { if (date) { return new FdDate(date.getFullYear(), date.getMonth() + 1, date.getDate()); } } /** * Constructor to build a FdDate object from a year, month and day. * @param {?} year The year of the date. * @param {?} month The month of the date (1-12). * @param {?} day The day of the date (1-31, generally). */ constructor(year, month, day) { this.year = year; this.month = month; this.day = day; } /** * Get Luxon date object converted to string from FdDate. * @return {?} */ toDateString() { if (this.year && this.month && this.day && this.isDateValid()) { return this.toDate().toDateString(); } else { return ''; } } /** * Get amount of milliseconds from 01.01.1970 * -1 is thrown when some some of properties (day,month,year) are not defined * @return {?} */ getTimeStamp() { if (this.year && this.month && this.day) { return this.toDate().getTime(); } else { return -1; } } /** * Get number of weekday ex. Sunday = 1, Monday = 2, Tuesday = 3 etc. * -1 is thrown when some some of properties (day,month,year) are not defined * Native javascript date getDay() function returns Sunday as 0, Monday as 1, etc, to it's needed to increment value * * @return {?} */ getDay() { if (this.year && this.month && this.day) { return this.toDate().getDay() + 1; } else { return -1; } } /** * Get next day * @return {?} */ nextDay() { /** @type {?} */ const maxDays = CalendarService.getDaysInMonth(this.month, this.year); /** @type {?} */ const day = this.day >= maxDays ? 1 : this.day + 1; /** @type {?} */ const month = day !== 1 ? this.month : (this.month > 11 ? 1 : this.month + 1); /** @type {?} */ const year = month !== 1 ? this.year : this.year + 1; return new FdDate(year, month, day); } /** * Get previous day * @return {?} */ previousDay() { /** @type {?} */ const maxDays = CalendarService.getDaysInMonth(this.month, this.year); /** @type {?} */ const day = this.day === 1 ? maxDays : this.day + 1; /** @type {?} */ const month = day !== maxDays ? this.month : (this.month === 1 ? 12 : this.month - 1); /** @type {?} */ const year = month !== 12 ? this.year : this.year - 1; return new FdDate(year, month, day); } /** * Get native date object from FdDate. * @return {?} */ toDate() { return new Date(this.year, this.month - 1, this.day); } /** * Method that checks validity of current FdDate object. * @return {?} */ isDateValid() { if (!this) { return false; } if (!this.year || !this.month || !this.day) { return false; } if (this.year <= 0 || this.month < 1 || this.month > 12) { return false; } if (this.day < 1 || this.day > CalendarService.getDaysInMonth(this.month, this.year)) { return false; } return true; } } if (false) { /** * The year of the date. * @type {?} */ FdDate.prototype.year; /** * The month of the date. 1 = January, 12 = December. * @type {?} */ FdDate.prototype.month; /** * Day of the date. Starts at 1. * @type {?} */ FdDate.prototype.day; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Z1bmRhbWVudGFsLW5neC8iLCJzb3VyY2VzIjpbImxpYi9jYWxlbmRhci9tb2RlbHMvZmQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBTyxNQUFNOzs7OztJQW9CZixNQUFNLENBQUMsUUFBUTs7Y0FDTCxRQUFRLEdBQVMsSUFBSSxJQUFJLEVBQUU7UUFDakMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDOzs7Ozs7SUFLRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBVTtRQUM5QixJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDOUU7SUFDTCxDQUFDOzs7Ozs7O0lBUUQsWUFBWSxJQUFZLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDaEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQzs7Ozs7SUFLTSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7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QUFDO1NBQ2hCO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNyRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xGLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUVKOzs7Ozs7SUE5SEcsc0JBQW9COzs7OztJQUtwQix1QkFBcUI7Ozs7O0lBS3JCLHFCQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVmYXVsdCBkYXRlIG1vZGVsIHVzZWQgYnkgdGhlIGZ1bmRhbWVudGFsIGNvbXBvbmVudHMuXG4gKi9cbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgRmREYXRlIHtcblxuICAgIC8qKlxuICAgICAqIFRoZSB5ZWFyIG9mIHRoZSBkYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyB5ZWFyOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbW9udGggb2YgdGhlIGRhdGUuIDEgPSBKYW51YXJ5LCAxMiA9IERlY2VtYmVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBtb250aDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogRGF5IG9mIHRoZSBkYXRlLiBTdGFydHMgYXQgMS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBTdGF0aWMgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjdXJyZW50IGRhdGUgaW4gRmREYXRlIGZvcm0uXG4gICAgICovXG4gICAgc3RhdGljIGdldFRvZGF5KCk6IEZkRGF0ZSB7XG4gICAgICAgIGNvbnN0IHRlbXBEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGZERhdGUodGVtcERhdGUuZ2V0RnVsbFllYXIoKSwgdGVtcERhdGUuZ2V0TW9udGgoKSArIDEsIHRlbXBEYXRlLmdldERhdGUoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFN0YXRpYyBmdW5jdGlvbiBhbGxvd2luZyBjb252ZXJ0IGpzIGRhdGUgb2JqZWN0IHRvIEZkRGF0ZSBtb2RlbFxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNb2RlbEZyb21EYXRlKGRhdGU6IERhdGUpOiBGZERhdGUge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGZERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCBkYXRlLmdldERhdGUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvciB0byBidWlsZCBhIEZkRGF0ZSBvYmplY3QgZnJvbSBhIHllYXIsIG1vbnRoIGFuZCBkYXkuXG4gICAgICogQHBhcmFtIHllYXIgVGhlIHllYXIgb2YgdGhlIGRhdGUuXG4gICAgICogQHBhcmFtIG1vbnRoIFRoZSBtb250aCBvZiB0aGUgZGF0ZSAoMS0xMikuXG4gICAgICogQHBhcmFtIGRheSBUaGUgZGF5IG9mIHRoZSBkYXRlICgxLTMxLCBnZW5lcmFsbHkpLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy55ZWFyID0geWVhcjtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgICAgICB0aGlzLmRheSA9IGRheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgTHV4b24gZGF0ZSBvYmplY3QgY29udmVydGVkIHRvIHN0cmluZyBmcm9tIEZkRGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9EYXRlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnllYXIgJiYgdGhpcy5tb250aCAmJiB0aGlzLmRheSAmJiB0aGlzLmlzRGF0ZVZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSgpLnRvRGF0ZVN0cmluZygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGFtb3VudCBvZiBtaWxsaXNlY29uZHMgZnJvbSAwMS4wMS4xOTcwXG4gICAgICogLTEgaXMgdGhyb3duIHdoZW4gc29tZSBzb21lIG9mIHByb3BlcnRpZXMgKGRheSxtb250aCx5ZWFyKSBhcmUgbm90IGRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VGltZVN0YW1wKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLnllYXIgJiYgdGhpcy5tb250aCAmJiB0aGlzLmRheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9EYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IG51bWJlciBvZiB3ZWVrZGF5IGV4LiBTdW5kYXkgPSAxLCBNb25kYXkgPSAyLCBUdWVzZGF5ID0gMyBldGMuXG4gICAgICogLTEgaXMgdGhyb3duIHdoZW4gc29tZSBzb21lIG9mIHByb3BlcnRpZXMgKGRheSxtb250aCx5ZWFyKSBhcmUgbm90IGRlZmluZWRcbiAgICAgKiBOYXRpdmUgamF2YXNjcmlwdCBkYXRlIGdldERheSgpIGZ1bmN0aW9uIHJldHVybnMgU3VuZGF5IGFzIDAsIE1vbmRheSBhcyAxLCBldGMsIHRvIGl0J3MgbmVlZGVkIHRvIGluY3JlbWVudCB2YWx1ZVxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGdldERheSgpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy55ZWFyICYmIHRoaXMubW9udGggJiYgdGhpcy5kYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSgpLmdldERheSgpICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgbmV4dCBkYXkgKi9cbiAgICBwdWJsaWMgbmV4dERheSgpOiBGZERhdGUge1xuICAgICAgICBjb25zdCBtYXhEYXlzID0gQ2FsZW5kYXJTZXJ2aWNlLmdldERheXNJbk1vbnRoKHRoaXMubW9udGgsIHRoaXMueWVhcik7XG4gICAgICAgIGNvbnN0IGRheSA9IHRoaXMuZGF5ID49IG1heERheXMgPyAxIDogdGhpcy5kYXkgKyAxO1xuICAgICAgICBjb25zdCBtb250aCA9IGRheSAhPT0gMSA/IHRoaXMubW9udGggOiAodGhpcy5tb250aCA+IDExID8gMSA6IHRoaXMubW9udGggKyAxKTtcbiAgICAgICAgY29uc3QgeWVhciA9IG1vbnRoICE9PSAxID8gdGhpcy55ZWFyIDogdGhpcy55ZWFyICsgMTtcbiAgICAgICAgcmV0dXJuIG5ldyBGZERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBwcmV2aW91cyBkYXkgICovXG4gICAgcHVibGljIHByZXZpb3VzRGF5KCk6IEZkRGF0ZSB7XG4gICAgICAgIGNvbnN0IG1heERheXMgPSBDYWxlbmRhclNlcnZpY2UuZ2V0RGF5c0luTW9udGgodGhpcy5tb250aCwgdGhpcy55ZWFyKTtcbiAgICAgICAgY29uc3QgZGF5ID0gdGhpcy5kYXkgPT09IDEgPyBtYXhEYXlzIDogdGhpcy5kYXkgKyAxO1xuICAgICAgICBjb25zdCBtb250aCA9IGRheSAhPT0gbWF4RGF5cyA/IHRoaXMubW9udGggOiAodGhpcy5tb250aCA9PT0gMSA/IDEyIDogdGhpcy5tb250aCAtIDEpO1xuICAgICAgICBjb25zdCB5ZWFyID0gbW9udGggIT09IDEyID8gdGhpcy55ZWFyIDogdGhpcy55ZWFyIC0gMTtcbiAgICAgICAgcmV0dXJuIG5ldyBGZERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IG5hdGl2ZSBkYXRlIG9iamVjdCBmcm9tIEZkRGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9EYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoIC0gMSwgdGhpcy5kYXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0aGF0IGNoZWNrcyB2YWxpZGl0eSBvZiBjdXJyZW50IEZkRGF0ZSBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGlzRGF0ZVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy55ZWFyIHx8ICF0aGlzLm1vbnRoIHx8ICF0aGlzLmRheSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMueWVhciA8PSAwIHx8IHRoaXMubW9udGggPCAxIHx8IHRoaXMubW9udGggPiAxMikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGF5IDwgMSB8fCB0aGlzLmRheSA+IENhbGVuZGFyU2VydmljZS5nZXREYXlzSW5Nb250aCh0aGlzLm1vbnRoLCB0aGlzLnllYXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==