@harbor/ui
Version:
Harbor shared UI components based on Clarity and Angular6
86 lines (85 loc) • 6.92 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
/** @type {?} */
const ONE_HOUR_SECONDS = 3600;
/** @type {?} */
const ONE_DAY_SECONDS = 24 * ONE_HOUR_SECONDS;
export class GcUtility {
constructor() {
this._localTime = new Date();
}
/**
* @param {?} v
* @return {?}
*/
getOffTime(v) {
/** @type {?} */
let values = v.split(":");
if (!values || values.length !== 2) {
return;
}
/** @type {?} */
let hours = +values[0];
/** @type {?} */
let minutes = +values[1];
/** @type {?} */
let timezoneOffset = this._localTime.getTimezoneOffset();
/** @type {?} */
let utcTimes = hours * ONE_HOUR_SECONDS + minutes * 60;
utcTimes += timezoneOffset * 60;
if (utcTimes < 0) {
utcTimes += ONE_DAY_SECONDS;
}
if (utcTimes >= ONE_DAY_SECONDS) {
utcTimes -= ONE_DAY_SECONDS;
}
return utcTimes;
}
/**
* @param {?} v
* @return {?}
*/
getDailyTime(v) {
/** @type {?} */
let timeOffset = 0; // seconds
timeOffset = +v;
/** @type {?} */
let timezoneOffset = this._localTime.getTimezoneOffset();
// Local time
timeOffset = timeOffset - timezoneOffset * 60;
if (timeOffset < 0) {
timeOffset = timeOffset + ONE_DAY_SECONDS;
}
if (timeOffset >= ONE_DAY_SECONDS) {
timeOffset -= ONE_DAY_SECONDS;
}
/** @type {?} */
let hours = Math.floor(timeOffset / ONE_HOUR_SECONDS);
/** @type {?} */
let minutes = Math.floor((timeOffset - hours * ONE_HOUR_SECONDS) / 60);
/** @type {?} */
let timeStr = "" + hours;
if (hours < 10) {
timeStr = "0" + timeStr;
}
if (minutes < 10) {
timeStr += ":0";
}
else {
timeStr += ":";
}
timeStr += minutes;
return timeStr;
}
}
GcUtility.decorators = [
{ type: Injectable }
];
if (false) {
/** @type {?} */
GcUtility.prototype._localTime;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2MudXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoYXJib3IvdWkvIiwic291cmNlcyI6WyJzcmMvY29uZmlnL2djL2djLnV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sZ0JBQWdCLEdBQVcsSUFBSSxDQUFDOztBQUN0QyxNQUFNLGVBQWUsR0FBVyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7QUFHdEQsTUFBTTs7MEJBQ3lCLElBQUksSUFBSSxFQUFFOzs7Ozs7SUFDN0IsVUFBVSxDQUFDLENBQVM7O1FBQ3hCLElBQUksTUFBTSxHQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPO1NBQ1I7O1FBQ0QsSUFBSSxLQUFLLEdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7O1FBQy9CLElBQUksT0FBTyxHQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDOztRQUVqQyxJQUFJLGNBQWMsR0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7O1FBQ2pFLElBQUksUUFBUSxHQUFXLEtBQUssR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQy9ELFFBQVEsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNoQixRQUFRLElBQUksZUFBZSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxRQUFRLElBQUksZUFBZSxFQUFFO1lBQy9CLFFBQVEsSUFBSSxlQUFlLENBQUM7U0FDN0I7UUFDRCxPQUFPLFFBQVEsQ0FBQzs7Ozs7O0lBR2IsWUFBWSxDQUFDLENBQVM7O1FBQzdCLElBQUksVUFBVSxHQUFXLENBQUMsQ0FBQztRQUMzQixVQUFVLEdBQUcsQ0FBRSxDQUFDLENBQUM7O1FBRWpCLElBQUksY0FBYyxHQUFXLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzs7UUFFakUsVUFBVSxHQUFHLFVBQVUsR0FBRyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQzlDLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTtZQUNoQixVQUFVLEdBQUcsVUFBVSxHQUFHLGVBQWUsQ0FBQztTQUM3QztRQUVELElBQUksVUFBVSxJQUFJLGVBQWUsRUFBRTtZQUMvQixVQUFVLElBQUksZUFBZSxDQUFDO1NBQ2pDOztRQUdELElBQUksS0FBSyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUM7O1FBQzlELElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7O1FBRS9FLElBQUksT0FBTyxHQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFO1lBQ1osT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUM7U0FDM0I7UUFDRCxJQUFJLE9BQU8sR0FBRyxFQUFFLEVBQUU7WUFDZCxPQUFPLElBQUksSUFBSSxDQUFDO1NBQ25CO2FBQU07WUFDSCxPQUFPLElBQUksR0FBRyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBQztRQUVuQixPQUFPLE9BQU8sQ0FBQzs7OztZQXJEbEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBPTkVfSE9VUl9TRUNPTkRTOiBudW1iZXIgPSAzNjAwO1xuY29uc3QgT05FX0RBWV9TRUNPTkRTOiBudW1iZXIgPSAyNCAqIE9ORV9IT1VSX1NFQ09ORFM7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHY1V0aWxpdHkge1xuICAgIHByaXZhdGUgX2xvY2FsVGltZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHVibGljICBnZXRPZmZUaW1lKHY6IHN0cmluZykge1xuICAgICAgICBsZXQgdmFsdWVzOiBzdHJpbmdbXSA9IHYuc3BsaXQoXCI6XCIpO1xuICAgICAgICBpZiAoIXZhbHVlcyB8fCB2YWx1ZXMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBob3VyczogbnVtYmVyID0gK3ZhbHVlc1swXTtcbiAgICAgICAgbGV0IG1pbnV0ZXM6IG51bWJlciA9ICt2YWx1ZXNbMV07XG4gICAgICAgIC8vIENvbnZlcnQgdG8gVVRDIHRpbWVcbiAgICAgICAgbGV0IHRpbWV6b25lT2Zmc2V0OiBudW1iZXIgPSB0aGlzLl9sb2NhbFRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICAgICAgbGV0IHV0Y1RpbWVzOiBudW1iZXIgPSBob3VycyAqIE9ORV9IT1VSX1NFQ09ORFMgKyBtaW51dGVzICogNjA7XG4gICAgICAgIHV0Y1RpbWVzICs9IHRpbWV6b25lT2Zmc2V0ICogNjA7XG4gICAgICAgIGlmICh1dGNUaW1lcyA8IDApIHtcbiAgICAgICAgICB1dGNUaW1lcyArPSBPTkVfREFZX1NFQ09ORFM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHV0Y1RpbWVzID49IE9ORV9EQVlfU0VDT05EUykge1xuICAgICAgICAgIHV0Y1RpbWVzIC09IE9ORV9EQVlfU0VDT05EUztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXRjVGltZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERhaWx5VGltZSh2OiBudW1iZXIgKSB7XG4gICAgbGV0IHRpbWVPZmZzZXQ6IG51bWJlciA9IDA7IC8vIHNlY29uZHNcbiAgICB0aW1lT2Zmc2V0ID0gKyB2O1xuICAgIC8vIENvbnZlcnQgdG8gY3VycmVudCB0aW1lXG4gICAgbGV0IHRpbWV6b25lT2Zmc2V0OiBudW1iZXIgPSB0aGlzLl9sb2NhbFRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICAvLyBMb2NhbCB0aW1lXG4gICAgdGltZU9mZnNldCA9IHRpbWVPZmZzZXQgLSB0aW1lem9uZU9mZnNldCAqIDYwO1xuICAgIGlmICh0aW1lT2Zmc2V0IDwgMCkge1xuICAgICAgICB0aW1lT2Zmc2V0ID0gdGltZU9mZnNldCArIE9ORV9EQVlfU0VDT05EUztcbiAgICB9XG5cbiAgICBpZiAodGltZU9mZnNldCA+PSBPTkVfREFZX1NFQ09ORFMpIHtcbiAgICAgICAgdGltZU9mZnNldCAtPSBPTkVfREFZX1NFQ09ORFM7XG4gICAgfVxuXG4gICAgLy8gVG8gdGltZSBzdHJpbmdcbiAgICBsZXQgaG91cnM6IG51bWJlciA9IE1hdGguZmxvb3IodGltZU9mZnNldCAvIE9ORV9IT1VSX1NFQ09ORFMpO1xuICAgIGxldCBtaW51dGVzOiBudW1iZXIgPSBNYXRoLmZsb29yKCh0aW1lT2Zmc2V0IC0gaG91cnMgKiBPTkVfSE9VUl9TRUNPTkRTKSAvIDYwKTtcblxuICAgIGxldCB0aW1lU3RyOiBzdHJpbmcgPSBcIlwiICsgaG91cnM7XG4gICAgaWYgKGhvdXJzIDwgMTApIHtcbiAgICAgICAgdGltZVN0ciA9IFwiMFwiICsgdGltZVN0cjtcbiAgICB9XG4gICAgaWYgKG1pbnV0ZXMgPCAxMCkge1xuICAgICAgICB0aW1lU3RyICs9IFwiOjBcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aW1lU3RyICs9IFwiOlwiO1xuICAgIH1cbiAgICB0aW1lU3RyICs9IG1pbnV0ZXM7XG5cbiAgICByZXR1cm4gdGltZVN0cjtcbiAgICB9XG59XG4iXX0=