@fundamental-ngx/platform 0.43.34 → 0.43.35
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/esm2020/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
- package/esm2020/table/components/table-row/table-row.component.mjs +18 -8
- package/esm2020/table/table.component.mjs +28 -8
- package/esm2020/table-helpers/directives/index.mjs +2 -1
- package/esm2020/table-helpers/directives/table-visible-cell.directive.mjs +110 -0
- package/esm2020/table-helpers/index.mjs +2 -1
- package/esm2020/table-helpers/services/table-advanced-viewport-root.service.mjs +26 -0
- package/esm2020/table-helpers/table-helpers.module.mjs +8 -5
- package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2020/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +136 -5
- package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +40 -11
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +136 -5
- package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +40 -11
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.35.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/table/components/table-row/table-row.component.d.ts +8 -1
- package/table/table.component.d.ts +17 -4
- package/table-helpers/directives/index.d.ts +1 -0
- package/table-helpers/directives/table-visible-cell.directive.d.ts +32 -0
- package/table-helpers/index.d.ts +1 -0
- package/table-helpers/services/table-advanced-viewport-root.service.d.ts +14 -0
- package/table-helpers/table-helpers.module.d.ts +2 -1
- package/fundamental-ngx-platform-v0.43.34.tgz +0 -0
|
@@ -3,7 +3,7 @@ import { InjectionToken, Injectable, EventEmitter, inject, Directive, Input, Out
|
|
|
3
3
|
import * as i2 from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { DestroyedService, isString, dfs, RtlService, KeyUtil, resizeObservable, FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
5
5
|
import { isDataSource, DataSourceDirective, FD_DATA_SOURCE_TRANSFORMER } from '@fundamental-ngx/cdk/data-source';
|
|
6
|
-
import { Subject, BehaviorSubject, isObservable, Subscription, filter as filter$1, fromEvent, Observable } from 'rxjs';
|
|
6
|
+
import { Subject, BehaviorSubject, isObservable, Subscription, filter as filter$1, fromEvent, Observable, take as take$1, takeUntil as takeUntil$1 } from 'rxjs';
|
|
7
7
|
import { map, takeUntil, take, skip, startWith, filter, debounceTime, distinctUntilChanged, share, tap } from 'rxjs/operators';
|
|
8
8
|
import { ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
9
9
|
import { isSelectItem, isDataSource as isDataSource$1, isString as isString$1, isFunction } from '@fundamental-ngx/platform/shared';
|
|
@@ -3590,6 +3590,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
3590
3590
|
args: [{ selector: '[fdpViewSettingsFilterCustomDef]', standalone: true }]
|
|
3591
3591
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
3592
3592
|
|
|
3593
|
+
class ViewportRootService {
|
|
3594
|
+
constructor() {
|
|
3595
|
+
/** hidden */
|
|
3596
|
+
this.rootNode = null;
|
|
3597
|
+
/** hidden */
|
|
3598
|
+
this.rootElement$ = new Subject();
|
|
3599
|
+
}
|
|
3600
|
+
/** hidden */
|
|
3601
|
+
setRootNode(node) {
|
|
3602
|
+
this.rootNode = node;
|
|
3603
|
+
this.rootElement$.next(this.rootNode);
|
|
3604
|
+
}
|
|
3605
|
+
/** hidden */
|
|
3606
|
+
getRootNode() {
|
|
3607
|
+
return this.rootNode;
|
|
3608
|
+
}
|
|
3609
|
+
}
|
|
3610
|
+
ViewportRootService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ViewportRootService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3611
|
+
ViewportRootService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ViewportRootService });
|
|
3612
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ViewportRootService, decorators: [{
|
|
3613
|
+
type: Injectable
|
|
3614
|
+
}] });
|
|
3615
|
+
|
|
3616
|
+
class FdpRenderVisibleCellDirective {
|
|
3617
|
+
/** @hidden */
|
|
3618
|
+
constructor(el, renderer, viewContainer, cdr) {
|
|
3619
|
+
this.el = el;
|
|
3620
|
+
this.renderer = renderer;
|
|
3621
|
+
this.viewContainer = viewContainer;
|
|
3622
|
+
this.cdr = cdr;
|
|
3623
|
+
/** @hidden */
|
|
3624
|
+
this._destroy$ = new Subject();
|
|
3625
|
+
/** @hidden */
|
|
3626
|
+
this._viewportRootService = inject(ViewportRootService);
|
|
3627
|
+
}
|
|
3628
|
+
/** @hidden */
|
|
3629
|
+
ngOnInit() {
|
|
3630
|
+
if (!this._viewportRootService.getRootNode()) {
|
|
3631
|
+
this._viewportRootService.rootElement$.pipe(take$1(1)).subscribe((rootNode) => {
|
|
3632
|
+
if (rootNode) {
|
|
3633
|
+
this.checkViewport();
|
|
3634
|
+
}
|
|
3635
|
+
});
|
|
3636
|
+
}
|
|
3637
|
+
else {
|
|
3638
|
+
this.checkViewport();
|
|
3639
|
+
}
|
|
3640
|
+
}
|
|
3641
|
+
/** @hidden */
|
|
3642
|
+
checkViewport() {
|
|
3643
|
+
const options = {
|
|
3644
|
+
root: this._viewportRootService.getRootNode(),
|
|
3645
|
+
rootMargin: '50px',
|
|
3646
|
+
threshold: 0.0
|
|
3647
|
+
};
|
|
3648
|
+
const observer = new Observable((subscriber) => {
|
|
3649
|
+
const intersectionObserver = new IntersectionObserver((entries) => {
|
|
3650
|
+
const { isIntersecting } = entries[0];
|
|
3651
|
+
subscriber.next(isIntersecting);
|
|
3652
|
+
}, options);
|
|
3653
|
+
intersectionObserver.observe(this.el.nativeElement.parentElement);
|
|
3654
|
+
this._destroy$.subscribe(() => {
|
|
3655
|
+
intersectionObserver.disconnect();
|
|
3656
|
+
});
|
|
3657
|
+
return {
|
|
3658
|
+
unsubscribe() {
|
|
3659
|
+
intersectionObserver.disconnect();
|
|
3660
|
+
}
|
|
3661
|
+
};
|
|
3662
|
+
});
|
|
3663
|
+
observer.pipe(takeUntil$1(this._destroy$)).subscribe((inViewPort) => {
|
|
3664
|
+
this.updateView(inViewPort);
|
|
3665
|
+
});
|
|
3666
|
+
}
|
|
3667
|
+
/** @hidden */
|
|
3668
|
+
ngOnDestroy() {
|
|
3669
|
+
this._destroy$.next();
|
|
3670
|
+
this._destroy$.complete();
|
|
3671
|
+
}
|
|
3672
|
+
/** @hidden */
|
|
3673
|
+
updateView(inViewPort) {
|
|
3674
|
+
if (this.viewContainer.length === 0) {
|
|
3675
|
+
if (inViewPort) {
|
|
3676
|
+
this.viewContainer.createEmbeddedView(this.tableViewport);
|
|
3677
|
+
this.currentTemplate = this.tableViewport;
|
|
3678
|
+
}
|
|
3679
|
+
else {
|
|
3680
|
+
this.viewContainer.createEmbeddedView(this.viewportFallback);
|
|
3681
|
+
this.currentTemplate = this.viewportFallback;
|
|
3682
|
+
}
|
|
3683
|
+
}
|
|
3684
|
+
else {
|
|
3685
|
+
if (inViewPort && this.currentTemplate !== this.tableViewport) {
|
|
3686
|
+
if (this.currentViewRef) {
|
|
3687
|
+
this.viewContainer.remove(0);
|
|
3688
|
+
this.viewContainer.insert(this.currentViewRef);
|
|
3689
|
+
}
|
|
3690
|
+
else {
|
|
3691
|
+
this.viewContainer.clear();
|
|
3692
|
+
this.viewContainer.createEmbeddedView(this.tableViewport);
|
|
3693
|
+
}
|
|
3694
|
+
this.currentTemplate = this.tableViewport;
|
|
3695
|
+
}
|
|
3696
|
+
else if (!inViewPort && this.currentTemplate !== this.viewportFallback) {
|
|
3697
|
+
this.currentViewRef = this.viewContainer.detach(0);
|
|
3698
|
+
this.viewContainer.clear();
|
|
3699
|
+
this.viewContainer.createEmbeddedView(this.viewportFallback);
|
|
3700
|
+
this.currentTemplate = this.viewportFallback;
|
|
3701
|
+
}
|
|
3702
|
+
}
|
|
3703
|
+
this.cdr.markForCheck(); // Mark parent component for change detection
|
|
3704
|
+
}
|
|
3705
|
+
}
|
|
3706
|
+
FdpRenderVisibleCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FdpRenderVisibleCellDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3707
|
+
FdpRenderVisibleCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FdpRenderVisibleCellDirective, isStandalone: true, selector: "[fdpOnlyRenderVisibleCell]", inputs: { tableViewport: "tableViewport", viewportFallback: "viewportFallback" }, providers: [DestroyedService], ngImport: i0 });
|
|
3708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FdpRenderVisibleCellDirective, decorators: [{
|
|
3709
|
+
type: Directive,
|
|
3710
|
+
args: [{
|
|
3711
|
+
selector: '[fdpOnlyRenderVisibleCell]',
|
|
3712
|
+
standalone: true,
|
|
3713
|
+
providers: [DestroyedService]
|
|
3714
|
+
}]
|
|
3715
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tableViewport: [{
|
|
3716
|
+
type: Input
|
|
3717
|
+
}], viewportFallback: [{
|
|
3718
|
+
type: Input
|
|
3719
|
+
}] } });
|
|
3720
|
+
|
|
3593
3721
|
class TableCellStylesPipe {
|
|
3594
3722
|
/** @hidden */
|
|
3595
3723
|
transform(column, isRtl, semanticHighlightingColumnWidth, selectionColumnWidth, isFrozenColumn, isFrozenEndColumn, prevColumnWidthPx, columnWidth, nextColumnWidthPx) {
|
|
@@ -3750,7 +3878,8 @@ const importExports = [
|
|
|
3750
3878
|
TableCellStylesPipe,
|
|
3751
3879
|
ColumnResizableSidePipe,
|
|
3752
3880
|
RowClassesPipe,
|
|
3753
|
-
TableColumnSortingDirectionPipe
|
|
3881
|
+
TableColumnSortingDirectionPipe,
|
|
3882
|
+
FdpRenderVisibleCellDirective
|
|
3754
3883
|
];
|
|
3755
3884
|
class TableHelpersModule {
|
|
3756
3885
|
}
|
|
@@ -3778,7 +3907,8 @@ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
3778
3907
|
TableCellStylesPipe,
|
|
3779
3908
|
ColumnResizableSidePipe,
|
|
3780
3909
|
RowClassesPipe,
|
|
3781
|
-
TableColumnSortingDirectionPipe
|
|
3910
|
+
TableColumnSortingDirectionPipe,
|
|
3911
|
+
FdpRenderVisibleCellDirective], exports: [TableInitialStateDirective,
|
|
3782
3912
|
TableDraggableDirective,
|
|
3783
3913
|
TableVirtualScrollDirective,
|
|
3784
3914
|
PlatformTableColumnResponsiveDirective,
|
|
@@ -3801,7 +3931,8 @@ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
3801
3931
|
TableCellStylesPipe,
|
|
3802
3932
|
ColumnResizableSidePipe,
|
|
3803
3933
|
RowClassesPipe,
|
|
3804
|
-
TableColumnSortingDirectionPipe
|
|
3934
|
+
TableColumnSortingDirectionPipe,
|
|
3935
|
+
FdpRenderVisibleCellDirective] });
|
|
3805
3936
|
TableHelpersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule });
|
|
3806
3937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule, decorators: [{
|
|
3807
3938
|
type: NgModule,
|
|
@@ -3815,5 +3946,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
3815
3946
|
* Generated bundle index. Do not edit.
|
|
3816
3947
|
*/
|
|
3817
3948
|
|
|
3818
|
-
export { ARIA_SORT, ArrayTableDataProvider, ArrayTableDataSource, BaseTableDataProvider, BaseTableDataSource, ChildTableDataSource, ColumnAlign, ColumnResizableSidePipe, ColumnsChange, DEFAULT_HIGHLIGHTING_KEY, DEFAULT_TABLE_PAGE, DEFAULT_TABLE_SEARCH_INPUT, DEFAULT_TABLE_STATE, EDITABLE_ROW_SEMANTIC_STATE, EditableTableCell, FDP_TABLE_DRAGGABLE_DIRECTIVE, FDP_TABLE_STATE_DIRECTIVE, FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE, FILTER_BOOLEAN_STRATEGIES, FILTER_BOOLEAN_STRATEGY, FILTER_DATE_STRATEGIES, FILTER_DATE_STRATEGY, FILTER_DEFAULT_STRATEGIES, FILTER_DEFAULT_STRATEGY, FILTER_NUMBER_STRATEGIES, FILTER_NUMBER_STRATEGY, FILTER_STRATEGY, FILTER_STRING_STRATEGIES, FILTER_STRING_STRATEGY, FdpCellDef, FdpEditableCellDef, FdpEditableCellFormDirective, FdpHeaderCellDef, FdpTableCell, FdpTableHeader, FdpViewSettingsFilterCustomDef, FilterType, FilterableColumnDataType, ObservableTableDataProvider, ObservableTableDataSource, PageChange, PlatformTableCellResizableDirective, PlatformTableColumnResponsiveDirective, ROW_HEIGHT, RowClassesPipe, SELECTION_COLUMN_WIDTH, SEMANTIC_HIGHLIGHTING_COLUMN_WIDTH, SaveRowsEvent, SelectionCellStylesPipe, SelectionMode, SortDirection, TABLE_CELL_RESIZABLE_THRESHOLD_PX, TABLE_COLUMN_MIN_WIDTH, TABLE_RESIZER_BORDER_WIDTH, TABLE_SCROLLABLE, Table, TableCellActivateEvent, TableCellHeaderPopoverDirective, TableCellStylesPipe, TableChildrenDataProvider, TableColumn, TableColumnFreezeEvent, TableColumnResizeService, TableColumnSortingDirectionPipe, TableColumnsChangeEvent, TableDataProvider, TableDataSource, TableDataSourceDirective, TableDataSourceParser, TableDraggable, TableDraggableDirective, TableFilterChangeEvent, TableGroupChangeEvent, TableHeaderResizerDirective, TableHelpersModule, TableInitialState, TableInitialStateDirective, TablePageChangeEvent, TableResponsiveService, TableRowActivateEvent, TableRowImpl, TableRowSelectionChangeEvent, TableRowService, TableRowToggleOpenStateEvent, TableRowType, TableRowsRearrangeEvent, TableScrollDispatcherService, TableScrollableDirective, TableSearchChangeEvent, TableSelectionChangeEvent, TableService, TableSortChangeEvent, TableVirtualScroll, TableVirtualScrollDirective, applySelectionToChildren, buildNewRowSkeleton, convertObjectsToTableRows, convertTreeLikeToFlatList, convertTreeObjectsToTableRows, convertTreeTableRowToFlatList, createGroupedTableRowsTree, filterByBoolean, filterByDate, filterByNumber, filterByString, findRowChildren, getFilterStrategiesBasedOnDataType, getFreezableColumns, getFreezableEndColumns, getRowParents, getScrollBarWidth, getSelectableRows, getSelectionStatusByRowValue, getUniqueListValuesByKey, isCollectionFilter, isGroupRow, isItemRow, isRowNavigatable, isSelectableRow, isTableRow, isTreeRow, isTreeRowFirstCell, newTableRow, sortTreeLikeGroupedRows, toDataStream };
|
|
3949
|
+
export { ARIA_SORT, ArrayTableDataProvider, ArrayTableDataSource, BaseTableDataProvider, BaseTableDataSource, ChildTableDataSource, ColumnAlign, ColumnResizableSidePipe, ColumnsChange, DEFAULT_HIGHLIGHTING_KEY, DEFAULT_TABLE_PAGE, DEFAULT_TABLE_SEARCH_INPUT, DEFAULT_TABLE_STATE, EDITABLE_ROW_SEMANTIC_STATE, EditableTableCell, FDP_TABLE_DRAGGABLE_DIRECTIVE, FDP_TABLE_STATE_DIRECTIVE, FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE, FILTER_BOOLEAN_STRATEGIES, FILTER_BOOLEAN_STRATEGY, FILTER_DATE_STRATEGIES, FILTER_DATE_STRATEGY, FILTER_DEFAULT_STRATEGIES, FILTER_DEFAULT_STRATEGY, FILTER_NUMBER_STRATEGIES, FILTER_NUMBER_STRATEGY, FILTER_STRATEGY, FILTER_STRING_STRATEGIES, FILTER_STRING_STRATEGY, FdpCellDef, FdpEditableCellDef, FdpEditableCellFormDirective, FdpHeaderCellDef, FdpRenderVisibleCellDirective, FdpTableCell, FdpTableHeader, FdpViewSettingsFilterCustomDef, FilterType, FilterableColumnDataType, ObservableTableDataProvider, ObservableTableDataSource, PageChange, PlatformTableCellResizableDirective, PlatformTableColumnResponsiveDirective, ROW_HEIGHT, RowClassesPipe, SELECTION_COLUMN_WIDTH, SEMANTIC_HIGHLIGHTING_COLUMN_WIDTH, SaveRowsEvent, SelectionCellStylesPipe, SelectionMode, SortDirection, TABLE_CELL_RESIZABLE_THRESHOLD_PX, TABLE_COLUMN_MIN_WIDTH, TABLE_RESIZER_BORDER_WIDTH, TABLE_SCROLLABLE, Table, TableCellActivateEvent, TableCellHeaderPopoverDirective, TableCellStylesPipe, TableChildrenDataProvider, TableColumn, TableColumnFreezeEvent, TableColumnResizeService, TableColumnSortingDirectionPipe, TableColumnsChangeEvent, TableDataProvider, TableDataSource, TableDataSourceDirective, TableDataSourceParser, TableDraggable, TableDraggableDirective, TableFilterChangeEvent, TableGroupChangeEvent, TableHeaderResizerDirective, TableHelpersModule, TableInitialState, TableInitialStateDirective, TablePageChangeEvent, TableResponsiveService, TableRowActivateEvent, TableRowImpl, TableRowSelectionChangeEvent, TableRowService, TableRowToggleOpenStateEvent, TableRowType, TableRowsRearrangeEvent, TableScrollDispatcherService, TableScrollableDirective, TableSearchChangeEvent, TableSelectionChangeEvent, TableService, TableSortChangeEvent, TableVirtualScroll, TableVirtualScrollDirective, ViewportRootService, applySelectionToChildren, buildNewRowSkeleton, convertObjectsToTableRows, convertTreeLikeToFlatList, convertTreeObjectsToTableRows, convertTreeTableRowToFlatList, createGroupedTableRowsTree, filterByBoolean, filterByDate, filterByNumber, filterByString, findRowChildren, getFilterStrategiesBasedOnDataType, getFreezableColumns, getFreezableEndColumns, getRowParents, getScrollBarWidth, getSelectableRows, getSelectionStatusByRowValue, getUniqueListValuesByKey, isCollectionFilter, isGroupRow, isItemRow, isRowNavigatable, isSelectableRow, isTableRow, isTreeRow, isTreeRowFirstCell, newTableRow, sortTreeLikeGroupedRows, toDataStream };
|
|
3819
3950
|
//# sourceMappingURL=fundamental-ngx-platform-table-helpers.mjs.map
|