/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import React, { Component } from "react"; import { EuiFlexGrid, EuiSpacer, EuiFlexItem, EuiText } from "@elastic/eui"; import { ContentPanel, ContentPanelActions } from "../../../../components/ContentPanel"; import { ModalConsumer } from "../../../../components/Modal"; interface GeneralInformationProps { id: string; description: string; sourceIndex: string; targetIndex: string; sourceIndexFilter: string; scheduledText: string; pageSize: number; enabledAt: number; updatedAt: number; onEdit: () => void; } export default class GeneralInformation extends Component { constructor(props: GeneralInformationProps) { super(props); } render() { const { id, description, sourceIndex, targetIndex, sourceIndexFilter, scheduledText, pageSize, updatedAt, onEdit } = this.props; const enableDate = new Date(updatedAt); const infoItems = [ { term: "Name", value: id }, { term: "State", value: "Enabled on " + enableDate.toLocaleString() }, // show disabled state, make a const { term: "Source index", value: sourceIndex }, { term: "Schedule", value: scheduledText }, { term: "Description", value: description || "-" }, {}, { term: "Source index filter", value: sourceIndexFilter }, { term: "Pages per execution", value: pageSize }, {}, {}, { term: "Target index", value: targetIndex }, ]; return ( {() => ( onEdit(), }, }, ]} /> )} } bodyStyles={{ padding: "initial" }} title="General information" titleSize="m" >
{infoItems.map((item, index) => (
{item.term}
{item.value}
))}
); } }