mirror of
https://github.com/lana-k/sqliteviz.git
synced 2025-12-10 20:18:54 +08:00
Pivot implementation and redesign (#69)
- Pivot support implementation - Rename queries into inquiries - Rename editor into workspace - Change result set format - New JSON format for inquiries - Redesign panels
This commit is contained in:
@@ -10,29 +10,26 @@ export default {
|
||||
getResult (source) {
|
||||
const result = {}
|
||||
if (source.meta.fields) {
|
||||
result.columns = source.meta.fields.map(col => col.trim())
|
||||
result.values = source.data.map(row => {
|
||||
const resultRow = []
|
||||
source.meta.fields.forEach(col => {
|
||||
source.meta.fields.forEach(col => {
|
||||
result[col.trim()] = source.data.map(row => {
|
||||
let value = row[col]
|
||||
if (value instanceof Date) {
|
||||
value = value.toISOString()
|
||||
}
|
||||
resultRow.push(value)
|
||||
return value
|
||||
})
|
||||
|
||||
return resultRow
|
||||
})
|
||||
} else {
|
||||
result.values = source.data.map(row => row.map(value =>
|
||||
value instanceof Date ? value.toISOString() : value
|
||||
))
|
||||
result.columns = []
|
||||
for (let i = 1; i <= source.data[0].length; i++) {
|
||||
result.columns.push(`col${i}`)
|
||||
for (let i = 0; i <= source.data[0].length - 1; i++) {
|
||||
result[`col${i + 1}`] = source.data.map(row => {
|
||||
let value = row[i]
|
||||
if (value instanceof Date) {
|
||||
value = value.toISOString()
|
||||
}
|
||||
return value
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
},
|
||||
|
||||
@@ -55,7 +52,8 @@ export default {
|
||||
const res = {
|
||||
data: this.getResult(results),
|
||||
delimiter: results.meta.delimiter,
|
||||
hasErrors: false
|
||||
hasErrors: false,
|
||||
rowCount: results.data.length
|
||||
}
|
||||
res.messages = results.errors.map(msg => {
|
||||
msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error'
|
||||
|
||||
@@ -55,9 +55,10 @@
|
||||
:disabled="disableDialog"
|
||||
/>
|
||||
<sql-table
|
||||
v-if="previewData && (previewData.values.length > 0 || previewData.columns.length > 0)"
|
||||
v-if="previewData
|
||||
&& (previewData.rowCount > 0 || Object.keys(previewData).length > 0)
|
||||
"
|
||||
:data-set="previewData"
|
||||
height="160"
|
||||
class="preview-table"
|
||||
:preview="true"
|
||||
/>
|
||||
@@ -255,7 +256,7 @@ export default {
|
||||
let end = new Date()
|
||||
|
||||
if (!parseResult.hasErrors) {
|
||||
const rowCount = parseResult.data.values.length
|
||||
const rowCount = parseResult.rowCount
|
||||
let period = time.getPeriod(start, end)
|
||||
parseCsvMsg.type = 'success'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user