import { DataGrid, GridColDef, GridRowSelectionModel } from "@mui/x-data-grid"; import { Download, Delete, Settings } from "@mui/icons-material"; import {UseMonDownloadFile, useMonfiledownload} from "../../hooks/data/usemfdownload" import { DateField, DeleteButton, EditButton, List, MarkdownField, NumberField, ShowButton, useDataGrid, } from "@refinedev/mui"; import React, { Dispatch, SetStateAction } from "react"; import { IMonitoring, IMonitoringFile } from "./monitorings.types"; import { useApiUrl, useCustom, useList, useUpdate } from "@refinedev/core"; import Button from "@mui/material/Button/Button"; import Stack from "@mui/material/Stack/Stack"; import MFDownlaodDialig from "../../components/download/mfdownlaodDialog"; import { IMonFilter } from "./filter/monfilter"; export interface MonDatafileTableProps { //monfilters: IMonFilter[], monfilterId: string, setDF: Dispatch> }; // export const MonDatafileTable = ({monfilters, setDF}: MonDatafileTableProps) => { export const MonDatafileTable = ({monfilterId, setDF}: MonDatafileTableProps) => { const [selectedRowKeys, setSelectedRowKeys] = React.useState([]); const hasSelected = selectedRowKeys.length > 0; const dataProvider = "monitoringfiles"; const { dataGridProps } = useDataGrid({ syncWithLocation: true, dataProviderName: dataProvider, pagination: { mode: "client", pageSize: 10, }, filters: { initial: [ { field: "monId", operator: "eq", value: monfilterId, }, ], }, }); const [open, setOpen] = React.useState(false); const handleSelection = (value: GridRowSelectionModel) => { setSelectedRowKeys(value); setDF(value); } // const onClose = (value: boolean) => { // setOpen(false); // }; // const downloadSelectedItems = () => { // setOpen(true); // } // const deleteSelectedItems = () => {} // const setItems = () => { // } const columns = React.useMemo[]>( () => [ { field: "name", flex: 1, headerName: "Name", type:"string", minWidth: 250, }, { field: "timestamp", flex: 1, headerName: "Timestamp", minWidth: 30, renderCell: function render({ value }) { let d = new Date(); const unixtime = new Date(value); //return ; return ; }, }, { field: "samplerate", flex: 0.3, headerName: "Samplerate/Hz", renderCell: function render({ row }) { return ( ); }, minWidth: 120, }, { field: "sampleperiod", flex: 0.3, headerName: "Period/s", renderCell: function render({ row }) { return ( ); }, minWidth: 120, }, { field: "downtime", flex: 0.3, headerName: "Downtime/s", renderCell: function render({ row }) { return ( ); }, minWidth: 120, }, { field: "actions", headerName: "Actions", sortable: false, renderCell: function render({ row }) { return ( <> ); }, align: "center", headerAlign: "center", minWidth: 80, }, ], [] ); return ( { handleSelection(newSelectionModel); }} rowSelectionModel={selectedRowKeys} /> ); }; /* import { useState, createContext, Dispatch, SetStateAction} from 'react'; interface AppContextInterface { mode: PaletteMode; setMode: Dispatch> } function App() { const ColorModeContext = createContext({ mode: 'dark', // set a default value setMode: () => {}, }) const [mode, setMode] = useState('dark'); */