adb-shared 3.0.6 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,8 +9,8 @@ import * as i1 from '@angular/common/http';
9
9
  import { HttpClientModule } from '@angular/common/http';
10
10
  import * as i1$2 from '@angular/router';
11
11
  import { RouterModule } from '@angular/router';
12
- import { isValid, parseISO, startOfDay, subYears, endOfDay, addYears, getMonth, subMonths, addMonths, isSameYear, startOfMonth, endOfMonth, eachWeekOfInterval, getISOWeek, addDays, eachDayOfInterval, getHours, getMinutes, isSameDay, isSameMonth, isWithinInterval } from 'date-fns';
13
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
12
+ import { startOfDay, subYears, endOfDay, addYears, getMonth, subMonths, addMonths, isSameYear, startOfMonth, endOfMonth, eachWeekOfInterval, getISOWeek, addDays, eachDayOfInterval, getHours, getMinutes, isSameDay, isSameMonth, isWithinInterval, isValid, parseISO } from 'date-fns';
13
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
14
14
  import { delay } from 'rxjs/operators';
15
15
 
16
16
  class EnvironmentService {
@@ -506,203 +506,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
506
506
  }]
507
507
  }] });
508
508
 
509
- class AdbDatePickerService {
510
- }
511
- /** @nocollapse */ AdbDatePickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
512
- /** @nocollapse */ AdbDatePickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService });
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService, decorators: [{
514
- type: Injectable
515
- }] });
516
-
517
- class AdbDatePickerDirective {
518
- constructor(viewContainerRef, renderer, elementRef, adbDatePickerService, translate) {
519
- this.viewContainerRef = viewContainerRef;
520
- this.renderer = renderer;
521
- this.elementRef = elementRef;
522
- this.adbDatePickerService = adbDatePickerService;
523
- this.translate = translate;
524
- this.autocomplete = 'off';
525
- this.subscriptions = new Subscription();
526
- this.format = 'yyyy-MM-dd';
527
- this.settings = null;
528
- this.pickOnly = true;
529
- //ControlValueAccessor
530
- this.onChange = () => { };
531
- this.onTouched = () => { };
532
- }
533
- ngOnInit() {
534
- if (!this.pickOnly) {
535
- this.elementRef.nativeElement.setAttribute("placeholder", this.format);
536
- }
537
- }
538
- onClick() {
539
- if (this.adbDatePickerService.viewRef) {
540
- this.adbDatePickerService.viewRef.destroy();
541
- }
542
- const viewRef = this.viewContainerRef.createComponent(AdbDatePickerComponent);
543
- viewRef.instance.settings = this.settings;
544
- viewRef.instance.toLeft = this.toLeft;
545
- viewRef.instance.initialDate = this.initialDate;
546
- this.id = this.getId();
547
- viewRef.instance.id = this.id;
548
- viewRef.instance.selectDate.subscribe((date) => {
549
- this.elementRef.nativeElement.classList.remove('ng-invalid');
550
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));
551
- this.onChange(date);
552
- this.initialDate = date;
553
- this.onHide();
554
- });
555
- viewRef.instance.hide.subscribe(() => {
556
- this.onHide();
557
- });
558
- this.adbDatePickerService.viewRef = viewRef;
559
- }
560
- onKeyup(event) {
561
- const date = AdbDatePickerDirective.tryParse(event.target.value, this.format);
562
- if (date) {
563
- this.onChange(date);
564
- this.initialDate = date;
565
- }
566
- }
567
- onHide() {
568
- this.adbDatePickerService.viewRef = null;
569
- this.viewContainerRef.detach();
570
- this.viewContainerRef.clear();
571
- }
572
- onBlur() {
573
- const value = this.elementRef.nativeElement.value;
574
- if ((value === null || value === void 0 ? void 0 : value.trim()) === "") {
575
- this.elementRef.nativeElement.classList.remove('ng-invalid');
576
- this.onChange(null);
577
- }
578
- else {
579
- const date = AdbDatePickerDirective.tryParse(value, this.format);
580
- if (!date) {
581
- this.elementRef.nativeElement.classList.add('ng-invalid');
582
- this.subscriptions.add(this.translate.get('INVALID_DATE').subscribe(trans => {
583
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', trans);
584
- }));
585
- }
586
- else {
587
- this.elementRef.nativeElement.classList.remove('ng-invalid');
588
- }
589
- }
590
- }
591
- handleKeyboardEvent(event) {
592
- if (event.key === 'Tab') {
593
- this.onHide();
594
- }
595
- else if (this.pickOnly) {
596
- event.preventDefault();
597
- }
598
- }
599
- onCheckOutSideClick(target) {
600
- var _a, _b;
601
- const nativeElement = (_b = (_a = this.adbDatePickerService.viewRef) === null || _a === void 0 ? void 0 : _a.instance.elementRef.nativeElement) !== null && _b !== void 0 ? _b : null;
602
- if (nativeElement) {
603
- if (nativeElement.id === this.id) {
604
- if (!target.hasAttribute('adbdatepicker')) {
605
- const clickedInside = nativeElement.contains(target);
606
- if (!clickedInside) {
607
- this.onHide();
608
- }
609
- }
610
- }
611
- }
612
- }
613
- ngOnDestroy() {
614
- this.subscriptions.unsubscribe();
615
- }
616
- writeValue(value) {
617
- if (value) {
618
- this.initialDate = AdbDatePickerDirective.parseDate(value);
619
- if (this.initialDate) {
620
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));
621
- }
622
- }
623
- else {
624
- this.initialDate = null;
625
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
626
- }
627
- }
628
- registerOnChange(fn) {
629
- this.onChange = fn;
630
- }
631
- registerOnTouched(fn) {
632
- this.onTouched = fn;
633
- }
634
- setDisabledState(isDisabled) {
635
- this.viewContainerRef.clear();
636
- }
637
- static parseDate(value) {
638
- if (typeof value === 'string') {
639
- if (isValid(parseISO(value))) {
640
- return parseISO(value);
641
- }
642
- else {
643
- return null;
644
- }
645
- }
646
- else if (value instanceof Date) {
647
- return value;
648
- }
649
- else {
650
- return null;
651
- }
652
- }
653
- static tryParse(dateString, format) {
654
- const parsed = parseISO(dateString);
655
- return isValid(parsed) && (dateString === null || dateString === void 0 ? void 0 : dateString.length) === 10 ? parsed : null;
656
- }
657
- getId() {
658
- return '' + Math.floor(Math.random() * Date.now());
659
- }
660
- }
661
- /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdbDatePickerService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
662
- /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings", pickOnly: "pickOnly" }, host: { listeners: { "click": "onClick()", "keyup": "onKeyup($event)", "keyup.esc": "onHide()", "blur": "onBlur()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
663
- provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
664
- multi: true
665
- }], ngImport: i0 });
666
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, decorators: [{
667
- type: Directive,
668
- args: [{
669
- selector: `input[adbDatepicker]`,
670
- providers: [{
671
- provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
672
- multi: true
673
- }]
674
- }]
675
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdbDatePickerService }, { type: i1$1.TranslateService }]; }, propDecorators: { autocomplete: [{
676
- type: HostBinding,
677
- args: ['autocomplete']
678
- }], format: [{
679
- type: Input
680
- }], toLeft: [{
681
- type: Input
682
- }], settings: [{
683
- type: Input
684
- }], pickOnly: [{
685
- type: Input
686
- }], onClick: [{
687
- type: HostListener,
688
- args: ['click']
689
- }], onKeyup: [{
690
- type: HostListener,
691
- args: ['keyup', ['$event']]
692
- }], onHide: [{
693
- type: HostListener,
694
- args: ['keyup.esc']
695
- }], onBlur: [{
696
- type: HostListener,
697
- args: ['blur']
698
- }], handleKeyboardEvent: [{
699
- type: HostListener,
700
- args: ['keydown', ['$event']]
701
- }], onCheckOutSideClick: [{
702
- type: HostListener,
703
- args: ['document:click', ['$event.target']]
704
- }] } });
705
-
706
509
  class AdbDatePickerComponent {
707
510
  constructor(elementRef, translate) {
708
511
  this.elementRef = elementRef;
@@ -720,8 +523,8 @@ class AdbDatePickerComponent {
720
523
  var _a, _b, _c;
721
524
  if (this.settings) {
722
525
  if (((_a = this.settings) === null || _a === void 0 ? void 0 : _a.minDate) || ((_b = this.settings) === null || _b === void 0 ? void 0 : _b.maxDate)) {
723
- const minDate = AdbDatePickerDirective.parseDate(this.settings.minDate);
724
- const maxDate = AdbDatePickerDirective.parseDate(this.settings.maxDate);
526
+ const minDate = AdbDatePickerComponent.parseDate(this.settings.minDate);
527
+ const maxDate = AdbDatePickerComponent.parseDate(this.settings.maxDate);
725
528
  this.range = {
726
529
  start: minDate ? startOfDay(minDate) : subYears(new Date(), 1000),
727
530
  end: maxDate ? endOfDay(maxDate) : addYears(new Date(), 1000)
@@ -835,6 +638,22 @@ class AdbDatePickerComponent {
835
638
  }
836
639
  this.weeks = weeks;
837
640
  }
641
+ static parseDate(value) {
642
+ if (typeof value === 'string') {
643
+ if (isValid(parseISO(value))) {
644
+ return parseISO(value);
645
+ }
646
+ else {
647
+ return null;
648
+ }
649
+ }
650
+ else if (value instanceof Date) {
651
+ return value;
652
+ }
653
+ else {
654
+ return null;
655
+ }
656
+ }
838
657
  }
839
658
  AdbDatePickerComponent.MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
840
659
  AdbDatePickerComponent.WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];
@@ -861,6 +680,198 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
861
680
  type: Output
862
681
  }] } });
863
682
 
683
+ class AdbDatePickerService {
684
+ }
685
+ /** @nocollapse */ AdbDatePickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
686
+ /** @nocollapse */ AdbDatePickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService });
687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerService, decorators: [{
688
+ type: Injectable
689
+ }] });
690
+
691
+ class AdbDatePickerDirective {
692
+ constructor(viewContainerRef, renderer, elementRef, adbDatePickerService, translate) {
693
+ this.viewContainerRef = viewContainerRef;
694
+ this.renderer = renderer;
695
+ this.elementRef = elementRef;
696
+ this.adbDatePickerService = adbDatePickerService;
697
+ this.translate = translate;
698
+ this.autocomplete = 'off';
699
+ this.subscriptions = new Subscription();
700
+ this.format = 'yyyy-MM-dd';
701
+ this.settings = null;
702
+ this.pickOnly = true;
703
+ this.onValidationChange = () => { };
704
+ //ControlValueAccessor
705
+ this.onChange = () => { };
706
+ this.onTouched = () => { };
707
+ }
708
+ ngOnInit() {
709
+ if (!this.pickOnly) {
710
+ this.elementRef.nativeElement.setAttribute("placeholder", this.format);
711
+ }
712
+ }
713
+ onClick() {
714
+ if (this.adbDatePickerService.viewRef) {
715
+ this.adbDatePickerService.viewRef.destroy();
716
+ }
717
+ const viewRef = this.viewContainerRef.createComponent(AdbDatePickerComponent);
718
+ viewRef.instance.settings = this.settings;
719
+ viewRef.instance.toLeft = this.toLeft;
720
+ viewRef.instance.initialDate = this.initialDate;
721
+ this.id = this.getId();
722
+ viewRef.instance.id = this.id;
723
+ viewRef.instance.selectDate.subscribe((date) => {
724
+ this.elementRef.nativeElement.classList.remove('ng-invalid');
725
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));
726
+ this.onChange(date);
727
+ this.initialDate = date;
728
+ this.onHide();
729
+ });
730
+ viewRef.instance.hide.subscribe(() => {
731
+ this.onHide();
732
+ });
733
+ this.adbDatePickerService.viewRef = viewRef;
734
+ }
735
+ onKeyup(event) {
736
+ if (!this.pickOnly) {
737
+ this.onChange(event.target.value);
738
+ }
739
+ }
740
+ onHide() {
741
+ this.adbDatePickerService.viewRef = null;
742
+ this.viewContainerRef.detach();
743
+ this.viewContainerRef.clear();
744
+ }
745
+ handleKeyboardEvent(event) {
746
+ if (event.key === 'Tab') {
747
+ this.onHide();
748
+ }
749
+ else if (this.pickOnly) {
750
+ event.preventDefault();
751
+ }
752
+ }
753
+ onCheckOutSideClick(target) {
754
+ var _a, _b;
755
+ const nativeElement = (_b = (_a = this.adbDatePickerService.viewRef) === null || _a === void 0 ? void 0 : _a.instance.elementRef.nativeElement) !== null && _b !== void 0 ? _b : null;
756
+ if (nativeElement) {
757
+ if (nativeElement.id === this.id) {
758
+ if (!target.hasAttribute('adbdatepicker')) {
759
+ const clickedInside = nativeElement.contains(target);
760
+ if (!clickedInside) {
761
+ this.onHide();
762
+ }
763
+ }
764
+ }
765
+ }
766
+ }
767
+ ngOnDestroy() {
768
+ this.subscriptions.unsubscribe();
769
+ }
770
+ //Validator
771
+ validate(control) {
772
+ const value = control.value;
773
+ if (value instanceof Date) {
774
+ return null;
775
+ }
776
+ if (typeof value === 'string' || value instanceof String) {
777
+ const date = AdbDatePickerDirective.tryParse(value);
778
+ if (!date) {
779
+ return { date: true };
780
+ }
781
+ }
782
+ return null;
783
+ }
784
+ registerOnValidatorChange(fn) {
785
+ this.onValidationChange = fn;
786
+ }
787
+ writeValue(value) {
788
+ if (value) {
789
+ if (typeof value === 'string' || value instanceof String) {
790
+ const date = AdbDatePickerDirective.tryParse(value);
791
+ if (!date) {
792
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);
793
+ return;
794
+ }
795
+ }
796
+ if (value instanceof Date) {
797
+ this.initialDate = value;
798
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.initialDate, this.format, this.translate.currentLang));
799
+ }
800
+ }
801
+ else {
802
+ this.initialDate = null;
803
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
804
+ }
805
+ }
806
+ registerOnChange(fn) {
807
+ this.onChange = fn;
808
+ }
809
+ registerOnTouched(fn) {
810
+ this.onTouched = fn;
811
+ }
812
+ setDisabledState(isDisabled) {
813
+ this.viewContainerRef.clear();
814
+ }
815
+ static tryParse(dateString) {
816
+ const parsed = parseISO(dateString);
817
+ return isValid(parsed) ? parsed : null;
818
+ }
819
+ getId() {
820
+ return '' + Math.floor(Math.random() * Date.now());
821
+ }
822
+ }
823
+ /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdbDatePickerService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
824
+ /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings", pickOnly: "pickOnly" }, host: { listeners: { "click": "onClick()", "keyup": "onKeyup($event)", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
825
+ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
826
+ multi: true
827
+ },
828
+ {
829
+ provide: NG_VALIDATORS,
830
+ useExisting: AdbDatePickerDirective,
831
+ multi: true,
832
+ },], ngImport: i0 });
833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, decorators: [{
834
+ type: Directive,
835
+ args: [{
836
+ selector: `input[adbDatepicker]`,
837
+ providers: [{
838
+ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
839
+ multi: true
840
+ },
841
+ {
842
+ provide: NG_VALIDATORS,
843
+ useExisting: AdbDatePickerDirective,
844
+ multi: true,
845
+ },]
846
+ }]
847
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdbDatePickerService }, { type: i1$1.TranslateService }]; }, propDecorators: { autocomplete: [{
848
+ type: HostBinding,
849
+ args: ['autocomplete']
850
+ }], format: [{
851
+ type: Input
852
+ }], toLeft: [{
853
+ type: Input
854
+ }], settings: [{
855
+ type: Input
856
+ }], pickOnly: [{
857
+ type: Input
858
+ }], onClick: [{
859
+ type: HostListener,
860
+ args: ['click']
861
+ }], onKeyup: [{
862
+ type: HostListener,
863
+ args: ['keyup', ['$event']]
864
+ }], onHide: [{
865
+ type: HostListener,
866
+ args: ['keyup.esc']
867
+ }], handleKeyboardEvent: [{
868
+ type: HostListener,
869
+ args: ['keydown', ['$event']]
870
+ }], onCheckOutSideClick: [{
871
+ type: HostListener,
872
+ args: ['document:click', ['$event.target']]
873
+ }] } });
874
+
864
875
  class AdbDatePickerModule {
865
876
  }
866
877
  /** @nocollapse */ AdbDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });