Skip to content
This repository was archived by the owner on Mar 17, 2021. It is now read-only.

Commit c4c7887

Browse files
committed
Added loading state for table
1 parent faeddb2 commit c4c7887

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

docs/components/table.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Default
44
<div class="p-3 pb-5 border rounded-2 my-3 flex">
5-
<v-table :fields="normal.fields" :items="normal.items" />
5+
<v-table :ready="false" :fields="normal.fields" :items="normal.items" />
66
</div>
77

88
```html
@@ -291,6 +291,7 @@ export default {
291291
## Table Props
292292
Name | Type | Description | Default | Required
293293
---------- | -------- | ----------- | --------- | --------
294+
ready | Boolean | Show loading if false. Allowing to load data in async way | true | false
294295
value | Array | Returns selected values | [] | false
295296
fields | Object | Columns labels | {} | false
296297
items | Array | Data | [] | false
@@ -314,7 +315,7 @@ Name | Type | Description | Default
314315
title | String | Appearance of spinner ['default', 'primary'] | 'Table title'
315316
searchable | Boolean | Display search or not | false
316317
handleSearchInput | Function | Function from table to keep `query` up to date to filter data properly. Required when `searchable` is `true`. | None | false
317-
disabledSearch | Boolean |
318+
disabledSearch | Boolean |
318319

319320
## TableHeader Slots
320321
Name | Props | Description

src/components/Table/main.vue

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
:disabledSearch="items.length === 0"
1010
></slot>
1111

12-
<table class="table">
12+
<div class="table-spinner" v-if="!ready">
13+
<v-spinner />
14+
</div>
15+
16+
<table class="table" v-else>
1317

1418
<thead>
1519
<tr v-if="!(items.length === 0 || items.length > 0 && mutableItems.length === 0)">
@@ -90,6 +94,7 @@
9094

9195
<script>
9296
import fuzzysearch from 'fuzzysearch';
97+
import VSpinner from '../Spinner';
9398
import { toString } from '../../helpers/util';
9499
95100
const defaultSortCompare = (a, b, sortBy) => (
@@ -99,6 +104,10 @@ const defaultSortCompare = (a, b, sortBy) => (
99104
export default {
100105
name: 'VTable',
101106
props: {
107+
ready: {
108+
type: Boolean,
109+
default: true,
110+
},
102111
value: {
103112
type: Array,
104113
default: () => [],
@@ -206,5 +215,6 @@ export default {
206215
this.selected = [...this.mutableItems];
207216
},
208217
},
218+
components: { VSpinner },
209219
};
210220
</script>

0 commit comments

Comments
 (0)