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;
|
|
@@ -508,18 +507,16 @@ class NovoDatePickerInputElement {
|
|
|
508
507
|
this._initFormatOptions();
|
|
509
508
|
}
|
|
510
509
|
}
|
|
510
|
+
ngAfterViewInit() {
|
|
511
|
+
this.overlay.panelClosingActions.subscribe(this._handleOverlayClickout.bind(this));
|
|
512
|
+
}
|
|
511
513
|
_initFormatOptions() {
|
|
512
514
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
513
515
|
if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
514
|
-
this.maskOptions = this.maskOptions ||
|
|
515
|
-
mask: this.dateFormatService.getDateMask(),
|
|
516
|
-
pipe: createAutoCorrectedDatePipe((this.format || this.labels.dateFormatString()).toLowerCase()),
|
|
517
|
-
keepCharPositions: false,
|
|
518
|
-
guide: true,
|
|
519
|
-
};
|
|
516
|
+
this.maskOptions = this.maskOptions || this.dateFormatService.getDateMask(this.format);
|
|
520
517
|
}
|
|
521
518
|
else {
|
|
522
|
-
this.maskOptions =
|
|
519
|
+
this.maskOptions = undefined;
|
|
523
520
|
}
|
|
524
521
|
this.setupInvalidDateErrorMessage();
|
|
525
522
|
}
|
|
@@ -533,32 +530,40 @@ class NovoDatePickerInputElement {
|
|
|
533
530
|
this.overlay.closePanel();
|
|
534
531
|
}
|
|
535
532
|
get panelOpen() {
|
|
536
|
-
|
|
533
|
+
var _a;
|
|
534
|
+
return (_a = this.overlay) === null || _a === void 0 ? void 0 : _a.panelOpen;
|
|
537
535
|
}
|
|
538
536
|
/** END: Convenient Panel Methods. */
|
|
539
537
|
_handleKeydown(event) {
|
|
540
538
|
if ((event.key === "Escape" /* Escape */ || event.key === "Enter" /* Enter */ || event.key === "Tab" /* Tab */) && this.panelOpen) {
|
|
541
|
-
this.
|
|
539
|
+
this._handleValueUpdate(event.target.value, true);
|
|
542
540
|
this.closePanel();
|
|
543
541
|
event.stopPropagation();
|
|
544
542
|
}
|
|
545
543
|
}
|
|
546
544
|
_handleInput(event) {
|
|
547
|
-
if
|
|
548
|
-
|
|
545
|
+
// if maskOptions is enabled, then we do not want to process inputs until the mask has accepted them - so those events will be
|
|
546
|
+
// handled by the (accept) event.
|
|
547
|
+
if (document.activeElement === event.target && !this.maskOptions) {
|
|
548
|
+
this._handleValueUpdate(event.target.value, false);
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
551
|
_handleBlur(event) {
|
|
552
|
-
this.
|
|
553
|
-
|
|
552
|
+
if (!this.overlay.isBlurRecipient(event)) {
|
|
553
|
+
this.handleInvalidDate();
|
|
554
|
+
this.blurEvent.emit(event);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
_handleOverlayClickout() {
|
|
558
|
+
this.handleInvalidDate(/*fromPanelClose:*/ true);
|
|
559
|
+
this.blurEvent.emit();
|
|
554
560
|
}
|
|
555
561
|
_handleFocus(event) {
|
|
556
562
|
this.showInvalidDateError = false;
|
|
557
563
|
this.openPanel();
|
|
558
564
|
this.focusEvent.emit(event);
|
|
559
565
|
}
|
|
560
|
-
|
|
561
|
-
const value = event.target.value;
|
|
566
|
+
_handleValueUpdate(value, blur) {
|
|
562
567
|
if (value === '') {
|
|
563
568
|
this.clearValue();
|
|
564
569
|
this.closePanel();
|
|
@@ -568,15 +573,28 @@ class NovoDatePickerInputElement {
|
|
|
568
573
|
this.openPanel();
|
|
569
574
|
}
|
|
570
575
|
}
|
|
576
|
+
handleMaskAccept(maskValue) {
|
|
577
|
+
this._handleValueUpdate(maskValue, false);
|
|
578
|
+
}
|
|
571
579
|
formatDate(value, blur) {
|
|
580
|
+
var _a;
|
|
572
581
|
try {
|
|
573
|
-
|
|
582
|
+
let dateTimeValue;
|
|
583
|
+
let isInvalidDate;
|
|
584
|
+
if (this.format) {
|
|
585
|
+
[dateTimeValue, , isInvalidDate] = this.dateFormatService.parseCustomDateString(value, this.format);
|
|
586
|
+
}
|
|
587
|
+
else {
|
|
588
|
+
[dateTimeValue, , isInvalidDate] = this.dateFormatService.parseString(value, false, 'date');
|
|
589
|
+
}
|
|
574
590
|
this.isInvalidDate = isInvalidDate;
|
|
575
|
-
if
|
|
591
|
+
// if we have a full date - set the dateTimeValue
|
|
592
|
+
if (((_a = dateTimeValue === null || dateTimeValue === void 0 ? void 0 : dateTimeValue.getFullYear()) === null || _a === void 0 ? void 0 : _a.toString().length) === 4) {
|
|
576
593
|
const dt = new Date(dateTimeValue);
|
|
577
594
|
this.dispatchOnChange(dt, blur);
|
|
595
|
+
// if we only have a partial date - set the value to null
|
|
578
596
|
}
|
|
579
|
-
else {
|
|
597
|
+
else if (isNaN(dateTimeValue === null || dateTimeValue === void 0 ? void 0 : dateTimeValue.getUTCDate())) {
|
|
580
598
|
this.dispatchOnChange(null, blur);
|
|
581
599
|
}
|
|
582
600
|
}
|
|
@@ -594,11 +612,13 @@ class NovoDatePickerInputElement {
|
|
|
594
612
|
setDisabledState(disabled) {
|
|
595
613
|
this.disabled = disabled;
|
|
596
614
|
}
|
|
597
|
-
handleInvalidDate() {
|
|
598
|
-
if (this.isInvalidDate && this.value) {
|
|
615
|
+
handleInvalidDate(fromPanelClose = false) {
|
|
616
|
+
if (this.isInvalidDate) { //} && this.value) {
|
|
599
617
|
this.showInvalidDateError = true;
|
|
600
618
|
this.clearValue();
|
|
601
|
-
|
|
619
|
+
if (!fromPanelClose) {
|
|
620
|
+
this.closePanel();
|
|
621
|
+
}
|
|
602
622
|
}
|
|
603
623
|
}
|
|
604
624
|
setupInvalidDateErrorMessage() {
|
|
@@ -653,7 +673,8 @@ class NovoDatePickerInputElement {
|
|
|
653
673
|
* stemmed from the user.
|
|
654
674
|
*/
|
|
655
675
|
setValueAndClose(event) {
|
|
656
|
-
if (event
|
|
676
|
+
if (event === null || event === void 0 ? void 0 : event.date) {
|
|
677
|
+
this.showInvalidDateError = false;
|
|
657
678
|
this.dispatchOnChange(event.date, true);
|
|
658
679
|
}
|
|
659
680
|
this.closePanel();
|
|
@@ -702,12 +723,13 @@ NovoDatePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
702
723
|
type="text"
|
|
703
724
|
[name]="name"
|
|
704
725
|
[(ngModel)]="formattedValue"
|
|
705
|
-
[
|
|
726
|
+
[imask]="maskOptions"
|
|
706
727
|
[placeholder]="placeholder"
|
|
707
728
|
(focus)="_handleFocus($event)"
|
|
708
729
|
(keydown)="_handleKeydown($event)"
|
|
709
730
|
(input)="_handleInput($event)"
|
|
710
731
|
(blur)="_handleBlur($event)"
|
|
732
|
+
(accept)="handleMaskAccept($event)"
|
|
711
733
|
#input
|
|
712
734
|
data-automation-id="date-input"
|
|
713
735
|
[disabled]="disabled"
|
|
@@ -726,7 +748,7 @@ NovoDatePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
726
748
|
[weekStart]="weekStart"
|
|
727
749
|
></novo-date-picker>
|
|
728
750
|
</novo-overlay-template>
|
|
729
|
-
`, 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.
|
|
751
|
+
`, 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"] }] });
|
|
730
752
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDatePickerInputElement, decorators: [{
|
|
731
753
|
type: Component,
|
|
732
754
|
args: [{ selector: 'novo-date-picker-input', providers: [DATE_VALUE_ACCESSOR$1], template: `
|
|
@@ -734,12 +756,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
734
756
|
type="text"
|
|
735
757
|
[name]="name"
|
|
736
758
|
[(ngModel)]="formattedValue"
|
|
737
|
-
[
|
|
759
|
+
[imask]="maskOptions"
|
|
738
760
|
[placeholder]="placeholder"
|
|
739
761
|
(focus)="_handleFocus($event)"
|
|
740
762
|
(keydown)="_handleKeydown($event)"
|
|
741
763
|
(input)="_handleInput($event)"
|
|
742
764
|
(blur)="_handleBlur($event)"
|
|
765
|
+
(accept)="handleMaskAccept($event)"
|
|
743
766
|
#input
|
|
744
767
|
data-automation-id="date-input"
|
|
745
768
|
[disabled]="disabled"
|
|
@@ -858,15 +881,10 @@ class NovoDateRangeInputElement {
|
|
|
858
881
|
_initFormatOptions() {
|
|
859
882
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
860
883
|
if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
861
|
-
this.maskOptions = this.maskOptions ||
|
|
862
|
-
mask: this.dateFormatService.getDateMask(),
|
|
863
|
-
pipe: createAutoCorrectedDatePipe((this.format || this.labels.dateFormatString()).toLowerCase()),
|
|
864
|
-
keepCharPositions: false,
|
|
865
|
-
guide: true,
|
|
866
|
-
};
|
|
884
|
+
this.maskOptions = this.maskOptions || this.dateFormatService.getDateMask(this.format);
|
|
867
885
|
}
|
|
868
886
|
else {
|
|
869
|
-
this.maskOptions =
|
|
887
|
+
this.maskOptions = undefined;
|
|
870
888
|
}
|
|
871
889
|
}
|
|
872
890
|
/** BEGIN: Convenient Panel Methods. */
|
|
@@ -898,7 +916,7 @@ class NovoDateRangeInputElement {
|
|
|
898
916
|
formatDate(value) {
|
|
899
917
|
try {
|
|
900
918
|
const [dateTimeValue] = this.dateFormatService.parseString(value, false, 'date');
|
|
901
|
-
return new Date(dateTimeValue);
|
|
919
|
+
return dateTimeValue ? new Date(dateTimeValue) : null;
|
|
902
920
|
}
|
|
903
921
|
catch (err) {
|
|
904
922
|
return null;
|
|
@@ -1015,7 +1033,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1015
1033
|
type="text"
|
|
1016
1034
|
[name]="name"
|
|
1017
1035
|
[(ngModel)]="formattedStartDate"
|
|
1018
|
-
[
|
|
1036
|
+
[imask]="maskOptions"
|
|
1019
1037
|
[placeholder]="placeholder"
|
|
1020
1038
|
(keydown)="_onStartInputChange($event)"
|
|
1021
1039
|
(input)="_onStartInputChange($event)"
|
|
@@ -1034,7 +1052,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1034
1052
|
type="text"
|
|
1035
1053
|
[name]="name"
|
|
1036
1054
|
[(ngModel)]="formattedEndDate"
|
|
1037
|
-
[
|
|
1055
|
+
[imask]="maskOptions"
|
|
1038
1056
|
[placeholder]="placeholder"
|
|
1039
1057
|
(keydown)="_onEndInputChange($event)"
|
|
1040
1058
|
(input)="_onEndInputChange($event)"
|
|
@@ -1059,7 +1077,7 @@ NovoDateRangeInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1059
1077
|
[weekStart]="weekStart"
|
|
1060
1078
|
></novo-date-picker>
|
|
1061
1079
|
</novo-overlay-template>
|
|
1062
|
-
`, 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.
|
|
1080
|
+
`, 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"] }] });
|
|
1063
1081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDateRangeInputElement, decorators: [{
|
|
1064
1082
|
type: Component,
|
|
1065
1083
|
args: [{ selector: 'novo-date-range-input', providers: [DATE_VALUE_ACCESSOR], template: `
|
|
@@ -1068,7 +1086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1068
1086
|
type="text"
|
|
1069
1087
|
[name]="name"
|
|
1070
1088
|
[(ngModel)]="formattedStartDate"
|
|
1071
|
-
[
|
|
1089
|
+
[imask]="maskOptions"
|
|
1072
1090
|
[placeholder]="placeholder"
|
|
1073
1091
|
(keydown)="_onStartInputChange($event)"
|
|
1074
1092
|
(input)="_onStartInputChange($event)"
|
|
@@ -1087,7 +1105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1087
1105
|
type="text"
|
|
1088
1106
|
[name]="name"
|
|
1089
1107
|
[(ngModel)]="formattedEndDate"
|
|
1090
|
-
[
|
|
1108
|
+
[imask]="maskOptions"
|
|
1091
1109
|
[placeholder]="placeholder"
|
|
1092
1110
|
(keydown)="_onEndInputChange($event)"
|
|
1093
1111
|
(input)="_onEndInputChange($event)"
|
|
@@ -1198,7 +1216,6 @@ class NovoMultiDateInputElement {
|
|
|
1198
1216
|
set value(value) {
|
|
1199
1217
|
if (this.value !== value) {
|
|
1200
1218
|
this._value = value;
|
|
1201
|
-
this._setFormValue(value);
|
|
1202
1219
|
this.onChangeCallback(this._value);
|
|
1203
1220
|
}
|
|
1204
1221
|
}
|
|
@@ -1211,16 +1228,6 @@ class NovoMultiDateInputElement {
|
|
|
1211
1228
|
}
|
|
1212
1229
|
ngOnInit() {
|
|
1213
1230
|
this.userDefinedFormat = this.format ? !this.format.match(/^(DD\/MM\/YYYY|MM\/DD\/YYYY)$/g) : false;
|
|
1214
|
-
// if (!this.userDefinedFormat && this.textMaskEnabled && !this.allowInvalidDate) {
|
|
1215
|
-
// this.maskOptions = this.maskOptions || {
|
|
1216
|
-
// mask: this.dateFormatService.getDateMask(),
|
|
1217
|
-
// pipe: createAutoCorrectedDatePipe(this.format || this.labels.dateFormatString().toLowerCase()),
|
|
1218
|
-
// keepCharPositions: false,
|
|
1219
|
-
// guide: true,
|
|
1220
|
-
// };
|
|
1221
|
-
// } else {
|
|
1222
|
-
// this.maskOptions = { mask: false };
|
|
1223
|
-
// }
|
|
1224
1231
|
}
|
|
1225
1232
|
formatter(value) {
|
|
1226
1233
|
const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, false, 'date');
|
|
@@ -1272,11 +1279,6 @@ class NovoMultiDateInputElement {
|
|
|
1272
1279
|
registerOnTouched(fn) {
|
|
1273
1280
|
this.onTouchedCallback = fn;
|
|
1274
1281
|
}
|
|
1275
|
-
_setFormValue(value) {
|
|
1276
|
-
if (this.value) {
|
|
1277
|
-
// this.formattedStartDate = this.formatDateValue(this.value.startDate);
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
1282
|
/**
|
|
1281
1283
|
* This method closes the panel, and if a value is specified, also sets the associated
|
|
1282
1284
|
* control to that value. It will also mark the control as dirty if this interaction
|
|
@@ -1408,7 +1410,7 @@ NovoDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
|
|
|
1408
1410
|
NovoButtonModule,
|
|
1409
1411
|
NovoPipesModule,
|
|
1410
1412
|
NovoOverlayModule,
|
|
1411
|
-
|
|
1413
|
+
IMaskDirectiveModule,
|
|
1412
1414
|
NovoIconModule,
|
|
1413
1415
|
NovoChipsModule,
|
|
1414
1416
|
NovoCalendarModule], exports: [NovoDatePickerElement, NovoDatePickerInputElement, NovoDateRangeInputElement, NovoMultiDateInputElement] });
|
|
@@ -1418,7 +1420,7 @@ NovoDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
1418
1420
|
NovoButtonModule,
|
|
1419
1421
|
NovoPipesModule,
|
|
1420
1422
|
NovoOverlayModule,
|
|
1421
|
-
|
|
1423
|
+
IMaskDirectiveModule,
|
|
1422
1424
|
NovoIconModule,
|
|
1423
1425
|
NovoChipsModule,
|
|
1424
1426
|
NovoCalendarModule,
|
|
@@ -1432,7 +1434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1432
1434
|
NovoButtonModule,
|
|
1433
1435
|
NovoPipesModule,
|
|
1434
1436
|
NovoOverlayModule,
|
|
1435
|
-
|
|
1437
|
+
IMaskDirectiveModule,
|
|
1436
1438
|
NovoIconModule,
|
|
1437
1439
|
NovoChipsModule,
|
|
1438
1440
|
NovoCalendarModule,
|