@eo-sdk/client 11.14.27 → 11.14.29
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/app/eo-framework/form-elements/date/date.component.d.ts +15 -2
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +2 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid-filter.model.d.ts.map +1 -1
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +80 -4
- package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +5 -5
- package/esm2022/app/eo-framework/grid/grid-filter.model.mjs +14 -10
- package/fesm2022/eo-sdk-client.mjs +98 -18
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -5644,12 +5644,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
5644
5644
|
}] } });
|
|
5645
5645
|
|
|
5646
5646
|
class DateComponent {
|
|
5647
|
-
constructor(translate) {
|
|
5647
|
+
constructor(translate, elRef) {
|
|
5648
5648
|
this.translate = translate;
|
|
5649
|
+
this.elRef = elRef;
|
|
5649
5650
|
this.withTime = false;
|
|
5650
5651
|
this.readonly = false;
|
|
5651
5652
|
this.onlyFutureDates = false;
|
|
5652
5653
|
this._subs = [];
|
|
5654
|
+
this._pasteListener = (event) => this._handlePaste(event);
|
|
5653
5655
|
this.value = null;
|
|
5654
5656
|
this.locale = this.translate.currentLang;
|
|
5655
5657
|
this.propagateChange = (_) => { };
|
|
@@ -5694,11 +5696,85 @@ class DateComponent {
|
|
|
5694
5696
|
}
|
|
5695
5697
|
ngAfterViewInit() {
|
|
5696
5698
|
this._subs.push(this.picker.statusChanges.subscribe(() => this.validationChange()));
|
|
5699
|
+
// Capture paste events before they reach the yvc-datepicker's internal handler,
|
|
5700
|
+
// which uses new Date(string) and fails for non-US date formats (e.g. DD.MM.YYYY).
|
|
5701
|
+
this.elRef.nativeElement.addEventListener('paste', this._pasteListener, true);
|
|
5697
5702
|
}
|
|
5698
5703
|
ngOnDestroy() {
|
|
5699
5704
|
this._subs.forEach((s) => s.unsubscribe());
|
|
5705
|
+
this.elRef.nativeElement.removeEventListener('paste', this._pasteListener, true);
|
|
5706
|
+
}
|
|
5707
|
+
/**
|
|
5708
|
+
* Intercepts paste events and parses the pasted text using the current locale's
|
|
5709
|
+
* date format, so that e.g. "28.06.2025" is correctly interpreted as June 28, 2025
|
|
5710
|
+
* in German locale instead of being mangled by new Date().
|
|
5711
|
+
*/
|
|
5712
|
+
_handlePaste(event) {
|
|
5713
|
+
const paste = (event.clipboardData || window.clipboardData)?.getData('text')?.trim();
|
|
5714
|
+
if (!paste)
|
|
5715
|
+
return;
|
|
5716
|
+
const parsed = this._parseLocaleDate(paste);
|
|
5717
|
+
if (parsed) {
|
|
5718
|
+
event.preventDefault();
|
|
5719
|
+
event.stopImmediatePropagation();
|
|
5720
|
+
this.value = parsed;
|
|
5721
|
+
this.propagateChange(parsed);
|
|
5722
|
+
}
|
|
5723
|
+
}
|
|
5724
|
+
/**
|
|
5725
|
+
* Parses a date string according to the current locale's date format.
|
|
5726
|
+
* Uses Intl.DateTimeFormat to detect the locale's day/month/year order and separator.
|
|
5727
|
+
*/
|
|
5728
|
+
_parseLocaleDate(text) {
|
|
5729
|
+
const parts = new Intl.DateTimeFormat(this.locale, {
|
|
5730
|
+
day: '2-digit',
|
|
5731
|
+
month: '2-digit',
|
|
5732
|
+
year: 'numeric'
|
|
5733
|
+
}).formatToParts(new Date(2025, 11, 28));
|
|
5734
|
+
const order = [];
|
|
5735
|
+
let separator = '';
|
|
5736
|
+
for (const part of parts) {
|
|
5737
|
+
if (part.type === 'day' || part.type === 'month' || part.type === 'year') {
|
|
5738
|
+
order.push(part.type);
|
|
5739
|
+
}
|
|
5740
|
+
else if (part.type === 'literal' && !separator) {
|
|
5741
|
+
separator = part.value;
|
|
5742
|
+
}
|
|
5743
|
+
}
|
|
5744
|
+
if (!separator || order.length !== 3)
|
|
5745
|
+
return null;
|
|
5746
|
+
const textParts = text.split(separator);
|
|
5747
|
+
if (textParts.length !== 3)
|
|
5748
|
+
return null;
|
|
5749
|
+
// Each part must be purely numeric
|
|
5750
|
+
if (!textParts.every(p => /^\d+$/.test(p)))
|
|
5751
|
+
return null;
|
|
5752
|
+
let day, month, year;
|
|
5753
|
+
for (let i = 0; i < order.length; i++) {
|
|
5754
|
+
const num = parseInt(textParts[i], 10);
|
|
5755
|
+
switch (order[i]) {
|
|
5756
|
+
case 'day':
|
|
5757
|
+
day = num;
|
|
5758
|
+
break;
|
|
5759
|
+
case 'month':
|
|
5760
|
+
month = num;
|
|
5761
|
+
break;
|
|
5762
|
+
case 'year':
|
|
5763
|
+
year = num;
|
|
5764
|
+
break;
|
|
5765
|
+
}
|
|
5766
|
+
}
|
|
5767
|
+
if (month < 1 || month > 12 || day < 1 || day > 31)
|
|
5768
|
+
return null;
|
|
5769
|
+
const date = new Date(year, month - 1, day);
|
|
5770
|
+
// Set year explicitly so years < 100 aren't treated as 1900s
|
|
5771
|
+
date.setFullYear(year);
|
|
5772
|
+
// Verify the components match (catches invalid dates like Feb 30)
|
|
5773
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)
|
|
5774
|
+
return null;
|
|
5775
|
+
return date;
|
|
5700
5776
|
}
|
|
5701
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5777
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateComponent, deps: [{ token: i1.TranslateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5702
5778
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DateComponent, selector: "eo-date", inputs: { withTime: "withTime", readonly: "readonly", onlyFutureDates: "onlyFutureDates" }, providers: [
|
|
5703
5779
|
{
|
|
5704
5780
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -5726,7 +5802,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
5726
5802
|
multi: true,
|
|
5727
5803
|
}
|
|
5728
5804
|
], template: "<yvc-datepicker #picker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"] }]
|
|
5729
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { picker: [{
|
|
5805
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ElementRef }], propDecorators: { picker: [{
|
|
5730
5806
|
type: ViewChild,
|
|
5731
5807
|
args: ['picker', { read: NgModel }]
|
|
5732
5808
|
}], withTime: [{
|
|
@@ -12504,8 +12580,8 @@ PopupService.prototype['isEventFromCurrentPopup'] = function (params, target) {
|
|
|
12504
12580
|
return document.querySelector('yvc-overlay yvc-datepicker-calendar, yvc-overlay eo-tree') ? true : isEventFromCurrentPopup.call(this, params, target);
|
|
12505
12581
|
};
|
|
12506
12582
|
class DatetimeFilterComponent extends DateComponent {
|
|
12507
|
-
constructor(translate, eventService) {
|
|
12508
|
-
super(translate);
|
|
12583
|
+
constructor(translate, elRef, eventService) {
|
|
12584
|
+
super(translate, elRef);
|
|
12509
12585
|
this.eventService = eventService;
|
|
12510
12586
|
this.params = {};
|
|
12511
12587
|
}
|
|
@@ -12527,13 +12603,13 @@ class DatetimeFilterComponent extends DateComponent {
|
|
|
12527
12603
|
afterGuiAttached(params) {
|
|
12528
12604
|
// this.inputMask.el.nativeElement.focus();
|
|
12529
12605
|
}
|
|
12530
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimeFilterComponent, deps: [{ token: i1.TranslateService }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12606
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimeFilterComponent, deps: [{ token: i1.TranslateService }, { token: i0.ElementRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12531
12607
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker #picker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] }); }
|
|
12532
12608
|
}
|
|
12533
12609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DatetimeFilterComponent, decorators: [{
|
|
12534
12610
|
type: Component,
|
|
12535
12611
|
args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker #picker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"] }]
|
|
12536
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.EventService }], propDecorators: { eoDialog: [{
|
|
12612
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ElementRef }, { type: i1.EventService }], propDecorators: { eoDialog: [{
|
|
12537
12613
|
type: ViewChild,
|
|
12538
12614
|
args: [EoDialogComponent]
|
|
12539
12615
|
}] } });
|
|
@@ -23974,22 +24050,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
23974
24050
|
|
|
23975
24051
|
class GridFilter {
|
|
23976
24052
|
static operator(property, filter) {
|
|
23977
|
-
|
|
24053
|
+
const codesystemValue = filter.filter && filter.filter.value && Array.isArray(filter.filter.value) ? filter.filter : null;
|
|
24054
|
+
let firstValue = Array.isArray(filter) ? filter : codesystemValue ? codesystemValue.value : (filter.filter || filter.dateFrom);
|
|
23978
24055
|
const secondValue = filter.filterTo || filter.dateTo;
|
|
23979
|
-
const op =
|
|
23980
|
-
|
|
23981
|
-
filter.type === SimpleFilter.
|
|
23982
|
-
filter.type === SimpleFilter.
|
|
23983
|
-
filter.type === SimpleFilter.
|
|
23984
|
-
filter.type === SimpleFilter.
|
|
23985
|
-
SearchFilter.OPERATOR.
|
|
24056
|
+
const op = codesystemValue ? (codesystemValue.useNot ? codesystemValue.actualOperator : codesystemValue.operator) :
|
|
24057
|
+
Array.isArray(firstValue) ? SearchFilter.OPERATOR.IN :
|
|
24058
|
+
filter.type === SimpleFilter.GREATER_THAN ? SearchFilter.OPERATOR.GREATER_THAN :
|
|
24059
|
+
filter.type === SimpleFilter.GREATER_THAN_OR_EQUAL ? SearchFilter.OPERATOR.GREATER_OR_EQUAL :
|
|
24060
|
+
filter.type === SimpleFilter.LESS_THAN ? SearchFilter.OPERATOR.LESS_THAN :
|
|
24061
|
+
filter.type === SimpleFilter.LESS_THAN_OR_EQUAL ? SearchFilter.OPERATOR.LESS_OR_EQUAL :
|
|
24062
|
+
filter.type === SimpleFilter.IN_RANGE ? SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH :
|
|
24063
|
+
SearchFilter.OPERATOR.EQUAL;
|
|
23986
24064
|
firstValue = firstValue && typeof firstValue === 'string' ? firstValue.replace(/\*/g, '\\*') : firstValue; // wildcard needs to be escaped
|
|
23987
24065
|
firstValue = filter.type === SimpleFilter.CONTAINS ? `*${firstValue}*` :
|
|
23988
24066
|
filter.type === SimpleFilter.STARTS_WITH ? `${firstValue}*` :
|
|
23989
24067
|
filter.type === SimpleFilter.ENDS_WITH ? `*${firstValue}` :
|
|
23990
24068
|
op === SearchFilter.OPERATOR.IN ? firstValue.filter(f => f !== '') :
|
|
23991
24069
|
firstValue;
|
|
23992
|
-
|
|
24070
|
+
const useNot = codesystemValue ? codesystemValue.useNot : undefined;
|
|
24071
|
+
const actualOperator = codesystemValue ? codesystemValue.actualOperator : undefined;
|
|
24072
|
+
return new SearchFilter(property, op, firstValue, secondValue, filter.filterType === 'date' ? { time: true } : undefined, useNot, actualOperator);
|
|
23993
24073
|
}
|
|
23994
24074
|
}
|
|
23995
24075
|
|
|
@@ -24773,10 +24853,10 @@ class AboutStateComponent {
|
|
|
24773
24853
|
this.config = config;
|
|
24774
24854
|
this.titleService = titleService;
|
|
24775
24855
|
this.translate = translate;
|
|
24776
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.14.
|
|
24856
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/common", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/core", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/forms", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.1.0", "license": "MIT" }, { "name": "@angular/router", "version": "18.1.0", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.14.28", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.1.23", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "fast-xml-parser", "version": "5.4.1", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "karma-coverage-istanbul-reporter", "version": "3.0.3", "license": "MIT" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
|
|
24777
24857
|
this.ctrl = {
|
|
24778
24858
|
componentName: 'yuuvis® RAD client',
|
|
24779
|
-
componentVersion: '11.14.
|
|
24859
|
+
componentVersion: '11.14.29',
|
|
24780
24860
|
productName: '',
|
|
24781
24861
|
productVersion: ''
|
|
24782
24862
|
};
|