UNPKG

@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
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>; }