novo-elements 8.3.0 → 8.4.0-next.1
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.
- package/addons/ace-editor/AceEditor.d.ts +4 -2
- package/addons/code-editor/CodeEditor.d.ts +31 -0
- package/addons/code-editor/CodeEditor.module.d.ts +9 -0
- package/addons/code-editor/CodeEditor.scss +5 -0
- package/addons/code-editor/index.d.ts +2 -0
- package/addons/code-editor/novo-elements-addons-code-editor.d.ts +5 -0
- package/addons/code-editor/package.json +10 -0
- package/addons/index.d.ts +1 -0
- package/elements/aside/aside.component.scss +1 -1
- package/elements/calendar/Calendar.module.d.ts +2 -3
- package/elements/checkbox/CheckList.scss +1 -1
- package/elements/checkbox/Checkbox.scss +1 -1
- package/elements/common/overlay/Overlay.d.ts +1 -0
- package/elements/date-picker/DatePicker.module.d.ts +2 -2
- package/elements/date-picker/DatePickerInput.d.ts +8 -5
- package/elements/date-picker/MultiDateInput.d.ts +0 -1
- package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -3
- package/elements/drag-drop/drag-drop-box.d.ts +45 -0
- package/elements/drag-drop/drag-drop.module.d.ts +7 -0
- package/elements/drag-drop/index.d.ts +2 -0
- package/elements/drag-drop/novo-elements-elements-drag-drop.d.ts +5 -0
- package/elements/drag-drop/package.json +10 -0
- package/elements/dropdown/Dropdown.d.ts +7 -1
- package/elements/field/formats/date-time-format.d.ts +2 -2
- package/elements/form/Control.d.ts +9 -6
- package/elements/form/ControlTemplates.d.ts +1 -1
- package/elements/form/Form.module.d.ts +6 -6
- package/elements/form/controls/code-editor/CodeEditorControl.d.ts +5 -0
- package/elements/form/controls/code-editor/index.d.ts +1 -0
- package/elements/form/controls/index.d.ts +2 -1
- package/elements/form/extras/FormExtras.module.d.ts +4 -4
- package/elements/form/extras/file/FileInput.d.ts +15 -16
- package/elements/form/extras/file/FileInput.scss +58 -30
- package/elements/index.d.ts +1 -0
- package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -1
- package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +1 -1
- package/elements/select-search/select-search.component.scss +1 -1
- package/elements/table/Table.module.d.ts +5 -6
- package/elements/time-picker/TimePicker.d.ts +2 -3
- package/elements/time-picker/TimePicker.module.d.ts +3 -4
- package/elements/time-picker/TimePickerInput.d.ts +0 -1
- package/esm2020/addons/ace-editor/AceEditor.mjs +8 -4
- package/esm2020/addons/ckeditor/CKEditor.mjs +8 -1
- package/esm2020/addons/code-editor/CodeEditor.mjs +129 -0
- package/esm2020/addons/code-editor/CodeEditor.module.mjs +19 -0
- package/esm2020/addons/code-editor/index.mjs +3 -0
- package/esm2020/addons/code-editor/novo-elements-addons-code-editor.mjs +5 -0
- package/esm2020/addons/index.mjs +2 -1
- package/esm2020/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +1 -1
- package/esm2020/elements/calendar/Calendar.module.mjs +5 -7
- package/esm2020/elements/calendar/calendar.component.mjs +3 -3
- package/esm2020/elements/calendar/month-select/month-select.component.mjs +3 -3
- package/esm2020/elements/calendar/month-view/month-view.component.mjs +3 -3
- package/esm2020/elements/calendar/year-select/year-select.component.mjs +3 -3
- package/esm2020/elements/common/overlay/Overlay.mjs +11 -5
- package/esm2020/elements/data-table/cell-headers/data-table-header-cell.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table-clear-button.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table.component.mjs +2 -2
- package/esm2020/elements/date-picker/DatePicker.module.mjs +6 -6
- package/esm2020/elements/date-picker/DatePickerInput.mjs +50 -29
- package/esm2020/elements/date-picker/DateRangeInput.mjs +10 -16
- package/esm2020/elements/date-picker/MultiDateInput.mjs +1 -17
- package/esm2020/elements/date-time-picker/DateTimePicker.module.mjs +4 -5
- package/esm2020/elements/drag-drop/drag-drop-box.mjs +224 -0
- package/esm2020/elements/drag-drop/drag-drop.module.mjs +16 -0
- package/esm2020/elements/drag-drop/index.mjs +3 -0
- package/esm2020/elements/drag-drop/novo-elements-elements-drag-drop.mjs +5 -0
- package/esm2020/elements/dropdown/Dropdown.mjs +29 -4
- package/esm2020/elements/field/formats/date-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-range-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-time-format.mjs +12 -12
- package/esm2020/elements/field/formats/time-format.mjs +6 -6
- package/esm2020/elements/form/Control.mjs +20 -8
- package/esm2020/elements/form/ControlTemplates.mjs +54 -27
- package/esm2020/elements/form/Form.module.mjs +12 -13
- package/esm2020/elements/form/NovoFormControl.mjs +1 -2
- package/esm2020/elements/form/controls/code-editor/CodeEditorControl.mjs +9 -0
- package/esm2020/elements/form/controls/code-editor/index.mjs +2 -0
- package/esm2020/elements/form/controls/index.mjs +3 -2
- package/esm2020/elements/form/controls/timezone/TimezoneControl.mjs +2 -2
- package/esm2020/elements/form/extras/FormExtras.module.mjs +8 -9
- package/esm2020/elements/form/extras/file/FileInput.mjs +38 -261
- package/esm2020/elements/index.mjs +2 -1
- package/esm2020/elements/query-builder/condition-definitions/address-condition.definition.mjs +2 -2
- package/esm2020/elements/query-builder/condition-group/condition-group.component.mjs +1 -1
- package/esm2020/elements/simple-table/cell-header.mjs +2 -2
- package/esm2020/elements/simple-table/cell.mjs +1 -1
- package/esm2020/elements/tabbed-group-picker/TabbedGroupPicker.mjs +1 -1
- package/esm2020/elements/table/Table.mjs +1 -1
- package/esm2020/elements/table/Table.module.mjs +1 -6
- package/esm2020/elements/table/extras/dropdown-cell/DropdownCell.mjs +1 -1
- package/esm2020/elements/time-picker/TimePicker.mjs +5 -6
- package/esm2020/elements/time-picker/TimePicker.module.mjs +4 -5
- package/esm2020/elements/time-picker/TimePickerInput.mjs +3 -65
- package/esm2020/index.mjs +1 -1
- package/esm2020/novo-elements.module.mjs +9 -3
- package/esm2020/novo-elements.providers.mjs +2 -2
- package/esm2020/services/date-format/DateFormat.mjs +153 -47
- package/esm2020/services/global/global.service.mjs +7 -1
- package/esm2020/utils/date/Date.mjs +1 -1
- package/esm2020/utils/date/index.mjs +3 -2
- package/esm2020/utils/date/timezone-support.mjs +87 -0
- package/fesm2015/novo-elements-addons-ace-editor.mjs +7 -3
- package/fesm2015/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-ckeditor.mjs +7 -0
- package/fesm2015/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2015/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2015/novo-elements-addons.mjs +155 -5
- package/fesm2015/novo-elements-addons.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-common.mjs +10 -2
- package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-data-table.mjs +3 -3
- package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-picker.mjs +64 -62
- package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-time-picker.mjs +3 -4
- package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-drag-drop.mjs +245 -0
- package/fesm2015/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2015/novo-elements-elements-dropdown.mjs +28 -3
- package/fesm2015/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-field.mjs +19 -19
- package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-form.mjs +124 -300
- package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-query-builder.mjs +1 -1
- package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-simple-table.mjs +2 -2
- package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-table.mjs +2 -6
- package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-time-picker.mjs +7 -71
- package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements.mjs +1 -0
- package/fesm2015/novo-elements-elements.mjs.map +1 -1
- package/fesm2015/novo-elements-services.mjs +158 -46
- package/fesm2015/novo-elements-services.mjs.map +1 -1
- package/fesm2015/novo-elements-utils.mjs +88 -1
- package/fesm2015/novo-elements-utils.mjs.map +1 -1
- package/fesm2015/novo-elements.mjs +8 -2
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ace-editor.mjs +7 -3
- package/fesm2020/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ckeditor.mjs +7 -0
- package/fesm2020/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2020/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2020/novo-elements-addons.mjs +155 -5
- package/fesm2020/novo-elements-addons.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-common.mjs +8 -2
- package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-data-table.mjs +3 -3
- package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-picker.mjs +62 -62
- package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-time-picker.mjs +3 -4
- package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-drag-drop.mjs +244 -0
- package/fesm2020/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2020/novo-elements-elements-dropdown.mjs +28 -3
- package/fesm2020/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-field.mjs +19 -19
- package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-form.mjs +125 -302
- package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-query-builder.mjs +1 -1
- package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-simple-table.mjs +2 -2
- package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-table.mjs +2 -6
- package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-time-picker.mjs +7 -71
- package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements.mjs +1 -0
- package/fesm2020/novo-elements-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-services.mjs +158 -46
- package/fesm2020/novo-elements-services.mjs.map +1 -1
- package/fesm2020/novo-elements-utils.mjs +88 -1
- package/fesm2020/novo-elements-utils.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +8 -2
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/novo-elements.module.d.ts +1 -1
- package/novo-elements.scss +1 -1
- package/package.json +23 -4
- package/services/date-format/DateFormat.d.ts +62 -3
- package/services/global/global.service.d.ts +3 -0
- package/styles/content/root.scss +1 -1
- package/styles/themes/light-test.scss +1 -1
- package/styles/themes/light.scss +1 -1
- package/styles/variables.scss +1 -1
- package/utils/date/index.d.ts +2 -1
- package/utils/date/timezone-support.d.ts +5 -0
|
@@ -13,17 +13,16 @@ import * as i4 from 'novo-elements/elements/button';
|
|
|
13
13
|
import { NovoButtonModule } from 'novo-elements/elements/button';
|
|
14
14
|
import * as i6 from '@angular/common';
|
|
15
15
|
import { CommonModule } from '@angular/common';
|
|
16
|
-
import * as i5 from '
|
|
17
|
-
import {
|
|
16
|
+
import * as i5 from 'angular-imask';
|
|
17
|
+
import { IMaskDirectiveModule } from 'angular-imask';
|
|
18
18
|
import * as i8 from 'novo-elements/pipes';
|
|
19
19
|
import { NovoPipesModule } from 'novo-elements/pipes';
|
|
20
|
+
import * as i2$3 from 'novo-elements/elements/chips';
|
|
21
|
+
import { NovoChipsModule } from 'novo-elements/elements/chips';
|
|
20
22
|
import * as i2$1 from 'novo-elements/elements/common';
|
|
21
23
|
import { NovoOverlayTemplateComponent, NovoOverlayModule } from 'novo-elements/elements/common';
|
|
22
24
|
import * as i2$2 from 'novo-elements/elements/icon';
|
|
23
25
|
import { NovoIconModule } from 'novo-elements/elements/icon';
|
|
24
|
-
import * as i2$3 from 'novo-elements/elements/chips';
|
|
25
|
-
import { NovoChipsModule } from 'novo-elements/elements/chips';
|
|
26
|
-
import { createAutoCorrectedDatePipe } from 'text-mask-addons';
|
|
27
26
|
|
|
28
27
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
29
28
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -502,18 +501,16 @@ class NovoDatePickerInputElement {
|
|
|
502
501
|
this._initFormatOptions();
|
|
503
502
|
}
|
|
504
503
|
}
|
|
504
|
+
ngAfterViewInit() {
|
|
505
|
+
this.overlay.panelClosingActions.subscribe(this._handleOverlayClickout.bind(this));
|
|
506
|
+
}
|
|
505
507
|
_initFormatOptions() {
|
|
506
508
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
507
509
|
if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
508
|
-
this.maskOptions = this.maskOptions ||
|
|
509
|
-
mask: this.dateFormatService.getDateMask(),
|
|
510
|
-
pipe: createAutoCorrectedDatePipe((this.format || this.labels.dateFormatString()).toLowerCase()),
|
|
511
|
-
keepCharPositions: false,
|
|
512
|
-
guide: true,
|
|
513
|
-
};
|
|
510
|
+
this.maskOptions = this.maskOptions || this.dateFormatService.getDateMask(this.format);
|
|
514
511
|
}
|
|
515
512
|
else {
|
|
516
|
-
this.maskOptions =
|
|
513
|
+
this.maskOptions = undefined;
|
|
517
514
|
}
|
|
518
515
|
this.setupInvalidDateErrorMessage();
|
|
519
516
|
}
|
|
@@ -527,32 +524,39 @@ class NovoDatePickerInputElement {
|
|
|
527
524
|
this.overlay.closePanel();
|
|
528
525
|
}
|
|
529
526
|
get panelOpen() {
|
|
530
|
-
return this.overlay
|
|
527
|
+
return this.overlay?.panelOpen;
|
|
531
528
|
}
|
|
532
529
|
/** END: Convenient Panel Methods. */
|
|
533
530
|
_handleKeydown(event) {
|
|
534
531
|
if ((event.key === "Escape" /* Escape */ || event.key === "Enter" /* Enter */ || event.key === "Tab" /* Tab */) && this.panelOpen) {
|
|
535
|
-
this.
|
|
532
|
+
this._handleValueUpdate(event.target.value, true);
|
|
536
533
|
this.closePanel();
|
|
537
534
|
event.stopPropagation();
|
|
538
535
|
}
|
|
539
536
|
}
|
|
540
537
|
_handleInput(event) {
|
|
541
|
-
if
|
|
542
|
-
|
|
538
|
+
// if maskOptions is enabled, then we do not want to process inputs until the mask has accepted them - so those events will be
|
|
539
|
+
// handled by the (accept) event.
|
|
540
|
+
if (document.activeElement === event.target && !this.maskOptions) {
|
|
541
|
+
this._handleValueUpdate(event.target.value, false);
|
|
543
542
|
}
|
|
544
543
|
}
|
|
545
544
|
_handleBlur(event) {
|
|
546
|
-
this.
|
|
547
|
-
|
|
545
|
+
if (!this.overlay.isBlurRecipient(event)) {
|
|
546
|
+
this.handleInvalidDate();
|
|
547
|
+
this.blurEvent.emit(event);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
_handleOverlayClickout() {
|
|
551
|
+
this.handleInvalidDate(/*fromPanelClose:*/ true);
|
|
552
|
+
this.blurEvent.emit();
|
|
548
553
|
}
|
|
549
554
|
_handleFocus(event) {
|
|
550
555
|
this.showInvalidDateError = false;
|
|
551
556
|
this.openPanel();
|
|
552
557
|
this.focusEvent.emit(event);
|
|
553
558
|
}
|
|
554
|
-
|
|
555
|
-
const value = event.target.value;
|
|
559
|
+
_handleValueUpdate(value, blur) {
|
|
556
560
|
if (value === '') {
|
|
557
561
|
this.clearValue();
|
|
558
562
|
this.closePanel();
|
|
@@ -562,15 +566,27 @@ class NovoDatePickerInputElement {
|
|
|
562
566
|
this.openPanel();
|
|
563
567
|
}
|
|
564
568
|
}
|
|
569
|
+
handleMaskAccept(maskValue) {
|
|
570
|
+
this._handleValueUpdate(maskValue, false);
|
|
571
|
+
}
|
|
565
572
|
formatDate(value, blur) {
|
|
566
573
|
try {
|
|
567
|
-
|
|
574
|
+
let dateTimeValue;
|
|
575
|
+
let isInvalidDate;
|
|
576
|
+
if (this.format) {
|
|
577
|
+
[dateTimeValue, , isInvalidDate] = this.dateFormatService.parseCustomDateString(value, this.format);
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
[dateTimeValue, , isInvalidDate] = this.dateFormatService.parseString(value, false, 'date');
|
|
581
|
+
}
|
|
568
582
|
this.isInvalidDate = isInvalidDate;
|
|
569
|
-
if
|
|
583
|
+
// if we have a full date - set the dateTimeValue
|
|
584
|
+
if (dateTimeValue?.getFullYear()?.toString().length === 4) {
|
|
570
585
|
const dt = new Date(dateTimeValue);
|
|
571
586
|
this.dispatchOnChange(dt, blur);
|
|
587
|
+
// if we only have a partial date - set the value to null
|
|
572
588
|
}
|
|
573
|
-
else {
|
|
589
|
+
else if (isNaN(dateTimeValue?.getUTCDate())) {
|
|
574
590
|
this.dispatchOnChange(null, blur);
|
|
575
591
|
}
|
|
576
592
|
}
|
|
@@ -588,11 +604,13 @@ class NovoDatePickerInputElement {
|
|
|
588
604
|
setDisabledState(disabled) {
|
|
589
605
|
this.disabled = disabled;
|
|
590
606
|
}
|
|
591
|
-
handleInvalidDate() {
|
|
592
|
-
if (this.isInvalidDate && this.value) {
|
|
607
|
+
handleInvalidDate(fromPanelClose = false) {
|
|
608
|
+
if (this.isInvalidDate) { //} && this.value) {
|
|
593
609
|
this.showInvalidDateError = true;
|
|
594
610
|
this.clearValue();
|
|
595
|
-
|
|
611
|
+
if (!fromPanelClose) {
|
|
612
|
+
this.closePanel();
|
|
613
|
+
}
|
|
596
614
|
}
|
|
597
615
|
}
|
|
598
616
|
setupInvalidDateErrorMessage() {
|
|
@@ -647,7 +665,8 @@ class NovoDatePickerInputElement {
|
|
|
647
665
|
* stemmed from the user.
|
|
648
666
|
*/
|
|
649
667
|
setValueAndClose(event) {
|
|
650
|
-
if (event
|
|
668
|
+
if (event?.date) {
|
|
669
|
+
this.showInvalidDateError = false;
|
|
651
670
|
this.dispatchOnChange(event.date, true);
|
|
652
671
|
}
|
|
653
672
|
this.closePanel();
|
|
@@ -696,12 +715,13 @@ NovoDatePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
696
715
|
type="text"
|
|
697
716
|
[name]="name"
|
|
698
717
|
[(ngModel)]="formattedValue"
|
|
699
|
-
[
|
|
718
|
+
[imask]="maskOptions"
|
|
700
719
|
[placeholder]="placeholder"
|
|
701
720
|
(focus)="_handleFocus($event)"
|
|
702
721
|
(keydown)="_handleKeydown($event)"
|
|
703
722
|
(input)="_handleInput($event)"
|
|
704
723
|
(blur)="_handleBlur($event)"
|
|
724
|
+
(accept)="handleMaskAccept($event)"
|
|
705
725
|
#input
|
|
706
726
|
data-automation-id="date-input"
|
|
707
727
|
[disabled]="disabled"
|
|
@@ -720,7 +740,7 @@ NovoDatePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
720
740
|
[weekStart]="weekStart"
|
|
721
741
|
></novo-date-picker>
|
|
722
742
|
</novo-overlay-template>
|
|
723
|
-
`, isInline: true, styles: [":host{flex:1;position:relative;display:block!important}:host.disabled{pointer-events:none;opacity:1}:host input{font-size:1em;border:none;border-bottom:1px solid #dbdbdb;background:transparent!important;border-radius:0;outline:none;height:2rem;width:100%;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:#3d464d}:host input:focus{border-bottom:1px solid #4a89dc}:host span.error-text{color:#da4453;padding-top:10px;flex:1;display:flex}:host>i.bhi-clock,:host>i.bhi-search,:host>i.bhi-times,:host>i.bhi-calendar{position:absolute;right:0;top:0px;font-size:1.2rem}\n"], components: [{ type: i2$1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }, { type: NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }], directives: [{ type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.
|
|
743
|
+
`, isInline: true, styles: [":host{flex:1;position:relative;display:block!important}:host.disabled{pointer-events:none;opacity:1}:host input{font-size:1em;border:none;border-bottom:1px solid #dbdbdb;background:transparent!important;border-radius:0;outline:none;height:2rem;width:100%;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:#3d464d}:host input:focus{border-bottom:1px solid #4a89dc}:host span.error-text{color:#da4453;padding-top:10px;flex:1;display:flex}:host>i.bhi-clock,:host>i.bhi-search,:host>i.bhi-times,:host>i.bhi-calendar{position:absolute;right:0;top:0px;font-size:1.2rem}\n"], components: [{ type: i2$1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }, { type: NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }], directives: [{ type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
724
744
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDatePickerInputElement, decorators: [{
|
|
725
745
|
type: Component,
|
|
726
746
|
args: [{ selector: 'novo-date-picker-input', providers: [DATE_VALUE_ACCESSOR$1], template: `
|
|
@@ -728,12 +748,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
728
748
|
type="text"
|
|
729
749
|
[name]="name"
|
|
730
750
|
[(ngModel)]="formattedValue"
|
|
731
|
-
[
|
|
751
|
+
[imask]="maskOptions"
|
|
732
752
|
[placeholder]="placeholder"
|
|
733
753
|
(focus)="_handleFocus($event)"
|
|
734
754
|
(keydown)="_handleKeydown($event)"
|
|
735
755
|
(input)="_handleInput($event)"
|
|
736
756
|
(blur)="_handleBlur($event)"
|
|
757
|
+
(accept)="handleMaskAccept($event)"
|
|
737
758
|
#input
|
|
738
759
|
data-automation-id="date-input"
|
|
739
760
|
[disabled]="disabled"
|
|
@@ -852,15 +873,10 @@ class NovoDateRangeInputElement {
|
|
|
852
873
|
_initFormatOptions() {
|
|
853
874
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
854
875
|
if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
855
|
-
this.maskOptions = this.maskOptions ||
|
|
856
|
-
mask: this.dateFormatService.getDateMask(),
|
|
857
|
-
pipe: createAutoCorrectedDatePipe((this.format || this.labels.dateFormatString()).toLowerCase()),
|
|
858
|
-
keepCharPositions: false,
|
|
859
|
-
guide: true,
|
|
860
|
-
};
|
|
876
|
+
this.maskOptions = this.maskOptions || this.dateFormatService.getDateMask(this.format);
|
|
861
877
|
}
|
|
862
878
|
else {
|
|
863
|
-
this.maskOptions =
|
|
879
|
+
this.maskOptions = undefined;
|
|
864
880
|
}
|
|
865
881
|
}
|
|
866
882
|
/** BEGIN: Convenient Panel Methods. */
|
|
@@ -892,7 +908,7 @@ class NovoDateRangeInputElement {
|
|
|
892
908
|
formatDate(value) {
|
|
893
909
|
try {
|
|
894
910
|
const [dateTimeValue] = this.dateFormatService.parseString(value, false, 'date');
|
|
895
|
-
return new Date(dateTimeValue);
|
|
911
|
+
return dateTimeValue ? new Date(dateTimeValue) : null;
|
|
896
912
|
}
|
|
897
913
|
catch (err) {
|
|
898
914
|
return null;
|
|
@@ -1013,7 +1029,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1013
1029
|
type="text"
|
|
1014
1030
|
[name]="name"
|
|
1015
1031
|
[(ngModel)]="formattedStartDate"
|
|
1016
|
-
[
|
|
1032
|
+
[imask]="maskOptions"
|
|
1017
1033
|
[placeholder]="placeholder"
|
|
1018
1034
|
(keydown)="_onStartInputChange($event)"
|
|
1019
1035
|
(input)="_onStartInputChange($event)"
|
|
@@ -1032,7 +1048,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1032
1048
|
type="text"
|
|
1033
1049
|
[name]="name"
|
|
1034
1050
|
[(ngModel)]="formattedEndDate"
|
|
1035
|
-
[
|
|
1051
|
+
[imask]="maskOptions"
|
|
1036
1052
|
[placeholder]="placeholder"
|
|
1037
1053
|
(keydown)="_onEndInputChange($event)"
|
|
1038
1054
|
(input)="_onEndInputChange($event)"
|
|
@@ -1057,7 +1073,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1057
1073
|
[weekStart]="weekStart"
|
|
1058
1074
|
></novo-date-picker>
|
|
1059
1075
|
</novo-overlay-template>
|
|
1060
|
-
`, isInline: true, styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host.disabled{pointer-events:none;opacity:1}:host .date-range-input-container{position:relative;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host .date-range-input-divider{font-weight:800;margin:0 .5em;align-self:center;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host input{font-size:1em;border:none;border-bottom:1px solid var(--border);background:transparent!important;border-radius:0;outline:none;height:2rem;width:9em;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:var(--text-main)}:host input:focus{border-bottom:1px solid #4a89dc}:host novo-icon{position:absolute;right:0;top:0;font-size:1em}:host novo-icon[size=small]{top:calc(50% - .75em);font-size:.5em}\n"], components: [{ type: i2$2.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: i2$1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }, { type: NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }], directives: [{ type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.
|
|
1076
|
+
`, isInline: true, styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host.disabled{pointer-events:none;opacity:1}:host .date-range-input-container{position:relative;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host .date-range-input-divider{font-weight:800;margin:0 .5em;align-self:center;height:-webkit-min-content;height:-moz-min-content;height:min-content}:host input{font-size:1em;border:none;border-bottom:1px solid var(--border);background:transparent!important;border-radius:0;outline:none;height:2rem;width:9em;margin:0;padding:0;box-shadow:none;box-sizing:content-box;transition:all .3s;color:var(--text-main)}:host input:focus{border-bottom:1px solid #4a89dc}:host novo-icon{position:absolute;right:0;top:0;font-size:1em}:host novo-icon[size=small]{top:calc(50% - .75em);font-size:.5em}\n"], components: [{ type: i2$2.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: i2$1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing"] }, { type: NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }], directives: [{ type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1061
1077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDateRangeInputElement, decorators: [{
|
|
1062
1078
|
type: Component,
|
|
1063
1079
|
args: [{ selector: 'novo-date-range-input', providers: [DATE_VALUE_ACCESSOR], template: `
|
|
@@ -1066,7 +1082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1066
1082
|
type="text"
|
|
1067
1083
|
[name]="name"
|
|
1068
1084
|
[(ngModel)]="formattedStartDate"
|
|
1069
|
-
[
|
|
1085
|
+
[imask]="maskOptions"
|
|
1070
1086
|
[placeholder]="placeholder"
|
|
1071
1087
|
(keydown)="_onStartInputChange($event)"
|
|
1072
1088
|
(input)="_onStartInputChange($event)"
|
|
@@ -1085,7 +1101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1085
1101
|
type="text"
|
|
1086
1102
|
[name]="name"
|
|
1087
1103
|
[(ngModel)]="formattedEndDate"
|
|
1088
|
-
[
|
|
1104
|
+
[imask]="maskOptions"
|
|
1089
1105
|
[placeholder]="placeholder"
|
|
1090
1106
|
(keydown)="_onEndInputChange($event)"
|
|
1091
1107
|
(input)="_onEndInputChange($event)"
|
|
@@ -1196,7 +1212,6 @@ class NovoMultiDateInputElement {
|
|
|
1196
1212
|
set value(value) {
|
|
1197
1213
|
if (this.value !== value) {
|
|
1198
1214
|
this._value = value;
|
|
1199
|
-
this._setFormValue(value);
|
|
1200
1215
|
this.onChangeCallback(this._value);
|
|
1201
1216
|
}
|
|
1202
1217
|
}
|
|
@@ -1209,16 +1224,6 @@ class NovoMultiDateInputElement {
|
|
|
1209
1224
|
}
|
|
1210
1225
|
ngOnInit() {
|
|
1211
1226
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
1212
|
-
// if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
1213
|
-
// this.maskOptions = this.maskOptions || {
|
|
1214
|
-
// mask: this.dateFormatService.getDateMask(),
|
|
1215
|
-
// pipe: createAutoCorrectedDatePipe(this.format || this.labels.dateFormatString().toLowerCase()),
|
|
1216
|
-
// keepCharPositions: false,
|
|
1217
|
-
// guide: true,
|
|
1218
|
-
// };
|
|
1219
|
-
// } else {
|
|
1220
|
-
// this.maskOptions = { mask: false };
|
|
1221
|
-
// }
|
|
1222
1227
|
}
|
|
1223
1228
|
formatter(value) {
|
|
1224
1229
|
const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, false, 'date');
|
|
@@ -1270,11 +1275,6 @@ class NovoMultiDateInputElement {
|
|
|
1270
1275
|
registerOnTouched(fn) {
|
|
1271
1276
|
this.onTouchedCallback = fn;
|
|
1272
1277
|
}
|
|
1273
|
-
_setFormValue(value) {
|
|
1274
|
-
if (this.value) {
|
|
1275
|
-
// this.formattedStartDate = this.formatDateValue(this.value.startDate);
|
|
1276
|
-
}
|
|
1277
|
-
}
|
|
1278
1278
|
/**
|
|
1279
1279
|
* This method closes the panel, and if a value is specified, also sets the associated
|
|
1280
1280
|
* control to that value. It will also mark the control as dirty if this interaction
|
|
@@ -1406,7 +1406,7 @@ NovoDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
|
|
|
1406
1406
|
NovoButtonModule,
|
|
1407
1407
|
NovoPipesModule,
|
|
1408
1408
|
NovoOverlayModule,
|
|
1409
|
-
|
|
1409
|
+
IMaskDirectiveModule,
|
|
1410
1410
|
NovoIconModule,
|
|
1411
1411
|
NovoChipsModule,
|
|
1412
1412
|
NovoCalendarModule], exports: [NovoDatePickerElement, NovoDatePickerInputElement, NovoDateRangeInputElement, NovoMultiDateInputElement] });
|
|
@@ -1416,7 +1416,7 @@ NovoDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
1416
1416
|
NovoButtonModule,
|
|
1417
1417
|
NovoPipesModule,
|
|
1418
1418
|
NovoOverlayModule,
|
|
1419
|
-
|
|
1419
|
+
IMaskDirectiveModule,
|
|
1420
1420
|
NovoIconModule,
|
|
1421
1421
|
NovoChipsModule,
|
|
1422
1422
|
NovoCalendarModule,
|
|
@@ -1430,7 +1430,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1430
1430
|
NovoButtonModule,
|
|
1431
1431
|
NovoPipesModule,
|
|
1432
1432
|
NovoOverlayModule,
|
|
1433
|
-
|
|
1433
|
+
IMaskDirectiveModule,
|
|
1434
1434
|
NovoIconModule,
|
|
1435
1435
|
NovoChipsModule,
|
|
1436
1436
|
NovoCalendarModule,
|