UNPKG

@prefecthq/prefect-ui-library

Version:

This library is the Vue and Typescript component library for [Prefect 2](https://github.com/PrefectHQ/prefect) and [Prefect Cloud 2](https://www.prefect.io/cloud/). _The components and utilities in this project are not meant to be used independently_.

64 lines (55 loc) 2.1 kB
import { FlowRunsFilter, TaskRunsFilter, TaskRunsHistoryFilter, WorkPoolWorkersFilter } from '@/models/Filters' import { MapFunction } from '@/services/Mapper' import { WorkspaceDashboardFilter } from '@/types/dashboard' export const mapWorkspaceDashboardFilterToTaskRunsFilter: MapFunction<WorkspaceDashboardFilter, TaskRunsFilter> = function(source) { const { startDate, endDate } = this.map('DateRangeSelectValue', source.range, 'DateRange') return { flowRuns: { tags: { anyName: source.tags, }, parentTaskRunIdNull: source.hideSubflows ? true : undefined, }, taskRuns: { startTimeAfter: startDate, startTimeBefore: endDate, }, } } export const mapWorkspaceDashboardFilterToTaskRunsHistoryFilter: MapFunction<WorkspaceDashboardFilter, TaskRunsHistoryFilter> = function(source) { const { startDate, endDate, timeSpanInSeconds } = this.map('DateRangeSelectValue', source.range, 'DateRange') return { historyStart: startDate, historyEnd: endDate, historyIntervalSeconds: timeSpanInSeconds / 20, flowRuns: { tags: { anyName: source.tags, }, parentTaskRunIdNull: source.hideSubflows ? true : undefined, }, } } export const mapWorkspaceDashboardFilterToFlowRunsFilter: MapFunction<WorkspaceDashboardFilter, FlowRunsFilter> = function(source) { const { startDate, endDate } = this.map('DateRangeSelectValue', source.range, 'DateRange') const filter: FlowRunsFilter = { flowRuns: { expectedStartTimeAfter: startDate, expectedStartTimeBefore: endDate, tags: { anyName: source.tags, }, parentTaskRunIdNull: source.hideSubflows ? true : undefined, }, } return filter } export const mapWorkspaceDashboardFilterToWorkPoolWorkersFilter: MapFunction<WorkspaceDashboardFilter, WorkPoolWorkersFilter> = function(source) { const { startDate, endDate } = this.map('DateRangeSelectValue', source.range, 'DateRange') return { workers: { lastHeartbeatTimeAfter: startDate, lastHeartbeatTimeBefore: endDate, }, } }