@versatiledatakit/data-pipelines
Version:
Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')
89 lines (88 loc) • 3.64 kB
TypeScript
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ClrDatagridSortOrder, ClrDatagridStateInterface } from '@clr/angular';
import { Comparator, Criteria } from '@versatiledatakit/shared';
import { FiltersSortManager } from '../../../../../commons';
import { DataJobDeployment } from '../../../../../model';
import { ExecutionsFilterCriteria, ExecutionsSortCriteria, GridDataJobExecution } from '../model';
import * as i0 from "@angular/core";
export interface GridCriteriaAndComparator {
filter: Criteria<GridDataJobExecution>;
sort: Comparator<GridDataJobExecution>;
}
export declare class DataJobExecutionsGridComponent implements OnChanges, OnInit, OnDestroy {
private readonly changeDetectorRef;
jobExecutions: GridDataJobExecution[];
loading: boolean;
/**
* ** Executions filters sort manager injected from parent.
*/
filtersSortManager: Readonly<FiltersSortManager<ExecutionsFilterCriteria, string, ExecutionsSortCriteria, ClrDatagridSortOrder>>;
/**
* ** If provided will try to highlight row where execution id will match.
*/
highlightedExecutionId: string;
/**
* ** Event Emitter that emits events on every user action on grid filters or sort.
*/
gridCriteriaAndComparatorChanged: EventEmitter<GridCriteriaAndComparator>;
readonly attributeDataCy = "data-pipelines-data-job-executions";
openDeploymentDetailsModal: boolean;
jobDeploymentModalData: DataJobDeployment;
paginatedJobExecutions: GridDataJobExecution[];
gridState: ClrDatagridStateInterface;
paginationPageNumber: number;
paginationPageSize: number;
paginationTotalItems: number;
isInitialCriteriasEmit: boolean;
private _appliedGridState;
private _previousAppliedGridState;
private _filterMutationObserver;
/**
* ** Reference to scheduled timeout for emitting Grid Criteria and Comparator.
* @private
*/
private _gridCriteriaAndComparatorEmitterTimeoutRef;
/**
* ** Constructor.
*/
constructor(changeDetectorRef: ChangeDetectorRef);
/**
* ** NgFor elements tracking function.
*/
trackByFn(index: number, execution: GridDataJobExecution): string;
showDeploymentDetails(jobExecution: GridDataJobExecution): void;
/**
* ** Main callback (listener) for ClrGrid state mutation, like filters, sort.
*/
gridRefresh(state: ClrDatagridStateInterface): void;
/**
* @inheritDoc
*/
ngOnChanges(changes: SimpleChanges): void;
/**
* @inheritDoc
*/
ngOnInit(): void;
/**
* @inheritDoc
*/
ngOnDestroy(): void;
/**
* ** Extract filters from grid state.
* - use bulk operation to update manager
* @private
*/
private _populateManagerFilters;
/**
* ** Extract sort criteria and direction from grid state and update the manager
* @private
*/
private _populateManagerSort;
private _paginateExecutions;
private _evaluateGridStateMutation;
private _emitGridCriteriaAndComparator;
private _createFilterCriteria;
private _createSortComparator;
static ɵfac: i0.ɵɵFactoryDeclaration<DataJobExecutionsGridComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DataJobExecutionsGridComponent, "lib-data-job-executions-grid", never, { "jobExecutions": "jobExecutions"; "loading": "loading"; "filtersSortManager": "filtersSortManager"; "highlightedExecutionId": "highlightedExecutionId"; }, { "gridCriteriaAndComparatorChanged": "gridCriteriaAndComparatorChanged"; }, never, never>;
}