import { LiveAnnouncer } from '@angular/cdk/a11y'; import { BooleanInput } from '@angular/cdk/coercion'; import { ChangeDetectorRef, EventEmitter } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { SortDirection } from '@angular/material/sort'; import { DataSet, Record as DataCoreRecord } from '@mtna/data-core-ts'; import { UpdateQueryParameters } from '@mtna/data-query-ts'; import { MtnaResizableTable, MtnaSortedColumn } from '@mtna/core-angular'; import { trackByCoreResource, Variable } from '@mtna/pojo-consumer-ts'; import { RdsCodeDisplayType } from '@rds/shared-api'; import { RdsGetRecordValuePipe } from './get-record-value.pipe'; import * as i0 from "@angular/core"; export declare const RDS_SELECT_TABLE_MIN_COL_WIDTH = 50; export declare const RDS_SELECT_TABLE_MAX_COL_WIDTH = 400; export declare const rdsEditableColumnFieldTypeIDs: readonly ["CHECK"]; export declare type RdsEditableColumnFieldType = typeof rdsEditableColumnFieldTypeIDs[number]; export declare class RdsSelectTableEditEvent { recordLayoutUri: string; update: UpdateQueryParameters; constructor(recordLayoutUri: string, update: UpdateQueryParameters); } /** * Custom mat-table used to display the results of a RDS select query * * @author Will Davis */ export declare class RdsSelectTableComponent extends MtnaResizableTable { private liveAnnouncer; private recordValuePipe; static ngAcceptInputType_ghost: BooleanInput; static ngAcceptInputType_inspectDisabled: BooleanInput; static ngAcceptInputType_selectableHeaders: BooleanInput; static ngAcceptInputType_showPrimaryKeyColumns: BooleanInput; static ngAcceptInputType_sortedColumns: MtnaSortedColumn[] | null | undefined; static ngAcceptInputType_enableSort: BooleanInput; static ngAcceptInputType_toggledAreSelected: BooleanInput; /** Display configuration for codes in the table. Defaults to ‘NAME’ */ codeDisplayType: RdsCodeDisplayType; /** The columns that have been used as a filter */ set columnsWithFilters(variables: Array); /** The result of the RDS select query to display in the table */ get dataSet(): DataSet; set dataSet(ds: DataSet); private _dataSet; /** * Whether ghost elements should be rendered to show a loading state. * A fake/empty data set should be provided so no values show in the table. */ get ghost(): boolean; set ghost(value: boolean); private _ghost; /** Indicates which column is inspected */ inspectedVariable: Variable | null | undefined; /** Whether the header can be clicked to inspect a variable. */ get inspectDisabled(): boolean; set inspectDisabled(i: boolean); private _inspectDisabled; /** Whether to show the columns that are used as primary keys, defaults to true */ get showPrimaryKeyColumns(): boolean; set showPrimaryKeyColumns(value: boolean); private _showPrimaryKeyColumns; /** The columns currently being sorted, in order of priority. */ get sortedColumns(): MtnaSortedColumn[]; set sortedColumns(c: MtnaSortedColumn[]); private _sortedColumns; /** Whether to enable sorting */ get enableSort(): boolean; set enableSort(s: boolean); private _enableSort; /** Whether the header is selectable. Defaults to false. */ get selectableHeaders(): boolean; set selectableHeaders(value: boolean); private _selectableHeaders; /** * Whether the toggled columns represent the selected, or unselected. * For instance, if the user selects 100+ columns, and unselects 5, * the 'toggled' columns will be the 5 unselected & 'toggledAreSelected' will be false; * i.e. * user selects 95 out of 100 => toggledAreSelected: false, toggled.length: 5;; * user selects 5 out of 100 => toggledAreSelected: true, toggled.length: 5; */ get toggledAreSelected(): boolean; set toggledAreSelected(value: boolean); private _toggledAreSelected; /** The columns that are toggled for including/excluding in packaging */ set toggledColumns(variables: Array); /** Emitted when record has been edited */ edit: EventEmitter; /** Emitted when a column is inspectected/clicked */ inspectVariable: EventEmitter; /** Emitted when a sort is triggered on a column. */ sort: EventEmitter; get areColumnsSet(): boolean; get maxAutoColWidth(): number; get minColWidth(): number; /** Map of variable uris applied as filters, used for decorators */ _appliedFilters: { [uri: string]: boolean; }; /** Map of primary key variable uris, used for decorators */ _keyColumns: { [uri: string]: boolean; }; /** Last locked variable */ _lastLockedVariable: string | null; /** Map of locked variable uris, used for decorators */ _lockedColumns: { [uri: string]: boolean; }; /** The non-editable variables */ _readOnlyVariables: Array; /** Map of toggled variable uris to indicate which have been included/excluded for packaging, used for decorators */ _toggledColumns: { [uri: string]: boolean; }; /** TrackBy function for the column for loop */ _trackByCr: typeof trackByCoreResource; /** Variables split up into table columns by type */ _editableColumns: Record; _headerSortButtonTooltip: string; constructor(cdr: ChangeDetectorRef, liveAnnouncer: LiveAnnouncer, recordValuePipe: RdsGetRecordValuePipe); handleCheckChange(event: MatCheckboxChange, record: DataCoreRecord, variable: Variable): void; handleInspectVariable(variable: Variable): void; handleSortColumn(direction: SortDirection, id: string, label?: string): void; getLargestContentWidth(id: string): number; protected getColumnWidth(id: string | null | undefined): number; protected getDefaultEditableColumns(): Record; /** * Initialize the displayed columns for the table. * Take into account whether priamry keys should be hidden. */ protected initializeDisplayedColumns(): void; protected initColumnWidths(dataset: DataSet): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }