@coolon/angular-ui-powerups 16.1.0-aplpha.37 → 16.1.0-aplpha.38
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/esm2022/lib/components/exports.mjs +2 -2
- package/esm2022/lib/components/tables/abstract-table-model.mjs +14 -14
- package/esm2022/lib/components/tables/column/column-manager.mjs +89 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +12 -2
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +2 -2
- package/fesm2022/coolon-angular-ui-powerups.mjs +65 -52
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/exports.d.ts +1 -1
- package/lib/components/tables/abstract-table-model.d.ts +4 -3
- package/lib/components/tables/column/column-manager.d.ts +19 -0
- package/lib/components/tables/column/column-model.d.ts +5 -1
- package/lib/components/tables/column/column-order-manager.d.ts +20 -0
- package/lib/components/tables/column/custom-template-column-model.d.ts +2 -1
- package/lib/components/tables/column/custom-value-column-model.d.ts +2 -1
- package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -1
- package/lib/components/tables/column/list-propery-column-model.d.ts +2 -1
- package/lib/components/tables/column/property-column-model.d.ts +2 -1
- package/lib/components/tables/column/selection-column-model.d.ts +2 -1
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -1
- package/package.json +1 -1
- package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -104
- package/lib/components/tables/column/column-list-model.d.ts +0 -33
|
@@ -47,7 +47,7 @@ export * from "./section-header/section-header.component";
|
|
|
47
47
|
export * from "./switch-case/switch-case.component";
|
|
48
48
|
export * from "./tables/abstract-table-model";
|
|
49
49
|
export * from "./tables/abstract-table.component";
|
|
50
|
-
export * from "./tables/column/column-
|
|
50
|
+
export * from "./tables/column/column-manager";
|
|
51
51
|
export * from "./tables/column/column-model";
|
|
52
52
|
export * from "./tables/column/column-text-properties";
|
|
53
53
|
export * from "./tables/column/custom-template-column-model";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ComponentType } from "@angular/cdk/overlay";
|
|
2
2
|
import { Injector } from "@angular/core";
|
|
3
3
|
import { BooleanValueModelChain, Command, Constructable, DelegatingListModel, DirtyTrackingForm, Disposable, GarbageCollector, ListModel, SelectionModel, Types, ValueModel, ValueModelChain } from "@coolon/pectin";
|
|
4
|
-
import {
|
|
4
|
+
import { ColumnManager } from "./column/column-manager";
|
|
5
5
|
import { CellRendererOptions, ColumnModel, OnComponentInit } from "./column/column-model";
|
|
6
|
+
import { ColumnOrderManager } from "./column/column-order-manager";
|
|
6
7
|
import { ColumnTextProperties } from "./column/column-text-properties";
|
|
7
8
|
import { CustomTemplateColumnModel } from "./column/custom-template-column-model";
|
|
8
9
|
import { CustomValueColumnModel } from "./column/custom-value-column-model";
|
|
@@ -18,7 +19,7 @@ export declare abstract class AbstractTableModel<Row> extends GarbageCollector {
|
|
|
18
19
|
protected readonly _dataSource$: DelegatingListModel<Row>;
|
|
19
20
|
protected readonly _filteredRows$: DelegatingListModel<Row>;
|
|
20
21
|
protected readonly _visibleRows$: DelegatingListModel<Row>;
|
|
21
|
-
|
|
22
|
+
protected readonly columnManager: ColumnManager<Row>;
|
|
22
23
|
private _editorSessions;
|
|
23
24
|
private readonly _rowsBeingEdited$;
|
|
24
25
|
private saveCommandFactory;
|
|
@@ -81,7 +82,7 @@ export declare abstract class AbstractTableModel<Row> extends GarbageCollector {
|
|
|
81
82
|
addTemplateColumn<V>(columnId: string): CustomTemplateColumnModel<Row>;
|
|
82
83
|
addRowClass(className: string, predicate: (row: Row) => boolean): void;
|
|
83
84
|
getRowClasses(row: Row): string[];
|
|
84
|
-
protected addColumn<C extends ColumnModel<Row>>(column: C, position?:
|
|
85
|
+
protected addColumn<C extends ColumnModel<Row>>(column: C, position?: ColumnOrderManager.Position): C;
|
|
85
86
|
columnTextProperties(columnTextProperties: {
|
|
86
87
|
[columnName: string]: ColumnTextProperties;
|
|
87
88
|
}): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GarbageCollector, ListModel, WatchList } from '@coolon/pectin';
|
|
2
|
+
import { ColumnModel } from './column-model';
|
|
3
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
4
|
+
export declare class ColumnManager<Row> extends GarbageCollector implements ColumnOrderManager {
|
|
5
|
+
private readonly _columnRefs$;
|
|
6
|
+
private readonly orderedColumnRefs$;
|
|
7
|
+
private readonly _columnsById$;
|
|
8
|
+
readonly allColumns$: ListModel<ColumnModel<Row>>;
|
|
9
|
+
readonly columnVisibilities$: WatchList<boolean>;
|
|
10
|
+
readonly visibleColumns$: ListModel<ColumnModel<Row>>;
|
|
11
|
+
constructor();
|
|
12
|
+
position(column: ColumnModel<any>, newPosition: ColumnOrderManager.Position): void;
|
|
13
|
+
getColumn(id: string): ColumnModel<Row>;
|
|
14
|
+
hasColumn(id: string): boolean;
|
|
15
|
+
hasMatchingColumn(row: Row, regex: RegExp): boolean;
|
|
16
|
+
addColumn<C extends ColumnModel<Row>>(column: C, position?: ColumnOrderManager.Position): C;
|
|
17
|
+
computePosition(position?: ColumnOrderManager.Position): string;
|
|
18
|
+
doComputeValue(): ColumnModel<Row>[];
|
|
19
|
+
}
|
|
@@ -7,6 +7,7 @@ import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatte
|
|
|
7
7
|
import { CellEditorPortalRef, CellHeaderPortalRef, CellRendererPortalRef } from "../renderer/cell-portal-ref";
|
|
8
8
|
import { TableCellComponent } from "../renderer/table-cell/table-cell.component";
|
|
9
9
|
import { TableHeaderCellComponent } from "../renderer/table-header-cell/table-header-cell.component";
|
|
10
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
10
11
|
import { ColumnTextProperties } from "./column-text-properties";
|
|
11
12
|
export interface RowData<Row> {
|
|
12
13
|
row: Row;
|
|
@@ -23,6 +24,7 @@ export interface MutableCellRendererOptions<Row, E, P extends keyof Row> extends
|
|
|
23
24
|
}
|
|
24
25
|
export declare class ColumnModel<Row> extends GarbageCollector {
|
|
25
26
|
readonly columnId: string;
|
|
27
|
+
private readonly order;
|
|
26
28
|
private textPropertiesProvider;
|
|
27
29
|
private _columnTextProperties;
|
|
28
30
|
private _columnHeaderPortalRef;
|
|
@@ -36,7 +38,7 @@ export declare class ColumnModel<Row> extends GarbageCollector {
|
|
|
36
38
|
readonly dasherisedColumnId: string;
|
|
37
39
|
private readonly textSearchDelegate;
|
|
38
40
|
readonly visible$: ValueModel<boolean>;
|
|
39
|
-
constructor(columnId: string, textPropertiesProvider: ColumnModel.TextPropertiesProvider);
|
|
41
|
+
constructor(columnId: string, order: ColumnOrderManager, textPropertiesProvider: ColumnModel.TextPropertiesProvider);
|
|
40
42
|
protected installHeaderRenderer(): void;
|
|
41
43
|
getHeaderText(): string;
|
|
42
44
|
isVisible(): boolean;
|
|
@@ -51,6 +53,8 @@ export declare class ColumnModel<Row> extends GarbageCollector {
|
|
|
51
53
|
*/
|
|
52
54
|
textProperties(columnTextProperties: ColumnTextProperties): this;
|
|
53
55
|
columnTextProperties(columnTextProperties: ColumnTextProperties): this;
|
|
56
|
+
positionAfter(column: ColumnModel<any>): this;
|
|
57
|
+
positionBefore(column: ColumnModel<any>): this;
|
|
54
58
|
getSearchTextFor(row: Row): string;
|
|
55
59
|
configureColumnTextSearch(formatter: ColumnTextSearchFormatter<Row>): this;
|
|
56
60
|
configureColumnTextSearch<T>(formatter: ColumnTextSearchFormatter<T>, mapper: (row: Row) => T): this;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ColumnModel } from "./column-model";
|
|
2
|
+
export interface ColumnOrderManager {
|
|
3
|
+
position(column: ColumnModel<any>, position: ColumnOrderManager.Position): void;
|
|
4
|
+
}
|
|
5
|
+
export declare namespace ColumnOrderManager {
|
|
6
|
+
interface Before {
|
|
7
|
+
before: ColumnModel<any> | null;
|
|
8
|
+
}
|
|
9
|
+
interface After {
|
|
10
|
+
after: ColumnModel<any> | null;
|
|
11
|
+
}
|
|
12
|
+
export type Position = Before | After;
|
|
13
|
+
export function processPosition(position: Position | undefined, callback: {
|
|
14
|
+
before(col: ColumnModel<any> | null): string;
|
|
15
|
+
after(col: ColumnModel<any> | null): string;
|
|
16
|
+
first(): string;
|
|
17
|
+
last(): string;
|
|
18
|
+
}): string;
|
|
19
|
+
export {};
|
|
20
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TemplateRef, ViewContainerRef } from "@angular/core";
|
|
2
2
|
import { ColumnModel } from "./column-model";
|
|
3
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
3
4
|
export declare class CustomTemplateColumnModel<Row> extends ColumnModel<Row> {
|
|
4
5
|
private readonly config;
|
|
5
|
-
constructor(columnId: string, defaults: ColumnModel.TextPropertiesProvider);
|
|
6
|
+
constructor(columnId: string, order: ColumnOrderManager, defaults: ColumnModel.TextPropertiesProvider);
|
|
6
7
|
setTemplate(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean): void;
|
|
7
8
|
selectRowOnClick(selectOnRowClick: boolean): this;
|
|
8
9
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ComponentType } from "@angular/cdk/overlay";
|
|
2
2
|
import { CellRendererOptions, ColumnModel, OnComponentInit } from "./column-model";
|
|
3
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
3
4
|
export declare class CustomValueColumnModel<Row, V> extends ColumnModel<Row> {
|
|
4
5
|
private getValue;
|
|
5
|
-
constructor(columnId: string, defaults: ColumnModel.TextPropertiesProvider, getValue: (row: Row) => V);
|
|
6
|
+
constructor(columnId: string, order: ColumnOrderManager, defaults: ColumnModel.TextPropertiesProvider, getValue: (row: Row) => V);
|
|
6
7
|
cellRenderer<C extends {
|
|
7
8
|
value: Partial<V>;
|
|
8
9
|
}>(componentType: ComponentType<C>, onComponentInitOrOptions?: CellRendererOptions<Row, C> | OnComponentInit<C>): this;
|
|
@@ -2,8 +2,9 @@ import { ComponentType } from "@angular/cdk/overlay";
|
|
|
2
2
|
import { Command, DirtyTrackingForm } from "@coolon/pectin";
|
|
3
3
|
import { EditSession } from "../editor/edit-session";
|
|
4
4
|
import { ColumnModel } from "./column-model";
|
|
5
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
5
6
|
export declare class EditorControlColumnModel<Row> extends ColumnModel<Row> {
|
|
6
|
-
constructor(columnId: string, saveCommandFactory: Command.Factory<DirtyTrackingForm<Row>, boolean | Promise<boolean>>, defaults: ColumnModel.TextPropertiesProvider);
|
|
7
|
+
constructor(columnId: string, order: ColumnOrderManager, saveCommandFactory: Command.Factory<DirtyTrackingForm<Row>, boolean | Promise<boolean>>, defaults: ColumnModel.TextPropertiesProvider);
|
|
7
8
|
cellRenderer(componentType: ComponentType<{
|
|
8
9
|
row: Row;
|
|
9
10
|
editSession: EditSession<Row>;
|
|
@@ -3,11 +3,12 @@ import { Types, Validator } from "@coolon/pectin";
|
|
|
3
3
|
import { CellListEditorComponent } from "../renderer/cell-editors";
|
|
4
4
|
import { CellRenderer } from "../renderer/cell-renderer";
|
|
5
5
|
import { ColumnModel } from "./column-model";
|
|
6
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
6
7
|
export declare class ListPropertyColumnModel<Row, P extends Types.ArrayPropertiesOf<Row>> extends ColumnModel<Row> {
|
|
7
8
|
readonly property: P;
|
|
8
9
|
private _userFormat;
|
|
9
10
|
private _defaultSearchTextFormat;
|
|
10
|
-
constructor(id: string, property: P, defaults: ColumnModel.TextPropertiesProvider);
|
|
11
|
+
constructor(id: string, order: ColumnOrderManager, property: P, defaults: ColumnModel.TextPropertiesProvider);
|
|
11
12
|
cellRenderer(componentType: ComponentType<CellRenderer<Types.ArrayElementType<Row, P>[]>>): Omit<this, "format">;
|
|
12
13
|
cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, validators?: Validator<Types.ArrayElementType<Row, P>[]>[], initialiseComponent?: (component: C) => void): this;
|
|
13
14
|
cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, initialiseComponent?: (component: C) => void): this;
|
|
@@ -4,11 +4,12 @@ import { EditableCellRenderer } from "../editor/editable-cell-renderer";
|
|
|
4
4
|
import { CellEditorComponent } from "../renderer/cell-editors";
|
|
5
5
|
import { CellRenderer } from "../renderer/cell-renderer";
|
|
6
6
|
import { CellRendererOptions, ColumnModel, MutableCellRendererOptions, OnComponentInit } from "./column-model";
|
|
7
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
7
8
|
export declare class PropertyColumnModel<Row, P extends Types.ValuePropertiesOf<Row>> extends ColumnModel<Row> {
|
|
8
9
|
readonly property: P;
|
|
9
10
|
private _userFormat;
|
|
10
11
|
private _defaultSearchTextFormatter;
|
|
11
|
-
constructor(id: string, property: P, defaults: ColumnModel.TextPropertiesProvider);
|
|
12
|
+
constructor(id: string, order: ColumnOrderManager, property: P, defaults: ColumnModel.TextPropertiesProvider);
|
|
12
13
|
cellRenderer<E extends CellRenderer<Row[P]>>(componentType: ComponentType<E>, options?: CellRendererOptions<Row, E>): Omit<this, "format">;
|
|
13
14
|
cellRenderer<E extends CellRenderer<Row[P]>>(componentType: ComponentType<E>, onComponentInit?: OnComponentInit<E>): Omit<this, "format">;
|
|
14
15
|
liveEditCellRenderer<E extends EditableCellRenderer<Row[P]>>(componentType: ComponentType<E>, options: MutableCellRendererOptions<Row, E, P>): this;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ThemePalette } from "@angular/material/core";
|
|
2
2
|
import { Proxified, SelectionModel } from "@coolon/pectin";
|
|
3
3
|
import { ColumnModel } from "./column-model";
|
|
4
|
+
import { ColumnOrderManager } from "./column-order-manager";
|
|
4
5
|
export declare class SelectionColumnModel<Row> extends ColumnModel<Row> {
|
|
5
6
|
readonly selectionModel: Proxified<SelectionModel<Row>>;
|
|
6
7
|
private _enableHeaderControls;
|
|
7
8
|
private _color;
|
|
8
|
-
constructor(columnId: string, defaults: ColumnModel.TextPropertiesProvider, selectionModel: Proxified<SelectionModel<Row>>);
|
|
9
|
+
constructor(columnId: string, order: ColumnOrderManager, defaults: ColumnModel.TextPropertiesProvider, selectionModel: Proxified<SelectionModel<Row>>);
|
|
9
10
|
useSelectionModel(selectionModel: SelectionModel<Row>): void;
|
|
10
11
|
protected getDefaultHeaderText(): string;
|
|
11
12
|
enableHeaderControls(enable: boolean): this;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { ComponentType } from '@angular/cdk/overlay';
|
|
2
2
|
import { Types } from '@coolon/pectin';
|
|
3
3
|
import { ColumnModel } from '../column/column-model';
|
|
4
|
+
import { ColumnOrderManager } from "../column/column-order-manager";
|
|
4
5
|
import { TreeLabelCellRendererComponent } from './tree-label-cell-renderer/tree-label-cell-renderer.component';
|
|
5
6
|
import { TreeTableModel } from './tree-table-model';
|
|
6
7
|
export declare class TreeLabelColumnModel<Row> extends ColumnModel<Row> {
|
|
7
8
|
readonly expansionModel: TreeTableModel<Row>;
|
|
8
9
|
private labelFactory;
|
|
9
10
|
private iconFactory;
|
|
10
|
-
constructor(columnId: string, textPropertiesProvider: ColumnModel.TextPropertiesProvider, expansionModel: TreeTableModel<Row>);
|
|
11
|
+
constructor(columnId: string, order: ColumnOrderManager, textPropertiesProvider: ColumnModel.TextPropertiesProvider, expansionModel: TreeTableModel<Row>);
|
|
11
12
|
pluck<P extends Types.StringValuePropertiesOf<Row>>(property: P): void;
|
|
12
13
|
useLabel(factory: (row: Row) => string): void;
|
|
13
14
|
/**
|
package/package.json
CHANGED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Dsl, GarbageCollector, lang, MutableListModel, Trace, WatchList } from '@coolon/pectin';
|
|
3
|
-
import { generateKeyBetween } from "fractional-indexing";
|
|
4
|
-
class ColumnRef {
|
|
5
|
-
column;
|
|
6
|
-
position;
|
|
7
|
-
constructor(column, position) {
|
|
8
|
-
this.column = column;
|
|
9
|
-
this.position = position;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export class ColumnListModel extends GarbageCollector {
|
|
13
|
-
_columnRefs$ = new MutableListModel();
|
|
14
|
-
orderedColumnRefs$;
|
|
15
|
-
_columnsById$;
|
|
16
|
-
allColumns$;
|
|
17
|
-
columnVisibilities$ = new WatchList();
|
|
18
|
-
visibleColumns$;
|
|
19
|
-
constructor() {
|
|
20
|
-
super();
|
|
21
|
-
const { chain } = Dsl.disposeWith(this);
|
|
22
|
-
this.orderedColumnRefs$ = chain(this._columnRefs$).orderBy("position", "asc");
|
|
23
|
-
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
24
|
-
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
25
|
-
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
26
|
-
dependsOn: this.columnVisibilities$
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
// get allColumns$(): ListModel<ColumnModel<Row>> {
|
|
30
|
-
// return this._allColumns$.readonly$;
|
|
31
|
-
// }
|
|
32
|
-
getColumn(id) {
|
|
33
|
-
return this._columnsById$.get(id);
|
|
34
|
-
}
|
|
35
|
-
hasColumn(id) {
|
|
36
|
-
return !!this._columnsById$.get(id);
|
|
37
|
-
}
|
|
38
|
-
hasMatchingColumn(row, regex) {
|
|
39
|
-
// only search the visible columns
|
|
40
|
-
return !!this.visibleColumns$.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
41
|
-
}
|
|
42
|
-
addColumn(column, position) {
|
|
43
|
-
if (this.hasColumn(column.columnId)) {
|
|
44
|
-
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
45
|
-
}
|
|
46
|
-
this.registerDisposable(column);
|
|
47
|
-
this._columnRefs$.push(new ColumnRef(column, this.computePosition(position)));
|
|
48
|
-
this.columnVisibilities$.add(column.visible$);
|
|
49
|
-
return column;
|
|
50
|
-
}
|
|
51
|
-
computePosition(position) {
|
|
52
|
-
const q = this.orderedColumnRefs$.query();
|
|
53
|
-
return ColumnListModel.processPosition(position, {
|
|
54
|
-
before(col) {
|
|
55
|
-
const beforeIndex = q.findIndex(ref => ref.column === col);
|
|
56
|
-
const beforeCol = q.value[beforeIndex];
|
|
57
|
-
const afterCol = beforeIndex - 1 > 0 ? q.value[beforeIndex - 1] : undefined;
|
|
58
|
-
console.log({ afterCol, beforeCol });
|
|
59
|
-
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
60
|
-
},
|
|
61
|
-
after(col) {
|
|
62
|
-
const afterIndex = q.findIndex(ref => ref.column === col);
|
|
63
|
-
const afterCol = q.value[afterIndex];
|
|
64
|
-
const beforeCol = afterIndex + 1 < q.length ? q.value[afterIndex + 1] : undefined;
|
|
65
|
-
console.log({ afterCol, beforeCol });
|
|
66
|
-
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
67
|
-
},
|
|
68
|
-
first() {
|
|
69
|
-
return generateKeyBetween(null, q.first()?.position);
|
|
70
|
-
},
|
|
71
|
-
last() {
|
|
72
|
-
// add it to the end of the list
|
|
73
|
-
return generateKeyBetween(q.last()?.position, null);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
doComputeValue() {
|
|
78
|
-
return this.allColumns$.value.filter(c => c.visible$.value);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
__decorate([
|
|
82
|
-
Trace(),
|
|
83
|
-
__metadata("design:type", Function),
|
|
84
|
-
__metadata("design:paramtypes", [Object]),
|
|
85
|
-
__metadata("design:returntype", String)
|
|
86
|
-
], ColumnListModel.prototype, "computePosition", null);
|
|
87
|
-
(function (ColumnListModel) {
|
|
88
|
-
function processPosition(position, callback) {
|
|
89
|
-
if (position) {
|
|
90
|
-
const keys = Object.keys(position);
|
|
91
|
-
if (keys.includes("before")) {
|
|
92
|
-
return position["before"] ? callback.before(position["before"]) : callback.first();
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
return position["after"] ? callback.before(position["after"]) : callback.last();
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return callback.last();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ColumnListModel.processPosition = processPosition;
|
|
103
|
-
})(ColumnListModel || (ColumnListModel = {}));
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWxpc3QtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLWxpc3QtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxHQUFHLEVBQUUsZ0JBQWdCLEVBQ3JCLElBQUksRUFJSixnQkFBZ0IsRUFDaEIsS0FBSyxFQUFFLFNBQVMsRUFDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxNQUFNLFNBQVM7SUFDUTtJQUFtQztJQUF4RCxZQUFxQixNQUF3QixFQUFXLFFBQWdCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUN4RSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBcUIsU0FBUSxnQkFBZ0I7SUFFdkMsWUFBWSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7SUFDdEQsa0JBQWtCLENBQWlDO0lBQ25ELGFBQWEsQ0FBMEM7SUFDL0QsV0FBVyxDQUE4QjtJQUN6QyxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsRUFBVyxDQUFBO0lBQzlDLGVBQWUsQ0FBOEI7SUFFdEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFFBQVEs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TyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTthQUNuRjtpQkFBTTtnQkFDTCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO2FBQ2hGO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQWhCZSwrQkFBZSxrQkFnQjlCLENBQUE7QUFHSCxDQUFDLEVBeEJnQixlQUFlLEtBQWYsZUFBZSxRQXdCL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYnN0cmFjdENvbXB1dGVkTGlzdE1vZGVsLFxuICBEc2wsIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFRyYWNlLCBXYXRjaExpc3Rcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtnZW5lcmF0ZUtleUJldHdlZW59IGZyb20gXCJmcmFjdGlvbmFsLWluZGV4aW5nXCI7XG5pbXBvcnQge0NvbHVtbk1vZGVsfSBmcm9tICcuL2NvbHVtbi1tb2RlbCc7XG5cbmNsYXNzIENvbHVtblJlZjxST1c+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY29sdW1uOiBDb2x1bW5Nb2RlbDxST1c+LCByZWFkb25seSBwb3NpdGlvbjogc3RyaW5nKSB7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbHVtbkxpc3RNb2RlbDxSb3c+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uUmVmcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb2x1bW5SZWY8Um93Pj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmRlcmVkQ29sdW1uUmVmcyQ6IExpc3RNb2RlbENoYWluPENvbHVtblJlZjxSb3c+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uc0J5SWQkOiBNYXBNb2RlbENoYWluPHN0cmluZywgQ29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGFsbENvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGNvbHVtblZpc2liaWxpdGllcyQgPSBuZXcgV2F0Y2hMaXN0PGJvb2xlYW4+KClcbiAgcmVhZG9ubHkgdmlzaWJsZUNvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMub3JkZXJlZENvbHVtblJlZnMkID0gY2hhaW4odGhpcy5fY29sdW1uUmVmcyQpLm9yZGVyQnkoXCJwb3NpdGlvblwiLCBcImFzY1wiKTtcbiAgICB0aGlzLmFsbENvbHVtbnMkID0gdGhpcy5vcmRlcmVkQ29sdW1uUmVmcyQucGx1Y2soXCJjb2x1bW5cIik7XG5cbiAgICB0aGlzLl9jb2x1bW5zQnlJZCQgPSBjaGFpbih0aGlzLmFsbENvbHVtbnMkKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gY2hhaW4odGhpcy5hbGxDb2x1bW5zJCkuc2VsZWN0KGl0ID0+IGl0LnZpc2libGUkLnZhbHVlLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuY29sdW1uVmlzaWJpbGl0aWVzJFxuICAgIH0pXG4gIH1cblxuICAvLyBnZXQgYWxsQ29sdW1ucyQoKTogTGlzdE1vZGVsPENvbHVtbk1vZGVsPFJvdz4+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5fYWxsQ29sdW1ucyQucmVhZG9ubHkkO1xuICAvLyB9XG5cbiAgZ2V0Q29sdW1uKGlkOiBzdHJpbmcpOiBDb2x1bW5Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uc0J5SWQkLmdldChpZCk7XG4gIH1cblxuICBoYXNDb2x1bW4oaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbHVtbnNCeUlkJC5nZXQoaWQpO1xuICB9XG5cbiAgaGFzTWF0Y2hpbmdDb2x1bW4ocm93OiBSb3csIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcbiAgICAvLyBvbmx5IHNlYXJjaCB0aGUgdmlzaWJsZSBjb2x1bW5zXG4gICAgcmV0dXJuICEhdGhpcy52aXNpYmxlQ29sdW1ucyQudmFsdWUuZmluZChjID0+IHJlZ2V4LnRlc3QoYy5nZXRTZWFyY2hUZXh0Rm9yKHJvdykpKTtcbiAgfVxuXG4gIGFkZENvbHVtbjxDIGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93Pj4oY29sdW1uOiBDLCBwb3NpdGlvbj86IENvbHVtbkxpc3RNb2RlbC5Qb3NpdGlvbik6IEMge1xuICAgIGlmICh0aGlzLmhhc0NvbHVtbihjb2x1bW4uY29sdW1uSWQpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQ29sdW1uIHdpdGggaWQ9JHtjb2x1bW4uY29sdW1uSWR9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgfVxuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKGNvbHVtbik7XG4gICAgdGhpcy5fY29sdW1uUmVmcyQucHVzaChuZXcgQ29sdW1uUmVmPFJvdz4oY29sdW1uLCB0aGlzLmNvbXB1dGVQb3NpdGlvbihwb3NpdGlvbikpKTtcbiAgICB0aGlzLmNvbHVtblZpc2liaWxpdGllcyQuYWRkKGNvbHVtbi52aXNpYmxlJCk7XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIGNvbXB1dGVQb3NpdGlvbihwb3NpdGlvbj86IENvbHVtbkxpc3RNb2RlbC5Qb3NpdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgcSA9IHRoaXMub3JkZXJlZENvbHVtblJlZnMkLnF1ZXJ5KCk7XG4gICAgcmV0dXJuIENvbHVtbkxpc3RNb2RlbC5wcm9jZXNzUG9zaXRpb24ocG9zaXRpb24sIHtcbiAgICAgIGJlZm9yZShjb2w6IENvbHVtbk1vZGVsPGFueT4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiZWZvcmVJbmRleCA9IHEuZmluZEluZGV4KHJlZiA9PiByZWYuY29sdW1uID09PSBjb2wpXG4gICAgICAgIGNvbnN0IGJlZm9yZUNvbCA9IHEudmFsdWVbYmVmb3JlSW5kZXhdO1xuICAgICAgICBjb25zdCBhZnRlckNvbCA9IGJlZm9yZUluZGV4IC0gMSA+IDAgPyBxLnZhbHVlW2JlZm9yZUluZGV4IC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnNvbGUubG9nKHthZnRlckNvbCwgYmVmb3JlQ29sfSlcbiAgICAgICAgcmV0dXJuIGdlbmVyYXRlS2V5QmV0d2VlbihcbiAgICAgICAgICBhZnRlckNvbD8ucG9zaXRpb24sXG4gICAgICAgICAgYmVmb3JlQ29sLnBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYWZ0ZXIoY29sOiBDb2x1bW5Nb2RlbDxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYWZ0ZXJJbmRleCA9IHEuZmluZEluZGV4KHJlZiA9PiByZWYuY29sdW1uID09PSBjb2wpXG4gICAgICAgIGNvbnN0IGFmdGVyQ29sID0gcS52YWx1ZVthZnRlckluZGV4XTtcbiAgICAgICAgY29uc3QgYmVmb3JlQ29sID0gYWZ0ZXJJbmRleCArIDEgPCBxLmxlbmd0aCA/IHEudmFsdWVbYWZ0ZXJJbmRleCsxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc29sZS5sb2coe2FmdGVyQ29sLCBiZWZvcmVDb2x9KVxuICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlCZXR3ZWVuKFxuICAgICAgICAgIGFmdGVyQ29sLnBvc2l0aW9uLFxuICAgICAgICAgIGJlZm9yZUNvbD8ucG9zaXRpb25cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBmaXJzdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlCZXR3ZWVuKCBudWxsLCBxLmZpcnN0KCk/LnBvc2l0aW9uKTtcbiAgICAgIH0sXG4gICAgICBsYXN0KCkge1xuICAgICAgICAvLyBhZGQgaXQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdFxuICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlCZXR3ZWVuKHEubGFzdCgpPy5wb3NpdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG5cbiAgZG9Db21wdXRlVmFsdWUoKTogQ29sdW1uTW9kZWw8Um93PltdIHtcbiAgICByZXR1cm4gdGhpcy5hbGxDb2x1bW5zJC52YWx1ZS5maWx0ZXIoYyA9PiBjLnZpc2libGUkLnZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvbHVtbkxpc3RNb2RlbCB7XG4gIHR5cGUgQmVmb3JlID0geyBiZWZvcmU6IENvbHVtbk1vZGVsPGFueT4gfCBudWxsIH07IC8vIGJlZm9yZTpudWxsID09PSBmaXJzdFxuICB0eXBlIEFmdGVyID0geyBhZnRlcjogQ29sdW1uTW9kZWw8YW55PiB8IG51bGwgfTsgLy8gYWZ0ZXI6bnVsbCA9PT0gbGFzdFxuICBleHBvcnQgdHlwZSBQb3NpdGlvbiA9IEJlZm9yZSB8IEFmdGVyO1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzUG9zaXRpb24ocG9zaXRpb246IENvbHVtbkxpc3RNb2RlbC5Qb3NpdGlvbiB8IHVuZGVmaW5lZCwgY2FsbGJhY2s6IHtcbiAgICBiZWZvcmUoY29sOiBDb2x1bW5Nb2RlbDxhbnk+IHwgbnVsbCk6IHN0cmluZyxcbiAgICBhZnRlcihjb2w6IENvbHVtbk1vZGVsPGFueT4gfCBudWxsKTogc3RyaW5nLFxuICAgIGZpcnN0KCk6IHN0cmluZ1xuICAgIGxhc3QoKTogc3RyaW5nXG4gIH0pOiBzdHJpbmcge1xuICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHBvc2l0aW9uKTtcbiAgICAgIGlmIChrZXlzLmluY2x1ZGVzKFwiYmVmb3JlXCIpKSB7XG4gICAgICAgIHJldHVybiBwb3NpdGlvbltcImJlZm9yZVwiXSA/IGNhbGxiYWNrLmJlZm9yZShwb3NpdGlvbltcImJlZm9yZVwiXSkgOiBjYWxsYmFjay5maXJzdCgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcG9zaXRpb25bXCJhZnRlclwiXSA/IGNhbGxiYWNrLmJlZm9yZShwb3NpdGlvbltcImFmdGVyXCJdKSA6IGNhbGxiYWNrLmxhc3QoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGFzdCgpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { GarbageCollector, ListModel, WatchList } from '@coolon/pectin';
|
|
2
|
-
import { ColumnModel } from './column-model';
|
|
3
|
-
export declare class ColumnListModel<Row> extends GarbageCollector {
|
|
4
|
-
private readonly _columnRefs$;
|
|
5
|
-
private readonly orderedColumnRefs$;
|
|
6
|
-
private readonly _columnsById$;
|
|
7
|
-
readonly allColumns$: ListModel<ColumnModel<Row>>;
|
|
8
|
-
readonly columnVisibilities$: WatchList<boolean>;
|
|
9
|
-
readonly visibleColumns$: ListModel<ColumnModel<Row>>;
|
|
10
|
-
constructor();
|
|
11
|
-
getColumn(id: string): ColumnModel<Row>;
|
|
12
|
-
hasColumn(id: string): boolean;
|
|
13
|
-
hasMatchingColumn(row: Row, regex: RegExp): boolean;
|
|
14
|
-
addColumn<C extends ColumnModel<Row>>(column: C, position?: ColumnListModel.Position): C;
|
|
15
|
-
computePosition(position?: ColumnListModel.Position): string;
|
|
16
|
-
doComputeValue(): ColumnModel<Row>[];
|
|
17
|
-
}
|
|
18
|
-
export declare namespace ColumnListModel {
|
|
19
|
-
type Before = {
|
|
20
|
-
before: ColumnModel<any> | null;
|
|
21
|
-
};
|
|
22
|
-
type After = {
|
|
23
|
-
after: ColumnModel<any> | null;
|
|
24
|
-
};
|
|
25
|
-
export type Position = Before | After;
|
|
26
|
-
export function processPosition(position: ColumnListModel.Position | undefined, callback: {
|
|
27
|
-
before(col: ColumnModel<any> | null): string;
|
|
28
|
-
after(col: ColumnModel<any> | null): string;
|
|
29
|
-
first(): string;
|
|
30
|
-
last(): string;
|
|
31
|
-
}): string;
|
|
32
|
-
export {};
|
|
33
|
-
}
|