diff --git a/src/main/ipc-handlers/index.js b/src/main/ipc-handlers/index.js index 39f3dd5f..36cac2d1 100644 --- a/src/main/ipc-handlers/index.js +++ b/src/main/ipc-handlers/index.js @@ -1,11 +1,11 @@ import connection from './connection'; -import structure from './structure'; +import tables from './tables'; import updates from './updates'; const connections = {}; export default () => { connection(connections); - structure(connections); + tables(connections); updates(); }; diff --git a/src/main/ipc-handlers/structure.js b/src/main/ipc-handlers/tables.js similarity index 81% rename from src/main/ipc-handlers/structure.js rename to src/main/ipc-handlers/tables.js index 07157ccb..05bb4f0c 100644 --- a/src/main/ipc-handlers/structure.js +++ b/src/main/ipc-handlers/tables.js @@ -1,6 +1,6 @@ import { ipcMain } from 'electron'; import InformationSchema from '../models/InformationSchema'; -import Generic from '../models/Generic'; +import Tables from '../models/Tables'; // TODO: remap objects based on client @@ -17,7 +17,7 @@ export default (connections) => { ipcMain.handle('getTableData', async (event, { uid, schema, table }) => { try { - const result = await Generic.getTableData(connections[uid], schema, table); + const result = await Tables.getTableData(connections[uid], schema, table); return { status: 'success', response: result }; } catch (err) { @@ -27,7 +27,7 @@ export default (connections) => { ipcMain.handle('updateTableCell', async (event, params) => { try { - const result = await Generic.updateTableCell(connections[params.uid], params); + const result = await Tables.updateTableCell(connections[params.uid], params); return { status: 'success', response: result }; } catch (err) { @@ -37,7 +37,7 @@ export default (connections) => { ipcMain.handle('deleteTableRows', async (event, params) => { try { - const result = await Generic.deleteTableRows(connections[params.uid], params); + const result = await Tables.deleteTableRows(connections[params.uid], params); return { status: 'success', response: result }; } catch (err) { diff --git a/src/main/models/Generic.js b/src/main/models/Generic.js index 931dbc0c..55bf32d2 100644 --- a/src/main/models/Generic.js +++ b/src/main/models/Generic.js @@ -11,30 +11,4 @@ export default class { } return connection.raw(query); } - - static async getTableData (connection, schema, table) { - return connection - .select('*') - .schema(schema) - .from(table) - .limit(1000) - .run(); - } - - static async updateTableCell (connection, params) { // TODO: Handle different field types - return connection - .update({ [params.field]: `= "${params.content}"` }) - .schema(params.schema) - .from(params.table) - .where({ [params.primary]: `= ${params.id}` }) - .run(); - } - - static async deleteTableRows (connection, params) { - return connection - .schema(params.schema) - .delete(params.table) - .where({ [params.primary]: `IN (${params.rows.join(',')})` }) - .run(); - } } diff --git a/src/main/models/Tables.js b/src/main/models/Tables.js new file mode 100644 index 00000000..c9d12477 --- /dev/null +++ b/src/main/models/Tables.js @@ -0,0 +1,28 @@ +'use strict'; +export default class { + static async getTableData (connection, schema, table) { + return connection + .select('*') + .schema(schema) + .from(table) + .limit(1000) + .run(); + } + + static async updateTableCell (connection, params) { // TODO: Handle different field types + return connection + .update({ [params.field]: `= "${params.content}"` }) + .schema(params.schema) + .from(params.table) + .where({ [params.primary]: `= ${params.id}` }) + .run(); + } + + static async deleteTableRows (connection, params) { + return connection + .schema(params.schema) + .delete(params.table) + .where({ [params.primary]: `IN (${params.rows.join(',')})` }) + .run(); + } +} diff --git a/src/renderer/components/Workspace.vue b/src/renderer/components/Workspace.vue index 86cfb344..0203d252 100644 --- a/src/renderer/components/Workspace.vue +++ b/src/renderer/components/Workspace.vue @@ -152,9 +152,14 @@ export default { border-left: none; border-bottom-width: 2px; border-color: $bg-color-light; - padding: .1rem .4rem; + padding: 0; font-weight: 700; font-size: .7rem; + + > div { + padding: .1rem .4rem; + min-width: -webkit-fill-available; + } } .td{ diff --git a/src/renderer/components/WorkspaceQueryTab.vue b/src/renderer/components/WorkspaceQueryTab.vue index 929b02e0..66e852b6 100644 --- a/src/renderer/components/WorkspaceQueryTab.vue +++ b/src/renderer/components/WorkspaceQueryTab.vue @@ -43,7 +43,7 @@