add: pagination

v0.3
rrr-marble 3 years ago
parent a3033ba7b6
commit af92f65324

@ -4,8 +4,9 @@
<map-component @mapClick="$emit('mapClick', $event)" /> <map-component @mapClick="$emit('mapClick', $event)" />
</va-card> </va-card>
<va-card class="content-container"> <va-card class="content-container">
<va-data-table :items="items" :columns="columns" :hoverable="true" :clickable="true" <va-data-table :items="items" :columns="columns" :hoverable="true" :clickable="true" :per-page="perPage"
@row:click="(e) => $router.push(`/items/${e.item.id}`)" /> :current-page="currentPage" @row:click="(e) => $router.push(`/items/${e.item.id}`)" />
<va-pagination v-model="currentPage" :pages="pages" input />
</va-card> </va-card>
</div> </div>
</template> </template>
@ -27,9 +28,19 @@ export default {
}, },
}, },
data() { data() {
return {} return {
perPage: 10,
currentPage: 1,
}
}, },
methods: {}, methods: {},
computed: {
pages(){
return (this.perPage && this.perPage !== 0)
? Math.ceil(this.items.length / this.perPage)
: this.items.length
}
},
} }
</script> </script>

@ -24,6 +24,7 @@ import {
VaCardContent, VaCardContent,
VaInnerLoading, VaInnerLoading,
VaSelect, VaSelect,
VaPagination,
} from 'vuestic-ui' } from 'vuestic-ui'
import 'vuestic-ui/dist/styles/essential.css' import 'vuestic-ui/dist/styles/essential.css'
import 'vuestic-ui/dist/styles/grid.css' import 'vuestic-ui/dist/styles/grid.css'
@ -62,6 +63,7 @@ app.use(createVuesticEssential({
VaCardContent, VaCardContent,
VaInnerLoading, VaInnerLoading,
VaSelect, VaSelect,
VaPagination,
} }
})); }));

@ -39,13 +39,13 @@ export default {
"resolution", "resolution",
], ],
showColumns: [ showColumns: [
"basin",
"category",
"description", "description",
"basin",
"deposit", "deposit",
"well", "well",
"stratum", "stratum",
"org", "org",
"category",
], ],
} }
}, },
@ -121,6 +121,9 @@ export default {
filteredColumns(){ filteredColumns(){
return this.columns return this.columns
.filter(header => this.showColumns.includes(header.database)) .filter(header => this.showColumns.includes(header.database))
.sort((header1, header2) => {
return this.showColumns.indexOf(header1.database) - this.showColumns.indexOf(header2.database)
})
.map(header => { .map(header => {
return { return {
key: header.database, key: header.database,

Loading…
Cancel
Save