1 | /*
|
2 | Copyright 2013-2020 the original author or authors from the JHipster project.
|
3 |
|
4 | This file is part of the JHipster project, see https://www.jhipster.tech/
|
5 | for more information.
|
6 |
|
7 | Licensed under the Apache License, Version 2.0 (the "License");
|
8 | you may not use this file except in compliance with the License.
|
9 | You may obtain a copy of the License at
|
10 |
|
11 | http://www.apache.org/licenses/LICENSE-2.0
|
12 |
|
13 | Unless required by applicable law or agreed to in writing, software
|
14 | distributed under the License is distributed on an "AS IS" BASIS,
|
15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16 | See the License for the specific language governing permissions and
|
17 | limitations under the License.
|
18 | */
|
19 | import { DatePipe } from '@angular/common';
|
20 | import { Injectable } from '@angular/core';
|
21 | import * as i0 from "@angular/core";
|
22 | /**
|
23 | * An utility service for date.
|
24 | */
|
25 | export class JhiDateUtils {
|
26 | constructor() {
|
27 | this.pattern = 'yyyy-MM-dd';
|
28 | this.datePipe = new DatePipe('en');
|
29 | }
|
30 | /**
|
31 | * Method to convert the date time from server into JS date object
|
32 | */
|
33 | convertDateTimeFromServer(date) {
|
34 | if (date) {
|
35 | return new Date(date);
|
36 | }
|
37 | else {
|
38 | return null;
|
39 | }
|
40 | }
|
41 | /**
|
42 | * Method to convert the date from server into JS date object
|
43 | */
|
44 | convertLocalDateFromServer(date) {
|
45 | if (date) {
|
46 | const dateString = date.split('-');
|
47 | return new Date(dateString[0], dateString[1] - 1, dateString[2]);
|
48 | }
|
49 | return null;
|
50 | }
|
51 | /**
|
52 | * Method to convert the JS date object into specified date pattern
|
53 | */
|
54 | convertLocalDateToServer(date, pattern = this.pattern) {
|
55 | if (date) {
|
56 | const newDate = new Date(date.year, date.month - 1, date.day);
|
57 | return this.datePipe.transform(newDate, pattern);
|
58 | }
|
59 | else {
|
60 | return null;
|
61 | }
|
62 | }
|
63 | /**
|
64 | * Method to get the default date pattern
|
65 | */
|
66 | dateformat() {
|
67 | return this.pattern;
|
68 | }
|
69 | // TODO Change this method when moving from datetime-local input to NgbDatePicker
|
70 | toDate(date) {
|
71 | if (date === undefined || date === null) {
|
72 | return null;
|
73 | }
|
74 | const dateParts = date.split(/\D+/);
|
75 | if (dateParts.length === 7) {
|
76 | return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4], dateParts[5], dateParts[6]);
|
77 | }
|
78 | if (dateParts.length === 6) {
|
79 | return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4], dateParts[5]);
|
80 | }
|
81 | return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4]);
|
82 | }
|
83 | }
|
84 | JhiDateUtils.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiDateUtils_Factory() { return new JhiDateUtils(); }, token: JhiDateUtils, providedIn: "root" });
|
85 | JhiDateUtils.decorators = [
|
86 | { type: Injectable, args: [{
|
87 | providedIn: 'root'
|
88 | },] }
|
89 | ];
|
90 | JhiDateUtils.ctorParameters = () => [];
|
91 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZS9kYXRlLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUlyQjtRQUhRLFlBQU8sR0FBRyxZQUFZLENBQUM7UUFJM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCx5QkFBeUIsQ0FBQyxJQUFTO1FBQy9CLElBQUksSUFBSSxFQUFFO1lBQ04sT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILDBCQUEwQixDQUFDLElBQVM7UUFDaEMsSUFBSSxJQUFJLEVBQUU7WUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCx3QkFBd0IsQ0FBQyxJQUFTLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPO1FBQ3RELElBQUksSUFBSSxFQUFFO1lBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDcEQ7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpRkFBaUY7SUFDakYsTUFBTSxDQUFDLElBQVM7UUFDWixJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pIO1FBQ0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNHO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7Ozs7WUFqRUosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBDb3B5cmlnaHQgMjAxMy0yMDIwIHRoZSBvcmlnaW5hbCBhdXRob3Igb3IgYXV0aG9ycyBmcm9tIHRoZSBKSGlwc3RlciBwcm9qZWN0LlxuXG4gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEpIaXBzdGVyIHByb2plY3QsIHNlZSBodHRwczovL3d3dy5qaGlwc3Rlci50ZWNoL1xuIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW4gdXRpbGl0eSBzZXJ2aWNlIGZvciBkYXRlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEpoaURhdGVVdGlscyB7XG4gICAgcHJpdmF0ZSBwYXR0ZXJuID0gJ3l5eXktTU0tZGQnO1xuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRvIGNvbnZlcnQgdGhlIGRhdGUgdGltZSBmcm9tIHNlcnZlciBpbnRvIEpTIGRhdGUgb2JqZWN0XG4gICAgICovXG4gICAgY29udmVydERhdGVUaW1lRnJvbVNlcnZlcihkYXRlOiBhbnkpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRvIGNvbnZlcnQgdGhlIGRhdGUgZnJvbSBzZXJ2ZXIgaW50byBKUyBkYXRlIG9iamVjdFxuICAgICAqL1xuICAgIGNvbnZlcnRMb2NhbERhdGVGcm9tU2VydmVyKGRhdGU6IGFueSkge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyaW5nWzBdLCBkYXRlU3RyaW5nWzFdIC0gMSwgZGF0ZVN0cmluZ1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRvIGNvbnZlcnQgdGhlIEpTIGRhdGUgb2JqZWN0IGludG8gc3BlY2lmaWVkIGRhdGUgcGF0dGVyblxuICAgICAqL1xuICAgIGNvbnZlcnRMb2NhbERhdGVUb1NlcnZlcihkYXRlOiBhbnksIHBhdHRlcm4gPSB0aGlzLnBhdHRlcm4pIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLnllYXIsIGRhdGUubW9udGggLSAxLCBkYXRlLmRheSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obmV3RGF0ZSwgcGF0dGVybik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0byBnZXQgdGhlIGRlZmF1bHQgZGF0ZSBwYXR0ZXJuXG4gICAgICovXG4gICAgZGF0ZWZvcm1hdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0dGVybjtcbiAgICB9XG5cbiAgICAvLyBUT0RPIENoYW5nZSB0aGlzIG1ldGhvZCB3aGVuIG1vdmluZyBmcm9tIGRhdGV0aW1lLWxvY2FsIGlucHV0IHRvIE5nYkRhdGVQaWNrZXJcbiAgICB0b0RhdGUoZGF0ZTogYW55KTogRGF0ZSB7XG4gICAgICAgIGlmIChkYXRlID09PSB1bmRlZmluZWQgfHwgZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0ZVBhcnRzID0gZGF0ZS5zcGxpdCgvXFxEKy8pO1xuICAgICAgICBpZiAoZGF0ZVBhcnRzLmxlbmd0aCA9PT0gNykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGVQYXJ0c1swXSwgZGF0ZVBhcnRzWzFdIC0gMSwgZGF0ZVBhcnRzWzJdLCBkYXRlUGFydHNbM10sIGRhdGVQYXJ0c1s0XSwgZGF0ZVBhcnRzWzVdLCBkYXRlUGFydHNbNl0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRlUGFydHMubGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZVBhcnRzWzBdLCBkYXRlUGFydHNbMV0gLSAxLCBkYXRlUGFydHNbMl0sIGRhdGVQYXJ0c1szXSwgZGF0ZVBhcnRzWzRdLCBkYXRlUGFydHNbNV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlUGFydHNbMF0sIGRhdGVQYXJ0c1sxXSAtIDEsIGRhdGVQYXJ0c1syXSwgZGF0ZVBhcnRzWzNdLCBkYXRlUGFydHNbNF0pO1xuICAgIH1cbn1cbiJdfQ== |
\ | No newline at end of file |