@theseam/ui-common 1.0.2-beta.63 → 1.0.2-beta.70

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.
@@ -4,9 +4,10 @@ import { coerceArray } from '@angular/cdk/coercion';
4
4
  import { DataSource, isDataSource } from '@angular/cdk/collections';
5
5
  import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ContentChildren, ViewChild, Directive, Injectable, inject, TemplateRef, ContentChild, Self, Inject, forwardRef, InjectionToken, Optional, isDevMode, input, ChangeDetectorRef, ElementRef, HostListener, HostBinding, NgModule } from '@angular/core';
7
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
7
8
  import { Subject, BehaviorSubject, of, startWith as startWith$1, map as map$1, switchMap as switchMap$1, combineLatest, defer, EMPTY, debounceTime, tap as tap$1, Subscription, from, isObservable } from 'rxjs';
8
9
  import { switchMap, map, startWith, auditTime, shareReplay, take, tap, distinctUntilChanged, takeUntil, concatMap, catchError } from 'rxjs/operators';
9
- import { faEllipsisH, faChevronDown, faChevronRight, faSpinner, faFilter, faColumns, faFileDownload } from '@fortawesome/free-solid-svg-icons';
10
+ import { faEllipsisH, faChevronDown, faChevronRight, faSpinner, faFilter, faColumns, faFileDownload, faSyncAlt } from '@fortawesome/free-solid-svg-icons';
10
11
  import * as i6 from '@marklb/ngx-datatable';
11
12
  import { camelCase, setColumnDefaults as setColumnDefaults$1, translateTemplates, SelectionType, SortType, ColumnMode, DatatableComponent as DatatableComponent$1, DatatableRowDetailDirective, NgxDatatableModule, ScrollbarHelper } from '@marklb/ngx-datatable';
12
13
  import { InputBoolean, InputNumber } from '@theseam/ui-common/core';
@@ -31,7 +32,7 @@ import * as i7 from '@fortawesome/angular-fontawesome';
31
32
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
32
33
  import * as i8 from '@theseam/ui-common/shared';
33
34
  import { TheSeamNgSelectExtraDirective, TheSeamAutoFocusDirective, TheSeamSharedModule } from '@theseam/ui-common/shared';
34
- import * as i4$2 from '@theseam/ui-common/buttons';
35
+ import * as i1$2 from '@theseam/ui-common/buttons';
35
36
  import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
36
37
  import * as i2$3 from '@theseam/ui-common/popover';
37
38
  import { TheSeamPopoverModule } from '@theseam/ui-common/popover';
@@ -39,22 +40,22 @@ import * as i3$1 from '@ng-select/ng-select';
39
40
  import { NgSelectModule } from '@ng-select/ng-select';
40
41
  import * as i4$1 from '@theseam/ui-common/form-field';
41
42
  import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
42
- import * as i4$3 from '@theseam/ui-common/checkbox';
43
+ import * as i4$2 from '@theseam/ui-common/checkbox';
43
44
  import { TheSeamCheckboxComponent } from '@theseam/ui-common/checkbox';
44
45
  import * as i3$2 from '@theseam/ui-common/dynamic';
45
46
  import { THESEAM_DYNAMIC_DATA } from '@theseam/ui-common/dynamic';
46
- import * as i1$2 from 'ngx-toastr';
47
+ import * as i1$3 from 'ngx-toastr';
47
48
  import { ToastrModule } from 'ngx-toastr';
48
49
  import * as i2$4 from '@theseam/ui-common/loading';
49
50
  import { TheSeamLoadingModule } from '@theseam/ui-common/loading';
50
- import * as i1$3 from '@theseam/ui-common/modal';
51
+ import * as i1$4 from '@theseam/ui-common/modal';
51
52
  import * as i2$5 from '@theseam/ui-common/dynamic-component-loader';
52
53
  import * as i3$3 from '@angular/common/http';
53
54
  import { ESCAPE } from '@angular/cdk/keycodes';
54
55
  import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
55
- import * as i1$4 from '@angular/cdk/overlay';
56
+ import * as i1$5 from '@angular/cdk/overlay';
56
57
  import { OverlayModule } from '@angular/cdk/overlay';
57
- import * as i1$5 from '@theseam/ui-common/scrollbar';
58
+ import * as i1$6 from '@theseam/ui-common/scrollbar';
58
59
  import { A11yModule } from '@angular/cdk/a11y';
59
60
  import { TheSeamToggleGroupModule } from '@theseam/ui-common/toggle-group';
60
61
 
@@ -1635,6 +1636,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
1635
1636
  type: Injectable
1636
1637
  }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: DatatableColumnChangesService }, { type: ColumnsFiltersService }] });
1637
1638
 
1639
+ class DatatableRefreshService {
1640
+ _refreshSubject = new Subject();
1641
+ refreshRequested$ = this._refreshSubject.asObservable();
1642
+ refresh() {
1643
+ this._refreshSubject.next();
1644
+ }
1645
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableRefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1646
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableRefreshService });
1647
+ }
1648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableRefreshService, decorators: [{
1649
+ type: Injectable
1650
+ }] });
1651
+
1638
1652
  const THESEAM_DATATABLE_ACCESSOR = new InjectionToken('TheSeamDatatableAccessor');
1639
1653
 
1640
1654
  function removeUnusedDiffs(cols, colDiffersInp, colDiffersTpl) {
@@ -2743,7 +2757,7 @@ class DatatableColumnFilterMenuComponent {
2743
2757
  this.columnFilter?.clearFilter();
2744
2758
  }
2745
2759
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableColumnFilterMenuComponent, deps: [{ token: ColumnsFiltersService }], target: i0.ɵɵFactoryTarget.Component });
2746
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableColumnFilterMenuComponent, isStandalone: true, selector: "seam-datatable-column-filter-menu", inputs: { column: "column", updateMethod: "updateMethod", debounce: "debounce" }, outputs: { closePopover: "closePopover" }, ngImport: i0, template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text\n [filterForm]=\"_filterForm\"\n ></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric\n [filterForm]=\"_filterForm\"\n ></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date\n [filterForm]=\"_filterForm\"\n [options]=\"columnFilter.options\"\n ></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: _filterForm,\n filterForm: _filterForm,\n options: columnFilter.options,\n column: column,\n columnFilter: columnFilter,\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\" />\n <div\n class=\"d-flex align-items-center\"\n [class.justify-content-between]=\"updateMethod === 'submit'\"\n [class.text-right]=\"updateMethod === 'valueChanges'\"\n >\n <button\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n (click)=\"clearFilter()\"\n [disabled]=\"columnFilter?.isDefault() === true\"\n >\n Clear\n </button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\"\n >\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i4$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "component", type: DatatableColumnFilterSearchTextComponent, selector: "seam-datatable-column-filter-search-text", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchNumericComponent, selector: "seam-datatable-column-filter-search-numeric", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchDateComponent, selector: "seam-datatable-column-filter-search-date", inputs: ["options", "filterForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }] });
2760
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableColumnFilterMenuComponent, isStandalone: true, selector: "seam-datatable-column-filter-menu", inputs: { column: "column", updateMethod: "updateMethod", debounce: "debounce" }, outputs: { closePopover: "closePopover" }, ngImport: i0, template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text\n [filterForm]=\"_filterForm\"\n ></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric\n [filterForm]=\"_filterForm\"\n ></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date\n [filterForm]=\"_filterForm\"\n [options]=\"columnFilter.options\"\n ></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: _filterForm,\n filterForm: _filterForm,\n options: columnFilter.options,\n column: column,\n columnFilter: columnFilter,\n }\"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\" />\n <div\n class=\"d-flex align-items-center\"\n [class.justify-content-between]=\"updateMethod === 'submit'\"\n [class.text-right]=\"updateMethod === 'valueChanges'\"\n >\n <button\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n (click)=\"clearFilter()\"\n [disabled]=\"columnFilter?.isDefault() === true\"\n >\n Clear\n </button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\"\n >\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i1$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "component", type: DatatableColumnFilterSearchTextComponent, selector: "seam-datatable-column-filter-search-text", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchNumericComponent, selector: "seam-datatable-column-filter-search-numeric", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchDateComponent, selector: "seam-datatable-column-filter-search-date", inputs: ["options", "filterForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }] });
2747
2761
  }
2748
2762
  __decorate([
2749
2763
  InputNumber()
@@ -2776,7 +2790,7 @@ class DatatableColumnHeaderComponent {
2776
2790
  columnFilterUpdateMethod = input(...(ngDevMode ? [undefined, { debugName: "columnFilterUpdateMethod" }] : []));
2777
2791
  columnFilterUpdateDebounce = input(...(ngDevMode ? [undefined, { debugName: "columnFilterUpdateDebounce" }] : []));
2778
2792
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableColumnHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2779
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DatatableColumnHeaderComponent, isStandalone: true, selector: "seam-datatable-column-header", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, sortFn: { classPropertyName: "sortFn", publicName: "sortFn", isSignal: true, isRequired: true, transformFunction: null }, columnFilterIcon: { classPropertyName: "columnFilterIcon", publicName: "columnFilterIcon", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateMethod: { classPropertyName: "columnFilterUpdateMethod", publicName: "columnFilterUpdateMethod", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateDebounce: { classPropertyName: "columnFilterUpdateDebounce", publicName: "columnFilterUpdateDebounce", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.flex-fill": "column().alignHeader !== \"left\"", "class.justify-content-center": "column().alignHeader === \"center\"", "class.justify-content-end": "column().alignHeader === \"right\"" }, classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "@if (column().filterable) {\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon()\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"column().filterActive\"\n style=\"width: 1rem\"\n title=\"Click to see filter options\"\n ></button>\n}\n@if (column().sortable) {\n <button\n seamButton\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()()\"\n title=\"Click to sort\"\n >\n <strong class=\"draggable\">{{ column().name }}</strong>\n </button>\n} @else {\n <strong class=\"draggable\">{{ column().name }}</strong>\n}\n<div\n class=\"datatable-column-header-separator\"\n [attr.data-column-id]=\"column().$$id\"\n></div>\n<ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column()\"\n [updateMethod]=\"columnFilterUpdateMethod()\"\n [debounce]=\"columnFilterUpdateDebounce()\"\n (closePopover)=\"popover?.closePopover()\"\n ></seam-datatable-column-filter-menu>\n</ng-template>\n", styles: [".datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i4$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "ngmodule", type: TheSeamPopoverModule }, { kind: "directive", type: i2$3.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i3.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }, { kind: "component", type: DatatableColumnFilterMenuComponent, selector: "seam-datatable-column-filter-menu", inputs: ["column", "updateMethod", "debounce"], outputs: ["closePopover"] }] });
2793
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DatatableColumnHeaderComponent, isStandalone: true, selector: "seam-datatable-column-header", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, sortFn: { classPropertyName: "sortFn", publicName: "sortFn", isSignal: true, isRequired: true, transformFunction: null }, columnFilterIcon: { classPropertyName: "columnFilterIcon", publicName: "columnFilterIcon", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateMethod: { classPropertyName: "columnFilterUpdateMethod", publicName: "columnFilterUpdateMethod", isSignal: true, isRequired: false, transformFunction: null }, columnFilterUpdateDebounce: { classPropertyName: "columnFilterUpdateDebounce", publicName: "columnFilterUpdateDebounce", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.flex-fill": "column().alignHeader !== \"left\"", "class.justify-content-center": "column().alignHeader === \"center\"", "class.justify-content-end": "column().alignHeader === \"right\"" }, classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "@if (column().filterable) {\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon()\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"column().filterActive\"\n style=\"width: 1rem\"\n title=\"Click to see filter options\"\n ></button>\n}\n@if (column().sortable) {\n <button\n seamButton\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()()\"\n title=\"Click to sort\"\n >\n <strong class=\"draggable\">{{ column().name }}</strong>\n </button>\n} @else {\n <strong class=\"draggable\">{{ column().name }}</strong>\n}\n<div\n class=\"datatable-column-header-separator\"\n [attr.data-column-id]=\"column().$$id\"\n></div>\n<ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column()\"\n [updateMethod]=\"columnFilterUpdateMethod()\"\n [debounce]=\"columnFilterUpdateDebounce()\"\n (closePopover)=\"popover?.closePopover()\"\n ></seam-datatable-column-filter-menu>\n</ng-template>\n", styles: [".datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i1$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "ngmodule", type: TheSeamPopoverModule }, { kind: "directive", type: i2$3.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i3.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }, { kind: "component", type: DatatableColumnFilterMenuComponent, selector: "seam-datatable-column-filter-menu", inputs: ["column", "updateMethod", "debounce"], outputs: ["closePopover"] }] });
2780
2794
  }
2781
2795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableColumnHeaderComponent, decorators: [{
2782
2796
  type: Component,
@@ -2839,6 +2853,7 @@ class DatatableComponent {
2839
2853
  _faChevronRight = faChevronRight;
2840
2854
  _faSpinner = faSpinner;
2841
2855
  _cdr = inject(ChangeDetectorRef);
2856
+ refreshRequested = outputFromObservable(inject(DatatableRefreshService).refreshRequested$);
2842
2857
  _ngUnsubscribe = new Subject();
2843
2858
  _menuBarsFiltersSubject = new BehaviorSubject([]);
2844
2859
  _dataSourceSubject = new BehaviorSubject(undefined);
@@ -3489,9 +3504,10 @@ class DatatableComponent {
3489
3504
  };
3490
3505
  }
3491
3506
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableComponent, deps: [{ token: DatatablePreferencesService }, { token: ColumnsManagerService }, { token: ColumnsAlterationsManagerService }, { token: ColumnsFiltersService }, { token: THESEAM_DATATABLE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3492
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableComponent, isStandalone: false, selector: "seam-datatable", inputs: { 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" }, outputs: { scroll: "scroll", activate: "activate", select: "select", sort: "sort", page: "page", reorder: "reorder", resize: "resize", tableContextmenu: "tableContextmenu", treeAction: "treeAction", actionRefreshRequest: "actionRefreshRequest", hiddenColumnsChange: "hiddenColumnsChange" }, host: { listeners: { "dblclick": "_dblClick($event)" } }, providers: [
3507
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableComponent, isStandalone: false, selector: "seam-datatable", inputs: { 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" }, outputs: { refreshRequested: "refreshRequested", scroll: "scroll", activate: "activate", select: "select", sort: "sort", page: "page", reorder: "reorder", resize: "resize", tableContextmenu: "tableContextmenu", treeAction: "treeAction", actionRefreshRequest: "actionRefreshRequest", hiddenColumnsChange: "hiddenColumnsChange" }, host: { listeners: { "dblclick": "_dblClick($event)" } }, providers: [
3493
3508
  _THESEAM_DATATABLE,
3494
3509
  DatatableColumnChangesService,
3510
+ DatatableRefreshService,
3495
3511
  _THESEAM_DATATABLE_ACCESSOR,
3496
3512
  ColumnsManagerService,
3497
3513
  ColumnsAlterationsManagerService,
@@ -3582,6 +3598,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
3582
3598
  ], providers: [
3583
3599
  _THESEAM_DATATABLE,
3584
3600
  DatatableColumnChangesService,
3601
+ DatatableRefreshService,
3585
3602
  _THESEAM_DATATABLE_ACCESSOR,
3586
3603
  ColumnsManagerService,
3587
3604
  ColumnsAlterationsManagerService,
@@ -3592,7 +3609,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
3592
3609
  }, {
3593
3610
  type: Inject,
3594
3611
  args: [THESEAM_DATATABLE_CONFIG]
3595
- }] }], propDecorators: { preferencesKey: [{
3612
+ }] }], propDecorators: { refreshRequested: [{ type: i0.Output, args: ["refreshRequested"] }], preferencesKey: [{
3596
3613
  type: Input
3597
3614
  }], targetMarkerTemplate: [{
3598
3615
  type: Input
@@ -3795,7 +3812,7 @@ class DatatableColumnPreferencesComponent {
3795
3812
  this._columnsAlterationsManager.add([alteration]);
3796
3813
  }
3797
3814
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableColumnPreferencesComponent, deps: [{ token: THESEAM_DATATABLE }, { token: ColumnsAlterationsManagerService }], target: i0.ɵɵFactoryTarget.Component });
3798
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableColumnPreferencesComponent, isStandalone: false, selector: "seam-datatable-column-preferences", ngImport: i0, template: "<h3>Columns</h3>\n\n<seam-form-field [numPaddingErrors]=\"0\">\n <input\n seamInput\n [formControl]=\"_filterControl\"\n seamInputSize=\"sm\"\n placeholder=\"Search\"\n seamAutoFocus\n />\n</seam-form-field>\n\n<div\n seamOverlayScrollbar\n style=\"min-height: 200px; max-height: 600px; min-width: 250px\"\n class=\"flex-grow-1 mb-2\"\n>\n <div class=\"p-2\">\n <ng-container *ngFor=\"let col of _columns$ | async\">\n <seam-checkbox\n [checked]=\"!col.hidden\"\n (change)=\"_onChange($event, col)\"\n >{{ col.name || col.prop }}</seam-checkbox\n >\n </ng-container>\n </div>\n</div>\n<div class=\"d-flex flex-row justify-content-end\">\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" (click)=\"_onCloseClick()\">Close</button> -->\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" class=\"mr-1\">Cancel</button>\n <button seamButton size=\"sm\" theme=\"success\">Done</button> -->\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "component", type: i4$3.TheSeamCheckboxComponent, selector: "seam-checkbox", inputs: ["tabIndex", "id", "aria-label", "aria-labelledby", "required", "checked", "disabled", "indeterminate", "name", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["seamCheckbox"] }, { kind: "component", type: i4$1.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$1.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3815
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableColumnPreferencesComponent, isStandalone: false, selector: "seam-datatable-column-preferences", ngImport: i0, template: "<h3>Columns</h3>\n\n<seam-form-field [numPaddingErrors]=\"0\">\n <input\n seamInput\n [formControl]=\"_filterControl\"\n seamInputSize=\"sm\"\n placeholder=\"Search\"\n seamAutoFocus\n />\n</seam-form-field>\n\n<div\n seamOverlayScrollbar\n style=\"min-height: 200px; max-height: 600px; min-width: 250px\"\n class=\"flex-grow-1 mb-2\"\n>\n <div class=\"p-2\">\n <ng-container *ngFor=\"let col of _columns$ | async\">\n <seam-checkbox\n [checked]=\"!col.hidden\"\n (change)=\"_onChange($event, col)\"\n >{{ col.name || col.prop }}</seam-checkbox\n >\n </ng-container>\n </div>\n</div>\n<div class=\"d-flex flex-row justify-content-end\">\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" (click)=\"_onCloseClick()\">Close</button> -->\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" class=\"mr-1\">Cancel</button>\n <button seamButton size=\"sm\" theme=\"success\">Done</button> -->\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "component", type: i4$2.TheSeamCheckboxComponent, selector: "seam-checkbox", inputs: ["tabIndex", "id", "aria-label", "aria-labelledby", "required", "checked", "disabled", "indeterminate", "name", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["seamCheckbox"] }, { kind: "component", type: i4$1.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4$1.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3799
3816
  }
3800
3817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableColumnPreferencesComponent, decorators: [{
3801
3818
  type: Component,
@@ -3926,16 +3943,16 @@ class DatatableExportButtonComponent {
3926
3943
  }
3927
3944
  return undefined;
3928
3945
  }
3929
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableExportButtonComponent, deps: [{ token: THESEAM_DATATABLE }, { token: i1$2.ToastrService }, { token: i2$4.TheSeamLoadingOverlayService }, { token: i3$2.DynamicValueHelperService }, { token: THESEAM_DYNAMIC_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3930
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableExportButtonComponent, isStandalone: false, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button\n *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\"\n >\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px\"\n title=\"Export\"\n [disabled]=\"disabled\"\n>\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i4$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3946
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableExportButtonComponent, deps: [{ token: THESEAM_DATATABLE }, { token: i1$3.ToastrService }, { token: i2$4.TheSeamLoadingOverlayService }, { token: i3$2.DynamicValueHelperService }, { token: THESEAM_DYNAMIC_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3947
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableExportButtonComponent, isStandalone: false, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button\n *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\"\n >\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px\"\n title=\"Export\"\n [disabled]=\"disabled\"\n>\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n <span class=\"sr-only\">Export</span>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i1$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3931
3948
  }
3932
3949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableExportButtonComponent, decorators: [{
3933
3950
  type: Component,
3934
- args: [{ selector: 'seam-datatable-export-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<seam-menu #menu>\n <button\n *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\"\n >\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px\"\n title=\"Export\"\n [disabled]=\"disabled\"\n>\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"] }]
3951
+ args: [{ selector: 'seam-datatable-export-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<seam-menu #menu>\n <button\n *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\"\n >\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px\"\n title=\"Export\"\n [disabled]=\"disabled\"\n>\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n <span class=\"sr-only\">Export</span>\n</button>\n", styles: [":host{display:inline-block}\n"] }]
3935
3952
  }], ctorParameters: () => [{ type: DatatableComponent, decorators: [{
3936
3953
  type: Inject,
3937
3954
  args: [THESEAM_DATATABLE]
3938
- }] }, { type: i1$2.ToastrService }, { type: i2$4.TheSeamLoadingOverlayService }, { type: i3$2.DynamicValueHelperService }, { type: undefined, decorators: [{
3955
+ }] }, { type: i1$3.ToastrService }, { type: i2$4.TheSeamLoadingOverlayService }, { type: i3$2.DynamicValueHelperService }, { type: undefined, decorators: [{
3939
3956
  type: Optional
3940
3957
  }, {
3941
3958
  type: Inject,
@@ -3944,6 +3961,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
3944
3961
  type: Input
3945
3962
  }] } });
3946
3963
 
3964
+ class DatatableRefreshButtonComponent {
3965
+ _refreshService = inject(DatatableRefreshService);
3966
+ _refreshIcon = faSyncAlt;
3967
+ _onClick() {
3968
+ this._refreshService.refresh();
3969
+ }
3970
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableRefreshButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3971
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableRefreshButtonComponent, isStandalone: true, selector: "seam-datatable-refresh-button", ngImport: i0, template: `
3972
+ <button
3973
+ seamButton
3974
+ theme="lightgray"
3975
+ size="sm"
3976
+ title="Refresh"
3977
+ (click)="_onClick()"
3978
+ >
3979
+ <seam-icon [icon]="_refreshIcon"></seam-icon>
3980
+ <span class="sr-only">Refresh</span>
3981
+ </button>
3982
+ `, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i1$2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3983
+ }
3984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableRefreshButtonComponent, decorators: [{
3985
+ type: Component,
3986
+ args: [{ selector: 'seam-datatable-refresh-button', template: `
3987
+ <button
3988
+ seamButton
3989
+ theme="lightgray"
3990
+ size="sm"
3991
+ title="Refresh"
3992
+ (click)="_onClick()"
3993
+ >
3994
+ <seam-icon [icon]="_refreshIcon"></seam-icon>
3995
+ <span class="sr-only">Refresh</span>
3996
+ </button>
3997
+ `, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TheSeamButtonsModule, TheSeamIconModule], styles: [":host{display:block}\n"] }]
3998
+ }] });
3999
+
3947
4000
  class DatatableMenuBarColumnCenterComponent {
3948
4001
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableMenuBarColumnCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3949
4002
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DatatableMenuBarColumnCenterComponent, isStandalone: false, selector: "seam-datatable-menu-bar-column-center", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 auto;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -4073,7 +4126,7 @@ class DatatableActionMenuItemDirective {
4073
4126
  this._dynamicComponentLoader = _dynamicComponentLoader;
4074
4127
  this._http = _http;
4075
4128
  }
4076
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuItemDirective, deps: [{ token: i1$3.Modal }, { token: i2$5.TheSeamDynamicComponentLoader }, { token: i3$3.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
4129
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuItemDirective, deps: [{ token: i1$4.Modal }, { token: i2$5.TheSeamDynamicComponentLoader }, { token: i3$3.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
4077
4130
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: DatatableActionMenuItemDirective, isStandalone: false, selector: "[seamDatatableActionMenuItem]", inputs: { label: "label", href: ["attr.href", "href"], target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", routerLink: "routerLink", confirmDialog: "confirmDialog", row: "row" }, outputs: { click: "click" }, host: { properties: { "class.list-group-item": "this._listGroupItem", "class.list-group-item-action": "this._listGroupItemAction" } }, ngImport: i0 });
4078
4131
  }
4079
4132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuItemDirective, decorators: [{
@@ -4082,7 +4135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4082
4135
  selector: '[seamDatatableActionMenuItem]',
4083
4136
  standalone: false,
4084
4137
  }]
4085
- }], ctorParameters: () => [{ type: i1$3.Modal }, { type: i2$5.TheSeamDynamicComponentLoader }, { type: i3$3.HttpClient, decorators: [{
4138
+ }], ctorParameters: () => [{ type: i1$4.Modal }, { type: i2$5.TheSeamDynamicComponentLoader }, { type: i3$3.HttpClient, decorators: [{
4086
4139
  type: Optional
4087
4140
  }] }], propDecorators: { _listGroupItem: [{
4088
4141
  type: HostBinding,
@@ -4238,7 +4291,7 @@ class DatatableActionMenuToggleDirective {
4238
4291
  onInputUp(event) {
4239
4292
  this._actionDown = false;
4240
4293
  }
4241
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1$4.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
4294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1$5.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
4242
4295
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: DatatableActionMenuToggleDirective, isStandalone: false, selector: "[seamDatatableActionMenuToggle]", inputs: { seamDatatableActionMenuToggle: "seamDatatableActionMenuToggle" }, host: { listeners: { "document:keydown": "_onKeydown($event)", "click": "_onClick($event)", "mousedown": "_mouseDown($event)", "pointerdown": "_pointerDown($event)", "mouseup": "_mouseUp($event)", "pointerup": "_pointerUp($event)" } }, exportAs: ["seamDatatableActionMenuToggle"], ngImport: i0 });
4243
4296
  }
4244
4297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatatableActionMenuToggleDirective, decorators: [{
@@ -4248,7 +4301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4248
4301
  exportAs: 'seamDatatableActionMenuToggle',
4249
4302
  standalone: false,
4250
4303
  }]
4251
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1$4.Overlay }], propDecorators: { seamDatatableActionMenuToggle: [{
4304
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1$5.Overlay }], propDecorators: { seamDatatableActionMenuToggle: [{
4252
4305
  type: Input
4253
4306
  }], _onKeydown: [{
4254
4307
  type: HostListener,
@@ -4328,12 +4381,12 @@ class TheSeamDatatableScrollbarHelperService {
4328
4381
  }
4329
4382
  });
4330
4383
  }
4331
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, deps: [{ token: i0.NgZone }, { token: i1$5.TheSeamOverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Injectable });
4384
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, deps: [{ token: i0.NgZone }, { token: i1$6.TheSeamOverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Injectable });
4332
4385
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDatatableScrollbarHelperService });
4333
4386
  }
4334
4387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, decorators: [{
4335
4388
  type: Injectable
4336
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$5.TheSeamOverlayScrollbarsService }] });
4389
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$6.TheSeamOverlayScrollbarsService }] });
4337
4390
 
4338
4391
  function withStoredColumnInfo(columns, preferenceColumns) {
4339
4392
  const _columns = [];
@@ -4405,7 +4458,8 @@ class TheSeamDatatableModule {
4405
4458
  DatatableColumnFilterMenuComponent,
4406
4459
  DatatableColumnFilterSearchTextComponent,
4407
4460
  DatatableColumnFilterSearchNumericComponent,
4408
- DatatableColumnFilterSearchDateComponent], exports: [DatatableComponent,
4461
+ DatatableColumnFilterSearchDateComponent,
4462
+ DatatableRefreshButtonComponent], exports: [DatatableComponent,
4409
4463
  DatatableCellTplDirective,
4410
4464
  DatatableColumnComponent,
4411
4465
  DatatableActionMenuComponent,
@@ -4414,6 +4468,7 @@ class TheSeamDatatableModule {
4414
4468
  DatatableFilterDirective,
4415
4469
  DatatableRowActionItemDirective,
4416
4470
  DatatableExportButtonComponent,
4471
+ DatatableRefreshButtonComponent,
4417
4472
  TheSeamDatatableRowDetailDirective,
4418
4473
  DatatableRowDetailTplDirective,
4419
4474
  TheSeamDatatableFooterDirective,
@@ -4463,7 +4518,8 @@ class TheSeamDatatableModule {
4463
4518
  DatatableColumnFilterMenuComponent,
4464
4519
  DatatableColumnFilterSearchTextComponent,
4465
4520
  DatatableColumnFilterSearchNumericComponent,
4466
- DatatableColumnFilterSearchDateComponent] });
4521
+ DatatableColumnFilterSearchDateComponent,
4522
+ DatatableRefreshButtonComponent] });
4467
4523
  }
4468
4524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDatatableModule, decorators: [{
4469
4525
  type: NgModule,
@@ -4522,6 +4578,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4522
4578
  DatatableColumnFilterSearchTextComponent,
4523
4579
  DatatableColumnFilterSearchNumericComponent,
4524
4580
  DatatableColumnFilterSearchDateComponent,
4581
+ DatatableRefreshButtonComponent,
4525
4582
  ],
4526
4583
  exports: [
4527
4584
  DatatableComponent,
@@ -4533,6 +4590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4533
4590
  DatatableFilterDirective,
4534
4591
  DatatableRowActionItemDirective,
4535
4592
  DatatableExportButtonComponent,
4593
+ DatatableRefreshButtonComponent,
4536
4594
  TheSeamDatatableRowDetailDirective,
4537
4595
  DatatableRowDetailTplDirective,
4538
4596
  TheSeamDatatableFooterDirective,
@@ -4565,5 +4623,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4565
4623
  * Generated bundle index. Do not edit.
4566
4624
  */
4567
4625
 
4568
- export { CURRENT_DATATABLE_PREFERENCES_VERSION, ColumnsAlteration, ColumnsDataFilter, ColumnsFiltersService, DatatableActionMenuComponent, DatatableActionMenuItemComponent, DatatableActionMenuItemDirective, DatatableActionMenuToggleDirective, DatatableCellTplDirective, DatatableColumnChangesService, DatatableColumnComponent, DatatableColumnFilterMenuComponent, DatatableColumnFilterSearchDateComponent, DatatableColumnFilterSearchNumericComponent, DatatableColumnFilterSearchTextComponent, DatatableColumnFilterTplDirective, DatatableColumnPreferencesButtonComponent, DatatableColumnPreferencesComponent, DatatableComponent, DatatableDataSource, DatatableExportButtonComponent, DatatableFilterDirective, DatatableFooterTplDirective, DatatableGqlDataSource, DatatableMenuBarColumnCenterComponent, DatatableMenuBarColumnLeftComponent, DatatableMenuBarColumnRightComponent, DatatableMenuBarComponent, DatatableMenuBarRowComponent, DatatableMenuBarTextComponent, DatatablePreferencesService, DatatableRowActionItemDirective, DatatableRowDetailTplDirective, EMPTY_DATATABLE_PREFERENCES, SearchDateColumnsDataFilter, SearchNumericColumnsDataFilter, SearchTextColumnsDataFilter, THESEAM_COLUMNS_DATA_FILTER, THESEAM_COLUMNS_DATA_FILTERS_DEFAULT, THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES, THESEAM_DATATABLE, THESEAM_DATATABLE_CONFIG, THESEAM_DATATABLE_PREFERENCES_ACCESSOR, THESEAM_MENUBAR_ITEM_DATA, TheSeamDatatableColumnFilterDirective, TheSeamDatatableFooterDirective, TheSeamDatatableModule, TheSeamDatatableRowDetailDirective, TheSeamDatatableScrollbarHelperService, _THESEAM_DATATABLE, _THESEAM_DATATABLE_ACCESSOR, _THESEAM_DATA_FILTER_CONTAINER, getFormattedDateForComparison, isColumnBoundToProp, mapColumnsAlterationsStates, withStoredColumnInfo };
4626
+ export { CURRENT_DATATABLE_PREFERENCES_VERSION, ColumnsAlteration, ColumnsDataFilter, ColumnsFiltersService, DatatableActionMenuComponent, DatatableActionMenuItemComponent, DatatableActionMenuItemDirective, DatatableActionMenuToggleDirective, DatatableCellTplDirective, DatatableColumnChangesService, DatatableColumnComponent, DatatableColumnFilterMenuComponent, DatatableColumnFilterSearchDateComponent, DatatableColumnFilterSearchNumericComponent, DatatableColumnFilterSearchTextComponent, DatatableColumnFilterTplDirective, DatatableColumnPreferencesButtonComponent, DatatableColumnPreferencesComponent, DatatableComponent, DatatableDataSource, DatatableExportButtonComponent, DatatableFilterDirective, DatatableFooterTplDirective, DatatableGqlDataSource, DatatableMenuBarColumnCenterComponent, DatatableMenuBarColumnLeftComponent, DatatableMenuBarColumnRightComponent, DatatableMenuBarComponent, DatatableMenuBarRowComponent, DatatableMenuBarTextComponent, DatatablePreferencesService, DatatableRefreshButtonComponent, DatatableRefreshService, DatatableRowActionItemDirective, DatatableRowDetailTplDirective, EMPTY_DATATABLE_PREFERENCES, SearchDateColumnsDataFilter, SearchNumericColumnsDataFilter, SearchTextColumnsDataFilter, THESEAM_COLUMNS_DATA_FILTER, THESEAM_COLUMNS_DATA_FILTERS_DEFAULT, THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES, THESEAM_DATATABLE, THESEAM_DATATABLE_CONFIG, THESEAM_DATATABLE_PREFERENCES_ACCESSOR, THESEAM_MENUBAR_ITEM_DATA, TheSeamDatatableColumnFilterDirective, TheSeamDatatableFooterDirective, TheSeamDatatableModule, TheSeamDatatableRowDetailDirective, TheSeamDatatableScrollbarHelperService, _THESEAM_DATATABLE, _THESEAM_DATATABLE_ACCESSOR, _THESEAM_DATA_FILTER_CONTAINER, getFormattedDateForComparison, isColumnBoundToProp, mapColumnsAlterationsStates, withStoredColumnInfo };
4569
4627
  //# sourceMappingURL=theseam-ui-common-datatable.mjs.map