import { BooleanInput } from '@angular/cdk/coercion'; import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; import { FormBuilder } from '@angular/forms'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { VariableSummary } from '@mtna/variable-service-core-ts'; import { CanLoad, CanTableEdit } from '../core/common-behaviors'; import { RDS_DATA_DICTIONARY_COLUMNS, RdsDataDictionaryTableColumn } from './column.model'; import { _RdsDataDictionaryTableMixinBase } from './table-base.model'; import { RdsDataDictionaryToggleEvent } from './toggle-event.model'; import * as i0 from "@angular/core"; /** * Custom mat-table used to display variables in a data-dictionary view. * Ability to select variables(rows). * * When editable, the checkbox column will be removed and the ability to select rows will be disabled. * * @author Will Davis */ export declare class RdsDataDictionaryTableComponent extends _RdsDataDictionaryTableMixinBase implements CanLoad, CanTableEdit, OnInit { private _fb; static ngAcceptInputType_columns: RdsDataDictionaryTableColumn[] | null | undefined; static ngAcceptInputType_disableViewDetails: BooleanInput; static ngAcceptInputType_uneditableCols: string[] | null | undefined; static ngAcceptInputType_editable: BooleanInput; static ngAcceptInputType_loading: BooleanInput; static ngAcceptInputType_toggledAreSelected: BooleanInput; static ngAcceptInputType_variables: VariableSummary[] | null | undefined; /** * All the column options to choose from. Defaults to: * `RDS_DATA_DICTIONARY_ALL_COLUMNS.slice()` */ allColumnOptions: Array; /** * The default, visible table columns to render. Defaults to: * `RDS_DATA_DICTIONARY_ALL_COLUMNS.slice(0, 5)` */ get columns(): Array; set columns(cols: Array); private _columns; /** * Sets rows as unfocusable/unselectable, preventing 'viewDetails' emitting. */ get disableViewDetails(): boolean; set disableViewDetails(value: boolean); private _disableViewDetails; /** * IDs of columns that should remain uneditable in editable state. */ get uneditableCols(): string[]; set uneditableCols(d: string[]); private _uneditableCols; /** * Whether the toggled variables represent the selected, or unselected. * For instance, if the user selects 100+ variables, and unselects 5, * the 'toggled' variables 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(selected: boolean); private _toggledAreSelected; /** The set of (un)selected variables toggled by the user */ set toggledUris(variableUris: string[]); /** uri map of variables currently toggled */ _toggledUris: { [uri: string]: boolean; }; /** Variables to display in the table */ get variables(): Array; set variables(variables: Array); private _variables; /** Event emitted when the user toggles an individual variable selection */ toggle: EventEmitter; /** Event emitted when the user selects all visible variables */ selectAll: EventEmitter; /** Event emitted when the user deselects all visible variables */ selectNone: EventEmitter; /** Emitted to show additional variable details */ viewDetails: EventEmitter; /** Emitted to externally edit a variable. */ editVariable: EventEmitter; get areColumnsSet(): boolean; get maxAutoColWidth(): number; get minColWidth(): number; constructor(cdr: ChangeDetectorRef, _fb: FormBuilder); checkAndUpdateFormArray(): void; getLargestContentWidth(id: string): number; /** Triggers table row selection. * We make use of 'keydown' because another component's keyup event (i.e. side panel toggle button) can leak * and be picked up by this component when a row has focus restored, thereby retriggering unwanted row selection * * Note: I think we won't need this once UIC-125 is done. */ handleRowKeydown(event: KeyboardEvent, variable: VariableSummary): void; handleRowSelection(variable: VariableSummary): void; handleSelectAll(): void; masterToggle(event: MatCheckboxChange): void; ngOnInit(): void; updateResource(previousVariable: VariableSummary, updatedVariable: VariableSummary): void; protected getColumnWidth(id: RDS_DATA_DICTIONARY_COLUMNS): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }