/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import React, { Component } from "react"; import { EuiFlexGrid, EuiFlexItem, EuiSpacer, EuiText } from "@elastic/eui"; import { ContentPanel, ContentPanelActions } from "../../../../components/ContentPanel"; import { ModalConsumer } from "../../../../components/Modal"; import { parseTimeunit, buildIntervalScheduleText, buildCronScheduleText } from "../../utils/helpers"; interface ScheduleRolesAndNotificationsProps { rollupId: string; onChangeStep: (step: number) => void; jobEnabledByDefault: boolean; continuousJob: string; continuousDefinition: string; interval: number; intervalTimeunit: string; cronExpression: string; cronTimezone: string; pageSize: number; delayTime: number | undefined; delayTimeunit: string; } export default class ScheduleRolesAndNotifications extends Component { render() { const { onChangeStep, jobEnabledByDefault, continuousJob, continuousDefinition, interval, intervalTimeunit, cronExpression, pageSize, delayTime, delayTimeunit, } = this.props; let scheduleText = continuousDefinition === "fixed" ? buildIntervalScheduleText(continuousJob === "yes", interval, intervalTimeunit) : buildCronScheduleText(continuousJob === "yes", cronExpression); return ( {() => ( onChangeStep(3), }, }, ]} /> )} } bodyStyles={{ padding: "initial" }} title="Schedule" titleSize="m" >
Enabled by default
{jobEnabledByDefault ? "Yes" : "No"}
Schedule
{scheduleText}
Pages per execution
{pageSize}
Execution delay
{isNaN(delayTime) || delayTime == undefined || delayTime == 0 ? "-" : delayTime + " " + parseTimeunit(delayTimeunit)}
); } }