Browse Source

handle no data scenario

gh-pages
kevmodrome 6 years ago
parent
commit
5505ad3cda
No known key found for this signature in database GPG Key ID: E8F9CD141E63BF38
  1. 28
      packages/standard-components/src/DataGrid/Component.svelte

28
packages/standard-components/src/DataGrid/Component.svelte

@ -1,8 +1,9 @@
<script> <script>
// Import valueSetters // Import valueSetters and custom renderers
import { number } from "./valueSetters" import { number } from "./valueSetters"
import { booleanRenderer } from "./customRenderer" import { booleanRenderer } from "./customRenderer"
// These maps need to be set up to handle whatever types that are used in the models.
const setters = new Map([["number", number]]) const setters = new Map([["number", number]])
const renderers = new Map([["boolean", booleanRenderer]]) const renderers = new Map([["boolean", booleanRenderer]])
@ -27,20 +28,17 @@
console.log(schema) console.log(schema)
if (!isEmpty(datasource)) { if (!isEmpty(datasource)) {
data = await fetchData(datasource) data = await fetchData(datasource)
if (data) { columnDefs = Object.keys(schema).map(key => {
// Construct column definitions return {
columnDefs = Object.keys(schema).map(key => { valueSetter: setters.get(schema[key].type),
return { headerName: key.charAt(0).toUpperCase() + key.slice(1), // Capitalise first letter
valueSetter: setters.get(schema[key].type), field: key,
headerName: key.charAt(0).toUpperCase() + key.slice(1), // Capitalise first letter hide: shouldHideField(key),
field: key, sortable: true,
hide: shouldHideField(key), editable: schema[key].type !== "boolean",
sortable: true, cellRenderer: renderers.get(schema[key].type),
editable: schema[key].type !== "boolean", }
cellRenderer: renderers.get(schema[key].type), })
}
})
}
} }
dataLoaded = true dataLoaded = true
}) })

Loading…
Cancel
Save