diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte
index 15f59ef9e..f2f4b3be3 100644
--- a/packages/web/src/appobj/DatabaseAppObject.svelte
+++ b/packages/web/src/appobj/DatabaseAppObject.svelte
@@ -170,14 +170,18 @@
};
const handleExportModel = async () => {
- const resp = await apiCall('database-connections/export-model', {
+ showModal(ExportDbModelModal, {
conid: connection._id,
database: name,
});
- currentArchive.set(resp.archiveFolder);
- selectedWidget.set('archive');
- visibleWidgetSideBar.set(true);
- showSnackbarSuccess(`Saved to archive ${resp.archiveFolder}`);
+ // const resp = await apiCall('database-connections/export-model', {
+ // conid: connection._id,
+ // database: name,
+ // });
+ // currentArchive.set(resp.archiveFolder);
+ // selectedWidget.set('archive');
+ // visibleWidgetSideBar.set(true);
+ // showSnackbarSuccess(`Saved to archive ${resp.archiveFolder}`);
};
const handleCompareWithCurrentDb = () => {
@@ -198,13 +202,13 @@
);
};
- const handleOpenJsonModel = async () => {
- const db = await getDatabaseInfo({
- conid: connection._id,
- database: name,
- });
- openJsonDocument(db, name);
- };
+ // const handleOpenJsonModel = async () => {
+ // const db = await getDatabaseInfo({
+ // conid: connection._id,
+ // database: name,
+ // });
+ // openJsonDocument(db, name);
+ // };
const handleGenerateScript = async () => {
const data = await apiCall('database-connections/export-keys', {
@@ -325,11 +329,12 @@
hasPermission(`dbops/sql-generator`) && { onClick: handleSqlGenerator, text: 'SQL Generator' },
driver?.supportsDatabaseProfiler &&
hasPermission(`dbops/profiler`) && { onClick: handleDatabaseProfiler, text: 'Database profiler' },
+ // isSqlOrDoc &&
+ // isSqlOrDoc &&
+ // hasPermission(`dbops/model/view`) && { onClick: handleOpenJsonModel, text: 'Open model as JSON' },
isSqlOrDoc &&
- isSqlOrDoc &&
- hasPermission(`dbops/model/view`) && { onClick: handleOpenJsonModel, text: 'Open model as JSON' },
- isSqlOrDoc &&
- hasPermission(`dbops/model/view`) && { onClick: handleExportModel, text: 'Export DB model - experimental' },
+ isProApp() &&
+ hasPermission(`dbops/model/view`) && { onClick: handleExportModel, text: 'Export DB model' },
isSqlOrDoc &&
_.get($currentDatabase, 'connection._id') &&
hasPermission('dbops/model/compare') &&
@@ -408,6 +413,7 @@
import newTable from '../tableeditor/newTable';
import { loadSchemaList, switchCurrentDatabase } from '../utility/common';
import { isProApp } from '../utility/proTools';
+ import ExportDbModelModal from '../modals/ExportDbModelModal.svelte';
export let data;
export let passProps;
diff --git a/packages/web/src/forms/FormElectronFileSelectorRaw.svelte b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte
index e59fb65f8..2f859da4a 100644
--- a/packages/web/src/forms/FormElectronFileSelectorRaw.svelte
+++ b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte
@@ -9,6 +9,7 @@
export let name;
export let disabled = false;
export let defaultFileName = '';
+ export let dialogProperties = ['showHiddenFiles', 'openFile'];
const { values, setFieldValue } = getFormContext();
@@ -17,7 +18,7 @@
if (!electron) return;
const filePaths = await electron.showOpenDialog({
defaultPath: values[name],
- properties: ['showHiddenFiles', 'openFile'],
+ properties: dialogProperties,
filters: [{ name: 'All Files', extensions: ['*'] }],
});
const filePath = filePaths && filePaths[0];
diff --git a/packages/web/src/modals/ExportDbModelModal.svelte b/packages/web/src/modals/ExportDbModelModal.svelte
new file mode 100644
index 000000000..d79cee84b
--- /dev/null
+++ b/packages/web/src/modals/ExportDbModelModal.svelte
@@ -0,0 +1,5 @@
+
+
+