update mongo data

This commit is contained in:
Jan Prochazka
2021-04-05 15:09:03 +02:00
parent 6c2ee5ffdb
commit ccb1c26905
5 changed files with 70 additions and 9 deletions

View File

@@ -87,7 +87,7 @@
import { scriptToSql } from 'dbgate-sqltree';
import _ from 'lodash';
import ErrorInfo from '../elements/ErrorInfo.svelte';
import ConfirmSqlModal from '../modals/ConfirmSqlModal.svelte';
import ConfirmNoSqlModal from '../modals/ConfirmNoSqlModal.svelte';
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
import ImportExportModal from '../modals/ImportExportModal.svelte';
import { showModal } from '../modals/modalTools';
@@ -128,15 +128,15 @@
// $: console.log('GRIDER', grider);
// $: if (onChangeGrider) onChangeGrider(grider);
async function handleConfirmSql(sql) {
async function handleConfirmChange(changeSet) {
const resp = await axiosInstance.request({
url: 'database-connections/query-data',
url: 'database-connections/update-collection',
method: 'post',
params: {
conid,
database,
},
data: { sql },
data: { changeSet },
});
const { errorMessage } = resp.data || {};
if (errorMessage) {
@@ -148,11 +148,10 @@
}
function handleSave() {
const script = changeSetToSql(changeSetState && changeSetState.value, display.dbinfo);
const sql = scriptToSql(display.driver, script);
showModal(ConfirmSqlModal, {
sql,
onConfirm: () => handleConfirmSql(sql),
const json = changeSetState && changeSetState.value;
showModal(ConfirmNoSqlModal, {
json,
onConfirm: () => handleConfirmChange(json),
engine: display.engine,
});
}

View File

@@ -0,0 +1,42 @@
<script>
import FormStyledButton from '../elements/FormStyledButton.svelte';
import FormProvider from '../forms/FormProvider.svelte';
import FormSubmit from '../forms/FormSubmit.svelte';
import JSONTree from '../jsontree/JSONTree.svelte';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
export let json;
export let onConfirm;
</script>
<FormProvider>
<ModalBase {...$$restProps}>
<div slot="header">Save changes</div>
<div class="editor">
<JSONTree value={json} />
</div>
<div slot="footer">
<FormSubmit
value="OK"
on:click={() => {
closeCurrentModal();
onConfirm();
}}
/>
<FormStyledButton type="button" value="Close" onClick={closeCurrentModal} />
</div>
</ModalBase>
</FormProvider>
<style>
.editor {
position: relative;
height: 30vh;
width: 40vw;
overflow: scroll;
}
</style>