@igo2/common 19.0.2 → 20.0.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/action/index.d.ts +194 -3
- package/backdrop/index.d.ts +20 -3
- package/badge/index.d.ts +44 -3
- package/clickout/index.d.ts +20 -3
- package/clone/index.d.ts +18 -3
- package/collapsible/index.d.ts +43 -3
- package/color/index.d.ts +38 -3
- package/confirm-dialog/index.d.ts +39 -5
- package/context-menu/index.d.ts +50 -3
- package/custom-html/index.d.ts +30 -3
- package/dom/index.d.ts +34 -3
- package/drag-drop/index.d.ts +124 -3
- package/dynamic-component/index.d.ts +186 -3
- package/entity/index.d.ts +1532 -3
- package/environment/index.d.ts +15 -5
- package/fesm2022/igo2-common-action.mjs +28 -38
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +7 -7
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +10 -13
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +10 -13
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +14 -18
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +9 -9
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +19 -26
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +16 -21
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +14 -17
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +11 -14
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +15 -17
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +20 -27
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +69 -108
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +13 -18
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +77 -112
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +7 -7
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +14 -21
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +53 -57
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +43 -56
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +19 -28
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +16 -23
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +9 -9
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +28 -44
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +10 -16
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +15 -21
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +9 -11
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +16 -22
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +19 -24
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +20 -20
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/flexible/index.d.ts +54 -3
- package/form/index.d.ts +429 -3
- package/home-button/index.d.ts +18 -3
- package/icon/index.d.ts +42 -3
- package/image/index.d.ts +35 -3
- package/index.d.ts +16 -5
- package/interactive-tour/index.d.ts +116 -5
- package/json-dialog/index.d.ts +34 -5
- package/keyvalue/index.d.ts +18 -3
- package/list/index.d.ts +102 -3
- package/package.json +10 -13
- package/panel/index.d.ts +20 -3
- package/resizable-bar/index.d.ts +37 -5
- package/select-value-dialog/index.d.ts +65 -5
- package/sidenav/index.d.ts +29 -3
- package/spinner/index.d.ts +51 -3
- package/src/style/partial/common-utils.scss +1 -1
- package/stop-propagation/index.d.ts +26 -3
- package/table/index.d.ts +105 -3
- package/tool/index.d.ts +289 -3
- package/widget/index.d.ts +105 -3
- package/workspace/index.d.ts +237 -3
- package/action/action.module.d.ts +0 -10
- package/action/actionbar/actionbar-item.component.d.ts +0 -73
- package/action/actionbar/actionbar.component.d.ts +0 -148
- package/action/actionbar/actionbar.module.d.ts +0 -10
- package/action/public_api.d.ts +0 -4
- package/action/shared/action.enums.d.ts +0 -5
- package/action/shared/action.interfaces.d.ts +0 -16
- package/action/shared/index.d.ts +0 -3
- package/action/shared/store.d.ts +0 -8
- package/action/src/action.theming.scss +0 -9
- package/action/src/actionbar/actionbar-item.theming.scss +0 -20
- package/backdrop/backdrop.component.d.ts +0 -8
- package/backdrop/backdrop.module.d.ts +0 -12
- package/backdrop/public_api.d.ts +0 -2
- package/badge/badge-icon.directive.d.ts +0 -34
- package/badge/badge-icon.module.d.ts +0 -12
- package/badge/public_api.d.ts +0 -2
- package/clickout/clickout.directive.d.ts +0 -10
- package/clickout/clickout.module.d.ts +0 -12
- package/clickout/public_api.d.ts +0 -2
- package/clone/clone.module.d.ts +0 -12
- package/clone/clone.pipe.d.ts +0 -7
- package/clone/public_api.d.ts +0 -2
- package/collapsible/collapse.directive.d.ts +0 -19
- package/collapsible/collapsible.component.d.ts +0 -13
- package/collapsible/collapsible.module.d.ts +0 -13
- package/collapsible/public_api.d.ts +0 -6
- package/color/color-picker-form-field/color-picker-form-field.component.d.ts +0 -29
- package/color/color-picker-form-field/color-picker-form-field.module.d.ts +0 -10
- package/color/color-picker-form-field/index.d.ts +0 -2
- package/color/public_api.d.ts +0 -1
- package/confirm-dialog/confirm-dialog.component.d.ts +0 -12
- package/confirm-dialog/confirm-dialog.interface.d.ts +0 -4
- package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
- package/confirm-dialog/confirm-dialog.service.d.ts +0 -11
- package/confirm-dialog/public_api.d.ts +0 -4
- package/context-menu/context-menu.directive.d.ts +0 -21
- package/context-menu/context-menu.module.d.ts +0 -13
- package/context-menu/long-press.directive.d.ts +0 -19
- package/context-menu/public_api.d.ts +0 -6
- package/custom-html/custom-html.component.d.ts +0 -8
- package/custom-html/custom-html.module.d.ts +0 -13
- package/custom-html/custom-html.pipe.d.ts +0 -10
- package/custom-html/public_api.d.ts +0 -6
- package/dom/dom.interfaces.d.ts +0 -10
- package/dom/dom.module.d.ts +0 -14
- package/dom/dom.service.d.ts +0 -10
- package/dom/public_api.d.ts +0 -3
- package/drag-drop/drag-drop.directive.d.ts +0 -14
- package/drag-drop/drag-drop.module.d.ts +0 -13
- package/drag-drop/public_api.d.ts +0 -3
- package/drag-drop/tree-drag-drop/index.d.ts +0 -2
- package/drag-drop/tree-drag-drop/tree-drag-drop.directive.d.ts +0 -85
- package/drag-drop/tree-drag-drop/tree-drag-drop.interface.d.ts +0 -15
- package/dynamic-component/dynamic-component.module.d.ts +0 -10
- package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +0 -66
- package/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +0 -10
- package/dynamic-component/public_api.d.ts +0 -4
- package/dynamic-component/shared/dynamic-component.d.ts +0 -84
- package/dynamic-component/shared/dynamic-component.interfaces.d.ts +0 -3
- package/dynamic-component/shared/dynamic-component.service.d.ts +0 -18
- package/dynamic-component/shared/index.d.ts +0 -3
- package/entity/entity-selector/entity-selector.component.d.ts +0 -93
- package/entity/entity-selector/entity-selector.module.d.ts +0 -10
- package/entity/entity-selector/index.d.ts +0 -2
- package/entity/entity-table/entity-table-row.directive.d.ts +0 -69
- package/entity/entity-table/entity-table.component.d.ts +0 -330
- package/entity/entity-table/entity-table.module.d.ts +0 -10
- package/entity/entity-table/index.d.ts +0 -2
- package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -50
- package/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -8
- package/entity/entity-table-paginator/entity-table-paginator.module.d.ts +0 -10
- package/entity/entity-table-paginator/index.d.ts +0 -3
- package/entity/entity.module.d.ts +0 -16
- package/entity/public_api.d.ts +0 -5
- package/entity/shared/entity.enums.d.ts +0 -23
- package/entity/shared/entity.interfaces.d.ts +0 -92
- package/entity/shared/entity.utils.d.ts +0 -49
- package/entity/shared/index.d.ts +0 -9
- package/entity/shared/state.d.ts +0 -108
- package/entity/shared/store.d.ts +0 -180
- package/entity/shared/strategies/filter-custom-function.d.ts +0 -51
- package/entity/shared/strategies/filter-selection.d.ts +0 -48
- package/entity/shared/strategies/index.d.ts +0 -3
- package/entity/shared/strategies/strategy.d.ts +0 -56
- package/entity/shared/transaction.d.ts +0 -171
- package/entity/shared/view.d.ts +0 -193
- package/entity/shared/watcher.d.ts +0 -72
- package/entity/src/entity-selector/entity-selector.theming.scss +0 -21
- package/entity/src/entity-table/entity-table.theming.scss +0 -21
- package/entity/src/entity.theming.scss +0 -12
- package/environment/environment.interface.d.ts +0 -13
- package/environment/public_api.d.ts +0 -1
- package/flexible/flexible.component.d.ts +0 -42
- package/flexible/flexible.module.d.ts +0 -12
- package/flexible/flexible.type.d.ts +0 -2
- package/flexible/public_api.d.ts +0 -3
- package/form/form/form.component.d.ts +0 -46
- package/form/form/form.module.d.ts +0 -10
- package/form/form/index.d.ts +0 -2
- package/form/form-dialog/form-dialog.component.d.ts +0 -19
- package/form/form-dialog/form-dialog.interface.d.ts +0 -16
- package/form/form-dialog/form-dialog.module.d.ts +0 -16
- package/form/form-dialog/form-dialog.service.d.ts +0 -11
- package/form/form-dialog/index.d.ts +0 -4
- package/form/form-field/form-field-select.component.d.ts +0 -50
- package/form/form-field/form-field-text.component.d.ts +0 -49
- package/form/form-field/form-field-textarea.component.d.ts +0 -39
- package/form/form-field/form-field.component.d.ts +0 -29
- package/form/form-field/form-field.directive.d.ts +0 -5
- package/form/form-field/form-field.module.d.ts +0 -13
- package/form/form-field/index.d.ts +0 -6
- package/form/form-group/form-group.component.d.ts +0 -44
- package/form/form-group/form-group.module.d.ts +0 -10
- package/form/form-group/index.d.ts +0 -2
- package/form/form.module.d.ts +0 -18
- package/form/public_api.d.ts +0 -6
- package/form/shared/form-field-component.d.ts +0 -1
- package/form/shared/form-field.service.d.ts +0 -16
- package/form/shared/form.interfaces.d.ts +0 -60
- package/form/shared/form.service.d.ts +0 -15
- package/form/shared/form.utils.d.ts +0 -7
- package/form/shared/index.d.ts +0 -5
- package/home-button/home-button.component.d.ts +0 -8
- package/home-button/home-button.module.d.ts +0 -10
- package/home-button/public_api.d.ts +0 -2
- package/icon/icon/icon.component.d.ts +0 -15
- package/icon/icon.provider.d.ts +0 -4
- package/icon/public_api.d.ts +0 -3
- package/icon/shared/icon.interface.d.ts +0 -4
- package/icon/shared/icon.service.d.ts +0 -12
- package/icon/shared/icons.d.ts +0 -11
- package/icon/shared/index.d.ts +0 -3
- package/image/image-error.directive.d.ts +0 -11
- package/image/image.module.d.ts +0 -13
- package/image/public_api.d.ts +0 -6
- package/image/secure-image.pipe.d.ts +0 -13
- package/interactive-tour/interactive-tour.component.d.ts +0 -33
- package/interactive-tour/interactive-tour.interface.d.ts +0 -35
- package/interactive-tour/interactive-tour.loader.d.ts +0 -18
- package/interactive-tour/interactive-tour.module.d.ts +0 -7
- package/interactive-tour/interactive-tour.service.d.ts +0 -30
- package/interactive-tour/public_api.d.ts +0 -5
- package/json-dialog/json-dialog.component.d.ts +0 -13
- package/json-dialog/json-dialog.module.d.ts +0 -12
- package/json-dialog/json-dialog.service.d.ts +0 -10
- package/json-dialog/public_api.d.ts +0 -3
- package/keyvalue/keyvalue.module.d.ts +0 -12
- package/keyvalue/keyvalue.pipe.d.ts +0 -7
- package/keyvalue/public_api.d.ts +0 -2
- package/list/list-item.directive.d.ts +0 -43
- package/list/list.component.d.ts +0 -51
- package/list/list.module.d.ts +0 -13
- package/list/public_api.d.ts +0 -6
- package/panel/panel.component.d.ts +0 -10
- package/panel/panel.module.d.ts +0 -10
- package/panel/public_api.d.ts +0 -2
- package/panel/src/panel.theming.scss +0 -20
- package/public_api.d.ts +0 -16
- package/resizable-bar/public_api.d.ts +0 -2
- package/resizable-bar/resizable-bar.component.d.ts +0 -23
- package/resizable-bar/shared/resize.directive.d.ts +0 -12
- package/select-value-dialog/public_api.d.ts +0 -5
- package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
- package/select-value-dialog/select-value-dialog.enums.d.ts +0 -4
- package/select-value-dialog/select-value-dialog.interface.d.ts +0 -16
- package/select-value-dialog/select-value-dialog.module.d.ts +0 -12
- package/select-value-dialog/select-value-dialog.service.d.ts +0 -11
- package/sidenav/public_api.d.ts +0 -2
- package/sidenav/sidenav-shim.directive.d.ts +0 -20
- package/sidenav/sidenav.module.d.ts +0 -12
- package/spinner/public_api.d.ts +0 -3
- package/spinner/spinner-activity.directive.d.ts +0 -32
- package/spinner/spinner.component.d.ts +0 -11
- package/spinner/spinner.module.d.ts +0 -14
- package/src/common.theme.scss +0 -18
- package/stop-propagation/public_api.d.ts +0 -6
- package/stop-propagation/stop-drop-propagation.directive.d.ts +0 -6
- package/stop-propagation/stop-propagation.directive.d.ts +0 -6
- package/stop-propagation/stop-propagation.module.d.ts +0 -13
- package/table/public_api.d.ts +0 -6
- package/table/table-action-color.enum.d.ts +0 -5
- package/table/table-database.d.ts +0 -10
- package/table/table-datasource.d.ts +0 -18
- package/table/table-model.interface.d.ts +0 -24
- package/table/table.component.d.ts +0 -40
- package/table/table.module.d.ts +0 -12
- package/tool/public_api.d.ts +0 -3
- package/tool/shared/index.d.ts +0 -5
- package/tool/shared/tool-component.d.ts +0 -2
- package/tool/shared/tool.interface.d.ts +0 -16
- package/tool/shared/tool.service.d.ts +0 -28
- package/tool/shared/toolbox.d.ts +0 -96
- package/tool/shared/toolbox.enums.d.ts +0 -1
- package/tool/src/tool.theming.scss +0 -5
- package/tool/src/toolbox/toolbox.theming.scss +0 -22
- package/tool/tool.module.d.ts +0 -15
- package/tool/toolbox/index.d.ts +0 -2
- package/tool/toolbox/toolbox.animation.d.ts +0 -2
- package/tool/toolbox/toolbox.component.d.ts +0 -126
- package/tool/toolbox/toolbox.module.d.ts +0 -10
- package/widget/public_api.d.ts +0 -3
- package/widget/shared/index.d.ts +0 -3
- package/widget/shared/widget.d.ts +0 -4
- package/widget/shared/widget.interfaces.d.ts +0 -12
- package/widget/shared/widget.service.d.ts +0 -10
- package/widget/widget-outlet/index.d.ts +0 -2
- package/widget/widget-outlet/widget-outlet.component.d.ts +0 -64
- package/widget/widget-outlet/widget-outlet.module.d.ts +0 -10
- package/widget/widget.module.d.ts +0 -10
- package/workspace/public_api.d.ts +0 -4
- package/workspace/shared/index.d.ts +0 -3
- package/workspace/shared/store.d.ts +0 -20
- package/workspace/shared/workspace.d.ts +0 -98
- package/workspace/shared/workspace.interfaces.d.ts +0 -9
- package/workspace/workspace-selector/index.d.ts +0 -2
- package/workspace/workspace-selector/workspace-selector.component.d.ts +0 -38
- package/workspace/workspace-selector/workspace-selector.module.d.ts +0 -10
- package/workspace/workspace-widget-outlet/index.d.ts +0 -2
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -52
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -10
- package/workspace/workspace.module.d.ts +0 -14
package/entity/index.d.ts
CHANGED
|
@@ -1,5 +1,1534 @@
|
|
|
1
|
+
import { Observable, ReplaySubject, BehaviorSubject } from 'rxjs';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { ChangeDetectorRef, OnInit, OnDestroy, EventEmitter, OnChanges, ElementRef, SimpleChanges, TrackByFunction } from '@angular/core';
|
|
4
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
5
|
+
import { NgControl, NgForm, FormControlName, UntypedFormGroup } from '@angular/forms';
|
|
6
|
+
import { ErrorStateMatcher } from '@angular/material/core';
|
|
7
|
+
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
8
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
9
|
+
|
|
10
|
+
declare enum EntityOperationType {
|
|
11
|
+
Insert = "Insert",
|
|
12
|
+
Update = "Update",
|
|
13
|
+
Delete = "Delete"
|
|
14
|
+
}
|
|
15
|
+
declare enum EntityTableColumnRenderer {
|
|
16
|
+
Default = "Default",
|
|
17
|
+
HTML = "HTML",
|
|
18
|
+
UnsanitizedHTML = "UnsanitizedHTML",
|
|
19
|
+
Editable = "Editable",
|
|
20
|
+
Icon = "Icon",
|
|
21
|
+
ButtonGroup = "ButtonGroup"
|
|
22
|
+
}
|
|
23
|
+
declare enum EntityTableScrollBehavior {
|
|
24
|
+
Auto = "auto",
|
|
25
|
+
Instant = "instant",
|
|
26
|
+
Smooth = "smooth"
|
|
27
|
+
}
|
|
28
|
+
declare enum EntityTableSelectionState {
|
|
29
|
+
None = "None",
|
|
30
|
+
All = "All",
|
|
31
|
+
Some = "Some"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type EntityKey = string | number;
|
|
35
|
+
type EntityState = Record<string, any>;
|
|
36
|
+
interface EntityRecord<E extends object, S extends EntityState = EntityState> {
|
|
37
|
+
entity: E;
|
|
38
|
+
state: S;
|
|
39
|
+
revision: number;
|
|
40
|
+
ref: string;
|
|
41
|
+
edition?: boolean;
|
|
42
|
+
}
|
|
43
|
+
interface EntityStoreStrategyOptions {
|
|
44
|
+
}
|
|
45
|
+
interface EntityStoreStrategyFuncOptions extends EntityStoreStrategyOptions {
|
|
46
|
+
filterClauseFunc: EntityFilterClause;
|
|
47
|
+
}
|
|
48
|
+
interface EntityTransactionOptions {
|
|
49
|
+
getKey?: (entity: object) => EntityKey;
|
|
50
|
+
}
|
|
51
|
+
type EntityFilterClause<E = object> = (entity: E) => boolean;
|
|
52
|
+
interface EntitySortClause<E = object> {
|
|
53
|
+
valueAccessor: (entity: E) => string | number;
|
|
54
|
+
direction: string;
|
|
55
|
+
nullsFirst?: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface EntityJoinClause {
|
|
58
|
+
source: Observable<any | void>;
|
|
59
|
+
reduce: (param1: object, param2: any) => object;
|
|
60
|
+
}
|
|
61
|
+
interface EntityOperationState {
|
|
62
|
+
added: boolean;
|
|
63
|
+
canceled: boolean;
|
|
64
|
+
}
|
|
65
|
+
interface EntityTableTemplate {
|
|
66
|
+
columns: EntityTableColumn[];
|
|
67
|
+
selection?: boolean;
|
|
68
|
+
selectionCheckbox?: boolean;
|
|
69
|
+
selectMany?: boolean;
|
|
70
|
+
sort?: boolean;
|
|
71
|
+
fixedHeader?: boolean;
|
|
72
|
+
tableHeight?: string;
|
|
73
|
+
valueAccessor?: (entity: object, property: string, record: EntityRecord<object>) => any;
|
|
74
|
+
headerClassFunc?: () => Record<string, boolean>;
|
|
75
|
+
rowClassFunc?: (entity: object, record: EntityRecord<object>) => Record<string, boolean>;
|
|
76
|
+
cellClassFunc?: (entity: object, column: EntityTableColumn, record: EntityRecord<object>) => Record<string, boolean>;
|
|
77
|
+
}
|
|
78
|
+
interface EntityTableColumnValidation {
|
|
79
|
+
readonly?: boolean;
|
|
80
|
+
mandatory?: boolean;
|
|
81
|
+
maxlength?: number;
|
|
82
|
+
minlength?: number;
|
|
83
|
+
minValue?: number;
|
|
84
|
+
maxValue?: number;
|
|
85
|
+
}
|
|
86
|
+
interface TableRelation {
|
|
87
|
+
table: string;
|
|
88
|
+
}
|
|
89
|
+
interface EntityTableColumn {
|
|
90
|
+
validation?: EntityTableColumnValidation;
|
|
91
|
+
name: string;
|
|
92
|
+
title: string;
|
|
93
|
+
renderer?: EntityTableColumnRenderer;
|
|
94
|
+
valueAccessor?: (entity: object, record: EntityRecord<object>) => any;
|
|
95
|
+
visible?: boolean;
|
|
96
|
+
linkColumnForce?: string;
|
|
97
|
+
sort?: boolean;
|
|
98
|
+
type?: string;
|
|
99
|
+
multiple?: boolean;
|
|
100
|
+
domainValues?: SelectOption[];
|
|
101
|
+
relation?: TableRelation;
|
|
102
|
+
tooltip?: string;
|
|
103
|
+
cellClassFunc?: (entity: object, record: EntityRecord<object>) => Record<string, boolean>;
|
|
104
|
+
step?: number;
|
|
105
|
+
icon?: string;
|
|
106
|
+
onBlur?: (event: Event) => void;
|
|
107
|
+
onChange?: (event: Event) => void;
|
|
108
|
+
onClick?: (event: Event) => void;
|
|
109
|
+
onFocus?: (event: Event) => void;
|
|
110
|
+
}
|
|
111
|
+
interface SelectOption {
|
|
112
|
+
id: number;
|
|
113
|
+
value: string;
|
|
114
|
+
disabled?: boolean;
|
|
115
|
+
}
|
|
116
|
+
interface EntityTableButton {
|
|
117
|
+
icon: string;
|
|
118
|
+
click: (entity: object, record: EntityRecord<object>) => void;
|
|
119
|
+
color?: 'primary' | 'accent' | 'warn';
|
|
120
|
+
disabled?: boolean;
|
|
121
|
+
style?: 'mat-mini-fab' | 'mat-icon-button';
|
|
122
|
+
editMode?: boolean;
|
|
123
|
+
}
|
|
124
|
+
|
|
1
125
|
/**
|
|
2
|
-
*
|
|
126
|
+
* Get an entity's named property. Nested properties are supported
|
|
127
|
+
* with the dotted notation. (i.e 'author.name')
|
|
128
|
+
*
|
|
129
|
+
* Note: this method is a 'best attempt' at getting an entity's property.
|
|
130
|
+
* It fits the most common cases but you might need to explicitely define
|
|
131
|
+
* a property getter when using an EntityStore, for example.
|
|
132
|
+
* @param entity Entity
|
|
133
|
+
* @param property Property name
|
|
134
|
+
* @returns Property value
|
|
3
135
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
136
|
+
declare function getEntityProperty(entity: object, property: string): any;
|
|
137
|
+
/**
|
|
138
|
+
* Get an entity's id. An entity's id can be one of:
|
|
139
|
+
* 'entity.meta.id', 'entity.meta.idProperty' or 'entity.id'.
|
|
140
|
+
*
|
|
141
|
+
* Note: See the note in the 'getEntityProperty' documentation.
|
|
142
|
+
* @param entity Entity
|
|
143
|
+
* @returns Entity id
|
|
144
|
+
*/
|
|
145
|
+
declare function getEntityId(entity: object): EntityKey;
|
|
146
|
+
/**
|
|
147
|
+
* Get an entity's title. An entity's title can be one of:
|
|
148
|
+
* 'entity.meta.title', 'entity.meta.titleProperty' or 'entity.title'.
|
|
149
|
+
* @param entity Entity
|
|
150
|
+
* @returns Entity title
|
|
151
|
+
*/
|
|
152
|
+
declare function getEntityTitle(entity: object): string;
|
|
153
|
+
/**
|
|
154
|
+
* Get an entity's HTML title. An entity's HTML title can be one of:
|
|
155
|
+
* 'entity.meta.titleHtml', 'entity.meta.titleHtmlProperty' or 'entity.titleHtml'.
|
|
156
|
+
* @param entity Entity
|
|
157
|
+
* @returns Entity HTML title
|
|
158
|
+
*/
|
|
159
|
+
declare function getEntityTitleHtml(entity: object): string;
|
|
160
|
+
/**
|
|
161
|
+
* Get an entity's icon. An entity's icon can be one of:
|
|
162
|
+
* 'entity.meta.icon', 'entity.meta.iconProperty' or 'entity.icon'.
|
|
163
|
+
* @param entity Entity
|
|
164
|
+
* @returns Entity icon
|
|
165
|
+
*/
|
|
166
|
+
declare function getEntityIcon(entity: object): string;
|
|
167
|
+
/**
|
|
168
|
+
* Get an entity's revision.
|
|
169
|
+
* @param entity Entity
|
|
170
|
+
* @returns Entity revision
|
|
171
|
+
*/
|
|
172
|
+
declare function getEntityRevision(entity: object): number;
|
|
173
|
+
|
|
174
|
+
interface EntityStateManagerOptions<E extends object> {
|
|
175
|
+
getKey?: (entity: object) => EntityKey;
|
|
176
|
+
index?: Map<EntityKey, E>;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* This class is used to track a store's entities state
|
|
180
|
+
*/
|
|
181
|
+
declare class EntityStateManager<E extends object, S extends EntityState = EntityState> {
|
|
182
|
+
private options;
|
|
183
|
+
/**
|
|
184
|
+
* State index
|
|
185
|
+
*/
|
|
186
|
+
readonly index: Map<EntityKey, S>;
|
|
187
|
+
/**
|
|
188
|
+
* Change emitter
|
|
189
|
+
*/
|
|
190
|
+
readonly change$: ReplaySubject<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Method to get an entity's id
|
|
193
|
+
*/
|
|
194
|
+
readonly getKey: (E: any) => EntityKey;
|
|
195
|
+
constructor(options?: EntityStateManagerOptions<E>);
|
|
196
|
+
/**
|
|
197
|
+
* Clear state
|
|
198
|
+
*/
|
|
199
|
+
clear(): void;
|
|
200
|
+
/**
|
|
201
|
+
* Get an entity's state
|
|
202
|
+
* @param entity Entity
|
|
203
|
+
* @returns State
|
|
204
|
+
*/
|
|
205
|
+
get(entity: E): S;
|
|
206
|
+
/**
|
|
207
|
+
* Set an entity's state
|
|
208
|
+
* @param entity Entity
|
|
209
|
+
* @param state State
|
|
210
|
+
*/
|
|
211
|
+
set(entity: E, state: S): void;
|
|
212
|
+
/**
|
|
213
|
+
* Set many entitie's state
|
|
214
|
+
* @param entitie Entities
|
|
215
|
+
* @param state State
|
|
216
|
+
*/
|
|
217
|
+
setMany(entities: E[], state: S): void;
|
|
218
|
+
/**
|
|
219
|
+
* Set state of all entities that already have a state. This is not
|
|
220
|
+
* the same as setting the state of all the store's entities.
|
|
221
|
+
* @param state State
|
|
222
|
+
*/
|
|
223
|
+
setAll(state: S): void;
|
|
224
|
+
/**
|
|
225
|
+
* Update an entity's state
|
|
226
|
+
* @param entity Entity
|
|
227
|
+
* @param changes State changes
|
|
228
|
+
*/
|
|
229
|
+
update(entity: E, changes: Partial<S>, exclusive?: boolean): void;
|
|
230
|
+
/**
|
|
231
|
+
* Update many entitie's state
|
|
232
|
+
* @param entitie Entities
|
|
233
|
+
* @param changes State changes
|
|
234
|
+
*/
|
|
235
|
+
updateMany(entities: E[], changes: Partial<S>, exclusive?: boolean): void;
|
|
236
|
+
/**
|
|
237
|
+
* Reversee an entity's state
|
|
238
|
+
* @param entity Entity
|
|
239
|
+
* @param keys State keys to reverse
|
|
240
|
+
*/
|
|
241
|
+
reverse(entity: E, keys: string[]): void;
|
|
242
|
+
/**
|
|
243
|
+
* Reverse many entitie's state
|
|
244
|
+
* @param entitie Entities
|
|
245
|
+
* @param keys State keys to reverse
|
|
246
|
+
*/
|
|
247
|
+
reverseMany(entities: E[], keys: string[]): void;
|
|
248
|
+
/**
|
|
249
|
+
* Update state of all entities that already have a state. This is not
|
|
250
|
+
* the same as updating the state of all the store's entities.
|
|
251
|
+
* @param changes State
|
|
252
|
+
*/
|
|
253
|
+
updateAll(changes: Partial<S>): void;
|
|
254
|
+
/**
|
|
255
|
+
* When some state changes are flagged as 'exclusive', reverse
|
|
256
|
+
* the state of all other entities. Changes are reversable when
|
|
257
|
+
* they are boolean.
|
|
258
|
+
* @param entitie Entities
|
|
259
|
+
* @param changes State changes
|
|
260
|
+
*/
|
|
261
|
+
private updateManyExclusive;
|
|
262
|
+
/**
|
|
263
|
+
* Compute a 'reversed' version of some state changes.
|
|
264
|
+
* Changes are reversable when they are boolean.
|
|
265
|
+
* @param changes State changes
|
|
266
|
+
* @returns Reversed state changes
|
|
267
|
+
*/
|
|
268
|
+
private reverseChanges;
|
|
269
|
+
/**
|
|
270
|
+
* Return all the keys in that state and in the store it's bound to, if any.
|
|
271
|
+
* @returns Set of keys
|
|
272
|
+
*/
|
|
273
|
+
private getAllKeys;
|
|
274
|
+
/**
|
|
275
|
+
* Emit 'change' event
|
|
276
|
+
*/
|
|
277
|
+
private next;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Entity store strategies. They can do pretty much anything during a store's
|
|
282
|
+
* lifetime. For example, they may act as triggers when something happens.
|
|
283
|
+
* Sharing a strategy is a good idea when multiple strategies would have
|
|
284
|
+
* on cancelling effect on each other.
|
|
285
|
+
*
|
|
286
|
+
* At creation, strategy is inactive and needs to be manually activated.
|
|
287
|
+
*/
|
|
288
|
+
declare class EntityStoreStrategy {
|
|
289
|
+
protected options: EntityStoreStrategyOptions;
|
|
290
|
+
/**
|
|
291
|
+
* Feature store
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
protected stores: EntityStore[];
|
|
295
|
+
/**
|
|
296
|
+
* Whether this strategy is active
|
|
297
|
+
* @internal
|
|
298
|
+
*/
|
|
299
|
+
get active(): boolean;
|
|
300
|
+
readonly active$: BehaviorSubject<boolean>;
|
|
301
|
+
constructor(options?: EntityStoreStrategyOptions);
|
|
302
|
+
/**
|
|
303
|
+
* Activate the strategy. If it's already active, it'll be deactivated
|
|
304
|
+
* and activated again.
|
|
305
|
+
*/
|
|
306
|
+
activate(): void;
|
|
307
|
+
/**
|
|
308
|
+
* Activate the strategy. If it's already active, it'll be deactivated
|
|
309
|
+
* and activated again.
|
|
310
|
+
*/
|
|
311
|
+
deactivate(): void;
|
|
312
|
+
/**
|
|
313
|
+
* Bind this strategy to a store
|
|
314
|
+
* @param store Feature store
|
|
315
|
+
*/
|
|
316
|
+
bindStore(store: EntityStore): void;
|
|
317
|
+
/**
|
|
318
|
+
* Unbind this strategy from store
|
|
319
|
+
* @param store Feature store
|
|
320
|
+
*/
|
|
321
|
+
unbindStore(store: EntityStore): void;
|
|
322
|
+
/**
|
|
323
|
+
* Do the stataegy activation
|
|
324
|
+
* @internal
|
|
325
|
+
*/
|
|
326
|
+
protected doActivate(): void;
|
|
327
|
+
/**
|
|
328
|
+
* Do the strategy deactivation
|
|
329
|
+
* @internal
|
|
330
|
+
*/
|
|
331
|
+
protected doDeactivate(): void;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* An entity view streams entities from an observable source. These entities
|
|
336
|
+
* can be filtered or sorted without affecting the source. A view can also
|
|
337
|
+
* combine data from multiple sources, joined together.
|
|
338
|
+
*/
|
|
339
|
+
declare class EntityView<E extends object, V extends object = E> {
|
|
340
|
+
private source$;
|
|
341
|
+
/**
|
|
342
|
+
* Observable stream of values
|
|
343
|
+
*/
|
|
344
|
+
readonly values$: BehaviorSubject<V[]>;
|
|
345
|
+
/**
|
|
346
|
+
* Subscription to the source (and joined sources) values
|
|
347
|
+
*/
|
|
348
|
+
private values$$;
|
|
349
|
+
/**
|
|
350
|
+
* Whether this view has been lifted
|
|
351
|
+
*/
|
|
352
|
+
private lifted;
|
|
353
|
+
/**
|
|
354
|
+
* Join clauses
|
|
355
|
+
*/
|
|
356
|
+
private joins;
|
|
357
|
+
/**
|
|
358
|
+
* Observable of a filter clause
|
|
359
|
+
*/
|
|
360
|
+
private filter$;
|
|
361
|
+
/**
|
|
362
|
+
* Observable of filter clauses
|
|
363
|
+
*/
|
|
364
|
+
private filters$;
|
|
365
|
+
/**
|
|
366
|
+
* Filters index
|
|
367
|
+
*/
|
|
368
|
+
private filterIndex;
|
|
369
|
+
/**
|
|
370
|
+
* Observable of a sort clause
|
|
371
|
+
*/
|
|
372
|
+
private sort$;
|
|
373
|
+
/**
|
|
374
|
+
* Method for indexing
|
|
375
|
+
*/
|
|
376
|
+
get getKey(): (V: any) => EntityKey;
|
|
377
|
+
private getKey$;
|
|
378
|
+
/**
|
|
379
|
+
* Number of entities
|
|
380
|
+
*/
|
|
381
|
+
readonly count$: BehaviorSubject<number>;
|
|
382
|
+
get count(): number;
|
|
383
|
+
/**
|
|
384
|
+
* Whether the store is empty
|
|
385
|
+
*/
|
|
386
|
+
readonly empty$: BehaviorSubject<boolean>;
|
|
387
|
+
get empty(): boolean;
|
|
388
|
+
/**
|
|
389
|
+
* Store index
|
|
390
|
+
*/
|
|
391
|
+
get index(): Map<EntityKey, V>;
|
|
392
|
+
private _index;
|
|
393
|
+
constructor(source$: BehaviorSubject<E[]>);
|
|
394
|
+
/**
|
|
395
|
+
* Get a value from the view by key
|
|
396
|
+
* @param key Key
|
|
397
|
+
* @returns Value
|
|
398
|
+
*/
|
|
399
|
+
get(key: EntityKey): V;
|
|
400
|
+
/**
|
|
401
|
+
* Get all the values
|
|
402
|
+
* @returns Array of values
|
|
403
|
+
*/
|
|
404
|
+
all(): V[];
|
|
405
|
+
/**
|
|
406
|
+
* Observe all the values
|
|
407
|
+
* @returns Observable of values
|
|
408
|
+
*/
|
|
409
|
+
all$(): BehaviorSubject<V[]>;
|
|
410
|
+
/**
|
|
411
|
+
* Get the first value that respects a criteria
|
|
412
|
+
* @returns A value
|
|
413
|
+
*/
|
|
414
|
+
firstBy(clause: EntityFilterClause<V>): V;
|
|
415
|
+
/**
|
|
416
|
+
* Observe the first value that respects a criteria
|
|
417
|
+
* @returns Observable of a value
|
|
418
|
+
*/
|
|
419
|
+
firstBy$(clause: EntityFilterClause<V>): Observable<V>;
|
|
420
|
+
/**
|
|
421
|
+
* Get all the values that respect a criteria
|
|
422
|
+
* @returns Array of values
|
|
423
|
+
*/
|
|
424
|
+
manyBy(clause: EntityFilterClause<V>): V[];
|
|
425
|
+
/**
|
|
426
|
+
* Observe all the values that respect a criteria
|
|
427
|
+
* @returns Observable of values
|
|
428
|
+
*/
|
|
429
|
+
manyBy$(clause: EntityFilterClause<V>): Observable<V[]>;
|
|
430
|
+
/**
|
|
431
|
+
* Clear the filter and sort and unsubscribe from the source
|
|
432
|
+
*/
|
|
433
|
+
clear(): void;
|
|
434
|
+
destroy(): void;
|
|
435
|
+
/**
|
|
436
|
+
* Create an index
|
|
437
|
+
* @param getKey Method to get a value's id
|
|
438
|
+
* @returns The view
|
|
439
|
+
*/
|
|
440
|
+
createIndex(getKey: (E: any) => EntityKey): EntityView<E, V>;
|
|
441
|
+
/**
|
|
442
|
+
* Join another source to the stream (chainable)
|
|
443
|
+
* @param clause Join clause
|
|
444
|
+
* @returns The view
|
|
445
|
+
*/
|
|
446
|
+
join(clause: EntityJoinClause): EntityView<E, V>;
|
|
447
|
+
/**
|
|
448
|
+
* Filter values (chainable)
|
|
449
|
+
* @param clause Filter clause
|
|
450
|
+
* @returns The view
|
|
451
|
+
*/
|
|
452
|
+
filter(clause: EntityFilterClause<V>): EntityView<E, V>;
|
|
453
|
+
/**
|
|
454
|
+
* @param clause Filter clause
|
|
455
|
+
* @returns The filter id
|
|
456
|
+
*/
|
|
457
|
+
addFilter(clause: EntityFilterClause<V>): string;
|
|
458
|
+
/**
|
|
459
|
+
* Remove a filter by id
|
|
460
|
+
* @param clause Filter clause
|
|
461
|
+
*/
|
|
462
|
+
removeFilter(id: string): void;
|
|
463
|
+
/**
|
|
464
|
+
* Sort values (chainable)
|
|
465
|
+
* @param clauseSort clause
|
|
466
|
+
* @returns The view
|
|
467
|
+
*/
|
|
468
|
+
sort(clause: EntitySortClause<V>): EntityView<E, V>;
|
|
469
|
+
/**
|
|
470
|
+
* Create the final observable
|
|
471
|
+
* @returns Observable
|
|
472
|
+
*/
|
|
473
|
+
lift(): void;
|
|
474
|
+
/**
|
|
475
|
+
* Create the source observable when no joins are defined
|
|
476
|
+
* @returns Observable
|
|
477
|
+
*/
|
|
478
|
+
private liftSource;
|
|
479
|
+
/**
|
|
480
|
+
* Create the source observable when joins are defined
|
|
481
|
+
* @returns Observable
|
|
482
|
+
*/
|
|
483
|
+
private liftJoinedSource;
|
|
484
|
+
/**
|
|
485
|
+
* Apply joins to a source's entity and return the final value
|
|
486
|
+
* @returns Final value
|
|
487
|
+
*/
|
|
488
|
+
private computeJoinedValue;
|
|
489
|
+
/**
|
|
490
|
+
* Filter and sort values before streaming them
|
|
491
|
+
* @param values Values
|
|
492
|
+
* @param filters Filter clauses
|
|
493
|
+
* @param filter Filter clause
|
|
494
|
+
* @param sort Sort clause
|
|
495
|
+
* @returns Filtered and sorted values
|
|
496
|
+
*/
|
|
497
|
+
private processValues;
|
|
498
|
+
/**
|
|
499
|
+
* Filter values
|
|
500
|
+
* @param values Values
|
|
501
|
+
* @param filters Filter clauses
|
|
502
|
+
* @returns Filtered values
|
|
503
|
+
*/
|
|
504
|
+
private filterValues;
|
|
505
|
+
/**
|
|
506
|
+
* Sort values
|
|
507
|
+
* @param values Values
|
|
508
|
+
* @param sort Sort clause
|
|
509
|
+
* @returns Sorted values
|
|
510
|
+
*/
|
|
511
|
+
private sortValues;
|
|
512
|
+
/**
|
|
513
|
+
* Set value and optionally generate an index
|
|
514
|
+
* @param values Values
|
|
515
|
+
* @param generateIndex boolean
|
|
516
|
+
*/
|
|
517
|
+
private setValues;
|
|
518
|
+
/**
|
|
519
|
+
* Generate a complete index of all the values
|
|
520
|
+
* @param entities Entities
|
|
521
|
+
* @returns Index
|
|
522
|
+
*/
|
|
523
|
+
private generateIndex;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
interface EntityStoreOptions {
|
|
527
|
+
getKey?: (entity: object) => EntityKey;
|
|
528
|
+
getProperty?: (entity: object, property: string) => any;
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* An entity store class holds any number of entities
|
|
532
|
+
* as well as their state. It can be observed, filtered and sorted and
|
|
533
|
+
* provides methods to insert, update or delete entities.
|
|
534
|
+
*/
|
|
535
|
+
declare class EntityStore<E extends object = object, S extends EntityState = EntityState> {
|
|
536
|
+
/**
|
|
537
|
+
* Observable of the raw entities
|
|
538
|
+
*/
|
|
539
|
+
readonly entities$: BehaviorSubject<E[]>;
|
|
540
|
+
/**
|
|
541
|
+
* Number of entities
|
|
542
|
+
*/
|
|
543
|
+
readonly count$: BehaviorSubject<number>;
|
|
544
|
+
get count(): number;
|
|
545
|
+
/**
|
|
546
|
+
* Whether the store is empty
|
|
547
|
+
*/
|
|
548
|
+
readonly empty$: BehaviorSubject<boolean>;
|
|
549
|
+
get empty(): boolean;
|
|
550
|
+
/**
|
|
551
|
+
* Entity store state
|
|
552
|
+
*/
|
|
553
|
+
readonly state: EntityStateManager<E, S>;
|
|
554
|
+
/**
|
|
555
|
+
* View of all the entities
|
|
556
|
+
*/
|
|
557
|
+
readonly view: EntityView<E>;
|
|
558
|
+
/**
|
|
559
|
+
* View of all the entities and their state
|
|
560
|
+
*/
|
|
561
|
+
readonly stateView: EntityView<E, EntityRecord<E, S>>;
|
|
562
|
+
/**
|
|
563
|
+
* Method to get an entity's id
|
|
564
|
+
*/
|
|
565
|
+
readonly getKey: (E: any) => EntityKey;
|
|
566
|
+
/**
|
|
567
|
+
* Method to get an entity's named property
|
|
568
|
+
*/
|
|
569
|
+
readonly getProperty: (E: any, prop: string) => any;
|
|
570
|
+
/**
|
|
571
|
+
* Store index
|
|
572
|
+
*/
|
|
573
|
+
get index(): Map<EntityKey, E>;
|
|
574
|
+
private _index;
|
|
575
|
+
/**
|
|
576
|
+
* Store index
|
|
577
|
+
*/
|
|
578
|
+
get pristine(): boolean;
|
|
579
|
+
private _pristine;
|
|
580
|
+
/**
|
|
581
|
+
* Strategies
|
|
582
|
+
*/
|
|
583
|
+
private strategies;
|
|
584
|
+
constructor(entities: E[], options?: EntityStoreOptions);
|
|
585
|
+
/**
|
|
586
|
+
* Get an entity from the store by key
|
|
587
|
+
* @param key Key
|
|
588
|
+
* @returns Entity
|
|
589
|
+
*/
|
|
590
|
+
get(key: EntityKey): E;
|
|
591
|
+
/**
|
|
592
|
+
* Get all entities in the store
|
|
593
|
+
* @returns Array of entities
|
|
594
|
+
*/
|
|
595
|
+
all(): E[];
|
|
596
|
+
/**
|
|
597
|
+
* Set this store's entities
|
|
598
|
+
* @param entities Entities
|
|
599
|
+
*/
|
|
600
|
+
load(entities: E[], pristine?: boolean): void;
|
|
601
|
+
/**
|
|
602
|
+
* Clear the store's entities but keep the state and views intact.
|
|
603
|
+
* Views won't return any data but future data will be subject to the
|
|
604
|
+
* current views filter and sort
|
|
605
|
+
*/
|
|
606
|
+
softClear(): void;
|
|
607
|
+
/**
|
|
608
|
+
* Clear the store's entities, state and views
|
|
609
|
+
*/
|
|
610
|
+
clear(): void;
|
|
611
|
+
destroy(): void;
|
|
612
|
+
/**
|
|
613
|
+
* Insert an entity into the store
|
|
614
|
+
* @param entity Entity
|
|
615
|
+
*/
|
|
616
|
+
insert(entity: E): void;
|
|
617
|
+
/**
|
|
618
|
+
* Insert many entities into the store
|
|
619
|
+
* @param entities Entities
|
|
620
|
+
*/
|
|
621
|
+
insertMany(entities: E[]): void;
|
|
622
|
+
/**
|
|
623
|
+
* Update or insert an entity into the store
|
|
624
|
+
* @param entity Entity
|
|
625
|
+
*/
|
|
626
|
+
update(entity: E): void;
|
|
627
|
+
/**
|
|
628
|
+
* Update or insert many entities into the store
|
|
629
|
+
* @param entities Entities
|
|
630
|
+
*/
|
|
631
|
+
updateMany(entities: E[]): void;
|
|
632
|
+
/**
|
|
633
|
+
* Add a strategy to this store
|
|
634
|
+
* @param strategy Entity store strategy
|
|
635
|
+
* @returns Entity store
|
|
636
|
+
*/
|
|
637
|
+
addStrategy(strategy: EntityStoreStrategy, activate?: boolean): EntityStore;
|
|
638
|
+
/**
|
|
639
|
+
* Remove a strategy from this store
|
|
640
|
+
* @param strategy Entity store strategy
|
|
641
|
+
* @returns Entity store
|
|
642
|
+
*/
|
|
643
|
+
removeStrategy(strategy: EntityStoreStrategy): EntityStore;
|
|
644
|
+
/**
|
|
645
|
+
* Return strategies of a given type
|
|
646
|
+
* @param type Entity store strategy class
|
|
647
|
+
* @returns Strategies
|
|
648
|
+
*/
|
|
649
|
+
getStrategyOfType(type: typeof EntityStoreStrategy): EntityStoreStrategy;
|
|
650
|
+
/**
|
|
651
|
+
* Activate strategies of a given type
|
|
652
|
+
* @param type Entity store strategy class
|
|
653
|
+
*/
|
|
654
|
+
activateStrategyOfType(type: typeof EntityStoreStrategy): void;
|
|
655
|
+
/**
|
|
656
|
+
* Deactivate strategies of a given type
|
|
657
|
+
* @param type Entity store strategy class
|
|
658
|
+
*/
|
|
659
|
+
deactivateStrategyOfType(type: typeof EntityStoreStrategy): void;
|
|
660
|
+
/**
|
|
661
|
+
* Delete an entity from the store
|
|
662
|
+
* @param entity Entity
|
|
663
|
+
*/
|
|
664
|
+
delete(entity: E): void;
|
|
665
|
+
/**
|
|
666
|
+
* Delete many entities from the store
|
|
667
|
+
* @param entities Entities
|
|
668
|
+
*/
|
|
669
|
+
deleteMany(entities: E[]): void;
|
|
670
|
+
/**
|
|
671
|
+
* Generate a complete index of all the entities
|
|
672
|
+
* @param entities Entities
|
|
673
|
+
* @returns Index
|
|
674
|
+
*/
|
|
675
|
+
private generateIndex;
|
|
676
|
+
/**
|
|
677
|
+
* Push the index's entities into the entities$ observable
|
|
678
|
+
*/
|
|
679
|
+
private next;
|
|
680
|
+
/**
|
|
681
|
+
* Update the store's count and empty
|
|
682
|
+
*/
|
|
683
|
+
private updateCount;
|
|
684
|
+
/**
|
|
685
|
+
* Create the entity state manager
|
|
686
|
+
* @returns EntityStateManager
|
|
687
|
+
*/
|
|
688
|
+
private createStateManager;
|
|
689
|
+
/**
|
|
690
|
+
* Create the data view
|
|
691
|
+
* @returns EntityView<E>
|
|
692
|
+
*/
|
|
693
|
+
private createDataView;
|
|
694
|
+
/**
|
|
695
|
+
* Create the state view
|
|
696
|
+
* @returns EntityView<EntityRecord<E>>
|
|
697
|
+
*/
|
|
698
|
+
private createStateView;
|
|
699
|
+
private statesAreTheSame;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* This class is used to synchronize a component's changes
|
|
704
|
+
* detection with an EntityStore changes. For example, it is frequent
|
|
705
|
+
* to have a component subscribe to a store's selected entity and, at the same time,
|
|
706
|
+
* this component provides a way to select an entity with, let's say, a click.
|
|
707
|
+
*
|
|
708
|
+
* This class automatically handles those case and triggers the compoent's
|
|
709
|
+
* change detection when needed.
|
|
710
|
+
*
|
|
711
|
+
* Note: If the component observes the store's stateView, a workspace is
|
|
712
|
+
* probably not required because the stateView catches any changes to the
|
|
713
|
+
* entities and their state.
|
|
714
|
+
*/
|
|
715
|
+
declare class EntityStoreWatcher<E extends object> {
|
|
716
|
+
/**
|
|
717
|
+
* Component change detector
|
|
718
|
+
*/
|
|
719
|
+
private cdRef;
|
|
720
|
+
/**
|
|
721
|
+
* Entity store
|
|
722
|
+
*/
|
|
723
|
+
private store;
|
|
724
|
+
/**
|
|
725
|
+
* Component inner state
|
|
726
|
+
*/
|
|
727
|
+
private innerStateIndex;
|
|
728
|
+
/**
|
|
729
|
+
* Subscription to the store's entities
|
|
730
|
+
*/
|
|
731
|
+
private entities$$;
|
|
732
|
+
/**
|
|
733
|
+
* Subscription to the store's state
|
|
734
|
+
*/
|
|
735
|
+
private state$$;
|
|
736
|
+
constructor(store?: EntityStore<E>, cdRef?: ChangeDetectorRef);
|
|
737
|
+
destroy(): void;
|
|
738
|
+
/**
|
|
739
|
+
* Bind this workspace to a store and start watching for changes
|
|
740
|
+
* @param store Entity store
|
|
741
|
+
*/
|
|
742
|
+
setStore(store?: EntityStore<E>): void;
|
|
743
|
+
/**
|
|
744
|
+
* Bind this workspace to a component's change detector
|
|
745
|
+
* @param cdRef Change detector
|
|
746
|
+
*/
|
|
747
|
+
setChangeDetector(cdRef?: ChangeDetectorRef): void;
|
|
748
|
+
/**
|
|
749
|
+
* Set up observers on a store's entities and their state
|
|
750
|
+
* @param store Entity store
|
|
751
|
+
*/
|
|
752
|
+
private setupObservers;
|
|
753
|
+
/**
|
|
754
|
+
* Teardown store observers
|
|
755
|
+
*/
|
|
756
|
+
private teardownObservers;
|
|
757
|
+
/**
|
|
758
|
+
* When the entities change, always trigger the changes detection
|
|
759
|
+
*/
|
|
760
|
+
private onEntitiesChange;
|
|
761
|
+
/**
|
|
762
|
+
* When the entities state change, trigger the change detection
|
|
763
|
+
* only if the component has not handled these changes yet. For example,
|
|
764
|
+
* the component might have initiated thoses changes itself.
|
|
765
|
+
*/
|
|
766
|
+
private onStateChange;
|
|
767
|
+
/**
|
|
768
|
+
* Trigger the change detection of the workspace is bound to a change detector
|
|
769
|
+
*/
|
|
770
|
+
private detectChanges;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
interface EntityOperation<E extends object = object> {
|
|
774
|
+
key: EntityKey;
|
|
775
|
+
type: EntityOperationType;
|
|
776
|
+
previous: E | undefined;
|
|
777
|
+
current: E | undefined;
|
|
778
|
+
store?: EntityStore<E>;
|
|
779
|
+
meta?: Record<string, any>;
|
|
780
|
+
}
|
|
781
|
+
type EntityTransactionCommitHandler = (transaction: EntityTransaction, operations: EntityOperation[]) => Observable<any>;
|
|
782
|
+
/**
|
|
783
|
+
* This class holds a reference to the insert, update and delete
|
|
784
|
+
* operations performed on a store. This is useful to commit
|
|
785
|
+
* these operations in a single pass or to cancel them.
|
|
786
|
+
*/
|
|
787
|
+
declare class EntityTransaction {
|
|
788
|
+
/**
|
|
789
|
+
* Store holding the operations on another store
|
|
790
|
+
*/
|
|
791
|
+
readonly operations: EntityStore<EntityOperation, EntityOperationState>;
|
|
792
|
+
/**
|
|
793
|
+
* Method to get an entity's id
|
|
794
|
+
*/
|
|
795
|
+
readonly getKey: (E: any) => EntityKey;
|
|
796
|
+
/**
|
|
797
|
+
* Whether there are pending operations
|
|
798
|
+
*/
|
|
799
|
+
get empty$(): BehaviorSubject<boolean>;
|
|
800
|
+
/**
|
|
801
|
+
* Whether there are pending operations
|
|
802
|
+
*/
|
|
803
|
+
get empty(): boolean;
|
|
804
|
+
/**
|
|
805
|
+
* Whether thise store is in commit phase
|
|
806
|
+
*/
|
|
807
|
+
get inCommitPhase(): boolean;
|
|
808
|
+
readonly inCommitPhase$: BehaviorSubject<boolean>;
|
|
809
|
+
constructor(options?: EntityTransactionOptions);
|
|
810
|
+
destroy(): void;
|
|
811
|
+
/**
|
|
812
|
+
* Insert an entity into a store. If no store is specified, an insert
|
|
813
|
+
* operation is still created but the transaction won't add the new
|
|
814
|
+
* entity to the store.
|
|
815
|
+
* @param current The entity to insert
|
|
816
|
+
* @param store Optional: The store to insert the entity into
|
|
817
|
+
* @param meta Optional: Any metadata on the operation
|
|
818
|
+
*/
|
|
819
|
+
insert(current: object, store?: EntityStore<object>, meta?: Record<string, any>): void;
|
|
820
|
+
/**
|
|
821
|
+
* Update an entity in a store. If no store is specified, an update
|
|
822
|
+
* operation is still created but the transaction won't update the
|
|
823
|
+
* entity into the store.
|
|
824
|
+
* @param previous The entity before update
|
|
825
|
+
* @param current The entity after update
|
|
826
|
+
* @param store Optional: The store to update the entity into
|
|
827
|
+
* @param meta Optional: Any metadata on the operation
|
|
828
|
+
*/
|
|
829
|
+
update(previous: object, current: object, store?: EntityStore<object>, meta?: Record<string, any>): void;
|
|
830
|
+
/**
|
|
831
|
+
* Delete an entity from a store. If no store is specified, a delete
|
|
832
|
+
* operation is still created but the transaction won't remove the
|
|
833
|
+
* entity from the store.
|
|
834
|
+
* @param previous The entity before delete
|
|
835
|
+
* @param store Optional: The store to delete the entity from
|
|
836
|
+
* @param meta Optional: Any metadata on the operation
|
|
837
|
+
*/
|
|
838
|
+
delete(previous: object, store?: EntityStore<object>, meta?: Record<string, any>): void;
|
|
839
|
+
/**
|
|
840
|
+
* Commit operations the transaction. This method doesn't do much
|
|
841
|
+
* in itself. The handler it receives does the hard work and it's
|
|
842
|
+
* implementation is left to the caller. This method simply wraps
|
|
843
|
+
* the handler into an error catching mechanism to update
|
|
844
|
+
* the transaction afterward. The caller needs to subscribe to this
|
|
845
|
+
* method's output (observable) for the commit to be performed.
|
|
846
|
+
* @param operations Operations to commit
|
|
847
|
+
* @param handler Function that handles the commit operation
|
|
848
|
+
* @returns The handler output (observable)
|
|
849
|
+
*/
|
|
850
|
+
commit(operations: EntityOperation[], handler: EntityTransactionCommitHandler): Observable<any>;
|
|
851
|
+
/**
|
|
852
|
+
* Commit all the operations of the transaction.
|
|
853
|
+
* @param handler Function that handles the commit operation
|
|
854
|
+
* @returns The handler output (observable)
|
|
855
|
+
*/
|
|
856
|
+
commitAll(handler: EntityTransactionCommitHandler): Observable<any>;
|
|
857
|
+
/**
|
|
858
|
+
* Rollback this transaction
|
|
859
|
+
*/
|
|
860
|
+
rollback(): void;
|
|
861
|
+
/**
|
|
862
|
+
* Rollback specific operations
|
|
863
|
+
*/
|
|
864
|
+
rollbackOperations(operations: EntityOperation[]): void;
|
|
865
|
+
/**
|
|
866
|
+
* Clear this transaction
|
|
867
|
+
* @todo Raise event and synchronize stores?
|
|
868
|
+
*/
|
|
869
|
+
clear(): void;
|
|
870
|
+
/**
|
|
871
|
+
* Get any existing operation on an entity
|
|
872
|
+
* @param entity Entity
|
|
873
|
+
* @returns Either an insert, update or delete operation
|
|
874
|
+
*/
|
|
875
|
+
getOperationByEntity(entity: object): EntityOperation;
|
|
876
|
+
/**
|
|
877
|
+
* Merge another transaction in this one
|
|
878
|
+
* @param transaction Another transaction
|
|
879
|
+
*/
|
|
880
|
+
mergeTransaction(transaction: EntityTransaction): void;
|
|
881
|
+
/**
|
|
882
|
+
* Create an insert operation and add an entity to the store
|
|
883
|
+
* @param current The entity to insert
|
|
884
|
+
* @param store Optional: The store to insert the entity into
|
|
885
|
+
* @param meta Optional: Any metadata on the operation
|
|
886
|
+
*/
|
|
887
|
+
private doInsert;
|
|
888
|
+
/**
|
|
889
|
+
* Create an update operation and update an entity into the store
|
|
890
|
+
* @param previous The entity before update
|
|
891
|
+
* @param current The entity after update
|
|
892
|
+
* @param store Optional: The store to update the entity into
|
|
893
|
+
* @param meta Optional: Any metadata on the operation
|
|
894
|
+
*/
|
|
895
|
+
private doUpdate;
|
|
896
|
+
/**
|
|
897
|
+
* Create a delete operation and delete an entity from the store
|
|
898
|
+
* @param previous The entity before delete
|
|
899
|
+
* @param store Optional: The store to delete the entity from
|
|
900
|
+
* @param meta Optional: Any metadata on the operation
|
|
901
|
+
*/
|
|
902
|
+
private doDelete;
|
|
903
|
+
/**
|
|
904
|
+
* Remove committed operations from store
|
|
905
|
+
* @param operations Commited operations
|
|
906
|
+
* @todo Raise event and synchronize stores?
|
|
907
|
+
*/
|
|
908
|
+
private resolveOperations;
|
|
909
|
+
/**
|
|
910
|
+
* On commit success, resolve commited operations and exit commit phase
|
|
911
|
+
* @param operations Commited operations
|
|
912
|
+
*/
|
|
913
|
+
private onCommitSuccess;
|
|
914
|
+
/**
|
|
915
|
+
* On commit error, abort transaction
|
|
916
|
+
* @param operations Commited operations
|
|
917
|
+
*/
|
|
918
|
+
private onCommitError;
|
|
919
|
+
/**
|
|
920
|
+
* Add an operation to the operations store
|
|
921
|
+
* @param operation Operation to add
|
|
922
|
+
*/
|
|
923
|
+
private addOperation;
|
|
924
|
+
/**
|
|
925
|
+
* Remove an operation from the operations store
|
|
926
|
+
* @param operation Operation to remove
|
|
927
|
+
*/
|
|
928
|
+
private removeOperation;
|
|
929
|
+
/**
|
|
930
|
+
* Get all the operations to commit
|
|
931
|
+
* @returns Operations to commit
|
|
932
|
+
*/
|
|
933
|
+
private getOperationsInCommit;
|
|
934
|
+
/**
|
|
935
|
+
* Check if the transaction is in the commit phase and throw an error if it is
|
|
936
|
+
*/
|
|
937
|
+
private checkInCommitPhase;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* When active, this strategy filters a store's stateView to return
|
|
942
|
+
* selected entities only.
|
|
943
|
+
*/
|
|
944
|
+
declare class EntityStoreFilterCustomFuncStrategy extends EntityStoreStrategy {
|
|
945
|
+
protected options: EntityStoreStrategyFuncOptions;
|
|
946
|
+
constructor(options: EntityStoreStrategyFuncOptions);
|
|
947
|
+
/**
|
|
948
|
+
* Store / filter ids map
|
|
949
|
+
*/
|
|
950
|
+
private filters;
|
|
951
|
+
/**
|
|
952
|
+
* Bind this strategy to a store and start filtering it
|
|
953
|
+
* @param store Entity store
|
|
954
|
+
*/
|
|
955
|
+
bindStore(store: EntityStore): void;
|
|
956
|
+
/**
|
|
957
|
+
* Unbind this strategy from a store and stop filtering it
|
|
958
|
+
* @param store Entity store
|
|
959
|
+
*/
|
|
960
|
+
unbindStore(store: EntityStore): void;
|
|
961
|
+
/**
|
|
962
|
+
* Start filtering all stores
|
|
963
|
+
* @internal
|
|
964
|
+
*/
|
|
965
|
+
protected doActivate(): void;
|
|
966
|
+
/**
|
|
967
|
+
* Stop filtering all stores
|
|
968
|
+
* @internal
|
|
969
|
+
*/
|
|
970
|
+
protected doDeactivate(): void;
|
|
971
|
+
/**
|
|
972
|
+
* Filter all stores
|
|
973
|
+
*/
|
|
974
|
+
private filterAll;
|
|
975
|
+
/**
|
|
976
|
+
* Unfilter all stores
|
|
977
|
+
*/
|
|
978
|
+
private unfilterAll;
|
|
979
|
+
/**
|
|
980
|
+
* Filter a store and add it to the filters map
|
|
981
|
+
*/
|
|
982
|
+
private filterStore;
|
|
983
|
+
/**
|
|
984
|
+
* Unfilter a store and delete it from the filters map
|
|
985
|
+
*/
|
|
986
|
+
private unfilterStore;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
/**
|
|
990
|
+
* When active, this strategy filters a store's stateView to return
|
|
991
|
+
* selected entities only.
|
|
992
|
+
*/
|
|
993
|
+
declare class EntityStoreFilterSelectionStrategy extends EntityStoreStrategy {
|
|
994
|
+
/**
|
|
995
|
+
* Store / filter ids map
|
|
996
|
+
*/
|
|
997
|
+
private filters;
|
|
998
|
+
/**
|
|
999
|
+
* Bind this strategy to a store and start filtering it
|
|
1000
|
+
* @param store Entity store
|
|
1001
|
+
*/
|
|
1002
|
+
bindStore(store: EntityStore): void;
|
|
1003
|
+
/**
|
|
1004
|
+
* Unbind this strategy from a store and stop filtering it
|
|
1005
|
+
* @param store Entity store
|
|
1006
|
+
*/
|
|
1007
|
+
unbindStore(store: EntityStore): void;
|
|
1008
|
+
/**
|
|
1009
|
+
* Start filtering all stores
|
|
1010
|
+
* @internal
|
|
1011
|
+
*/
|
|
1012
|
+
protected doActivate(): void;
|
|
1013
|
+
/**
|
|
1014
|
+
* Stop filtering all stores
|
|
1015
|
+
* @internal
|
|
1016
|
+
*/
|
|
1017
|
+
protected doDeactivate(): void;
|
|
1018
|
+
/**
|
|
1019
|
+
* Filter all stores
|
|
1020
|
+
*/
|
|
1021
|
+
private filterAll;
|
|
1022
|
+
/**
|
|
1023
|
+
* Unfilter all stores
|
|
1024
|
+
*/
|
|
1025
|
+
private unfilterAll;
|
|
1026
|
+
/**
|
|
1027
|
+
* Filter a store and add it to the filters map
|
|
1028
|
+
*/
|
|
1029
|
+
private filterStore;
|
|
1030
|
+
/**
|
|
1031
|
+
* Unfilter a store and delete it from the filters map
|
|
1032
|
+
*/
|
|
1033
|
+
private unfilterStore;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
interface EntitySelectorChange<T = any> {
|
|
1037
|
+
selected: boolean;
|
|
1038
|
+
value: T;
|
|
1039
|
+
}
|
|
1040
|
+
declare class EntitySelectorComponent implements OnInit, OnDestroy {
|
|
1041
|
+
private cdRef;
|
|
1042
|
+
/**
|
|
1043
|
+
* The selected entity
|
|
1044
|
+
* @internal
|
|
1045
|
+
*/
|
|
1046
|
+
readonly selected$: BehaviorSubject<object>;
|
|
1047
|
+
/**
|
|
1048
|
+
* The current multi select option text
|
|
1049
|
+
* @internal
|
|
1050
|
+
*/
|
|
1051
|
+
readonly multiText$: BehaviorSubject<string>;
|
|
1052
|
+
readonly multiSelectValue: {
|
|
1053
|
+
id: string;
|
|
1054
|
+
};
|
|
1055
|
+
readonly emptyValue: {
|
|
1056
|
+
id: string;
|
|
1057
|
+
};
|
|
1058
|
+
/**
|
|
1059
|
+
* Subscription to the selected entity
|
|
1060
|
+
*/
|
|
1061
|
+
private selected$$;
|
|
1062
|
+
/**
|
|
1063
|
+
* Store watcher
|
|
1064
|
+
*/
|
|
1065
|
+
private watcher;
|
|
1066
|
+
/**
|
|
1067
|
+
* Entity store
|
|
1068
|
+
*/
|
|
1069
|
+
store: EntityStore<object>;
|
|
1070
|
+
/**
|
|
1071
|
+
* Title accessor
|
|
1072
|
+
*/
|
|
1073
|
+
titleAccessor: (object: any) => string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Text to display when nothing is selected
|
|
1076
|
+
*/
|
|
1077
|
+
emptyText: string;
|
|
1078
|
+
/**
|
|
1079
|
+
* Wheter selecting many entities is allowed
|
|
1080
|
+
*/
|
|
1081
|
+
multi: boolean;
|
|
1082
|
+
/**
|
|
1083
|
+
* Text to display for the select all option
|
|
1084
|
+
*/
|
|
1085
|
+
multiAllText: string;
|
|
1086
|
+
/**
|
|
1087
|
+
* Text to display for the select none option
|
|
1088
|
+
*/
|
|
1089
|
+
multiNoneText: string;
|
|
1090
|
+
/**
|
|
1091
|
+
* Field placeholder
|
|
1092
|
+
*/
|
|
1093
|
+
placeholder: string;
|
|
1094
|
+
/**
|
|
1095
|
+
* Wheter the selector is disabled or not
|
|
1096
|
+
*/
|
|
1097
|
+
disabled: boolean;
|
|
1098
|
+
/**
|
|
1099
|
+
* Event emitted when the selection changes
|
|
1100
|
+
*/
|
|
1101
|
+
selectedChange: EventEmitter<EntitySelectorChange<any>>;
|
|
1102
|
+
/**
|
|
1103
|
+
* Create a store watcher and subscribe to the selected entity
|
|
1104
|
+
* @internal
|
|
1105
|
+
*/
|
|
1106
|
+
ngOnInit(): void;
|
|
1107
|
+
/**
|
|
1108
|
+
* Unsubscribe to the selected entity and destroy the store watcher
|
|
1109
|
+
* @internal
|
|
1110
|
+
*/
|
|
1111
|
+
ngOnDestroy(): void;
|
|
1112
|
+
/**
|
|
1113
|
+
* On selection change, update the store's state and emit an event
|
|
1114
|
+
* @internal
|
|
1115
|
+
*/
|
|
1116
|
+
onSelectionChange(event: {
|
|
1117
|
+
value: object | undefined;
|
|
1118
|
+
}): void;
|
|
1119
|
+
private onSelectFromStore;
|
|
1120
|
+
private updateMultiToggleWithEntities;
|
|
1121
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EntitySelectorComponent, never>;
|
|
1122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntitySelectorComponent, "igo-entity-selector", never, { "store": { "alias": "store"; "required": false; }; "titleAccessor": { "alias": "titleAccessor"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "multi": { "alias": "multi"; "required": false; }; "multiAllText": { "alias": "multiAllText"; "required": false; }; "multiNoneText": { "alias": "multiNoneText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, never>;
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* @deprecated import the EntitySelectorComponent directly
|
|
1127
|
+
*/
|
|
1128
|
+
declare class IgoEntitySelectorModule {
|
|
1129
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IgoEntitySelectorModule, never>;
|
|
1130
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoEntitySelectorModule, never, [typeof EntitySelectorComponent], [typeof EntitySelectorComponent]>;
|
|
1131
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<IgoEntitySelectorModule>;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
interface EntityTablePaginatorOptions {
|
|
1135
|
+
disabled?: boolean;
|
|
1136
|
+
hidePageSize?: boolean;
|
|
1137
|
+
pageIndex?: number;
|
|
1138
|
+
pageSize?: number;
|
|
1139
|
+
pageSizeOptions?: number[];
|
|
1140
|
+
showFirstLastButtons?: boolean;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
type CellData = Record<string, {
|
|
1144
|
+
value: any;
|
|
1145
|
+
class: Record<string, boolean>;
|
|
1146
|
+
isUrl: boolean;
|
|
1147
|
+
isImg: boolean;
|
|
1148
|
+
}>;
|
|
1149
|
+
interface RowData {
|
|
1150
|
+
record: EntityRecord<object, EntityState>;
|
|
1151
|
+
cellData: CellData;
|
|
1152
|
+
}
|
|
1153
|
+
declare class EntityTableComponent implements OnInit, OnChanges, OnDestroy {
|
|
1154
|
+
private cdRef;
|
|
1155
|
+
private formBuilder;
|
|
1156
|
+
protected _focusMonitor: FocusMonitor;
|
|
1157
|
+
protected _elementRef: ElementRef<HTMLElement>;
|
|
1158
|
+
ngControl: NgControl;
|
|
1159
|
+
protected _parentForm: NgForm;
|
|
1160
|
+
protected _controlName: FormControlName;
|
|
1161
|
+
protected _defaultErrorStateMatcher: ErrorStateMatcher;
|
|
1162
|
+
private dateAdapter;
|
|
1163
|
+
entitySortChange$: BehaviorSubject<boolean>;
|
|
1164
|
+
formGroup: UntypedFormGroup;
|
|
1165
|
+
filteredOptions: {};
|
|
1166
|
+
/**
|
|
1167
|
+
* Reference to the column renderer types
|
|
1168
|
+
* @internal
|
|
1169
|
+
*/
|
|
1170
|
+
entityTableColumnRenderer: typeof EntityTableColumnRenderer;
|
|
1171
|
+
/**
|
|
1172
|
+
* Reference to the selection's state
|
|
1173
|
+
* @internal
|
|
1174
|
+
*/
|
|
1175
|
+
entityTableSelectionState: typeof EntityTableSelectionState;
|
|
1176
|
+
/**
|
|
1177
|
+
* Observable of the selection,s state
|
|
1178
|
+
* @internal
|
|
1179
|
+
*/
|
|
1180
|
+
readonly selectionState$: BehaviorSubject<EntityTableSelectionState>;
|
|
1181
|
+
/**
|
|
1182
|
+
* Subscription to the store's selection
|
|
1183
|
+
*/
|
|
1184
|
+
private selection$$;
|
|
1185
|
+
/**
|
|
1186
|
+
* Subscription to the dataSource
|
|
1187
|
+
*/
|
|
1188
|
+
private dataSource$$;
|
|
1189
|
+
/**
|
|
1190
|
+
* The last record checked. Useful for selecting
|
|
1191
|
+
* multiple records by holding the shift key and checking
|
|
1192
|
+
* checkboxes.
|
|
1193
|
+
*/
|
|
1194
|
+
private lastRecordCheckedKey;
|
|
1195
|
+
/**
|
|
1196
|
+
* Entity store
|
|
1197
|
+
*/
|
|
1198
|
+
store: EntityStore<object>;
|
|
1199
|
+
/**
|
|
1200
|
+
* Table paginator
|
|
1201
|
+
*/
|
|
1202
|
+
set paginator(value: MatPaginator);
|
|
1203
|
+
get paginator(): MatPaginator;
|
|
1204
|
+
private _paginator;
|
|
1205
|
+
/**
|
|
1206
|
+
* Table template
|
|
1207
|
+
*/
|
|
1208
|
+
template: EntityTableTemplate;
|
|
1209
|
+
/**
|
|
1210
|
+
* Scroll behavior on selection
|
|
1211
|
+
*/
|
|
1212
|
+
scrollBehavior: EntityTableScrollBehavior;
|
|
1213
|
+
/**
|
|
1214
|
+
* Whether nulls should be first when sorting
|
|
1215
|
+
*/
|
|
1216
|
+
sortNullsFirst: boolean;
|
|
1217
|
+
/**
|
|
1218
|
+
* Show the table paginator or not. False by default.
|
|
1219
|
+
*/
|
|
1220
|
+
withPaginator: boolean;
|
|
1221
|
+
/**
|
|
1222
|
+
* Paginator options
|
|
1223
|
+
*/
|
|
1224
|
+
paginatorOptions: EntityTablePaginatorOptions;
|
|
1225
|
+
/**
|
|
1226
|
+
* Event emitted when an entity (row) is clicked
|
|
1227
|
+
*/
|
|
1228
|
+
entityClick: EventEmitter<object>;
|
|
1229
|
+
/**
|
|
1230
|
+
* Event emitted when an entity (row) is selected
|
|
1231
|
+
*/
|
|
1232
|
+
entitySelectChange: EventEmitter<{
|
|
1233
|
+
added: object[];
|
|
1234
|
+
}>;
|
|
1235
|
+
/**
|
|
1236
|
+
* Event emitted when the table sort is changed.
|
|
1237
|
+
*/
|
|
1238
|
+
entitySortChange: EventEmitter<{
|
|
1239
|
+
column: EntityTableColumn;
|
|
1240
|
+
direction: string;
|
|
1241
|
+
}>;
|
|
1242
|
+
/**
|
|
1243
|
+
* Table headers
|
|
1244
|
+
* @internal
|
|
1245
|
+
*/
|
|
1246
|
+
get headers(): string[];
|
|
1247
|
+
/**
|
|
1248
|
+
* Data source consumable by the underlying material table
|
|
1249
|
+
* @internal
|
|
1250
|
+
*/
|
|
1251
|
+
dataSource: MatTableDataSource<RowData, MatPaginator>;
|
|
1252
|
+
/**
|
|
1253
|
+
* Whether selection is supported
|
|
1254
|
+
* @internal
|
|
1255
|
+
*/
|
|
1256
|
+
get selection(): boolean;
|
|
1257
|
+
/**
|
|
1258
|
+
* Whether a selection checkbox should be displayed
|
|
1259
|
+
* @internal
|
|
1260
|
+
*/
|
|
1261
|
+
get selectionCheckbox(): boolean;
|
|
1262
|
+
/**
|
|
1263
|
+
* Whether selection many entities should eb supported
|
|
1264
|
+
* @internal
|
|
1265
|
+
*/
|
|
1266
|
+
get selectMany(): boolean;
|
|
1267
|
+
/**
|
|
1268
|
+
* Whether selection many entities should eb supported
|
|
1269
|
+
* @internal
|
|
1270
|
+
*/
|
|
1271
|
+
get fixedHeader(): boolean;
|
|
1272
|
+
get tableHeight(): string;
|
|
1273
|
+
constructor();
|
|
1274
|
+
/**
|
|
1275
|
+
* Track the selection state to properly display the selection checkboxes
|
|
1276
|
+
* @internal
|
|
1277
|
+
*/
|
|
1278
|
+
ngOnInit(): void;
|
|
1279
|
+
/**
|
|
1280
|
+
* @internal
|
|
1281
|
+
*/
|
|
1282
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1283
|
+
/**
|
|
1284
|
+
* Process text or number value change (edition)
|
|
1285
|
+
*/
|
|
1286
|
+
onValueChange(column: string, record: EntityRecord<any>, event: any): void;
|
|
1287
|
+
/**
|
|
1288
|
+
* Process boolean value change (edition)
|
|
1289
|
+
*/
|
|
1290
|
+
onBooleanValueChange(column: string, record: EntityRecord<any>, event: any): void;
|
|
1291
|
+
/**
|
|
1292
|
+
* Process select value change (edition)
|
|
1293
|
+
*/
|
|
1294
|
+
onSelectValueChange(column: string, record: EntityRecord<any>, event: any): void;
|
|
1295
|
+
/**
|
|
1296
|
+
* Process autocomplete value change (edition)
|
|
1297
|
+
*/
|
|
1298
|
+
onAutocompleteValueChange(column: EntityTableColumn, record: EntityRecord<any>, event: any): void;
|
|
1299
|
+
/**
|
|
1300
|
+
* Process date value change (edition)
|
|
1301
|
+
*/
|
|
1302
|
+
onDateChange(column: string, record: EntityRecord<any>, event: any): void;
|
|
1303
|
+
/**
|
|
1304
|
+
* Enable edition mode for one row
|
|
1305
|
+
* More than one row can be edited at the same time
|
|
1306
|
+
*/
|
|
1307
|
+
private enableEdit;
|
|
1308
|
+
private handleDatasource;
|
|
1309
|
+
/**
|
|
1310
|
+
* Unbind the store watcher
|
|
1311
|
+
* @internal
|
|
1312
|
+
*/
|
|
1313
|
+
ngOnDestroy(): void;
|
|
1314
|
+
private unsubscribeStore;
|
|
1315
|
+
/**
|
|
1316
|
+
* Trackby function
|
|
1317
|
+
* @param record Record
|
|
1318
|
+
* @param index Record index
|
|
1319
|
+
* @internal
|
|
1320
|
+
*/
|
|
1321
|
+
getTrackByFunction(): TrackByFunction<RowData>;
|
|
1322
|
+
/**
|
|
1323
|
+
* Trigger a refresh of the table. This can be useful when
|
|
1324
|
+
* the data source doesn't emit a new value but for some reason
|
|
1325
|
+
* the records need an update.
|
|
1326
|
+
* @internal
|
|
1327
|
+
*/
|
|
1328
|
+
refresh(): void;
|
|
1329
|
+
paginatorChange(event: MatPaginator): void;
|
|
1330
|
+
/**
|
|
1331
|
+
* On sort, sort the store
|
|
1332
|
+
* @param event Sort event
|
|
1333
|
+
* @internal
|
|
1334
|
+
*/
|
|
1335
|
+
onSort(event: {
|
|
1336
|
+
active: string;
|
|
1337
|
+
direction: string;
|
|
1338
|
+
}): void;
|
|
1339
|
+
/**
|
|
1340
|
+
* When an entity is clicked, emit an event
|
|
1341
|
+
* @param record Record
|
|
1342
|
+
* @internal
|
|
1343
|
+
*/
|
|
1344
|
+
onRowClick(record: EntityRecord<object>): void;
|
|
1345
|
+
/**
|
|
1346
|
+
* When an entity is selected, select it in the store and emit an event. Even if
|
|
1347
|
+
* "many" is set to true, this method always select a single, exclusive row. Selecting
|
|
1348
|
+
* multiple rows should be achieved by using the checkboxes.
|
|
1349
|
+
* @param record Record
|
|
1350
|
+
* @internal
|
|
1351
|
+
*/
|
|
1352
|
+
onRowSelect(record: EntityRecord<object>): void;
|
|
1353
|
+
/**
|
|
1354
|
+
* Select or unselect all rows at once. On select, emit an event.
|
|
1355
|
+
* @param toggle Select or unselect
|
|
1356
|
+
* @internal
|
|
1357
|
+
*/
|
|
1358
|
+
onToggleRows(toggle: boolean): void;
|
|
1359
|
+
/**
|
|
1360
|
+
* When an entity is toggled, select or unselect it in the store. On select,
|
|
1361
|
+
* emit an event.
|
|
1362
|
+
* @param toggle Select or unselect
|
|
1363
|
+
* @param record Record
|
|
1364
|
+
* @internal
|
|
1365
|
+
*/
|
|
1366
|
+
onToggleRow(toggle: boolean, record: EntityRecord<object>): void;
|
|
1367
|
+
/**
|
|
1368
|
+
* When an entity is toggled, select or unselect it in the store. On select,
|
|
1369
|
+
* emit an event.
|
|
1370
|
+
* @param toggle Select or unselect
|
|
1371
|
+
* @param record Record
|
|
1372
|
+
* @internal
|
|
1373
|
+
*/
|
|
1374
|
+
onShiftToggleRow(toggle: boolean, record: EntityRecord<object>, event: MouseEvent): void;
|
|
1375
|
+
/**
|
|
1376
|
+
* Compute the selection state
|
|
1377
|
+
* @returns Whether all, some or no rows are selected
|
|
1378
|
+
* @internal
|
|
1379
|
+
*/
|
|
1380
|
+
private computeSelectionState;
|
|
1381
|
+
/**
|
|
1382
|
+
* Whether a column is sortable
|
|
1383
|
+
* @param column Column
|
|
1384
|
+
* @returns True if a column is sortable
|
|
1385
|
+
* @internal
|
|
1386
|
+
*/
|
|
1387
|
+
columnIsSortable(column: EntityTableColumn): boolean;
|
|
1388
|
+
/**
|
|
1389
|
+
* Whether a row is should be selected based on the underlying entity state
|
|
1390
|
+
* @param record Record
|
|
1391
|
+
* @returns True if a row should be selected
|
|
1392
|
+
* @internal
|
|
1393
|
+
*/
|
|
1394
|
+
rowIsSelected(record: EntityRecord<object>): boolean;
|
|
1395
|
+
isImg(value: any): boolean;
|
|
1396
|
+
isUrl(value: any): boolean;
|
|
1397
|
+
/**
|
|
1398
|
+
* Method to access an entity's values
|
|
1399
|
+
* @param record Record
|
|
1400
|
+
* @param column Column
|
|
1401
|
+
* @returns Any value
|
|
1402
|
+
* @internal
|
|
1403
|
+
*/
|
|
1404
|
+
getValue(record: EntityRecord<object>, column: EntityTableColumn): any;
|
|
1405
|
+
/**
|
|
1406
|
+
* Method to access an entity's validation values
|
|
1407
|
+
* @param column Column
|
|
1408
|
+
* @param validationType string
|
|
1409
|
+
* @returns Any value (false if no validation or not the one concerned)
|
|
1410
|
+
* @internal
|
|
1411
|
+
*/
|
|
1412
|
+
getValidationAttributeValue(column: EntityTableColumn, validationType: string): any;
|
|
1413
|
+
isEdition(record: any): boolean;
|
|
1414
|
+
/**
|
|
1415
|
+
* Return the type of renderer of a column
|
|
1416
|
+
* @param column Column
|
|
1417
|
+
* @returns Renderer type
|
|
1418
|
+
* @internal
|
|
1419
|
+
*/
|
|
1420
|
+
getColumnRenderer(column: EntityTableColumn): EntityTableColumnRenderer;
|
|
1421
|
+
/**
|
|
1422
|
+
* Return the table ngClass
|
|
1423
|
+
* @returns ngClass
|
|
1424
|
+
* @internal
|
|
1425
|
+
*/
|
|
1426
|
+
getTableClass(): Record<string, boolean>;
|
|
1427
|
+
/**
|
|
1428
|
+
* Return a header ngClass
|
|
1429
|
+
* @returns ngClass
|
|
1430
|
+
* @internal
|
|
1431
|
+
*/
|
|
1432
|
+
getHeaderClass(): Record<string, boolean>;
|
|
1433
|
+
/**
|
|
1434
|
+
* Return a row ngClass
|
|
1435
|
+
* @param record Record
|
|
1436
|
+
* @returns ngClass
|
|
1437
|
+
* @internal
|
|
1438
|
+
*/
|
|
1439
|
+
getRowClass(record: EntityRecord<object>): Record<string, boolean>;
|
|
1440
|
+
/**
|
|
1441
|
+
* Return a row ngClass
|
|
1442
|
+
* @param record Record
|
|
1443
|
+
* @param column Column
|
|
1444
|
+
* @returns ngClass
|
|
1445
|
+
* @internal
|
|
1446
|
+
*/
|
|
1447
|
+
getCellClass(record: EntityRecord<object>, column: EntityTableColumn): Record<string, boolean>;
|
|
1448
|
+
/**
|
|
1449
|
+
* When a button is clicked
|
|
1450
|
+
* @param func Function
|
|
1451
|
+
* @param record Record
|
|
1452
|
+
* @internal
|
|
1453
|
+
*/
|
|
1454
|
+
onButtonClick(clickFunc: (entity: object, record?: EntityRecord<object>) => void, record: EntityRecord<object>): void;
|
|
1455
|
+
/**
|
|
1456
|
+
* Retrieve column name without his "properties" tag (useful for edition workspace properties)
|
|
1457
|
+
*/
|
|
1458
|
+
getColumnKeyWithoutPropertiesTag(column: string): string;
|
|
1459
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EntityTableComponent, never>;
|
|
1460
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntityTableComponent, "igo-entity-table", never, { "store": { "alias": "store"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "template": { "alias": "template"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "sortNullsFirst": { "alias": "sortNullsFirst"; "required": false; }; "withPaginator": { "alias": "withPaginator"; "required": false; }; "paginatorOptions": { "alias": "paginatorOptions"; "required": false; }; }, { "entityClick": "entityClick"; "entitySelectChange": "entitySelectChange"; "entitySortChange": "entitySortChange"; }, never, never, true, never>;
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
/**
|
|
1464
|
+
* @deprecated import the EntityTableComponent directly
|
|
1465
|
+
*/
|
|
1466
|
+
declare class IgoEntityTableModule {
|
|
1467
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IgoEntityTableModule, never>;
|
|
1468
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoEntityTableModule, never, [typeof EntityTableComponent], [typeof EntityTableComponent]>;
|
|
1469
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<IgoEntityTableModule>;
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
declare class EntityTablePaginatorComponent implements OnChanges, OnDestroy {
|
|
1473
|
+
private languageService;
|
|
1474
|
+
private mediaService;
|
|
1475
|
+
disabled: boolean;
|
|
1476
|
+
hidePageSize: boolean;
|
|
1477
|
+
pageIndex: number;
|
|
1478
|
+
pageSize: number;
|
|
1479
|
+
pageSizeOptions: number[];
|
|
1480
|
+
showFirstLastButtons: boolean;
|
|
1481
|
+
private count$$;
|
|
1482
|
+
private entitySortChange$$;
|
|
1483
|
+
private paginationLabelTranslation$$;
|
|
1484
|
+
entitySortChange$: BehaviorSubject<boolean>;
|
|
1485
|
+
/**
|
|
1486
|
+
* Entity store
|
|
1487
|
+
*/
|
|
1488
|
+
store: EntityStore<object>;
|
|
1489
|
+
/**
|
|
1490
|
+
* Paginator options
|
|
1491
|
+
*/
|
|
1492
|
+
paginatorOptions: EntityTablePaginatorOptions;
|
|
1493
|
+
/**
|
|
1494
|
+
* Event emitted when the paginator changes the page size or page index.
|
|
1495
|
+
*/
|
|
1496
|
+
page: EventEmitter<PageEvent>;
|
|
1497
|
+
length: number;
|
|
1498
|
+
/**
|
|
1499
|
+
* Paginator emitted.
|
|
1500
|
+
*/
|
|
1501
|
+
paginatorChange: EventEmitter<MatPaginator>;
|
|
1502
|
+
paginator: MatPaginator;
|
|
1503
|
+
ngOnChanges(): void;
|
|
1504
|
+
initPaginatorOptions(): void;
|
|
1505
|
+
translateLabels(): void;
|
|
1506
|
+
rangeLabel: (page: number, pageSize: number, length: number) => string;
|
|
1507
|
+
private unsubscribeAll;
|
|
1508
|
+
ngOnDestroy(): void;
|
|
1509
|
+
emitPaginator(): void;
|
|
1510
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EntityTablePaginatorComponent, never>;
|
|
1511
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntityTablePaginatorComponent, "igo-entity-table-paginator", never, { "entitySortChange$": { "alias": "entitySortChange$"; "required": false; }; "store": { "alias": "store"; "required": false; }; "paginatorOptions": { "alias": "paginatorOptions"; "required": false; }; }, { "page": "page"; "paginatorChange": "paginatorChange"; }, never, never, true, never>;
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
/**
|
|
1515
|
+
* @deprecated import the EntityTablePaginatorComponent directly
|
|
1516
|
+
*/
|
|
1517
|
+
declare class IgoEntityTablePaginatorModule {
|
|
1518
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IgoEntityTablePaginatorModule, never>;
|
|
1519
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoEntityTablePaginatorModule, never, [typeof EntityTablePaginatorComponent], [typeof EntityTablePaginatorComponent]>;
|
|
1520
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<IgoEntityTablePaginatorModule>;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
declare const ENTITY_DIRECTIVES: readonly [typeof EntitySelectorComponent, typeof EntityTableComponent, typeof EntityTablePaginatorComponent];
|
|
1524
|
+
/**
|
|
1525
|
+
* @deprecated import the components directly or ENTITY_DIRECTIVES for every components/directives
|
|
1526
|
+
*/
|
|
1527
|
+
declare class IgoEntityModule {
|
|
1528
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IgoEntityModule, never>;
|
|
1529
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoEntityModule, never, [typeof EntitySelectorComponent, typeof EntityTableComponent, typeof EntityTablePaginatorComponent], [typeof EntitySelectorComponent, typeof EntityTableComponent, typeof EntityTablePaginatorComponent]>;
|
|
1530
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<IgoEntityModule>;
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
export { ENTITY_DIRECTIVES, EntityOperationType, EntitySelectorComponent, EntityStateManager, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityStoreStrategy, EntityStoreWatcher, EntityTableColumnRenderer, EntityTableComponent, EntityTablePaginatorComponent, EntityTableScrollBehavior, EntityTableSelectionState, EntityTransaction, EntityView, IgoEntityModule, IgoEntitySelectorModule, IgoEntityTableModule, IgoEntityTablePaginatorModule, getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle, getEntityTitleHtml };
|
|
1534
|
+
export type { EntityFilterClause, EntityJoinClause, EntityKey, EntityOperation, EntityOperationState, EntityRecord, EntitySelectorChange, EntitySortClause, EntityState, EntityStoreOptions, EntityStoreStrategyFuncOptions, EntityStoreStrategyOptions, EntityTableButton, EntityTableColumn, EntityTableColumnValidation, EntityTablePaginatorOptions, EntityTableTemplate, EntityTransactionCommitHandler, EntityTransactionOptions, SelectOption, TableRelation };
|