@theseam/ui-common 0.4.27 → 0.4.28-beta.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/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/datatable/datatable/datatable.component.d.ts +60 -9
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +29 -20
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
- package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
- package/datatable/models/action-item-column-position.d.ts +13 -0
- package/datatable/models/columns-data-filter.d.ts +57 -0
- package/datatable/models/columns-data-filters/models.d.ts +65 -0
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
- package/datatable/models/columns-data-filters/utils.d.ts +15 -0
- package/datatable/models/datatable-config.d.ts +90 -0
- package/datatable/models/table-column.d.ts +22 -1
- package/datatable/public-api.d.ts +14 -0
- package/datatable/services/columns-filters.service.d.ts +29 -0
- package/datatable/services/columns-manager.service.d.ts +7 -0
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
- package/esm2020/datatable/datatable/datatable.component.mjs +231 -31
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
- package/esm2020/datatable/datatable.module.mjs +49 -7
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
- package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
- package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
- package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
- package/esm2020/datatable/models/datatable-config.mjs +3 -0
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +15 -1
- package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
- package/esm2020/datatable/services/columns-manager.service.mjs +27 -2
- package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
- package/esm2020/framework/base-layout/base-layout.component.mjs +14 -4
- package/esm2020/framework/base-layout/base-layout.module.mjs +6 -1
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +21 -5
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
- package/esm2020/framework/base-layout/index.mjs +2 -1
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
- package/esm2020/framework/nav/index.mjs +6 -0
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
- package/esm2020/framework/nav/nav-utils.mjs +107 -0
- package/esm2020/framework/nav/nav.models.mjs +2 -0
- package/esm2020/framework/nav/nav.module.mjs +67 -0
- package/esm2020/framework/nav/nav.service.mjs +204 -0
- package/esm2020/framework/public-api.mjs +2 -1
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +28 -67
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +12 -5
- package/esm2020/framework/side-nav/side-nav.component.mjs +116 -38
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +9 -39
- package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
- package/esm2020/framework/top-bar/index.mjs +3 -1
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +10 -4
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +6 -4
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar.component.mjs +55 -11
- package/esm2020/framework/top-bar/top-bar.module.mjs +15 -5
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
- package/esm2020/graphql/datatable/index.mjs +4 -1
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
- package/esm2020/layout/layout.service.mjs +12 -2
- package/esm2020/menu/menu-toggle.directive.mjs +7 -2
- package/esm2020/popover/popover/popover.component.mjs +7 -3
- package/esm2020/popover/popover.directive.mjs +6 -2
- package/esm2020/rich-text/public-api.mjs +1 -1
- package/esm2020/rich-text/utils/models.mjs +1 -1
- package/esm2020/rich-text/utils/utils.mjs +1 -1
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +5 -3
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +1025 -62
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +905 -156
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +254 -1
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +11 -2
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +6 -1
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-popover.mjs +11 -3
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +4 -2
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +1010 -62
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +907 -156
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +254 -1
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +11 -2
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +6 -1
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-popover.mjs +11 -3
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +4 -2
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +4 -2
- package/framework/base-layout/base-layout.component.scss +18 -10
- package/framework/base-layout/base-layout.module.d.ts +11 -10
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
- package/framework/base-layout/index.d.ts +1 -0
- package/framework/base-layout/styles/_variables.scss +21 -0
- package/framework/nav/_nav-theme.scss +4 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
- package/framework/nav/index.d.ts +5 -0
- package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
- package/framework/nav/nav-item/nav-item.component.scss +203 -0
- package/framework/nav/nav-utils.d.ts +20 -0
- package/framework/nav/nav.models.d.ts +77 -0
- package/framework/nav/nav.module.d.ts +17 -0
- package/framework/nav/nav.service.d.ts +27 -0
- package/framework/nav/styles/_themes/light/_variables.scss +56 -0
- package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
- package/framework/nav/styles/_utilities.scss +3 -0
- package/framework/nav/styles/_variables.scss +2 -0
- package/framework/public-api.d.ts +1 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
- package/framework/side-nav/side-nav.component.d.ts +13 -1
- package/framework/side-nav/side-nav.component.scss +0 -1
- package/framework/side-nav/side-nav.models.d.ts +7 -1
- package/framework/side-nav/side-nav.module.d.ts +1 -9
- package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
- package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
- package/framework/top-bar/index.d.ts +2 -0
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar.component.d.ts +25 -3
- package/framework/top-bar/top-bar.component.scss +7 -2
- package/framework/top-bar/top-bar.module.d.ts +10 -8
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +3 -0
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
- package/layout/layout.service.d.ts +9 -1
- package/menu/menu-toggle.directive.d.ts +2 -1
- package/package.json +2 -2
- package/popover/popover/popover.component.d.ts +4 -1
- package/popover/popover.directive.d.ts +2 -1
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
|
@@ -20,6 +20,11 @@ import { TheSeamDatatableColumn } from '../models/table-column';
|
|
|
20
20
|
import { ColumnsManagerService } from '../services/columns-manager.service';
|
|
21
21
|
import { DatatablePreferencesService } from '../services/datatable-preferences.service';
|
|
22
22
|
import { ColumnsAlterationsManagerService } from '../services/columns-alterations-manager.service';
|
|
23
|
+
import { ActionItemColumnPosition } from '../models/action-item-column-position';
|
|
24
|
+
import { ColumnsFiltersService } from '../services/columns-filters.service';
|
|
25
|
+
import { TheSeamDatatableColumnFilterUpdateMethod, TheSeamDatatableConfig, TheSeamDatatableMessages } from '../models/datatable-config';
|
|
26
|
+
import { SeamIcon } from '@theseam/ui-common/icon';
|
|
27
|
+
import { TheSeamDatatableColumnFilterDirective } from '../directives/datatable-column-filter.directive';
|
|
23
28
|
import * as i0 from "@angular/core";
|
|
24
29
|
/**
|
|
25
30
|
* NOTE: This is still being worked on. I am trying to figure out this model
|
|
@@ -54,6 +59,8 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
54
59
|
private readonly _preferences;
|
|
55
60
|
private readonly _columnsManager;
|
|
56
61
|
private readonly _columnsAlterationsManager;
|
|
62
|
+
private readonly _columnsFilters;
|
|
63
|
+
private readonly _config?;
|
|
57
64
|
static ngAcceptInputType_externalPaging: BooleanInput;
|
|
58
65
|
static ngAcceptInputType_externalSorting: BooleanInput;
|
|
59
66
|
static ngAcceptInputType_externalFiltering: BooleanInput;
|
|
@@ -79,7 +86,7 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
79
86
|
readonly _faChevronRight: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
80
87
|
readonly _faSpinner: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
81
88
|
private readonly _ngUnsubscribe;
|
|
82
|
-
private readonly
|
|
89
|
+
private readonly _menuBarsFiltersSubject;
|
|
83
90
|
private readonly _dataSourceSubject;
|
|
84
91
|
private _resizing;
|
|
85
92
|
readonly filterStates: Observable<DataFilterState[]>;
|
|
@@ -115,8 +122,20 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
115
122
|
get sorts(): SortItem[];
|
|
116
123
|
set sorts(value: SortItem[]);
|
|
117
124
|
_sorts: SortItem[];
|
|
118
|
-
cssClasses:
|
|
119
|
-
|
|
125
|
+
get cssClasses(): {
|
|
126
|
+
[key: string]: string;
|
|
127
|
+
} | undefined | null;
|
|
128
|
+
set cssClasses(value: {
|
|
129
|
+
[key: string]: string;
|
|
130
|
+
} | undefined | null);
|
|
131
|
+
private _cssClassesDefault;
|
|
132
|
+
_cssClasses: {
|
|
133
|
+
[key: string]: string;
|
|
134
|
+
} | undefined | null;
|
|
135
|
+
get messages(): TheSeamDatatableMessages | undefined | null;
|
|
136
|
+
set messages(value: TheSeamDatatableMessages | undefined | null);
|
|
137
|
+
private _messagesDefault;
|
|
138
|
+
_messages: TheSeamDatatableMessages | undefined | null;
|
|
120
139
|
rowIdentity: ((x: any) => any) | undefined | null;
|
|
121
140
|
rowClass: any | undefined | null;
|
|
122
141
|
selectCheck: any | undefined | null;
|
|
@@ -130,12 +149,41 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
130
149
|
summaryHeight: number;
|
|
131
150
|
summaryPosition: string | undefined | null;
|
|
132
151
|
virtualization: boolean;
|
|
133
|
-
headerHeight: number;
|
|
134
|
-
|
|
135
|
-
|
|
152
|
+
get headerHeight(): number | undefined | null;
|
|
153
|
+
set headerHeight(value: number | undefined | null);
|
|
154
|
+
private readonly _headerHeightDefault;
|
|
155
|
+
_headerHeight: number | undefined | null;
|
|
156
|
+
get rowHeight(): number | undefined | null;
|
|
157
|
+
set rowHeight(value: number | undefined | null);
|
|
158
|
+
private readonly _rowHeightDefault;
|
|
159
|
+
_rowHeight: number | undefined | null;
|
|
160
|
+
get footerHeight(): number | undefined | null;
|
|
161
|
+
set footerHeight(value: number | undefined | null);
|
|
162
|
+
private readonly _footerHeightDefault;
|
|
163
|
+
_footerHeight: number | undefined | null;
|
|
136
164
|
scrollbarV: boolean;
|
|
137
165
|
scrollbarH: boolean;
|
|
138
166
|
set dataSource(value: DataSource<any> | any[] | undefined | null);
|
|
167
|
+
/**
|
|
168
|
+
* Sets position behavior for optional Action Menu Button column.
|
|
169
|
+
*
|
|
170
|
+
* Defaults to `frozenRight`.
|
|
171
|
+
*/
|
|
172
|
+
get actionItemColumnPosition(): ActionItemColumnPosition | undefined;
|
|
173
|
+
set actionItemColumnPosition(value: ActionItemColumnPosition | undefined);
|
|
174
|
+
private _actionItemColumnPosition;
|
|
175
|
+
get columnFilterIcon(): SeamIcon | undefined | null;
|
|
176
|
+
set columnFilterIcon(value: SeamIcon | undefined | null);
|
|
177
|
+
private readonly _columnFilterIconDefault;
|
|
178
|
+
_columnFilterIcon: SeamIcon | undefined | null;
|
|
179
|
+
get columnFilterUpdateMethod(): TheSeamDatatableColumnFilterUpdateMethod | undefined | null;
|
|
180
|
+
set columnFilterUpdateMethod(value: TheSeamDatatableColumnFilterUpdateMethod | undefined | null);
|
|
181
|
+
private readonly _columnFilterUpdateMethodDefault;
|
|
182
|
+
_columnFilterUpdateMethod: TheSeamDatatableColumnFilterUpdateMethod | undefined | null;
|
|
183
|
+
get columnFilterUpdateDebounce(): number | undefined | null;
|
|
184
|
+
set columnFilterUpdateDebounce(value: number | undefined | null);
|
|
185
|
+
private readonly _columnFilterUpdateDebounceDefault;
|
|
186
|
+
_columnFilterUpdateDebounce: number | undefined | null;
|
|
139
187
|
readonly scroll: EventEmitter<any>;
|
|
140
188
|
readonly activate: EventEmitter<any>;
|
|
141
189
|
readonly select: EventEmitter<any>;
|
|
@@ -162,6 +210,7 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
162
210
|
set menuBarComponent(value: DatatableMenuBarComponent | undefined);
|
|
163
211
|
private _menuBarComponent;
|
|
164
212
|
private _menuBarSub;
|
|
213
|
+
set columnFilterTemplates(value: QueryList<TheSeamDatatableColumnFilterDirective> | undefined);
|
|
165
214
|
ngxDatatable?: NgxDatatableComponent;
|
|
166
215
|
ngxDatatableElement?: ElementRef;
|
|
167
216
|
ngxRowDetail?: DatatableRowDetailDirective;
|
|
@@ -188,8 +237,10 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
188
237
|
viewChange: Observable<ListRange>;
|
|
189
238
|
private _rowDetailToggleSubscription;
|
|
190
239
|
_dblClick(event: any): void;
|
|
191
|
-
constructor(_preferences: DatatablePreferencesService, _columnsManager: ColumnsManagerService, _columnsAlterationsManager: ColumnsAlterationsManagerService);
|
|
240
|
+
constructor(_preferences: DatatablePreferencesService, _columnsManager: ColumnsManagerService, _columnsAlterationsManager: ColumnsAlterationsManagerService, _columnsFilters: ColumnsFiltersService, _config?: TheSeamDatatableConfig | undefined);
|
|
192
241
|
ngOnInit(): void;
|
|
242
|
+
/** Sets missing inputs from config */
|
|
243
|
+
private _setDatatableConfigOrDefault;
|
|
193
244
|
ngOnDestroy(): void;
|
|
194
245
|
private _setMenuBarFilters;
|
|
195
246
|
getColumnComponent(propName: string): DatatableColumnComponent | null;
|
|
@@ -209,6 +260,6 @@ export declare class DatatableComponent implements OnInit, OnDestroy, TheSeamDat
|
|
|
209
260
|
* Returns the page info from the wrapped NgxDatatable instance or defaults.
|
|
210
261
|
*/
|
|
211
262
|
get pageInfo(): TheSeamPageInfo;
|
|
212
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableComponent,
|
|
213
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableComponent, "seam-datatable", never, { "preferencesKey": "preferencesKey"; "targetMarkerTemplate": "targetMarkerTemplate"; "columns": "columns"; "rows": "rows"; "columnMode": "columnMode"; "groupRowsBy": "groupRowsBy"; "groupedRows": "groupedRows"; "selected": "selected"; "externalPaging": "externalPaging"; "externalSorting": "externalSorting"; "externalFiltering": "externalFiltering"; "limit": "limit"; "count": "count"; "offset": "offset"; "loadingIndicator": "loadingIndicator"; "selectionType": "selectionType"; "reorderable": "reorderable"; "swapColumns": "swapColumns"; "sortType": "sortType"; "sorts": "sorts"; "cssClasses": "cssClasses"; "messages": "messages"; "rowIdentity": "rowIdentity"; "rowClass": "rowClass"; "selectCheck": "selectCheck"; "displayCheck": "displayCheck"; "groupExpansionDefault": "groupExpansionDefault"; "trackByProp": "trackByProp"; "selectAllRowsOnPage": "selectAllRowsOnPage"; "treeFromRelation": "treeFromRelation"; "treeToRelation": "treeToRelation"; "summaryRow": "summaryRow"; "summaryHeight": "summaryHeight"; "summaryPosition": "summaryPosition"; "virtualization": "virtualization"; "headerHeight": "headerHeight"; "rowHeight": "rowHeight"; "footerHeight": "footerHeight"; "scrollbarV": "scrollbarV"; "scrollbarH": "scrollbarH"; "dataSource": "dataSource"; }, { "scroll": "scroll"; "activate": "activate"; "select": "select"; "sort": "sort"; "page": "page"; "reorder": "reorder"; "resize": "resize"; "tableContextmenu": "tableContextmenu"; "treeAction": "treeAction"; "actionRefreshRequest": "actionRefreshRequest"; "hiddenColumnsChange": "hiddenColumnsChange"; }, ["actionMenu", "rowActionItem", "rowDetail", "footer", "menuBarComponent", "columnComponents"], ["seam-datatable-menu-bar"], false, never>;
|
|
263
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableComponent, [null, null, null, null, { optional: true; }]>;
|
|
264
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableComponent, "seam-datatable", never, { "preferencesKey": "preferencesKey"; "targetMarkerTemplate": "targetMarkerTemplate"; "columns": "columns"; "rows": "rows"; "columnMode": "columnMode"; "groupRowsBy": "groupRowsBy"; "groupedRows": "groupedRows"; "selected": "selected"; "externalPaging": "externalPaging"; "externalSorting": "externalSorting"; "externalFiltering": "externalFiltering"; "limit": "limit"; "count": "count"; "offset": "offset"; "loadingIndicator": "loadingIndicator"; "selectionType": "selectionType"; "reorderable": "reorderable"; "swapColumns": "swapColumns"; "sortType": "sortType"; "sorts": "sorts"; "cssClasses": "cssClasses"; "messages": "messages"; "rowIdentity": "rowIdentity"; "rowClass": "rowClass"; "selectCheck": "selectCheck"; "displayCheck": "displayCheck"; "groupExpansionDefault": "groupExpansionDefault"; "trackByProp": "trackByProp"; "selectAllRowsOnPage": "selectAllRowsOnPage"; "treeFromRelation": "treeFromRelation"; "treeToRelation": "treeToRelation"; "summaryRow": "summaryRow"; "summaryHeight": "summaryHeight"; "summaryPosition": "summaryPosition"; "virtualization": "virtualization"; "headerHeight": "headerHeight"; "rowHeight": "rowHeight"; "footerHeight": "footerHeight"; "scrollbarV": "scrollbarV"; "scrollbarH": "scrollbarH"; "dataSource": "dataSource"; "actionItemColumnPosition": "actionItemColumnPosition"; "columnFilterIcon": "columnFilterIcon"; "columnFilterUpdateMethod": "columnFilterUpdateMethod"; "columnFilterUpdateDebounce": "columnFilterUpdateDebounce"; }, { "scroll": "scroll"; "activate": "activate"; "select": "select"; "sort": "sort"; "page": "page"; "reorder": "reorder"; "resize": "resize"; "tableContextmenu": "tableContextmenu"; "treeAction": "treeAction"; "actionRefreshRequest": "actionRefreshRequest"; "hiddenColumnsChange": "hiddenColumnsChange"; }, ["actionMenu", "rowActionItem", "rowDetail", "footer", "menuBarComponent", "columnComponents", "columnFilterTemplates"], ["seam-datatable-menu-bar"], false, never>;
|
|
214
265
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { ColumnsFiltersService } from '../services/columns-filters.service';
|
|
3
|
+
import { TheSeamDatatableColumn } from '../models/table-column';
|
|
4
|
+
import { FormGroup } from '@angular/forms';
|
|
5
|
+
import { ColumnsDataFilter } from '../models/columns-data-filter';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import { TheSeamDatatableColumnFilterUpdateMethod } from '../models/datatable-config';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class DatatableColumnFilterMenuComponent implements OnInit {
|
|
10
|
+
private readonly _columnsFilters;
|
|
11
|
+
_filterForm: FormGroup<any> | undefined;
|
|
12
|
+
column: TheSeamDatatableColumn | null | undefined;
|
|
13
|
+
updateMethod: TheSeamDatatableColumnFilterUpdateMethod | null | undefined;
|
|
14
|
+
debounce: number | null | undefined;
|
|
15
|
+
columnFilterProp: string | null | null | undefined;
|
|
16
|
+
columnFilter: ColumnsDataFilter<any, any> | null | undefined;
|
|
17
|
+
customFilterTemplate$: Observable<any> | null | undefined;
|
|
18
|
+
closePopover: EventEmitter<any>;
|
|
19
|
+
constructor(_columnsFilters: ColumnsFiltersService);
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
submit(): void;
|
|
22
|
+
clearFilter(): void;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterMenuComponent, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterMenuComponent, "seam-datatable-column-filter-menu", never, { "column": "column"; "updateMethod": "updateMethod"; "debounce": "debounce"; }, { "closePopover": "closePopover"; }, never, never, false, never>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TheSeamColumnsDataFilterDateSearchDateType, TheSeamColumnsDataFilterDateSearchForm, TheSeamColumnsDataFilterDateSearchOptions, TheSeamColumnsDataFilterDateSearchType } from '../models/columns-data-filters/models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DatatableColumnFilterSearchDateComponent implements OnInit {
|
|
6
|
+
searchTypes: {
|
|
7
|
+
label: string;
|
|
8
|
+
value: TheSeamColumnsDataFilterDateSearchType;
|
|
9
|
+
}[];
|
|
10
|
+
options: TheSeamColumnsDataFilterDateSearchOptions | undefined;
|
|
11
|
+
filterForm: TheSeamColumnsDataFilterDateSearchForm | undefined;
|
|
12
|
+
dateFormat: TheSeamColumnsDataFilterDateSearchDateType | undefined;
|
|
13
|
+
showSearchInput$: Observable<boolean> | undefined;
|
|
14
|
+
showRangeInputs$: Observable<boolean> | undefined;
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterSearchDateComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterSearchDateComponent, "seam-datatable-column-filter-search-date", never, { "options": "options"; "filterForm": "filterForm"; }, {}, never, never, false, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TheSeamColumnsDataFilterNumericSearchForm, TheSeamColumnsDataFilterNumericSearchType } from '../models/columns-data-filters/models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DatatableColumnFilterSearchNumericComponent implements OnInit {
|
|
6
|
+
searchTypes: {
|
|
7
|
+
label: string;
|
|
8
|
+
value: TheSeamColumnsDataFilterNumericSearchType;
|
|
9
|
+
}[];
|
|
10
|
+
filterForm: TheSeamColumnsDataFilterNumericSearchForm | undefined;
|
|
11
|
+
showSearchInput$: Observable<boolean> | undefined;
|
|
12
|
+
showRangeInputs$: Observable<boolean> | undefined;
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterSearchNumericComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterSearchNumericComponent, "seam-datatable-column-filter-search-numeric", never, { "filterForm": "filterForm"; }, {}, never, never, false, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TheSeamColumnsDataFilterTextSearchForm, TheSeamColumnsDataFilterTextSearchType } from '../models/columns-data-filters/models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DatatableColumnFilterSearchTextComponent implements OnInit {
|
|
6
|
+
searchTypes: {
|
|
7
|
+
label: string;
|
|
8
|
+
value: TheSeamColumnsDataFilterTextSearchType;
|
|
9
|
+
}[];
|
|
10
|
+
filterForm: TheSeamColumnsDataFilterTextSearchForm | undefined;
|
|
11
|
+
showTextbox$: Observable<boolean> | undefined;
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterSearchTextComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterSearchTextComponent, "seam-datatable-column-filter-search-text", never, { "filterForm": "filterForm"; }, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EventEmitter, QueryList } from '@angular/core';
|
|
2
|
-
import { IDataFilter } from '@theseam/ui-common/data-filters';
|
|
2
|
+
import { DataFilterContainer, IDataFilter } from '@theseam/ui-common/data-filters';
|
|
3
3
|
import { DatatableFilterDirective } from '../directives/datatable-filter.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare const _THESEAM_DATA_FILTER_CONTAINER: any;
|
|
6
|
-
export declare class DatatableMenuBarComponent {
|
|
6
|
+
export declare class DatatableMenuBarComponent implements DataFilterContainer {
|
|
7
7
|
get filterDirectives(): QueryList<DatatableFilterDirective> | undefined;
|
|
8
8
|
set filterDirectives(value: QueryList<DatatableFilterDirective> | undefined);
|
|
9
9
|
private _filterDirectives;
|
|
@@ -21,27 +21,36 @@ import * as i19 from "./datatable-menu-bar-column-left/datatable-menu-bar-column
|
|
|
21
21
|
import * as i20 from "./datatable-menu-bar-column-center/datatable-menu-bar-column-center.component";
|
|
22
22
|
import * as i21 from "./datatable-menu-bar-column-right/datatable-menu-bar-column-right.component";
|
|
23
23
|
import * as i22 from "./datatable-menu-bar-text/datatable-menu-bar-text.component";
|
|
24
|
-
import * as i23 from "
|
|
25
|
-
import * as i24 from "
|
|
26
|
-
import * as i25 from "
|
|
27
|
-
import * as i26 from "
|
|
28
|
-
import * as i27 from "
|
|
29
|
-
import * as i28 from "
|
|
30
|
-
import * as i29 from "@angular/
|
|
31
|
-
import * as i30 from "@
|
|
32
|
-
import * as i31 from "@
|
|
33
|
-
import * as i32 from "@
|
|
34
|
-
import * as i33 from "
|
|
35
|
-
import * as i34 from "@theseam/ui-common/
|
|
36
|
-
import * as i35 from "@angular/
|
|
37
|
-
import * as i36 from "@theseam/ui-common/
|
|
38
|
-
import * as i37 from "@theseam/ui-common/
|
|
39
|
-
import * as i38 from "@theseam/ui-common/
|
|
40
|
-
import * as i39 from "
|
|
41
|
-
import * as i40 from "@
|
|
42
|
-
import * as i41 from "@
|
|
24
|
+
import * as i23 from "./datatable-column-filter-menu/datatable-column-filter-menu.component";
|
|
25
|
+
import * as i24 from "./datatable-column-filter-search-text/datatable-column-filter-search-text.component";
|
|
26
|
+
import * as i25 from "./datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component";
|
|
27
|
+
import * as i26 from "./datatable-column-filter-search-date/datatable-column-filter-search-date.component";
|
|
28
|
+
import * as i27 from "./directives/datatable-column-filter-tpl.directive";
|
|
29
|
+
import * as i28 from "./directives/datatable-column-filter.directive";
|
|
30
|
+
import * as i29 from "@angular/common";
|
|
31
|
+
import * as i30 from "@marklb/ngx-datatable";
|
|
32
|
+
import * as i31 from "@fortawesome/angular-fontawesome";
|
|
33
|
+
import * as i32 from "@angular/cdk/overlay";
|
|
34
|
+
import * as i33 from "@angular/cdk/a11y";
|
|
35
|
+
import * as i34 from "@theseam/ui-common/shared";
|
|
36
|
+
import * as i35 from "@angular/router";
|
|
37
|
+
import * as i36 from "@theseam/ui-common/menu";
|
|
38
|
+
import * as i37 from "@theseam/ui-common/buttons";
|
|
39
|
+
import * as i38 from "@theseam/ui-common/icon";
|
|
40
|
+
import * as i39 from "ngx-toastr";
|
|
41
|
+
import * as i40 from "@theseam/ui-common/loading";
|
|
42
|
+
import * as i41 from "@angular/cdk/portal";
|
|
43
|
+
import * as i42 from "@theseam/ui-common/confirm-dialog";
|
|
44
|
+
import * as i43 from "@theseam/ui-common/popover";
|
|
45
|
+
import * as i44 from "@theseam/ui-common/checkbox";
|
|
46
|
+
import * as i45 from "@theseam/ui-common/form-field";
|
|
47
|
+
import * as i46 from "@angular/forms";
|
|
48
|
+
import * as i47 from "@theseam/ui-common/table-cell-type";
|
|
49
|
+
import * as i48 from "@theseam/ui-common/data-filters";
|
|
50
|
+
import * as i49 from "@ng-select/ng-select";
|
|
51
|
+
import * as i50 from "@theseam/ui-common/toggle-group";
|
|
43
52
|
export declare class TheSeamDatatableModule {
|
|
44
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamDatatableModule, never>;
|
|
45
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TheSeamDatatableModule, [typeof i1.DatatableComponent, typeof i2.DatatableCellTplDirective, typeof i3.DatatableColumnComponent, typeof i4.DatatableActionMenuComponent, typeof i5.DatatableActionMenuToggleDirective, typeof i6.DatatableActionMenuItemComponent, typeof i7.DatatableMenuBarComponent, typeof i8.DatatableFilterDirective, typeof i9.DatatableRowActionItemDirective, typeof i10.DatatableExportButtonComponent, typeof i11.TheSeamDatatableRowDetailDirective, typeof i12.DatatableRowDetailTplDirective, typeof i13.TheSeamDatatableFooterDirective, typeof i14.DatatableFooterTplDirective, typeof i15.DatatableColumnPreferencesComponent, typeof i16.DatatableColumnPreferencesButtonComponent, typeof i17.DatatableActionMenuItemDirective, typeof i18.DatatableMenuBarRowComponent, typeof i19.DatatableMenuBarColumnLeftComponent, typeof i20.DatatableMenuBarColumnCenterComponent, typeof i21.DatatableMenuBarColumnRightComponent, typeof i22.DatatableMenuBarTextComponent], [typeof
|
|
54
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TheSeamDatatableModule, [typeof i1.DatatableComponent, typeof i2.DatatableCellTplDirective, typeof i3.DatatableColumnComponent, typeof i4.DatatableActionMenuComponent, typeof i5.DatatableActionMenuToggleDirective, typeof i6.DatatableActionMenuItemComponent, typeof i7.DatatableMenuBarComponent, typeof i8.DatatableFilterDirective, typeof i9.DatatableRowActionItemDirective, typeof i10.DatatableExportButtonComponent, typeof i11.TheSeamDatatableRowDetailDirective, typeof i12.DatatableRowDetailTplDirective, typeof i13.TheSeamDatatableFooterDirective, typeof i14.DatatableFooterTplDirective, typeof i15.DatatableColumnPreferencesComponent, typeof i16.DatatableColumnPreferencesButtonComponent, typeof i17.DatatableActionMenuItemDirective, typeof i18.DatatableMenuBarRowComponent, typeof i19.DatatableMenuBarColumnLeftComponent, typeof i20.DatatableMenuBarColumnCenterComponent, typeof i21.DatatableMenuBarColumnRightComponent, typeof i22.DatatableMenuBarTextComponent, typeof i23.DatatableColumnFilterMenuComponent, typeof i24.DatatableColumnFilterSearchTextComponent, typeof i25.DatatableColumnFilterSearchNumericComponent, typeof i26.DatatableColumnFilterSearchDateComponent, typeof i27.DatatableColumnFilterTplDirective, typeof i28.TheSeamDatatableColumnFilterDirective], [typeof i29.CommonModule, typeof i30.NgxDatatableModule, typeof i31.FontAwesomeModule, typeof i32.OverlayModule, typeof i33.A11yModule, typeof i34.TheSeamSharedModule, typeof i35.RouterModule, typeof i36.TheSeamMenuModule, typeof i37.TheSeamButtonsModule, typeof i38.TheSeamIconModule, typeof i39.ToastrModule, typeof i40.TheSeamLoadingModule, typeof i41.PortalModule, typeof i42.TheSeamConfirmDialogModule, typeof i43.TheSeamPopoverModule, typeof i44.TheSeamCheckboxComponent, typeof i45.TheSeamFormFieldModule, typeof i46.ReactiveFormsModule, typeof i47.TheSeamTableCellTypeModule, typeof i48.TheSeamDataFiltersModule, typeof i49.NgSelectModule, typeof i50.TheSeamToggleGroupModule], [typeof i1.DatatableComponent, typeof i2.DatatableCellTplDirective, typeof i3.DatatableColumnComponent, typeof i4.DatatableActionMenuComponent, typeof i6.DatatableActionMenuItemComponent, typeof i7.DatatableMenuBarComponent, typeof i8.DatatableFilterDirective, typeof i9.DatatableRowActionItemDirective, typeof i10.DatatableExportButtonComponent, typeof i11.TheSeamDatatableRowDetailDirective, typeof i12.DatatableRowDetailTplDirective, typeof i13.TheSeamDatatableFooterDirective, typeof i14.DatatableFooterTplDirective, typeof i15.DatatableColumnPreferencesComponent, typeof i16.DatatableColumnPreferencesButtonComponent, typeof i17.DatatableActionMenuItemDirective, typeof i18.DatatableMenuBarRowComponent, typeof i19.DatatableMenuBarColumnLeftComponent, typeof i20.DatatableMenuBarColumnCenterComponent, typeof i21.DatatableMenuBarColumnRightComponent, typeof i22.DatatableMenuBarTextComponent, typeof i23.DatatableColumnFilterMenuComponent, typeof i24.DatatableColumnFilterSearchTextComponent, typeof i25.DatatableColumnFilterSearchNumericComponent, typeof i26.DatatableColumnFilterSearchDateComponent, typeof i27.DatatableColumnFilterTplDirective, typeof i28.TheSeamDatatableColumnFilterDirective]>;
|
|
46
55
|
static ɵinj: i0.ɵɵInjectorDeclaration<TheSeamDatatableModule>;
|
|
47
56
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class DatatableColumnFilterTplDirective {
|
|
4
|
+
template: TemplateRef<any>;
|
|
5
|
+
constructor(template: TemplateRef<any>);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterTplDirective, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableColumnFilterTplDirective, "[seamDatatableColumnFilterTpl]", never, {}, {}, never, never, false, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TheSeamDatatableColumnFilterDirective {
|
|
4
|
+
filterName: string | undefined | null;
|
|
5
|
+
_templateInput: TemplateRef<any> | undefined | null;
|
|
6
|
+
_templateQuery: TemplateRef<any> | undefined | null;
|
|
7
|
+
get template(): TemplateRef<any> | undefined | null;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamDatatableColumnFilterDirective, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TheSeamDatatableColumnFilterDirective, "seam-datatable-column-filter", never, { "filterName": "filterName"; "_templateInput": "template"; }, {}, ["_templateQuery"], never, false, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const ActionItemColumnPosition: readonly ["frozenLeft", "frozenRight", "staticLeft", "staticRight"];
|
|
2
|
+
/**
|
|
3
|
+
* If `frozenLeft`, action item column will be fixed to the left side of the table.
|
|
4
|
+
*
|
|
5
|
+
* If `frozenRight`, action item column will be fixed to the right side of the table.
|
|
6
|
+
*
|
|
7
|
+
* If `staticLeft`, action item column will be the first static column on the left side of the table.
|
|
8
|
+
*
|
|
9
|
+
* If `staticRight`, action item column will be the last static column on the right side of the table.
|
|
10
|
+
*/
|
|
11
|
+
export type ActionItemColumnPosition = typeof ActionItemColumnPosition[number];
|
|
12
|
+
export declare function isActionItemColumnPosition(input: unknown): input is ActionItemColumnPosition;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { DataFilter, DataFilterState } from '@theseam/ui-common/data-filters';
|
|
2
|
+
import { TheSeamDatatableColumn, TheSeamDatatableColumnFilterableConfig } from './table-column';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { FormGroup } from '@angular/forms';
|
|
5
|
+
import { InjectionToken } from '@angular/core';
|
|
6
|
+
export interface ColumnsDataFilterStateState<T = any, O = any> {
|
|
7
|
+
prop?: string;
|
|
8
|
+
formValue?: Partial<T>;
|
|
9
|
+
options?: O;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
export interface ColumnsDataFilterState<T = any, O = any> extends DataFilterState {
|
|
13
|
+
state: ColumnsDataFilterStateState<T, O>;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class ColumnsDataFilter<TInitial = any, TForm = FormGroup, TOptions = any, TConfig extends TheSeamDatatableColumnFilterableConfig = any> implements DataFilter {
|
|
16
|
+
readonly prop: string;
|
|
17
|
+
readonly initialValue: TInitial;
|
|
18
|
+
readonly column: TheSeamDatatableColumn<any, any, TConfig>;
|
|
19
|
+
/**
|
|
20
|
+
* Name used when referencing filter by string.
|
|
21
|
+
*/
|
|
22
|
+
abstract readonly name: string;
|
|
23
|
+
/**
|
|
24
|
+
* Unique value to prevent a filter being used more than once if it ends up
|
|
25
|
+
* being registered more than once.
|
|
26
|
+
*/
|
|
27
|
+
abstract readonly uid: string;
|
|
28
|
+
abstract readonly form: TForm;
|
|
29
|
+
/**
|
|
30
|
+
* Listens for changes in the filter value and emits the current state of the filter.
|
|
31
|
+
*/
|
|
32
|
+
abstract readonly filterStateChanges: Observable<DataFilterState>;
|
|
33
|
+
abstract readonly options: TOptions;
|
|
34
|
+
constructor(prop: string, initialValue: TInitial, column: TheSeamDatatableColumn<any, any, TConfig>);
|
|
35
|
+
/**
|
|
36
|
+
* Takes rows, filter form value, and an optional config object, and returns filtered rows.
|
|
37
|
+
*/
|
|
38
|
+
abstract dataFilter(data: any[], filterValue: TInitial, options: any): any[];
|
|
39
|
+
/**
|
|
40
|
+
* Listens for changes in the filter value and filters the data based on the conditions set.
|
|
41
|
+
*/
|
|
42
|
+
abstract filter<T>(data: T[]): Observable<T[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Returns the current state of the filter.
|
|
45
|
+
*/
|
|
46
|
+
abstract filterState(): ColumnsDataFilterState<TInitial, TOptions>;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the form value back to the default.
|
|
49
|
+
*/
|
|
50
|
+
abstract applyFilter(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the form value back to the default.
|
|
53
|
+
*/
|
|
54
|
+
abstract clearFilter(): void;
|
|
55
|
+
abstract isDefault(): boolean;
|
|
56
|
+
}
|
|
57
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER: InjectionToken<ColumnsDataFilter<any, any, any, any>>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { FormControl, FormGroup } from "@angular/forms";
|
|
2
|
+
import { TheSeamDatatableColumnFilterableConfig } from "../table-column";
|
|
3
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME: "search-date";
|
|
4
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES: readonly ["lt", "lte", "gt", "gte", "eq", "blank", "not-blank", "between", "not-between"];
|
|
5
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES: string[];
|
|
6
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES: string[];
|
|
7
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES: string[];
|
|
8
|
+
export type TheSeamColumnsDataFilterDateSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES[number];
|
|
9
|
+
export type TheSeamColumnsDataFilterDateSearchForm = FormGroup<{
|
|
10
|
+
searchType: FormControl<TheSeamColumnsDataFilterDateSearchType | null>;
|
|
11
|
+
searchText: FormControl<string | null>;
|
|
12
|
+
fromText: FormControl<string | null>;
|
|
13
|
+
toText: FormControl<string | null>;
|
|
14
|
+
}>;
|
|
15
|
+
export interface TheSeamColumnsDataFilterDateSearchFormState {
|
|
16
|
+
searchType: TheSeamColumnsDataFilterDateSearchType | null;
|
|
17
|
+
searchText: string | null;
|
|
18
|
+
fromText: string | null;
|
|
19
|
+
toText: string | null;
|
|
20
|
+
}
|
|
21
|
+
export type TheSeamColumnsDataFilterDateSearchDateType = 'date' | 'datetime-local';
|
|
22
|
+
export interface TheSeamDatatableDateColumnFilterableConfig extends TheSeamDatatableColumnFilterableConfig {
|
|
23
|
+
/**
|
|
24
|
+
* The input type to use for the date filter form.
|
|
25
|
+
*/
|
|
26
|
+
dateType?: TheSeamColumnsDataFilterDateSearchDateType;
|
|
27
|
+
/**
|
|
28
|
+
* When set to true, assumes provided date is in local time.
|
|
29
|
+
*/
|
|
30
|
+
useLocalTime?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface TheSeamColumnsDataFilterDateSearchOptions {
|
|
33
|
+
dateType: TheSeamColumnsDataFilterDateSearchDateType;
|
|
34
|
+
}
|
|
35
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME: "search-numeric";
|
|
36
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES: readonly ["gt", "lt", "eq", "gte", "lte", "blank", "not-blank", "between", "not-between"];
|
|
37
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES: string[];
|
|
38
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES: string[];
|
|
39
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES: string[];
|
|
40
|
+
export type TheSeamColumnsDataFilterNumericSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES[number];
|
|
41
|
+
export type TheSeamColumnsDataFilterNumericSearchForm = FormGroup<{
|
|
42
|
+
searchType: FormControl<TheSeamColumnsDataFilterNumericSearchType | null>;
|
|
43
|
+
searchText: FormControl<string | null>;
|
|
44
|
+
fromText: FormControl<string | null>;
|
|
45
|
+
toText: FormControl<string | null>;
|
|
46
|
+
}>;
|
|
47
|
+
export type TheSeamColumnsDataFilterNumericSearchFormState = {
|
|
48
|
+
searchType: TheSeamColumnsDataFilterNumericSearchType | null;
|
|
49
|
+
searchText: string | null;
|
|
50
|
+
fromText: string | null;
|
|
51
|
+
toText: string | null;
|
|
52
|
+
};
|
|
53
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME: "search-text";
|
|
54
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES: readonly ["contains", "ncontains", "eq", "neq", "blank", "not-blank"];
|
|
55
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES: string[];
|
|
56
|
+
export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES: string[];
|
|
57
|
+
export type TheSeamColumnsDataFilterTextSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES[number];
|
|
58
|
+
export type TheSeamColumnsDataFilterTextSearchForm = FormGroup<{
|
|
59
|
+
searchType: FormControl<TheSeamColumnsDataFilterTextSearchType | null>;
|
|
60
|
+
searchText: FormControl<string | null>;
|
|
61
|
+
}>;
|
|
62
|
+
export type TheSeamColumnsDataFilterTextSearchFormState = {
|
|
63
|
+
searchType: TheSeamColumnsDataFilterTextSearchType | null;
|
|
64
|
+
searchText: string | null;
|
|
65
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
|
|
2
|
+
import { TheSeamDatatableColumn } from "../table-column";
|
|
3
|
+
import { DataFilterState } from "@theseam/ui-common/data-filters";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import { TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchForm, TheSeamColumnsDataFilterDateSearchOptions, TheSeamDatatableDateColumnFilterableConfig } from "./models";
|
|
6
|
+
export declare class SearchDateColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchForm, TheSeamColumnsDataFilterDateSearchOptions, TheSeamDatatableDateColumnFilterableConfig> {
|
|
7
|
+
readonly name: "search-date";
|
|
8
|
+
readonly uid: string;
|
|
9
|
+
form: TheSeamColumnsDataFilterDateSearchForm;
|
|
10
|
+
filterStateChanges: Observable<DataFilterState>;
|
|
11
|
+
options: TheSeamColumnsDataFilterDateSearchOptions;
|
|
12
|
+
private _updateFilterValue;
|
|
13
|
+
constructor(prop: string, initialValue: TheSeamColumnsDataFilterDateSearchFormState, column: TheSeamDatatableColumn<any, any, TheSeamDatatableDateColumnFilterableConfig>);
|
|
14
|
+
dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterDateSearchFormState>, options: any): any[];
|
|
15
|
+
private _isInvalidDate;
|
|
16
|
+
private _isInvalidSearchTerm;
|
|
17
|
+
private _dateSearchDataFilter;
|
|
18
|
+
filter(data: any[]): Observable<any[]>;
|
|
19
|
+
filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchOptions>;
|
|
20
|
+
applyFilter(): void;
|
|
21
|
+
clearFilter(): void;
|
|
22
|
+
isDefault(): boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
|
|
2
|
+
import { TheSeamDatatableColumn } from "../table-column";
|
|
3
|
+
import { DataFilterState } from "@theseam/ui-common/data-filters";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import { TheSeamColumnsDataFilterNumericSearchFormState, TheSeamColumnsDataFilterNumericSearchForm } from "./models";
|
|
6
|
+
export declare class SearchNumericColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterNumericSearchFormState, TheSeamColumnsDataFilterNumericSearchForm, undefined> {
|
|
7
|
+
readonly name: "search-numeric";
|
|
8
|
+
readonly uid: string;
|
|
9
|
+
form: TheSeamColumnsDataFilterNumericSearchForm;
|
|
10
|
+
filterStateChanges: Observable<DataFilterState>;
|
|
11
|
+
options: any;
|
|
12
|
+
private _updateFilterValue;
|
|
13
|
+
constructor(prop: string, initialValue: TheSeamColumnsDataFilterNumericSearchFormState, column: TheSeamDatatableColumn);
|
|
14
|
+
dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterNumericSearchFormState>, options: any): any[];
|
|
15
|
+
private _isInvalidSearchTerm;
|
|
16
|
+
private numberSearchDataFilter;
|
|
17
|
+
filter(data: any[]): Observable<any[]>;
|
|
18
|
+
filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterNumericSearchFormState>;
|
|
19
|
+
applyFilter(): void;
|
|
20
|
+
clearFilter(): void;
|
|
21
|
+
isDefault(): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
|
|
2
|
+
import { TheSeamDatatableColumn } from "../table-column";
|
|
3
|
+
import { DataFilterState } from "@theseam/ui-common/data-filters";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import { TheSeamColumnsDataFilterTextSearchFormState, TheSeamColumnsDataFilterTextSearchForm } from "./models";
|
|
6
|
+
export declare class SearchTextColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterTextSearchFormState, TheSeamColumnsDataFilterTextSearchForm> {
|
|
7
|
+
readonly name: "search-text";
|
|
8
|
+
readonly uid: string;
|
|
9
|
+
form: TheSeamColumnsDataFilterTextSearchForm;
|
|
10
|
+
filterStateChanges: Observable<DataFilterState>;
|
|
11
|
+
options: any;
|
|
12
|
+
private _updateFilterValue;
|
|
13
|
+
constructor(prop: string, initialValue: TheSeamColumnsDataFilterTextSearchFormState, column: TheSeamDatatableColumn);
|
|
14
|
+
dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterTextSearchFormState>, options: any): any[];
|
|
15
|
+
private _textSearchDataFilter;
|
|
16
|
+
filter(data: any[]): Observable<any[]>;
|
|
17
|
+
filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterTextSearchFormState>;
|
|
18
|
+
applyFilter(): void;
|
|
19
|
+
clearFilter(): void;
|
|
20
|
+
isDefault(): boolean;
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SearchDateColumnsDataFilter } from "./search-date.columns-data-filter";
|
|
2
|
+
import { SearchNumericColumnsDataFilter } from "./search-numeric.columns-data-filter";
|
|
3
|
+
import { SearchTextColumnsDataFilter } from "./search-text.columns-data-filter";
|
|
4
|
+
import { TheSeamColumnsDataFilterDateSearchDateType } from "./models";
|
|
5
|
+
export declare const THESEAM_COLUMNS_DATA_FILTERS_DEFAULT: readonly [{
|
|
6
|
+
readonly name: "search-text";
|
|
7
|
+
readonly class: typeof SearchTextColumnsDataFilter;
|
|
8
|
+
}, {
|
|
9
|
+
readonly name: "search-numeric";
|
|
10
|
+
readonly class: typeof SearchNumericColumnsDataFilter;
|
|
11
|
+
}, {
|
|
12
|
+
readonly name: "search-date";
|
|
13
|
+
readonly class: typeof SearchDateColumnsDataFilter;
|
|
14
|
+
}];
|
|
15
|
+
export declare const getFormattedDateForComparison: (date: string | number | Date | null | undefined, dateType: TheSeamColumnsDataFilterDateSearchDateType, setToLocalTime?: boolean) => Date;
|