@marcura/marcura-grid 6.1.2 → 19.0.0-dev.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.
Files changed (32) hide show
  1. package/README.md +24 -24
  2. package/fesm2022/marcura-marcura-grid.mjs +541 -0
  3. package/fesm2022/marcura-marcura-grid.mjs.map +1 -0
  4. package/lib/components/cell/cell.component.d.ts +1 -1
  5. package/lib/components/column-cell/column-cell.component.d.ts +1 -1
  6. package/lib/components/columns-form/columns-form.component.d.ts +1 -1
  7. package/lib/components/continuous-grid/continuous-grid.component.d.ts +1 -1
  8. package/lib/components/grid/grid.component.d.ts +1 -1
  9. package/lib/components/load-more/load-more.component.d.ts +1 -1
  10. package/lib/components/paginated-grid/paginated-grid.component.d.ts +1 -1
  11. package/package.json +15 -23
  12. package/esm2020/lib/components/cell/cell.component.mjs +0 -19
  13. package/esm2020/lib/components/column-cell/column-cell.component.mjs +0 -53
  14. package/esm2020/lib/components/columns-form/columns-form.component.mjs +0 -63
  15. package/esm2020/lib/components/continuous-grid/continuous-grid.component.mjs +0 -35
  16. package/esm2020/lib/components/grid/grid.component.mjs +0 -51
  17. package/esm2020/lib/components/load-more/load-more.component.mjs +0 -30
  18. package/esm2020/lib/components/paginated-grid/paginated-grid.component.mjs +0 -24
  19. package/esm2020/lib/grid.module.mjs +0 -52
  20. package/esm2020/lib/model/cell-vertical-alignment.enum.mjs +0 -7
  21. package/esm2020/lib/model/column.mjs +0 -64
  22. package/esm2020/lib/model/continuous-grid.mjs +0 -35
  23. package/esm2020/lib/model/grid.mjs +0 -87
  24. package/esm2020/lib/model/paginated-grid.mjs +0 -33
  25. package/esm2020/lib/model/selection.mjs +0 -23
  26. package/esm2020/lib/model/sort-direction.enum.mjs +0 -6
  27. package/esm2020/marcura-marcura-grid.mjs +0 -5
  28. package/esm2020/public-api.mjs +0 -16
  29. package/fesm2015/marcura-marcura-grid.mjs +0 -542
  30. package/fesm2015/marcura-marcura-grid.mjs.map +0 -1
  31. package/fesm2020/marcura-marcura-grid.mjs +0 -540
  32. package/fesm2020/marcura-marcura-grid.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marcura-marcura-grid.mjs","sources":["../../src/lib/model/sort-direction.enum.ts","../../src/lib/model/column.ts","../../src/lib/components/cell/cell.component.ts","../../src/lib/components/cell/cell.component.html","../../src/lib/components/column-cell/column-cell.component.ts","../../src/lib/components/columns-form/columns-form.component.ts","../../src/lib/components/columns-form/columns-form.component.html","../../src/lib/model/cell-vertical-alignment.enum.ts","../../src/lib/model/selection.ts","../../src/lib/components/grid/grid.component.ts","../../src/lib/components/load-more/load-more.component.ts","../../src/lib/components/load-more/load-more.component.html","../../src/lib/components/continuous-grid/continuous-grid.component.ts","../../src/lib/components/continuous-grid/continuous-grid.component.html","../../src/lib/components/paginated-grid/paginated-grid.component.ts","../../src/lib/components/paginated-grid/paginated-grid.component.html","../../src/lib/grid.module.ts","../../src/lib/model/grid.ts","../../src/lib/model/continuous-grid.ts","../../src/lib/model/paginated-grid.ts","../../src/marcura-marcura-grid.ts"],"sourcesContent":["export enum SortDirection {\r\n Asc = 'asc',\r\n Desc = 'desc',\r\n}\r\n","import {FormControl} from '@angular/forms';\r\nimport {getValue} from '@marcura/marcura-common';\r\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport {SortDirection} from '../model/sort-direction.enum';\r\n\r\nexport class Column<TValue = any> {\r\n public readonly action: Subject<any> = new Subject();\r\n\r\n private readonly _isLocked: BehaviorSubject<boolean>;\r\n public get isLocked(): Observable<boolean> {\r\n return this._isLocked;\r\n }\r\n\r\n private readonly _isSortable: BehaviorSubject<boolean>;\r\n public get isSortable(): Observable<boolean> {\r\n return this._isSortable;\r\n }\r\n\r\n private readonly _isHidden: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n public get isHidden(): Observable<boolean> {\r\n return this._isHidden;\r\n }\r\n\r\n public readonly width: BehaviorSubject<number>;\r\n public readonly minWidth: Observable<number>;\r\n public readonly isVisibleControl: FormControl<boolean> = new FormControl<boolean>(true, {nonNullable: true});\r\n public isDefaultSortColumn: boolean = false;\r\n public defaultSortDirection: SortDirection = SortDirection.Asc;\r\n public title: string = '';\r\n public field: string = '';\r\n public isVisibilityFormControlVisible: boolean = true;\r\n\r\n public constructor(width: number, public readonly cellType: any, minWidth: number = 50) {\r\n this.width = new BehaviorSubject<number>(Math.max(width, minWidth));\r\n this.minWidth = new BehaviorSubject<number>(minWidth);\r\n this._isLocked = new BehaviorSubject<boolean>(false);\r\n this._isSortable = new BehaviorSubject<boolean>(false);\r\n this.isVisibleControl.valueChanges.subscribe((isVisible) => this._isHidden.next(!isVisible));\r\n }\r\n\r\n public forField(field: string): Column<TValue> {\r\n this.field = field;\r\n return this;\r\n }\r\n\r\n public withTitle(title: string): Column<TValue> {\r\n this.title = title;\r\n return this;\r\n }\r\n\r\n public locked(): Column<TValue> {\r\n this._isLocked.next(true);\r\n return this;\r\n }\r\n\r\n public sortable(): Column<TValue> {\r\n this._isSortable.next(true);\r\n return this;\r\n }\r\n\r\n public hidden(): Column<TValue> {\r\n this.isVisibleControl.setValue(false);\r\n return this;\r\n }\r\n\r\n public defaultSortColumn(direction: SortDirection = SortDirection.Asc): Column<TValue> {\r\n this.isDefaultSortColumn = true;\r\n this.defaultSortDirection = direction;\r\n return this;\r\n }\r\n\r\n public hiddenVisibilityFormControl(): Column<TValue> {\r\n this.isVisibilityFormControlVisible = false;\r\n return this;\r\n }\r\n\r\n public getValue(data: any): TValue | null {\r\n return this.field ? getValue(data, this.field) : null;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {Column} from '../../model/column';\r\n\r\n@Component({\r\n selector: 'sg-grid-cell',\r\n templateUrl: 'cell.component.html',\r\n standalone: false,\r\n})\r\nexport class CellComponent<TValue, TRow = any> {\r\n @Input()\r\n public row!: TRow;\r\n\r\n @Input()\r\n public column!: Column;\r\n\r\n public get value(): TValue | null {\r\n return this.row && this.column && this.column.getValue(this.row);\r\n }\r\n}\r\n","<span class=\"c-body c-body--1 u-font-weight--inherit\">{{ value }}</span>\r\n","import {\r\n Component,\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Input,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {Assert} from '@marcura/marcura-common';\r\nimport {CellComponent} from '../../components/cell/cell.component';\r\nimport {Column} from '../../model/column';\r\n\r\n@Component({\r\n selector: 'sg-grid-column-cell',\r\n template: '',\r\n standalone: false,\r\n})\r\nexport class ColumnCellComponent<TValue, TRow = any> {\r\n @Input()\r\n public get column(): Column {\r\n return Assert.defined(this._column);\r\n }\r\n public set column(value: Column) {\r\n this._column = value;\r\n\r\n if (this._componentReference) {\r\n this._componentReference.destroy();\r\n }\r\n\r\n const factory: ComponentFactory<CellComponent<TValue, TRow>> = this._factoryResolver.resolveComponentFactory(\r\n this._column.cellType\r\n );\r\n\r\n this._componentReference = this._viewContainerReference.createComponent(factory);\r\n this._updateComponentValue();\r\n }\r\n @Input()\r\n public get row(): TRow {\r\n return Assert.defined(this._row);\r\n }\r\n\r\n public set row(value: TRow) {\r\n this._row = value;\r\n this._updateComponentValue();\r\n }\r\n\r\n private _componentReference: ComponentRef<CellComponent<TValue, TRow>> | null = null;\r\n private _column: Column | null = null;\r\n private _row: TRow | null = null;\r\n\r\n public constructor(\r\n private readonly _viewContainerReference: ViewContainerRef,\r\n private readonly _factoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n private _updateComponentValue(): void {\r\n if (this._componentReference && this._row) {\r\n const component: CellComponent<TValue, TRow> = this._componentReference.instance;\r\n component.column = this.column;\r\n component.row = this.row;\r\n }\r\n }\r\n}\r\n","import {Component, Input, OnDestroy} from '@angular/core';\r\nimport {AbstractControl, FormGroup} from '@angular/forms';\r\nimport {AtLeastOneSelectedFormGuard} from '@marcura/marcura-common';\r\nimport {Column} from '../../model/column';\r\n\r\n@Component({\r\n selector: 'sg-columns-form',\r\n templateUrl: 'columns-form.component.html',\r\n standalone: false,\r\n})\r\nexport class ColumnsFormComponent implements OnDestroy {\r\n private static readonly MAX_ROWS: number = 5;\r\n\r\n private _atLeastOneSelectedFormGuard: AtLeastOneSelectedFormGuard | null = null;\r\n\r\n private _list: Column[] = [];\r\n @Input()\r\n public get list(): Column[] {\r\n return this._list;\r\n }\r\n public set list(value: Column[]) {\r\n this._list = value || [];\r\n this._list = this._list.filter((column) => {\r\n return column.isVisibilityFormControlVisible;\r\n });\r\n this.updateFormGroup();\r\n this.updateColumns();\r\n\r\n if (this._atLeastOneSelectedFormGuard) {\r\n this._atLeastOneSelectedFormGuard.destroy();\r\n }\r\n\r\n const controls: AbstractControl[] = this._list.map((column) => column.isVisibleControl);\r\n this._atLeastOneSelectedFormGuard = new AtLeastOneSelectedFormGuard(controls);\r\n }\r\n\r\n public columns: Column[][] = [];\r\n\r\n @Input()\r\n public prefix: string = '';\r\n\r\n public form!: FormGroup;\r\n\r\n private updateFormGroup(): void {\r\n const controls: {[field: string]: AbstractControl} = {};\r\n\r\n this.list.forEach((column) => (controls[column.field] = column.isVisibleControl));\r\n this.form = new FormGroup(controls);\r\n }\r\n\r\n private updateColumns(): void {\r\n const columnsCount: number = Math.ceil(this.list.length / ColumnsFormComponent.MAX_ROWS);\r\n this.columns = [];\r\n for (let i: number = 0; i < columnsCount; i++) {\r\n const items: Column[] = this.list.slice(\r\n i * ColumnsFormComponent.MAX_ROWS,\r\n (i + 1) * ColumnsFormComponent.MAX_ROWS\r\n );\r\n this.columns.push(items);\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n if (this._atLeastOneSelectedFormGuard) {\r\n this._atLeastOneSelectedFormGuard.destroy();\r\n this._atLeastOneSelectedFormGuard = null;\r\n }\r\n }\r\n}\r\n","<form class=\"u-padding--s\" [formGroup]=\"form\">\r\n <div class=\"o-layout\">\r\n <div\r\n *ngFor=\"let column of columns; let lastColumn = last\"\r\n class=\"o-layout__item o-layout__item--12 o-layout__item--dynamic---m u-margin-bottom--m-none\"\r\n [ngClass]=\"{'u-margin-bottom--m': !lastColumn}\"\r\n >\r\n <div class=\"o-layout o-layout--list\">\r\n <div\r\n *ngFor=\"let item of column; let last = last\"\r\n class=\"o-layout__item o-layout__item--12\"\r\n [ngClass]=\"{'u-margin-bottom--m': !last}\"\r\n >\r\n <sg-field>\r\n <sg-checkbox class=\"u-padding-right--xs\" sgFieldContent [formControl]=\"item.isVisibleControl\">{{\r\n item.title\r\n }}</sg-checkbox>\r\n </sg-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n","export enum CellVerticalAlignment {\r\n Top = 'top',\r\n Center = 'center',\r\n Bottom = 'bottom',\r\n}\r\n","import {RowArgs} from '@progress/kendo-angular-grid';\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\nexport class Selection<TItem> {\r\n private _items: BehaviorSubject<TItem[]> = new BehaviorSubject<TItem[]>([]);\r\n public get items(): BehaviorSubject<TItem[]> {\r\n return this._items;\r\n }\r\n\r\n public keys: TItem[] = [];\r\n\r\n public readonly selectBy = (context: RowArgs): TItem => {\r\n return context.dataItem;\r\n };\r\n\r\n public readonly onChange = (): void => {\r\n requestAnimationFrame(() => {\r\n this._items.next(this.keys);\r\n });\r\n };\r\n\r\n public readonly reset = (): void => {\r\n this.keys = [];\r\n this.onChange();\r\n };\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, Output} from '@angular/core';\r\nimport {Observer} from '@marcura/marcura-common';\r\nimport {skip} from 'rxjs/operators';\r\nimport {CellVerticalAlignment} from '../../model/cell-vertical-alignment.enum';\r\nimport {Grid} from '../../model/grid';\r\nimport {Selection} from '../../model/selection';\r\n\r\n@Component({template: '',\r\n standalone: false,})\r\nexport class GridComponent<TGrid extends Grid<TRow>, TRow> implements OnDestroy {\r\n protected _observer: Observer = new Observer();\r\n\r\n @Input()\r\n public cellVerticalAlignment: CellVerticalAlignment = CellVerticalAlignment.Top;\r\n\r\n @Input()\r\n public grid!: TGrid;\r\n\r\n @Input()\r\n public resizable: boolean = false;\r\n\r\n @Output()\r\n public rowClicked: EventEmitter<TRow> = new EventEmitter<TRow>();\r\n\r\n private readonly _rowClickSelection: Selection<TRow> = new Selection<TRow>();\r\n private _selection: Selection<TRow> = this._rowClickSelection;\r\n @Input()\r\n public get selection(): Selection<TRow> {\r\n return this._selection;\r\n }\r\n public set selection(value: Selection<TRow>) {\r\n this._selection = value || this._rowClickSelection;\r\n }\r\n\r\n public constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {\r\n this._observer.listen(this._rowClickSelection.items.pipe(skip(1)), this._onRowClickSelectionChange);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._observer.destroy();\r\n }\r\n\r\n private readonly _onRowClickSelectionChange = (selection: TRow[]): void => {\r\n if (selection.length > 0) {\r\n this.rowClicked.emit(selection[0]);\r\n this.selection.reset();\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n };\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sg-load-more',\r\n templateUrl: 'load-more.component.html',\r\n standalone: false,\r\n})\r\nexport class LoadMoreComponent {\r\n @HostBinding('class.sg-load-more')\r\n public readonly hasCssClass: boolean = true;\r\n @Input()\r\n public isDisabled: boolean = false;\r\n @Output()\r\n public readonly clicked: EventEmitter<void> = new EventEmitter();\r\n\r\n public onClicked(): void {\r\n if (!this.isDisabled) {\r\n this.clicked.emit();\r\n }\r\n }\r\n}\r\n","<button kendoButton [look]=\"'flat'\" [disabled]=\"isDisabled\" (click)=\"onClicked()\">\r\n <span #content><ng-content></ng-content></span>\r\n <ng-container *ngIf=\"!content.innerHTML.trim()\">Load More</ng-container>\r\n</button>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input} from '@angular/core';\r\nimport {RowClassFn} from '@progress/kendo-angular-grid';\r\nimport {GridComponent} from '../../components/grid/grid.component';\r\nimport {ContinuousGrid} from '../../model/continuous-grid';\r\n\r\n@Component({\r\n selector: 'sg-continuous-grid',\r\n templateUrl: 'continuous-grid.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n})\r\nexport class ContinuousGridComponent<TRow> extends GridComponent<ContinuousGrid<TRow>, TRow> {\r\n // Hack: after upgrade to kendo-angular-grid 5.5.X, they expect [field] to always target existing property in schema,\r\n // while we have some cases of columns for row, not any specific property\r\n public readonly FIELD_INPUT_FALLBACK: string = '_';\r\n\r\n @HostBinding('class.sg-continuous-grid')\r\n public readonly hasCssClass: boolean = true;\r\n @Input()\r\n public secondary: boolean = false;\r\n\r\n @Input()\r\n public loadMoreLabel: string = '';\r\n\r\n @Input()\r\n public rowClassFactory: RowClassFn = () => '';\r\n\r\n constructor(changeDetectorRef: ChangeDetectorRef) {\r\n super(changeDetectorRef);\r\n }\r\n}\r\n","<div class=\"sg-grid\">\r\n <div class=\"sg-blocker sg-blocker--content\" [class.sg-blocker--active]=\"grid.observable.isLoading | async\">\r\n <div class=\"sg-blocker__sticky-container u-align--center\"><span class=\"fa fa-spinner fa-pulse\"></span></div>\r\n </div>\r\n <kendo-grid\r\n [class]=\"'k-grid--only-horizontal-scroll k-grid--cell-alignment-' + cellVerticalAlignment\"\r\n [data]=\"grid.observable.rows | async\"\r\n [sortable]=\"{\r\n allowUnsort: true,\r\n mode: 'single'\r\n }\"\r\n [resizable]=\"resizable\"\r\n [navigable]=\"true\"\r\n [selectable]=\"true\"\r\n [selectedKeys]=\"selection.keys\"\r\n [kendoGridSelectBy]=\"selection.selectBy\"\r\n [rowClass]=\"rowClassFactory\"\r\n (selectionChange)=\"selection.onChange()\"\r\n [sort]=\"grid.observable.sortDescriptor | async\"\r\n (sortChange)=\"grid.onSortDescriptorChanged($event)\"\r\n (columnResize)=\"grid.onColumnResized($event)\"\r\n [class.k-grid--secondary]=\"secondary\"\r\n [class.k-grid--clickable]=\"rowClicked.observers.length > 0\"\r\n >\r\n <kendo-grid-column media=\"(max-width: 49rem)\" [field]=\"FIELD_INPUT_FALLBACK\">\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <ul>\r\n <li *ngFor=\"let column of grid.columns\">\r\n <div [hidden]=\"column.isHidden | async\">\r\n <span class=\"u-color-text--secondary\">{{ column.title }} - </span>\r\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\r\n </div>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n <kendo-grid-column\r\n *ngFor=\"let column of grid.columns\"\r\n media=\"(min-width: 49rem)\"\r\n [title]=\"column.title\"\r\n [field]=\"column.field || FIELD_INPUT_FALLBACK\"\r\n [width]=\"column.width | async\"\r\n [locked]=\"column.isLocked | async\"\r\n [hidden]=\"column.isHidden | async\"\r\n [sortable]=\"column.isSortable | async\"\r\n [minResizableWidth]=\"column.minWidth | async\"\r\n >\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\r\n </ng-template>\r\n </kendo-grid-column>\r\n </kendo-grid>\r\n</div>\r\n<sg-load-more\r\n *ngIf=\"grid.hasMoreRows | async\"\r\n (clicked)=\"grid.loadMore()\"\r\n [isDisabled]=\"grid.observable.isLoading | async\"\r\n>\r\n {{ loadMoreLabel }}\r\n</sg-load-more>\r\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input} from '@angular/core';\r\nimport {GridComponent} from '../../components/grid/grid.component';\r\nimport {PaginatedGrid} from '../../model/paginated-grid';\r\n\r\n@Component({\r\n selector: 'sg-paginated-grid',\r\n templateUrl: 'paginated-grid.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n})\r\nexport class PaginatedGridComponent<TRow> extends GridComponent<PaginatedGrid<TRow>, TRow> {\r\n // Hack: after upgrade to kendo-angular-grid 5.5.X, they expect [field] to always target existing property in schema,\r\n // while we have some cases of columns for row, not any specific property\r\n public readonly FIELD_INPUT_FALLBACK: string = '_';\r\n\r\n @Input()\r\n public secondary: boolean = false;\r\n\r\n constructor(changeDetectorRef: ChangeDetectorRef) {\r\n super(changeDetectorRef);\r\n }\r\n}\r\n","<div class=\"sg-grid\">\r\n <div class=\"sg-blocker sg-blocker--content\" [class.sg-blocker--active]=\"grid.observable.isLoading | async\">\r\n <div class=\"sg-blocker__sticky-container u-align--center\"><span class=\"fa fa-spinner fa-pulse\"></span></div>\r\n </div>\r\n <kendo-grid\r\n [data]=\"grid.dataResult | async\"\r\n [sortable]=\"{\r\n allowUnsort: true,\r\n mode: 'single'\r\n }\"\r\n [resizable]=\"resizable\"\r\n [skip]=\"grid.observable.skip | async\"\r\n [pageSize]=\"grid.observable.pageSize | async\"\r\n [pageable]=\"grid.pageable\"\r\n [scrollable]=\"'scrollable'\"\r\n [navigable]=\"true\"\r\n (pageChange)=\"grid.pageChange($event)\"\r\n [selectable]=\"true\"\r\n [selectedKeys]=\"selection.keys\"\r\n [kendoGridSelectBy]=\"selection.selectBy\"\r\n (selectionChange)=\"selection.onChange()\"\r\n [sort]=\"grid.observable.sortDescriptor | async\"\r\n (sortChange)=\"grid.onSortDescriptorChanged($event)\"\r\n (columnResize)=\"grid.onColumnResized($event)\"\r\n [class.k-grid--secondary]=\"secondary\"\r\n [class.k-grid--clickable]=\"rowClicked.observers.length > 0\"\r\n >\r\n <kendo-grid-column media=\"(max-width: 49rem)\" [field]=\"FIELD_INPUT_FALLBACK\">\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <ul>\r\n <li *ngFor=\"let column of grid.columns\">\r\n <div [hidden]=\"column.isHidden | async\">\r\n <span class=\"u-color-text--secondary\">{{ column.title }} - </span>\r\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\r\n </div>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n <kendo-grid-column\r\n *ngFor=\"let column of grid.columns\"\r\n media=\"(min-width: 49rem)\"\r\n [title]=\"column.title\"\r\n [field]=\"column.field\"\r\n [width]=\"column.width | async\"\r\n [locked]=\"column.isLocked | async\"\r\n [hidden]=\"column.isHidden | async\"\r\n [sortable]=\"column.isSortable | async\"\r\n [minResizableWidth]=\"column.minWidth | async\"\r\n >\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\r\n </ng-template>\r\n </kendo-grid-column>\r\n </kendo-grid>\r\n</div>\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\nimport {ReactiveFormsModule} from '@angular/forms';\r\nimport {CheckboxModule} from '@marcura/marcura-checkbox';\r\nimport {FieldModule} from '@marcura/marcura-field';\r\nimport {ButtonModule} from '@progress/kendo-angular-buttons';\r\nimport {GridModule as KendoGridModule} from '@progress/kendo-angular-grid';\r\nimport {CellComponent} from './components/cell/cell.component';\r\nimport {ColumnCellComponent} from './components/column-cell/column-cell.component';\r\nimport {ColumnsFormComponent} from './components/columns-form/columns-form.component';\r\nimport {ContinuousGridComponent} from './components/continuous-grid/continuous-grid.component';\r\nimport {GridComponent} from './components/grid/grid.component';\r\nimport {LoadMoreComponent} from './components/load-more/load-more.component';\r\nimport {PaginatedGridComponent} from './components/paginated-grid/paginated-grid.component';\r\n\r\nconst components: any[] = [\r\n LoadMoreComponent,\r\n GridComponent,\r\n ContinuousGridComponent,\r\n PaginatedGridComponent,\r\n ColumnCellComponent,\r\n ColumnsFormComponent,\r\n];\r\n\r\nconst cells: any[] = [CellComponent];\r\n\r\nconst pages: any[] = [];\r\n\r\nconst pipes: any[] = [];\r\n\r\n@NgModule({\r\n declarations: [...components, ...pages, ...pipes, ...cells],\r\n imports: [CommonModule, KendoGridModule, ReactiveFormsModule, CheckboxModule, FieldModule, ButtonModule],\r\n exports: [...components, ...pages, ...pipes],\r\n providers: [],\r\n})\r\nexport class GridModule {}\r\n","import {ObservableGroup, Worker} from '@marcura/marcura-common';\r\nimport {ColumnComponent, ColumnResizeArgs} from '@progress/kendo-angular-grid';\r\nimport {SortDescriptor} from '@progress/kendo-data-query';\r\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport {Column} from './column';\r\n\r\nexport interface IGridProperties<TRow> {\r\n isLoading: boolean;\r\n rows: TRow[];\r\n skip: number;\r\n pageSize: number;\r\n sortDescriptor: SortDescriptor[];\r\n}\r\n\r\nexport class Grid<TRow> {\r\n protected readonly _worker: Worker = new Worker();\r\n\r\n private readonly _rows: BehaviorSubject<TRow[]> = new BehaviorSubject<TRow[]>([]);\r\n public get rows(): TRow[] {\r\n return this._rows.value;\r\n }\r\n public set rows(value: TRow[]) {\r\n this._rows.next(value);\r\n }\r\n\r\n private readonly _skip: BehaviorSubject<number> = new BehaviorSubject<number>(0);\r\n public get skip(): number {\r\n return this._skip.value;\r\n }\r\n public set skip(value: number) {\r\n if (!isNaN(value) && this.skip !== value) {\r\n this._skip.next(value);\r\n }\r\n }\r\n\r\n private readonly _pageSize: BehaviorSubject<number> = new BehaviorSubject<number>(25);\r\n public get pageSize(): number {\r\n return this._pageSize.value;\r\n }\r\n public set pageSize(value: number) {\r\n if (!isNaN(value) && this.pageSize !== value) {\r\n this._pageSize.next(value);\r\n }\r\n }\r\n\r\n protected readonly _sortDescriptor: BehaviorSubject<SortDescriptor[]> = new BehaviorSubject<SortDescriptor[]>([]);\r\n public get sortDescriptor(): SortDescriptor[] {\r\n return this._sortDescriptor.value;\r\n }\r\n public set sortDescriptor(value: SortDescriptor[]) {\r\n this._sortDescriptor.next(value);\r\n }\r\n\r\n public readonly observable: ObservableGroup<IGridProperties<TRow>> = {\r\n isLoading: this._worker.isWorking,\r\n rows: this._rows,\r\n sortDescriptor: this._sortDescriptor,\r\n skip: this._skip,\r\n pageSize: this._pageSize,\r\n };\r\n\r\n private readonly _loadingFailed: Subject<any> = new Subject<any>();\r\n public readonly loadingFailed: Observable<any> = this._loadingFailed;\r\n\r\n constructor(public readonly name: string, public readonly columns: Column[]) {\r\n const sortColumn: Column | undefined = columns.find((column) => column.isDefaultSortColumn);\r\n this.sortDescriptor =\r\n sortColumn !== undefined\r\n ? [\r\n {\r\n field: sortColumn.field,\r\n dir: sortColumn.defaultSortDirection,\r\n },\r\n ]\r\n : [];\r\n }\r\n\r\n public readonly reload = (): void => {};\r\n\r\n public readonly replace = (item: TRow, newItem: TRow): void => {\r\n const rows: TRow[] = this.rows.concat();\r\n const index: number = rows.indexOf(item);\r\n if (index > -1) {\r\n rows[index] = newItem;\r\n this._rows.next(rows);\r\n }\r\n };\r\n\r\n public readonly onColumnResized = (changes: ColumnResizeArgs[]): void => {\r\n changes\r\n .map((change) => ({column: change.column as ColumnComponent, newWidth: change.newWidth}))\r\n .forEach((change) => {\r\n const column: Column | undefined = this.columns.find((c) => c.field === change.column.field);\r\n if (column) {\r\n column.width.next(change.newWidth ?? 0);\r\n }\r\n });\r\n };\r\n\r\n public readonly onSortDescriptorChanged = (sortDescriptor: SortDescriptor[]): void => {\r\n this.sortDescriptor = sortDescriptor;\r\n this.reload();\r\n };\r\n\r\n public readonly onLoadError = (error: any): void => {\r\n this._loadingFailed.next(error);\r\n };\r\n}\r\n","import {SortDescriptor} from '@progress/kendo-data-query';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {Column} from '../model/column';\r\nimport {Grid} from './grid';\r\n\r\nexport interface IContinuousGridDataResult<TRow> {\r\n rows: TRow[];\r\n isLastPage: boolean;\r\n}\r\n\r\nexport type ContinuousGridDataResultProvider<TRow> = (\r\n skip: number,\r\n size: number,\r\n sortDescriptor: SortDescriptor[]\r\n) => Observable<IContinuousGridDataResult<TRow>>;\r\n\r\nexport class ContinuousGrid<TRow> extends Grid<TRow> {\r\n private readonly _hasMoreRows: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n public readonly hasMoreRows: Observable<boolean> = this._hasMoreRows;\r\n\r\n constructor(name: string, columns: Column[], private readonly _loadPage: ContinuousGridDataResultProvider<TRow>) {\r\n super(name, columns);\r\n }\r\n\r\n public preload(pagesCount: number): void {\r\n this.rows = [];\r\n this.skip = 0;\r\n this.skip = pagesCount > 0 ? (pagesCount - 1) * this.pageSize : 0;\r\n if (pagesCount > 0) {\r\n this._worker.handle(\r\n this._loadPage(0, pagesCount * this.pageSize, this._sortDescriptor.value),\r\n this.onLoadSuccess,\r\n this.onLoadError\r\n );\r\n }\r\n }\r\n\r\n public override readonly reload = (): void => {\r\n this.skip = 0;\r\n this._worker.handle(\r\n this._loadPage(this.skip, this.pageSize, this.sortDescriptor),\r\n this.onLoadSuccess,\r\n this.onLoadError\r\n );\r\n };\r\n\r\n public readonly loadMore = (): void => {\r\n this.skip += this.pageSize;\r\n this._worker.handle(\r\n this._loadPage(this.skip, this.pageSize, this.sortDescriptor),\r\n this.onLoadMoreSuccess,\r\n this.onLoadError\r\n );\r\n };\r\n\r\n private onLoadSuccess = (dataResult: IContinuousGridDataResult<TRow>): void => {\r\n this.rows = dataResult.rows;\r\n this._hasMoreRows.next(!dataResult.isLastPage);\r\n };\r\n\r\n private onLoadMoreSuccess = (dataResult: IContinuousGridDataResult<TRow>): void => {\r\n this.rows = [...this.rows, ...dataResult.rows];\r\n this._hasMoreRows.next(!dataResult.isLastPage);\r\n };\r\n}\r\n","import {Is} from '@marcura/marcura-common';\r\nimport {GridDataResult, PagerSettings, PageChangeEvent} from '@progress/kendo-angular-grid';\r\nimport {SortDescriptor} from '@progress/kendo-data-query';\r\nimport {combineLatest, BehaviorSubject, Observable} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\nimport {Column} from './column';\r\nimport {Grid} from './grid';\r\n\r\nexport interface IPaginatedGridDataResult<TRow> {\r\n rows: TRow[];\r\n total: number;\r\n}\r\n\r\nexport type PaginatedGridDataResultProvider<TRow> = (\r\n skip: number,\r\n size: number,\r\n sortDescriptor: SortDescriptor[]\r\n) => Observable<IPaginatedGridDataResult<TRow>>;\r\n\r\nexport class PaginatedGrid<TRow> extends Grid<TRow> {\r\n public readonly pageable: PagerSettings = {\r\n buttonCount: 5,\r\n info: true,\r\n type: 'numeric',\r\n pageSizes: [100, 250, 500],\r\n previousNext: true,\r\n };\r\n\r\n private readonly _total: BehaviorSubject<number> = new BehaviorSubject<number>(0);\r\n public readonly dataResult: Observable<GridDataResult> = combineLatest([this.observable.rows, this._total]).pipe(\r\n map(([rows, total]: [TRow[], number]) => ({data: rows, total}))\r\n );\r\n\r\n constructor(name: string, columns: Column[], private readonly _loadPage: PaginatedGridDataResultProvider<TRow>) {\r\n super(name, columns);\r\n this.pageSize = Is.array(this.pageable.pageSizes) ? this.pageable.pageSizes[0] ?? 0 : 0;\r\n }\r\n\r\n public pageChange(event: PageChangeEvent): void {\r\n this.skip = event.skip;\r\n this.pageSize = event.take;\r\n this.reload();\r\n }\r\n\r\n public override reload = (): void => {\r\n this._worker.handle(\r\n this._loadPage(this.skip, this.pageSize, this._sortDescriptor.value),\r\n this.onLoadSuccess,\r\n this.onLoadError\r\n );\r\n };\r\n\r\n private readonly onLoadSuccess = (result: IPaginatedGridDataResult<TRow>): void => {\r\n this.rows = result.rows;\r\n this._total.next(result.total);\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3.LoadMoreComponent","i4.ColumnCellComponent","i3.ColumnCellComponent","KendoGridModule"],"mappings":"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"}
@@ -5,5 +5,5 @@ export declare class CellComponent<TValue, TRow = any> {
5
5
  column: Column;
6
6
  get value(): TValue | null;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<CellComponent<any, any>, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<CellComponent<any, any>, "sg-grid-cell", never, { "row": "row"; "column": "column"; }, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<CellComponent<any, any>, "sg-grid-cell", never, { "row": { "alias": "row"; "required": false; }; "column": { "alias": "column"; "required": false; }; }, {}, never, never, false, never>;
9
9
  }
@@ -14,5 +14,5 @@ export declare class ColumnCellComponent<TValue, TRow = any> {
14
14
  constructor(_viewContainerReference: ViewContainerRef, _factoryResolver: ComponentFactoryResolver);
15
15
  private _updateComponentValue;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnCellComponent<any, any>, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnCellComponent<any, any>, "sg-grid-column-cell", never, { "column": "column"; "row": "row"; }, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnCellComponent<any, any>, "sg-grid-column-cell", never, { "column": { "alias": "column"; "required": false; }; "row": { "alias": "row"; "required": false; }; }, {}, never, never, false, never>;
18
18
  }
@@ -15,5 +15,5 @@ export declare class ColumnsFormComponent implements OnDestroy {
15
15
  private updateColumns;
16
16
  ngOnDestroy(): void;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsFormComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsFormComponent, "sg-columns-form", never, { "list": "list"; "prefix": "prefix"; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsFormComponent, "sg-columns-form", never, { "list": { "alias": "list"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; }, {}, never, never, false, never>;
19
19
  }
@@ -11,5 +11,5 @@ export declare class ContinuousGridComponent<TRow> extends GridComponent<Continu
11
11
  rowClassFactory: RowClassFn;
12
12
  constructor(changeDetectorRef: ChangeDetectorRef);
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ContinuousGridComponent<any>, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<ContinuousGridComponent<any>, "sg-continuous-grid", never, { "secondary": "secondary"; "loadMoreLabel": "loadMoreLabel"; "rowClassFactory": "rowClassFactory"; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContinuousGridComponent<any>, "sg-continuous-grid", never, { "secondary": { "alias": "secondary"; "required": false; }; "loadMoreLabel": { "alias": "loadMoreLabel"; "required": false; }; "rowClassFactory": { "alias": "rowClassFactory"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -19,5 +19,5 @@ export declare class GridComponent<TGrid extends Grid<TRow>, TRow> implements On
19
19
  ngOnDestroy(): void;
20
20
  private readonly _onRowClickSelectionChange;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<GridComponent<any, any>, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<GridComponent<any, any>, "ng-component", never, { "cellVerticalAlignment": "cellVerticalAlignment"; "grid": "grid"; "resizable": "resizable"; "selection": "selection"; }, { "rowClicked": "rowClicked"; }, never, never, false, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<GridComponent<any, any>, "ng-component", never, { "cellVerticalAlignment": { "alias": "cellVerticalAlignment"; "required": false; }; "grid": { "alias": "grid"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "rowClicked": "rowClicked"; }, never, never, false, never>;
23
23
  }
@@ -6,5 +6,5 @@ export declare class LoadMoreComponent {
6
6
  readonly clicked: EventEmitter<void>;
7
7
  onClicked(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<LoadMoreComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadMoreComponent, "sg-load-more", never, { "isDisabled": "isDisabled"; }, { "clicked": "clicked"; }, never, ["*"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoadMoreComponent, "sg-load-more", never, { "isDisabled": { "alias": "isDisabled"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], false, never>;
10
10
  }
@@ -7,5 +7,5 @@ export declare class PaginatedGridComponent<TRow> extends GridComponent<Paginate
7
7
  secondary: boolean;
8
8
  constructor(changeDetectorRef: ChangeDetectorRef);
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<PaginatedGridComponent<any>, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<PaginatedGridComponent<any>, "sg-paginated-grid", never, { "secondary": "secondary"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaginatedGridComponent<any>, "sg-paginated-grid", never, { "secondary": { "alias": "secondary"; "required": false; }; }, {}, never, never, false, never>;
11
11
  }
package/package.json CHANGED
@@ -1,40 +1,32 @@
1
1
  {
2
2
  "name": "@marcura/marcura-grid",
3
- "version": "6.1.2",
3
+ "version": "19.0.0-dev.0",
4
4
  "peerDependencies": {
5
- "@angular/common": "^15.0.0",
6
- "@angular/core": "^15.0.0",
7
- "@angular/forms": "^15.0.0",
8
- "@progress/kendo-angular-grid": "^4.0.0",
9
- "@progress/kendo-angular-excel-export": "^3.0.0",
10
- "@progress/kendo-angular-pdf-export": "^2.0.0",
11
- "@progress/kendo-data-query": "^1.3.1",
12
- "@progress/kendo-drawing": "^1.5.12",
13
- "@progress/kendo-angular-buttons": ">=4.3.3",
14
- "@marcura/marcura-common": "^5.0.0",
15
- "@marcura/marcura-field": "^4.0.0",
16
- "rxjs": "^6.6.0"
5
+ "@angular/common": ">= 19",
6
+ "@angular/core": ">= 19",
7
+ "@angular/forms": ">= 19",
8
+ "@progress/kendo-angular-grid": ">= 19",
9
+ "@progress/kendo-angular-excel-export": ">= 19",
10
+ "@progress/kendo-angular-pdf-export": ">= 19",
11
+ "@progress/kendo-data-query": ">= 19",
12
+ "@progress/kendo-drawing": ">= 19",
13
+ "@progress/kendo-angular-buttons": ">= 19",
14
+ "@marcura/marcura-common": ">= 19",
15
+ "@marcura/marcura-field": ">= 19",
16
+ "rxjs": ">= 7.5.0"
17
17
  },
18
18
  "dependencies": {
19
19
  "tslib": "^2.0.0"
20
20
  },
21
21
  "typings": "index.d.ts",
22
- "module": "fesm2015/marcura-marcura-grid.mjs",
23
- "es2020": "fesm2020/marcura-marcura-grid.mjs",
24
- "esm2020": "esm2020/marcura-marcura-grid.mjs",
25
- "fesm2020": "fesm2020/marcura-marcura-grid.mjs",
26
- "fesm2015": "fesm2015/marcura-marcura-grid.mjs",
22
+ "module": "fesm2022/marcura-marcura-grid.mjs",
27
23
  "exports": {
28
24
  "./package.json": {
29
25
  "default": "./package.json"
30
26
  },
31
27
  ".": {
32
28
  "types": "./index.d.ts",
33
- "esm2020": "./esm2020/marcura-marcura-grid.mjs",
34
- "es2020": "./fesm2020/marcura-marcura-grid.mjs",
35
- "es2015": "./fesm2015/marcura-marcura-grid.mjs",
36
- "node": "./fesm2015/marcura-marcura-grid.mjs",
37
- "default": "./fesm2020/marcura-marcura-grid.mjs"
29
+ "default": "./fesm2022/marcura-marcura-grid.mjs"
38
30
  }
39
31
  },
40
32
  "sideEffects": false
@@ -1,19 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Column } from '../../model/column';
3
- import * as i0 from "@angular/core";
4
- export class CellComponent {
5
- get value() {
6
- return this.row && this.column && this.column.getValue(this.row);
7
- }
8
- }
9
- CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: CellComponent, selector: "sg-grid-cell", inputs: { row: "row", column: "column" }, ngImport: i0, template: "<span class=\"c-body c-body--1 u-font-weight--inherit\">{{ value }}</span>\n" });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CellComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'sg-grid-cell', template: "<span class=\"c-body c-body--1 u-font-weight--inherit\">{{ value }}</span>\n" }]
14
- }], propDecorators: { row: [{
15
- type: Input
16
- }], column: [{
17
- type: Input
18
- }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2VsbC9jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jZWxsL2NlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQU0xQyxNQUFNLE9BQU8sYUFBYTtJQU94QixJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7MEdBVFUsYUFBYTs4RkFBYixhQUFhLDhGQ1AxQiw4RUFDQTsyRkRNYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLGNBQWM7OEJBS2pCLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb2x1bW59IGZyb20gJy4uLy4uL21vZGVsL2NvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NnLWdyaWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnY2VsbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENlbGxDb21wb25lbnQ8VFZhbHVlLCBUUm93ID0gYW55PiB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3chOiBUUm93O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2x1bW4hOiBDb2x1bW47XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUVmFsdWUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yb3cgJiYgdGhpcy5jb2x1bW4gJiYgdGhpcy5jb2x1bW4uZ2V0VmFsdWUodGhpcy5yb3cpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cImMtYm9keSBjLWJvZHktLTEgdS1mb250LXdlaWdodC0taW5oZXJpdFwiPnt7IHZhbHVlIH19PC9zcGFuPlxuIl19
@@ -1,53 +0,0 @@
1
- import { Component, ComponentFactoryResolver, Input, ViewContainerRef, } from '@angular/core';
2
- import { Assert } from '@marcura/marcura-common';
3
- import { Column } from '../../model/column';
4
- import * as i0 from "@angular/core";
5
- export class ColumnCellComponent {
6
- get column() {
7
- return Assert.defined(this._column);
8
- }
9
- set column(value) {
10
- this._column = value;
11
- if (this._componentReference) {
12
- this._componentReference.destroy();
13
- }
14
- const factory = this._factoryResolver.resolveComponentFactory(this._column.cellType);
15
- this._componentReference = this._viewContainerReference.createComponent(factory);
16
- this._updateComponentValue();
17
- }
18
- get row() {
19
- return Assert.defined(this._row);
20
- }
21
- set row(value) {
22
- this._row = value;
23
- this._updateComponentValue();
24
- }
25
- constructor(_viewContainerReference, _factoryResolver) {
26
- this._viewContainerReference = _viewContainerReference;
27
- this._factoryResolver = _factoryResolver;
28
- this._componentReference = null;
29
- this._column = null;
30
- this._row = null;
31
- }
32
- _updateComponentValue() {
33
- if (this._componentReference && this._row) {
34
- const component = this._componentReference.instance;
35
- component.column = this.column;
36
- component.row = this.row;
37
- }
38
- }
39
- }
40
- ColumnCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ColumnCellComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
41
- ColumnCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ColumnCellComponent, selector: "sg-grid-column-cell", inputs: { column: "column", row: "row" }, ngImport: i0, template: '', isInline: true });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ColumnCellComponent, decorators: [{
43
- type: Component,
44
- args: [{
45
- selector: 'sg-grid-column-cell',
46
- template: '',
47
- }]
48
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { column: [{
49
- type: Input
50
- }], row: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi1jZWxsL2NvbHVtbi1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULHdCQUF3QixFQUV4QixLQUFLLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsSUFDVyxNQUFNO1FBQ2YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEM7UUFFRCxNQUFNLE9BQU8sR0FBa0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUMxRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUNXLEdBQUc7UUFDWixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLEdBQUcsQ0FBQyxLQUFXO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFNRCxZQUNtQix1QkFBeUMsRUFDekMsZ0JBQTBDO1FBRDFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBa0I7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtRQU5yRCx3QkFBbUIsR0FBcUQsSUFBSSxDQUFDO1FBQzdFLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQzlCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO0lBSzlCLENBQUM7SUFFSSxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QyxNQUFNLFNBQVMsR0FBZ0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNqRixTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7Z0hBNUNVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFHQUZwQixFQUFFOzJGQUVELG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtpQkFDYjs4SUFHWSxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxHQUFHO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fzc2VydH0gZnJvbSAnQG1hcmN1cmEvbWFyY3VyYS1jb21tb24nO1xuaW1wb3J0IHtDZWxsQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NlbGwvY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtDb2x1bW59IGZyb20gJy4uLy4uL21vZGVsL2NvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NnLWdyaWQtY29sdW1uLWNlbGwnLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNlbGxDb21wb25lbnQ8VFZhbHVlLCBUUm93ID0gYW55PiB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgY29sdW1uKCk6IENvbHVtbiB7XG4gICAgcmV0dXJuIEFzc2VydC5kZWZpbmVkKHRoaXMuX2NvbHVtbik7XG4gIH1cbiAgcHVibGljIHNldCBjb2x1bW4odmFsdWU6IENvbHVtbikge1xuICAgIHRoaXMuX2NvbHVtbiA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZmVyZW5jZSkge1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmZXJlbmNlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PENlbGxDb21wb25lbnQ8VFZhbHVlLCBUUm93Pj4gPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICB0aGlzLl9jb2x1bW4uY2VsbFR5cGVcbiAgICApO1xuXG4gICAgdGhpcy5fY29tcG9uZW50UmVmZXJlbmNlID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZmVyZW5jZS5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgdGhpcy5fdXBkYXRlQ29tcG9uZW50VmFsdWUoKTtcbiAgfVxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJvdygpOiBUUm93IHtcbiAgICByZXR1cm4gQXNzZXJ0LmRlZmluZWQodGhpcy5fcm93KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcm93KHZhbHVlOiBUUm93KSB7XG4gICAgdGhpcy5fcm93ID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlQ29tcG9uZW50VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZmVyZW5jZTogQ29tcG9uZW50UmVmPENlbGxDb21wb25lbnQ8VFZhbHVlLCBUUm93Pj4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfY29sdW1uOiBDb2x1bW4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfcm93OiBUUm93IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWZlcmVuY2U6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7fVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNvbXBvbmVudFZhbHVlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWZlcmVuY2UgJiYgdGhpcy5fcm93KSB7XG4gICAgICBjb25zdCBjb21wb25lbnQ6IENlbGxDb21wb25lbnQ8VFZhbHVlLCBUUm93PiA9IHRoaXMuX2NvbXBvbmVudFJlZmVyZW5jZS5pbnN0YW5jZTtcbiAgICAgIGNvbXBvbmVudC5jb2x1bW4gPSB0aGlzLmNvbHVtbjtcbiAgICAgIGNvbXBvbmVudC5yb3cgPSB0aGlzLnJvdztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { AtLeastOneSelectedFormGuard } from '@marcura/marcura-common';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@marcura/marcura-checkbox";
8
- import * as i4 from "@marcura/marcura-field";
9
- export class ColumnsFormComponent {
10
- constructor() {
11
- this._atLeastOneSelectedFormGuard = null;
12
- this._list = [];
13
- this.columns = [];
14
- this.prefix = '';
15
- }
16
- get list() {
17
- return this._list;
18
- }
19
- set list(value) {
20
- this._list = value || [];
21
- this._list = this._list.filter((column) => {
22
- return column.isVisibilityFormControlVisible;
23
- });
24
- this.updateFormGroup();
25
- this.updateColumns();
26
- if (this._atLeastOneSelectedFormGuard) {
27
- this._atLeastOneSelectedFormGuard.destroy();
28
- }
29
- const controls = this._list.map((column) => column.isVisibleControl);
30
- this._atLeastOneSelectedFormGuard = new AtLeastOneSelectedFormGuard(controls);
31
- }
32
- updateFormGroup() {
33
- const controls = {};
34
- this.list.forEach((column) => (controls[column.field] = column.isVisibleControl));
35
- this.form = new FormGroup(controls);
36
- }
37
- updateColumns() {
38
- const columnsCount = Math.ceil(this.list.length / ColumnsFormComponent.MAX_ROWS);
39
- this.columns = [];
40
- for (let i = 0; i < columnsCount; i++) {
41
- const items = this.list.slice(i * ColumnsFormComponent.MAX_ROWS, (i + 1) * ColumnsFormComponent.MAX_ROWS);
42
- this.columns.push(items);
43
- }
44
- }
45
- ngOnDestroy() {
46
- if (this._atLeastOneSelectedFormGuard) {
47
- this._atLeastOneSelectedFormGuard.destroy();
48
- this._atLeastOneSelectedFormGuard = null;
49
- }
50
- }
51
- }
52
- ColumnsFormComponent.MAX_ROWS = 5;
53
- ColumnsFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ColumnsFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
- ColumnsFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ColumnsFormComponent, selector: "sg-columns-form", inputs: { list: "list", prefix: "prefix" }, ngImport: i0, template: "<form class=\"u-padding--s\" [formGroup]=\"form\">\n <div class=\"o-layout\">\n <div\n *ngFor=\"let column of columns; let lastColumn = last\"\n class=\"o-layout__item o-layout__item--12 o-layout__item--dynamic---m u-margin-bottom--m-none\"\n [ngClass]=\"{'u-margin-bottom--m': !lastColumn}\"\n >\n <div class=\"o-layout o-layout--list\">\n <div\n *ngFor=\"let item of column; let last = last\"\n class=\"o-layout__item o-layout__item--12\"\n [ngClass]=\"{'u-margin-bottom--m': !last}\"\n >\n <sg-field>\n <sg-checkbox class=\"u-padding-right--xs\" sgFieldContent [formControl]=\"item.isVisibleControl\">{{\n item.title\n }}</sg-checkbox>\n </sg-field>\n </div>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.CheckboxComponent, selector: "sg-checkbox", inputs: ["id"] }, { kind: "component", type: i4.FieldComponent, selector: "sg-field", inputs: ["labelHidden", "inline", "size"] }] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ColumnsFormComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'sg-columns-form', template: "<form class=\"u-padding--s\" [formGroup]=\"form\">\n <div class=\"o-layout\">\n <div\n *ngFor=\"let column of columns; let lastColumn = last\"\n class=\"o-layout__item o-layout__item--12 o-layout__item--dynamic---m u-margin-bottom--m-none\"\n [ngClass]=\"{'u-margin-bottom--m': !lastColumn}\"\n >\n <div class=\"o-layout o-layout--list\">\n <div\n *ngFor=\"let item of column; let last = last\"\n class=\"o-layout__item o-layout__item--12\"\n [ngClass]=\"{'u-margin-bottom--m': !last}\"\n >\n <sg-field>\n <sg-checkbox class=\"u-padding-right--xs\" sgFieldContent [formControl]=\"item.isVisibleControl\">{{\n item.title\n }}</sg-checkbox>\n </sg-field>\n </div>\n </div>\n </div>\n </div>\n</form>\n" }]
58
- }], propDecorators: { list: [{
59
- type: Input
60
- }], prefix: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW5zLWZvcm0vY29sdW1ucy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW5zLWZvcm0vY29sdW1ucy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBa0IsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQU9wRSxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBT1UsaUNBQTRCLEdBQXVDLElBQUksQ0FBQztRQUV4RSxVQUFLLEdBQWEsRUFBRSxDQUFDO1FBcUJ0QixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBR3pCLFdBQU0sR0FBVyxFQUFFLENBQUM7S0E2QjVCO0lBcERDLElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBZTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3hDLE9BQU8sTUFBTSxDQUFDLDhCQUE4QixDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNyQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDN0M7UUFFRCxNQUFNLFFBQVEsR0FBc0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFTTyxlQUFlO1FBQ3JCLE1BQU0sUUFBUSxHQUF1QyxFQUFFLENBQUM7UUFFeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxZQUFZLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNyQyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxFQUNqQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQ3hDLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQzs7QUF4RHVCLDZCQUFRLEdBQVcsQ0FBQyxDQUFDO2lIQURsQyxvQkFBb0I7cUdBQXBCLG9CQUFvQixtR0NUakMsczBCQXVCQTsyRkRkYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQVVoQixJQUFJO3NCQURkLEtBQUs7Z0JBdUJDLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXRMZWFzdE9uZVNlbGVjdGVkRm9ybUd1YXJkfSBmcm9tICdAbWFyY3VyYS9tYXJjdXJhLWNvbW1vbic7XG5pbXBvcnQge0NvbHVtbn0gZnJvbSAnLi4vLi4vbW9kZWwvY29sdW1uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ctY29sdW1ucy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICdjb2x1bW5zLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BWF9ST1dTOiBudW1iZXIgPSA1O1xuXG4gIHByaXZhdGUgX2F0TGVhc3RPbmVTZWxlY3RlZEZvcm1HdWFyZDogQXRMZWFzdE9uZVNlbGVjdGVkRm9ybUd1YXJkIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGlzdDogQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBsaXN0KCk6IENvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpcy5fbGlzdDtcbiAgfVxuICBwdWJsaWMgc2V0IGxpc3QodmFsdWU6IENvbHVtbltdKSB7XG4gICAgdGhpcy5fbGlzdCA9IHZhbHVlIHx8IFtdO1xuICAgIHRoaXMuX2xpc3QgPSB0aGlzLl9saXN0LmZpbHRlcigoY29sdW1uKSA9PiB7XG4gICAgICByZXR1cm4gY29sdW1uLmlzVmlzaWJpbGl0eUZvcm1Db250cm9sVmlzaWJsZTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUZvcm1Hcm91cCgpO1xuICAgIHRoaXMudXBkYXRlQ29sdW1ucygpO1xuXG4gICAgaWYgKHRoaXMuX2F0TGVhc3RPbmVTZWxlY3RlZEZvcm1HdWFyZCkge1xuICAgICAgdGhpcy5fYXRMZWFzdE9uZVNlbGVjdGVkRm9ybUd1YXJkLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSB0aGlzLl9saXN0Lm1hcCgoY29sdW1uKSA9PiBjb2x1bW4uaXNWaXNpYmxlQ29udHJvbCk7XG4gICAgdGhpcy5fYXRMZWFzdE9uZVNlbGVjdGVkRm9ybUd1YXJkID0gbmV3IEF0TGVhc3RPbmVTZWxlY3RlZEZvcm1HdWFyZChjb250cm9scyk7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uczogQ29sdW1uW11bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHByaXZhdGUgdXBkYXRlRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2xzOiB7W2ZpZWxkOiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2x9ID0ge307XG5cbiAgICB0aGlzLmxpc3QuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29udHJvbHNbY29sdW1uLmZpZWxkXSA9IGNvbHVtbi5pc1Zpc2libGVDb250cm9sKSk7XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cChjb250cm9scyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbHVtbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY29sdW1uc0NvdW50OiBudW1iZXIgPSBNYXRoLmNlaWwodGhpcy5saXN0Lmxlbmd0aCAvIENvbHVtbnNGb3JtQ29tcG9uZW50Lk1BWF9ST1dTKTtcbiAgICB0aGlzLmNvbHVtbnMgPSBbXTtcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgY29sdW1uc0NvdW50OyBpKyspIHtcbiAgICAgIGNvbnN0IGl0ZW1zOiBDb2x1bW5bXSA9IHRoaXMubGlzdC5zbGljZShcbiAgICAgICAgaSAqIENvbHVtbnNGb3JtQ29tcG9uZW50Lk1BWF9ST1dTLFxuICAgICAgICAoaSArIDEpICogQ29sdW1uc0Zvcm1Db21wb25lbnQuTUFYX1JPV1NcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbHVtbnMucHVzaChpdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hdExlYXN0T25lU2VsZWN0ZWRGb3JtR3VhcmQpIHtcbiAgICAgIHRoaXMuX2F0TGVhc3RPbmVTZWxlY3RlZEZvcm1HdWFyZC5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9hdExlYXN0T25lU2VsZWN0ZWRGb3JtR3VhcmQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJ1LXBhZGRpbmctLXNcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPGRpdiBjbGFzcz1cIm8tbGF5b3V0XCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgbGFzdENvbHVtbiA9IGxhc3RcIlxuICAgICAgY2xhc3M9XCJvLWxheW91dF9faXRlbSBvLWxheW91dF9faXRlbS0tMTIgby1sYXlvdXRfX2l0ZW0tLWR5bmFtaWMtLS1tIHUtbWFyZ2luLWJvdHRvbS0tbS1ub25lXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsndS1tYXJnaW4tYm90dG9tLS1tJzogIWxhc3RDb2x1bW59XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1sYXlvdXQgby1sYXlvdXQtLWxpc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbjsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICBjbGFzcz1cIm8tbGF5b3V0X19pdGVtIG8tbGF5b3V0X19pdGVtLS0xMlwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyd1LW1hcmdpbi1ib3R0b20tLW0nOiAhbGFzdH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNnLWZpZWxkPlxuICAgICAgICAgICAgPHNnLWNoZWNrYm94IGNsYXNzPVwidS1wYWRkaW5nLXJpZ2h0LS14c1wiIHNnRmllbGRDb250ZW50IFtmb3JtQ29udHJvbF09XCJpdGVtLmlzVmlzaWJsZUNvbnRyb2xcIj57e1xuICAgICAgICAgICAgICBpdGVtLnRpdGxlXG4gICAgICAgICAgICB9fTwvc2ctY2hlY2tib3g+XG4gICAgICAgICAgPC9zZy1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';
2
- import { GridComponent } from '../../components/grid/grid.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@progress/kendo-angular-grid";
6
- import * as i3 from "../load-more/load-more.component";
7
- import * as i4 from "../column-cell/column-cell.component";
8
- export class ContinuousGridComponent extends GridComponent {
9
- constructor(changeDetectorRef) {
10
- super(changeDetectorRef);
11
- // Hack: after upgrade to kendo-angular-grid 5.5.X, they expect [field] to always target existing property in schema,
12
- // while we have some cases of columns for row, not any specific property
13
- this.FIELD_INPUT_FALLBACK = '-';
14
- this.hasCssClass = true;
15
- this.secondary = false;
16
- this.loadMoreLabel = '';
17
- this.rowClassFactory = () => '';
18
- }
19
- }
20
- ContinuousGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ContinuousGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
21
- ContinuousGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ContinuousGridComponent, selector: "sg-continuous-grid", inputs: { secondary: "secondary", loadMoreLabel: "loadMoreLabel", rowClassFactory: "rowClassFactory" }, host: { properties: { "class.sg-continuous-grid": "this.hasCssClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"sg-grid\">\n <div class=\"sg-blocker sg-blocker--content\" [class.sg-blocker--active]=\"grid.observable.isLoading | async\">\n <div class=\"sg-blocker__sticky-container u-align--center\"><span class=\"fa fa-spinner fa-pulse\"></span></div>\n </div>\n <kendo-grid\n [class]=\"'k-grid--only-horizontal-scroll k-grid--cell-alignment-' + cellVerticalAlignment\"\n [data]=\"grid.observable.rows | async\"\n [sortable]=\"{\n allowUnsort: true,\n mode: 'single'\n }\"\n [resizable]=\"resizable\"\n [navigable]=\"true\"\n [selectable]=\"true\"\n [selectedKeys]=\"selection.keys\"\n [kendoGridSelectBy]=\"selection.selectBy\"\n [rowClass]=\"rowClassFactory\"\n (selectionChange)=\"selection.onChange()\"\n [sort]=\"grid.observable.sortDescriptor | async\"\n (sortChange)=\"grid.onSortDescriptorChanged($event)\"\n (columnResize)=\"grid.onColumnResized($event)\"\n [class.k-grid--secondary]=\"secondary\"\n [class.k-grid--clickable]=\"rowClicked.observers.length > 0\"\n >\n <kendo-grid-column media=\"(max-width: 49rem)\" [field]=\"FIELD_INPUT_FALLBACK\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <ul>\n <li *ngFor=\"let column of grid.columns\">\n <div [hidden]=\"column.isHidden | async\">\n <span class=\"u-color-text--secondary\">{{ column.title }} - </span>\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\n </div>\n </li>\n </ul>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column\n *ngFor=\"let column of grid.columns\"\n media=\"(min-width: 49rem)\"\n [title]=\"column.title\"\n [field]=\"column.field || FIELD_INPUT_FALLBACK\"\n [width]=\"column.width | async\"\n [locked]=\"column.isLocked | async\"\n [hidden]=\"column.isHidden | async\"\n [sortable]=\"column.isSortable | async\"\n [minResizableWidth]=\"column.minWidth | async\"\n >\n <ng-template kendoGridCellTemplate let-dataItem>\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n</div>\n<sg-load-more\n *ngIf=\"grid.hasMoreRows | async\"\n (clicked)=\"grid.loadMore()\"\n [isDisabled]=\"grid.observable.isLoading | async\"\n>\n {{ loadMoreLabel }}\n</sg-load-more>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GridComponent, selector: "kendo-grid", inputs: ["data", "scrollable", "selectable", "trackBy", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "autoSize", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "skip", "sort", "group", "navigatable", "rowClass", "rowSticky", "rowSelected", "cellSelected", "isDetailExpanded", "isGroupExpanded", "pageSize", "height", "rowHeight", "detailRowHeight", "filter"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i2.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i2.ColumnComponent, selector: "kendo-grid-column", inputs: ["sortable", "groupable", "editor", "filter", "filterable", "editable", "field", "format"] }, { kind: "directive", type: i2.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: i3.LoadMoreComponent, selector: "sg-load-more", inputs: ["isDisabled"], outputs: ["clicked"] }, { kind: "component", type: i4.ColumnCellComponent, selector: "sg-grid-column-cell", inputs: ["column", "row"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ContinuousGridComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'sg-continuous-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sg-grid\">\n <div class=\"sg-blocker sg-blocker--content\" [class.sg-blocker--active]=\"grid.observable.isLoading | async\">\n <div class=\"sg-blocker__sticky-container u-align--center\"><span class=\"fa fa-spinner fa-pulse\"></span></div>\n </div>\n <kendo-grid\n [class]=\"'k-grid--only-horizontal-scroll k-grid--cell-alignment-' + cellVerticalAlignment\"\n [data]=\"grid.observable.rows | async\"\n [sortable]=\"{\n allowUnsort: true,\n mode: 'single'\n }\"\n [resizable]=\"resizable\"\n [navigable]=\"true\"\n [selectable]=\"true\"\n [selectedKeys]=\"selection.keys\"\n [kendoGridSelectBy]=\"selection.selectBy\"\n [rowClass]=\"rowClassFactory\"\n (selectionChange)=\"selection.onChange()\"\n [sort]=\"grid.observable.sortDescriptor | async\"\n (sortChange)=\"grid.onSortDescriptorChanged($event)\"\n (columnResize)=\"grid.onColumnResized($event)\"\n [class.k-grid--secondary]=\"secondary\"\n [class.k-grid--clickable]=\"rowClicked.observers.length > 0\"\n >\n <kendo-grid-column media=\"(max-width: 49rem)\" [field]=\"FIELD_INPUT_FALLBACK\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <ul>\n <li *ngFor=\"let column of grid.columns\">\n <div [hidden]=\"column.isHidden | async\">\n <span class=\"u-color-text--secondary\">{{ column.title }} - </span>\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\n </div>\n </li>\n </ul>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column\n *ngFor=\"let column of grid.columns\"\n media=\"(min-width: 49rem)\"\n [title]=\"column.title\"\n [field]=\"column.field || FIELD_INPUT_FALLBACK\"\n [width]=\"column.width | async\"\n [locked]=\"column.isLocked | async\"\n [hidden]=\"column.isHidden | async\"\n [sortable]=\"column.isSortable | async\"\n [minResizableWidth]=\"column.minWidth | async\"\n >\n <ng-template kendoGridCellTemplate let-dataItem>\n <sg-grid-column-cell [column]=\"column\" [row]=\"dataItem\"></sg-grid-column-cell>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n</div>\n<sg-load-more\n *ngIf=\"grid.hasMoreRows | async\"\n (clicked)=\"grid.loadMore()\"\n [isDisabled]=\"grid.observable.isLoading | async\"\n>\n {{ loadMoreLabel }}\n</sg-load-more>\n" }]
25
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hasCssClass: [{
26
- type: HostBinding,
27
- args: ['class.sg-continuous-grid']
28
- }], secondary: [{
29
- type: Input
30
- }], loadMoreLabel: [{
31
- type: Input
32
- }], rowClassFactory: [{
33
- type: Input
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGludW91cy1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250aW51b3VzLWdyaWQvY29udGludW91cy1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb250aW51b3VzLWdyaWQvY29udGludW91cy1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVFuRSxNQUFNLE9BQU8sdUJBQThCLFNBQVEsYUFBeUM7SUFnQjFGLFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBaEIzQixxSEFBcUg7UUFDckgsK0VBQStFO1FBQy9ELHlCQUFvQixHQUFXLEdBQUcsQ0FBQztRQUduQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUVyQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRzNCLG9CQUFlLEdBQWUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBSTlDLENBQUM7O29IQWxCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixtUUNWcEMsODNFQTZEQTsyRkRuRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNO3dHQVEvQixXQUFXO3NCQUQxQixXQUFXO3VCQUFDLDBCQUEwQjtnQkFHaEMsU0FBUztzQkFEZixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Jvd0NsYXNzRm59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtDb250aW51b3VzR3JpZH0gZnJvbSAnLi4vLi4vbW9kZWwvY29udGludW91cy1ncmlkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ctY29udGludW91cy1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICdjb250aW51b3VzLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGludW91c0dyaWRDb21wb25lbnQ8VFJvdz4gZXh0ZW5kcyBHcmlkQ29tcG9uZW50PENvbnRpbnVvdXNHcmlkPFRSb3c+LCBUUm93PiB7XG4gIC8vIEhhY2s6IGFmdGVyIHVwZ3JhZGUgdG8ga2VuZG8tYW5ndWxhci1ncmlkIDUuNS5YLCB0aGV5IGV4cGVjdCBbZmllbGRdIHRvIGFsd2F5cyB0YXJnZXQgZXhpc3RpbmcgcHJvcGVydHkgaW4gc2NoZW1hLFxuICAvLyAgICAgICB3aGlsZSB3ZSBoYXZlIHNvbWUgY2FzZXMgb2YgY29sdW1ucyBmb3Igcm93LCBub3QgYW55IHNwZWNpZmljIHByb3BlcnR5XG4gIHB1YmxpYyByZWFkb25seSBGSUVMRF9JTlBVVF9GQUxMQkFDSzogc3RyaW5nID0gJy0nO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2ctY29udGludW91cy1ncmlkJylcbiAgcHVibGljIHJlYWRvbmx5IGhhc0Nzc0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2FkTW9yZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm93Q2xhc3NGYWN0b3J5OiBSb3dDbGFzc0ZuID0gKCkgPT4gJyc7XG5cbiAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2ctZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwic2ctYmxvY2tlciBzZy1ibG9ja2VyLS1jb250ZW50XCIgW2NsYXNzLnNnLWJsb2NrZXItLWFjdGl2ZV09XCJncmlkLm9ic2VydmFibGUuaXNMb2FkaW5nIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2ctYmxvY2tlcl9fc3RpY2t5LWNvbnRhaW5lciB1LWFsaWduLS1jZW50ZXJcIj48c3BhbiBjbGFzcz1cImZhIGZhLXNwaW5uZXIgZmEtcHVsc2VcIj48L3NwYW4+PC9kaXY+XG4gIDwvZGl2PlxuICA8a2VuZG8tZ3JpZFxuICAgIFtjbGFzc109XCInay1ncmlkLS1vbmx5LWhvcml6b250YWwtc2Nyb2xsIGstZ3JpZC0tY2VsbC1hbGlnbm1lbnQtJyArIGNlbGxWZXJ0aWNhbEFsaWdubWVudFwiXG4gICAgW2RhdGFdPVwiZ3JpZC5vYnNlcnZhYmxlLnJvd3MgfCBhc3luY1wiXG4gICAgW3NvcnRhYmxlXT1cIntcbiAgICAgIGFsbG93VW5zb3J0OiB0cnVlLFxuICAgICAgbW9kZTogJ3NpbmdsZSdcbiAgICB9XCJcbiAgICBbcmVzaXphYmxlXT1cInJlc2l6YWJsZVwiXG4gICAgW25hdmlnYWJsZV09XCJ0cnVlXCJcbiAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbc2VsZWN0ZWRLZXlzXT1cInNlbGVjdGlvbi5rZXlzXCJcbiAgICBba2VuZG9HcmlkU2VsZWN0QnldPVwic2VsZWN0aW9uLnNlbGVjdEJ5XCJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NGYWN0b3J5XCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbi5vbkNoYW5nZSgpXCJcbiAgICBbc29ydF09XCJncmlkLm9ic2VydmFibGUuc29ydERlc2NyaXB0b3IgfCBhc3luY1wiXG4gICAgKHNvcnRDaGFuZ2UpPVwiZ3JpZC5vblNvcnREZXNjcmlwdG9yQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoY29sdW1uUmVzaXplKT1cImdyaWQub25Db2x1bW5SZXNpemVkKCRldmVudClcIlxuICAgIFtjbGFzcy5rLWdyaWQtLXNlY29uZGFyeV09XCJzZWNvbmRhcnlcIlxuICAgIFtjbGFzcy5rLWdyaWQtLWNsaWNrYWJsZV09XCJyb3dDbGlja2VkLm9ic2VydmVycy5sZW5ndGggPiAwXCJcbiAgPlxuICAgIDxrZW5kby1ncmlkLWNvbHVtbiBtZWRpYT1cIihtYXgtd2lkdGg6IDQ5cmVtKVwiIFtmaWVsZF09XCJGSUVMRF9JTlBVVF9GQUxMQkFDS1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBncmlkLmNvbHVtbnNcIj5cbiAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCJjb2x1bW4uaXNIaWRkZW4gfCBhc3luY1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtY29sb3ItdGV4dC0tc2Vjb25kYXJ5XCI+e3sgY29sdW1uLnRpdGxlIH19IC0gPC9zcGFuPlxuICAgICAgICAgICAgICA8c2ctZ3JpZC1jb2x1bW4tY2VsbCBbY29sdW1uXT1cImNvbHVtblwiIFtyb3ddPVwiZGF0YUl0ZW1cIj48L3NnLWdyaWQtY29sdW1uLWNlbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgPGtlbmRvLWdyaWQtY29sdW1uXG4gICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGdyaWQuY29sdW1uc1wiXG4gICAgICBtZWRpYT1cIihtaW4td2lkdGg6IDQ5cmVtKVwiXG4gICAgICBbdGl0bGVdPVwiY29sdW1uLnRpdGxlXCJcbiAgICAgIFtmaWVsZF09XCJjb2x1bW4uZmllbGQgfHwgRklFTERfSU5QVVRfRkFMTEJBQ0tcIlxuICAgICAgW3dpZHRoXT1cImNvbHVtbi53aWR0aCB8IGFzeW5jXCJcbiAgICAgIFtsb2NrZWRdPVwiY29sdW1uLmlzTG9ja2VkIHwgYXN5bmNcIlxuICAgICAgW2hpZGRlbl09XCJjb2x1bW4uaXNIaWRkZW4gfCBhc3luY1wiXG4gICAgICBbc29ydGFibGVdPVwiY29sdW1uLmlzU29ydGFibGUgfCBhc3luY1wiXG4gICAgICBbbWluUmVzaXphYmxlV2lkdGhdPVwiY29sdW1uLm1pbldpZHRoIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICA8c2ctZ3JpZC1jb2x1bW4tY2VsbCBbY29sdW1uXT1cImNvbHVtblwiIFtyb3ddPVwiZGF0YUl0ZW1cIj48L3NnLWdyaWQtY29sdW1uLWNlbGw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG4gIDwva2VuZG8tZ3JpZD5cbjwvZGl2PlxuPHNnLWxvYWQtbW9yZVxuICAqbmdJZj1cImdyaWQuaGFzTW9yZVJvd3MgfCBhc3luY1wiXG4gIChjbGlja2VkKT1cImdyaWQubG9hZE1vcmUoKVwiXG4gIFtpc0Rpc2FibGVkXT1cImdyaWQub2JzZXJ2YWJsZS5pc0xvYWRpbmcgfCBhc3luY1wiXG4+XG4gIHt7IGxvYWRNb3JlTGFiZWwgfX1cbjwvc2ctbG9hZC1tb3JlPlxuIl19
@@ -1,51 +0,0 @@
1
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Observer } from '@marcura/marcura-common';
3
- import { skip } from 'rxjs/operators';
4
- import { CellVerticalAlignment } from '../../model/cell-vertical-alignment.enum';
5
- import { Selection } from '../../model/selection';
6
- import * as i0 from "@angular/core";
7
- export class GridComponent {
8
- get selection() {
9
- return this._selection;
10
- }
11
- set selection(value) {
12
- this._selection = value || this._rowClickSelection;
13
- }
14
- constructor(_changeDetectorRef) {
15
- this._changeDetectorRef = _changeDetectorRef;
16
- this._observer = new Observer();
17
- this.cellVerticalAlignment = CellVerticalAlignment.Top;
18
- this.resizable = false;
19
- this.rowClicked = new EventEmitter();
20
- this._rowClickSelection = new Selection();
21
- this._selection = this._rowClickSelection;
22
- this._onRowClickSelectionChange = (selection) => {
23
- if (selection.length > 0) {
24
- this.rowClicked.emit(selection[0]);
25
- this.selection.reset();
26
- this._changeDetectorRef.detectChanges();
27
- }
28
- };
29
- this._observer.listen(this._rowClickSelection.items.pipe(skip(1)), this._onRowClickSelectionChange);
30
- }
31
- ngOnDestroy() {
32
- this._observer.destroy();
33
- }
34
- }
35
- GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
- GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GridComponent, selector: "ng-component", inputs: { cellVerticalAlignment: "cellVerticalAlignment", grid: "grid", resizable: "resizable", selection: "selection" }, outputs: { rowClicked: "rowClicked" }, ngImport: i0, template: '', isInline: true });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GridComponent, decorators: [{
38
- type: Component,
39
- args: [{ template: '' }]
40
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { cellVerticalAlignment: [{
41
- type: Input
42
- }], grid: [{
43
- type: Input
44
- }], resizable: [{
45
- type: Input
46
- }], rowClicked: [{
47
- type: Output
48
- }], selection: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFFL0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUdoRCxNQUFNLE9BQU8sYUFBYTtJQWlCeEIsSUFDVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsS0FBc0I7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFvQyxrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQXhCL0QsY0FBUyxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFHeEMsMEJBQXFCLEdBQTBCLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQU16RSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoRCx1QkFBa0IsR0FBb0IsSUFBSSxTQUFTLEVBQVEsQ0FBQztRQUNyRSxlQUFVLEdBQW9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQWlCN0MsK0JBQTBCLEdBQUcsQ0FBQyxTQUFpQixFQUFRLEVBQUU7WUFDeEUsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN6QztRQUNILENBQUMsQ0FBQztRQWJBLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7MEdBL0JVLGFBQWE7OEZBQWIsYUFBYSxxTkFESixFQUFFOzJGQUNYLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFDO3dHQUtoQixxQkFBcUI7c0JBRDNCLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixNQUFNO2dCQU1JLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2ZXJ9IGZyb20gJ0BtYXJjdXJhL21hcmN1cmEtY29tbW9uJztcbmltcG9ydCB7c2tpcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDZWxsVmVydGljYWxBbGlnbm1lbnR9IGZyb20gJy4uLy4uL21vZGVsL2NlbGwtdmVydGljYWwtYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHtHcmlkfSBmcm9tICcuLi8uLi9tb2RlbC9ncmlkJztcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICcuLi8uLi9tb2RlbC9zZWxlY3Rpb24nO1xuXG5AQ29tcG9uZW50KHt0ZW1wbGF0ZTogJyd9KVxuZXhwb3J0IGNsYXNzIEdyaWRDb21wb25lbnQ8VEdyaWQgZXh0ZW5kcyBHcmlkPFRSb3c+LCBUUm93PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBfb2JzZXJ2ZXI6IE9ic2VydmVyID0gbmV3IE9ic2VydmVyKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNlbGxWZXJ0aWNhbEFsaWdubWVudDogQ2VsbFZlcnRpY2FsQWxpZ25tZW50ID0gQ2VsbFZlcnRpY2FsQWxpZ25tZW50LlRvcDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ3JpZCE6IFRHcmlkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxUUm93PiA9IG5ldyBFdmVudEVtaXR0ZXI8VFJvdz4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dDbGlja1NlbGVjdGlvbjogU2VsZWN0aW9uPFRSb3c+ID0gbmV3IFNlbGVjdGlvbjxUUm93PigpO1xuICBwcml2YXRlIF9zZWxlY3Rpb246IFNlbGVjdGlvbjxUUm93PiA9IHRoaXMuX3Jvd0NsaWNrU2VsZWN0aW9uO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvbigpOiBTZWxlY3Rpb248VFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb247XG4gIH1cbiAgcHVibGljIHNldCBzZWxlY3Rpb24odmFsdWU6IFNlbGVjdGlvbjxUUm93Pikge1xuICAgIHRoaXMuX3NlbGVjdGlvbiA9IHZhbHVlIHx8IHRoaXMuX3Jvd0NsaWNrU2VsZWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuX29ic2VydmVyLmxpc3Rlbih0aGlzLl9yb3dDbGlja1NlbGVjdGlvbi5pdGVtcy5waXBlKHNraXAoMSkpLCB0aGlzLl9vblJvd0NsaWNrU2VsZWN0aW9uQ2hhbmdlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlci5kZXN0cm95KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9vblJvd0NsaWNrU2VsZWN0aW9uQ2hhbmdlID0gKHNlbGVjdGlvbjogVFJvd1tdKTogdm9pZCA9PiB7XG4gICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJvd0NsaWNrZWQuZW1pdChzZWxlY3Rpb25bMF0pO1xuICAgICAgdGhpcy5zZWxlY3Rpb24ucmVzZXQoKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@progress/kendo-angular-buttons";
5
- export class LoadMoreComponent {
6
- constructor() {
7
- this.hasCssClass = true;
8
- this.isDisabled = false;
9
- this.clicked = new EventEmitter();
10
- }
11
- onClicked() {
12
- if (!this.isDisabled) {
13
- this.clicked.emit();
14
- }
15
- }
16
- }
17
- LoadMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: LoadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- LoadMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: LoadMoreComponent, selector: "sg-load-more", inputs: { isDisabled: "isDisabled" }, outputs: { clicked: "clicked" }, host: { properties: { "class.sg-load-more": "this.hasCssClass" } }, ngImport: i0, template: "<button kendoButton [look]=\"'flat'\" [disabled]=\"isDisabled\" (click)=\"onClicked()\">\n <span #content><ng-content></ng-content></span>\n <ng-container *ngIf=\"!content.innerHTML.trim()\">Load More</ng-container>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "primary", "look", "role", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: LoadMoreComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'sg-load-more', template: "<button kendoButton [look]=\"'flat'\" [disabled]=\"isDisabled\" (click)=\"onClicked()\">\n <span #content><ng-content></ng-content></span>\n <ng-container *ngIf=\"!content.innerHTML.trim()\">Load More</ng-container>\n</button>\n" }]
22
- }], propDecorators: { hasCssClass: [{
23
- type: HostBinding,
24
- args: ['class.sg-load-more']
25
- }], isDisabled: [{
26
- type: Input
27
- }], clicked: [{
28
- type: Output
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLW1vcmUvbG9hZC1tb3JlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLW1vcmUvbG9hZC1tb3JlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBTWxGLE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFNa0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFckMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVuQixZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7S0FPbEU7SUFMUSxTQUFTO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7OzhHQVpVLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtMQ045Qix3T0FJQTsyRkRFYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsY0FBYzs4QkFLUixXQUFXO3NCQUQxQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFHMUIsVUFBVTtzQkFEaEIsS0FBSztnQkFHVSxPQUFPO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZy1sb2FkLW1vcmUnLFxuICB0ZW1wbGF0ZVVybDogJ2xvYWQtbW9yZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRNb3JlQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZy1sb2FkLW1vcmUnKVxuICBwdWJsaWMgcmVhZG9ubHkgaGFzQ3NzQ2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgb25DbGlja2VkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvbiBrZW5kb0J1dHRvbiBbbG9va109XCInZmxhdCdcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIChjbGljayk9XCJvbkNsaWNrZWQoKVwiPlxuICA8c3BhbiAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbnRlbnQuaW5uZXJIVE1MLnRyaW0oKVwiPkxvYWQgTW9yZTwvbmctY29udGFpbmVyPlxuPC9idXR0b24+XG4iXX0=