@elderbyte/ngx-starter 18.11.1 → 18.12.0
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/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +24 -7
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +20 -10
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +58 -0
- package/esm2022/lib/common/time/temporal-util.mjs +7 -1
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +9 -5
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +6 -3
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +13 -3
- package/fesm2022/elderbyte-ngx-starter.mjs +128 -21
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/data-context/data-context-source-event-binding.d.ts +2 -5
- package/lib/common/data/datasource/data-source-change-event.d.ts +14 -5
- package/lib/common/data/datasource/patch/deep-partial-patcher.d.ts +28 -0
- package/lib/common/time/temporal-util.d.ts +2 -0
- package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +2 -2
- package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +2 -1
- package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +4 -2
- package/package.json +1 -1
|
@@ -4,11 +4,6 @@ import { DataContextLifeCycleBinding } from './data-context-life-cycle-binding';
|
|
|
4
4
|
export declare class DataContextSourceEventBinding<T = any> extends DataContextLifeCycleBinding {
|
|
5
5
|
private readonly dataApi;
|
|
6
6
|
private readonly reloadOnChanges;
|
|
7
|
-
/***************************************************************************
|
|
8
|
-
* *
|
|
9
|
-
* Fields *
|
|
10
|
-
* *
|
|
11
|
-
**************************************************************************/
|
|
12
7
|
/***************************************************************************
|
|
13
8
|
* *
|
|
14
9
|
* Constructor *
|
|
@@ -27,5 +22,7 @@ export declare class DataContextSourceEventBinding<T = any> extends DataContextL
|
|
|
27
22
|
* *
|
|
28
23
|
**************************************************************************/
|
|
29
24
|
private handleDataChangeEvent;
|
|
25
|
+
private updateExisting;
|
|
30
26
|
private isReloadDesirable;
|
|
27
|
+
private buildPatchUpdates;
|
|
31
28
|
}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
import { DeepPartialPatch } from './patch/deep-partial-patcher';
|
|
2
|
+
export declare class DataSourceEntityPatch<T, Id = any> {
|
|
3
|
+
entityId: Id;
|
|
4
|
+
patch: DeepPartialPatch<T>;
|
|
5
|
+
constructor(entityId: Id, patch: DeepPartialPatch<T>);
|
|
2
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Notifies about changes in a DataSource.
|
|
9
|
+
*/
|
|
3
10
|
export declare class DataSourceChangeEvent<T, TId = any> {
|
|
4
11
|
readonly deletedIds: TId[];
|
|
5
12
|
readonly modified: T[];
|
|
6
13
|
readonly created: T[];
|
|
7
|
-
|
|
14
|
+
readonly patches: DataSourceEntityPatch<T>[];
|
|
15
|
+
static unknownChanges<T, TId = any>(): DataSourceChangeEvent<T>;
|
|
8
16
|
static deleted<TId>(ids: TId[]): DataSourceChangeEvent<any, TId>;
|
|
9
|
-
static modified<T>(modified: T[]): DataSourceChangeEvent<T>;
|
|
10
|
-
static created<T>(created: T[]): DataSourceChangeEvent<T>;
|
|
17
|
+
static modified<T, TId = any>(modified: T[]): DataSourceChangeEvent<T>;
|
|
18
|
+
static created<T, TId = any>(created: T[]): DataSourceChangeEvent<T>;
|
|
19
|
+
static patched<T, TId = any>(patches: DataSourceEntityPatch<T, TId>[]): DataSourceChangeEvent<T>;
|
|
11
20
|
readonly unknownChanges: boolean;
|
|
12
|
-
constructor(deletedIds: TId[], modified: T[], created: T[]);
|
|
21
|
+
constructor(deletedIds: TId[], modified: T[], created: T[], patches: DataSourceEntityPatch<T>[]);
|
|
13
22
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type DeepPartialPatch<T> = {
|
|
2
|
+
[K in keyof T]?: T[K] extends object ? DeepPartialPatch<T[K]> : T[K];
|
|
3
|
+
};
|
|
4
|
+
export declare class DeepPartialPatcher {
|
|
5
|
+
/***************************************************************************
|
|
6
|
+
* *
|
|
7
|
+
* Public API *
|
|
8
|
+
* *
|
|
9
|
+
**************************************************************************/
|
|
10
|
+
/**
|
|
11
|
+
* All modified parts are deep cloned so the original is never modified.
|
|
12
|
+
*/
|
|
13
|
+
static patchDeepClone<T>(original: T, patch: DeepPartialPatch<T>): T;
|
|
14
|
+
/**
|
|
15
|
+
* Returns a shallow copy of the original, but may modify nested objects.
|
|
16
|
+
*/
|
|
17
|
+
static patchShallowCopy<T>(original: T, patch: DeepPartialPatch<T>): T;
|
|
18
|
+
/**
|
|
19
|
+
* Modifies the original directly. Returns a reference to the original object.
|
|
20
|
+
*/
|
|
21
|
+
static patchOriginal<T>(original: T, patch: DeepPartialPatch<T>): T;
|
|
22
|
+
/***************************************************************************
|
|
23
|
+
* *
|
|
24
|
+
* Private methods *
|
|
25
|
+
* *
|
|
26
|
+
**************************************************************************/
|
|
27
|
+
private static mapReducePatch;
|
|
28
|
+
}
|
|
@@ -13,7 +13,9 @@ export declare class TemporalUtil {
|
|
|
13
13
|
static getCurrentDay(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
14
14
|
static getYesterday(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
15
15
|
static getLastSevenDays(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
16
|
+
static getLastSevenDaysIncludingToday(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
16
17
|
static getLastThirtyDays(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
18
|
+
static getLastThirtyDaysIncludingToday(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
17
19
|
static getCurrentWeek(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
18
20
|
static getCurrentMonth(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
19
21
|
static getCurrentQuarter(referenceDate?: Temporal.PlainDate): TemporalPlainDateInterval;
|
|
@@ -18,7 +18,7 @@ export declare class ElderIntervalPickerToggleComponent {
|
|
|
18
18
|
isDisabledInput: boolean;
|
|
19
19
|
isResultTextVisible: boolean;
|
|
20
20
|
isHelpTextsVisible: boolean;
|
|
21
|
-
|
|
21
|
+
isSelectLastModeExcludingToday: boolean;
|
|
22
22
|
readonly inputAnchorDateTime: import("@angular/core").InputSignal<Date>;
|
|
23
23
|
inputInterval: Interval;
|
|
24
24
|
anchorDateTime: Date;
|
|
@@ -44,5 +44,5 @@ export declare class ElderIntervalPickerToggleComponent {
|
|
|
44
44
|
handleIntervalPickerDateChange(interval: Interval): void;
|
|
45
45
|
registerInputComponent(inputComponent: ElderIntervalInputComponent): void;
|
|
46
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerToggleComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerToggleComponent, "elder-interval-picker-toggle", never, { "intervalInputElement": { "alias": "intervalInputElement"; "required": false; }; "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isDisabledInput": { "alias": "isDisabledInput"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerToggleComponent, "elder-interval-picker-toggle", never, { "intervalInputElement": { "alias": "intervalInputElement"; "required": false; }; "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isDisabledInput": { "alias": "isDisabledInput"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "isSelectLastModeExcludingToday": { "alias": "isSelectLastModeExcludingToday"; "required": false; }; "inputAnchorDateTime": { "alias": "inputAnchorDateTime"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
48
|
}
|
|
@@ -25,6 +25,7 @@ export declare class ElderIntervalPickerComponent {
|
|
|
25
25
|
isAnchorReadOnly: boolean;
|
|
26
26
|
isResultTextVisible: boolean;
|
|
27
27
|
isHelpTextsVisible: boolean;
|
|
28
|
+
isSelectLastModeExcludingToday: boolean;
|
|
28
29
|
dateChange: EventEmitter<Interval>;
|
|
29
30
|
inputInterval: import("@angular/core").InputSignal<Interval>;
|
|
30
31
|
inputAnchorDateTime: import("@angular/core").InputSignal<Date>;
|
|
@@ -69,5 +70,5 @@ export declare class ElderIntervalPickerComponent {
|
|
|
69
70
|
private readonly _updateMatCalendarElAnchorCssClassEffect;
|
|
70
71
|
private readonly _updateMatCalendarElSelectionEffect;
|
|
71
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderIntervalPickerComponent, never>;
|
|
72
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerComponent, "elder-interval-picker", never, { "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "intervalInputMode": { "alias": "intervalInputMode"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "inputInterval": { "alias": "inputInterval"; "required": false; "isSignal": true; }; "inputAnchorDateTime": { "alias": "inputAnchorDateTime"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, never, never, true, never>;
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderIntervalPickerComponent, "elder-interval-picker", never, { "isEmittingOnChange": { "alias": "isEmittingOnChange"; "required": false; }; "intervalInputMode": { "alias": "intervalInputMode"; "required": false; }; "showAnchor": { "alias": "showAnchor"; "required": false; }; "isAnchorReadOnly": { "alias": "isAnchorReadOnly"; "required": false; }; "isResultTextVisible": { "alias": "isResultTextVisible"; "required": false; }; "isHelpTextsVisible": { "alias": "isHelpTextsVisible"; "required": false; }; "isSelectLastModeExcludingToday": { "alias": "isSelectLastModeExcludingToday"; "required": false; }; "inputInterval": { "alias": "inputInterval"; "required": false; "isSignal": true; }; "inputAnchorDateTime": { "alias": "inputAnchorDateTime"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, never, never, true, never>;
|
|
73
74
|
}
|
|
@@ -97,10 +97,12 @@ export declare class ElderIntervalPickerService {
|
|
|
97
97
|
selectYesterday(): void;
|
|
98
98
|
selectCurrentWeek(): void;
|
|
99
99
|
selectPreviousWeek(): void;
|
|
100
|
-
|
|
100
|
+
selectLastSevenDaysExcludingToday(): void;
|
|
101
|
+
selectLastSevenDaysIncludingToday(): void;
|
|
101
102
|
selectCurrentMonth(): void;
|
|
102
103
|
selectPreviousMonth(): void;
|
|
103
|
-
|
|
104
|
+
selectLastThirtyDaysExcludingToday(): void;
|
|
105
|
+
selectLastThirtyDaysIncludingToday(): void;
|
|
104
106
|
selectCurrentYear(): void;
|
|
105
107
|
selectPreviousYear(): void;
|
|
106
108
|
selectLast365Days(): void;
|