import React from 'react';
import axios from '../utility/axios';
import _ from 'lodash';
import { DropDownMenuItem } from '../modals/DropDownMenu';
import { AppObjectCore } from './AppObjectCore';
import useNewQuery from '../query/useNewQuery';
import { openNewTab } from '../utility/common';
import { useSetOpenedTabs } from '../utility/globalState';
function Menu({ data }) {
const handleDelete = () => {
axios.post('files/delete', data);
};
return (
<>
Delete
>
);
}
export function SavedFileAppObjectBase({ data, commonProps, format, icon, onLoad }) {
const { file, folder } = data;
const onClick = async () => {
const resp = await axios.post('files/load', { folder, file, format });
onLoad(resp.data);
};
return ;
}
export function SavedSqlFileAppObject({ data, commonProps }) {
const { file, folder } = data;
const newQuery = useNewQuery();
return (
{
newQuery({
title: file,
// @ts-ignore
initialScript: data,
});
}}
/>
);
}
export function SavedShellFileAppObject({ data, commonProps }) {
const { file, folder } = data;
const setOpenedTabs = useSetOpenedTabs();
return (
{
openNewTab(setOpenedTabs, {
title: file,
icon: 'img shell',
tabComponent: 'ShellTab',
props: {
initialScript: data,
},
});
}}
/>
);
}
[SavedSqlFileAppObject, SavedShellFileAppObject].forEach((fn) => {
// @ts-ignore
fn.extractKey = (data) => data.file;
});