LP1904036 Date util class
authorBill Erickson <berickxx@gmail.com>
Wed, 17 Mar 2021 21:05:59 +0000 (17:05 -0400)
committerGalen Charlton <gmc@equinoxOLI.org>
Fri, 28 Oct 2022 00:13:27 +0000 (20:13 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Open-ILS/src/eg2/src/app/share/date-select/date-select.component.ts

index b66a261..bd6e681 100644 (file)
@@ -1,6 +1,7 @@
 import {Component, OnInit, Input, Output, ViewChild, EventEmitter, forwardRef} from '@angular/core';
 import {NgbDateStruct} from '@ng-bootstrap/ng-bootstrap';
 import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';
+import {DateUtil} from '@eg/share/util/date';
 
 /**
  * RE: displaying locale dates in the input field:
@@ -46,7 +47,7 @@ export class DateSelectComponent implements OnInit, ControlValueAccessor {
         if (this.current == null) { return null; }
         if (!this.isValidDate(this.current)) { return null; }
         const ymd = `${this.current.year}-${String(this.current.month).padStart(2, '0')}-${String(this.current.day).padStart(2, '0')}`;
-        const date = this.localDateFromYmd(ymd);
+        const date = DateUtil.localDateFromYmd(ymd);
         const iso = date.toISOString();
         return iso;
     }
@@ -54,7 +55,7 @@ export class DateSelectComponent implements OnInit, ControlValueAccessor {
         if (this.current == null) { return null; }
         if (!this.isValidDate(this.current)) { return null; }
         const ymd = `${this.current.year}-${String(this.current.month).padStart(2, '0')}-${String(this.current.day).padStart(2, '0')}`;
-        const date = this.localDateFromYmd(ymd);
+        const date = DateUtil.localDateFromYmd(ymd);
         return date;
     }
 
@@ -72,7 +73,7 @@ export class DateSelectComponent implements OnInit, ControlValueAccessor {
     ngOnInit() {
 
         if (this.initialYmd) {
-            this.initialDate = this.localDateFromYmd(this.initialYmd);
+            this.initialDate = DateUtil.localDateFromYmd(this.initialYmd);
 
         } else if (this.initialIso) {
             this.initialDate = new Date(this.initialIso);
@@ -99,7 +100,7 @@ export class DateSelectComponent implements OnInit, ControlValueAccessor {
 
     onDateSelect(evt) {
         const ymd = `${evt.year}-${String(evt.month).padStart(2, '0')}-${String(evt.day).padStart(2, '0')}`;
-        const date = this.localDateFromYmd(ymd);
+        const date = DateUtil.localDateFromYmd(ymd);
         const iso = date.toISOString();
         this.onChangeAsDate.emit(date);
         this.onChangeAsYmd.emit(ymd);
@@ -107,14 +108,6 @@ export class DateSelectComponent implements OnInit, ControlValueAccessor {
         this.propagateChange(date);
     }
 
-    // Create a date in the local time zone with selected YMD values.
-    // TODO: Consider moving this to a date service...
-    localDateFromYmd(ymd: string): Date {
-        const parts = ymd.split('-');
-        return new Date(
-            Number(parts[0]), Number(parts[1]) - 1, Number(parts[2]));
-    }
-
     reset() {
         this.current = {
             year: null,