App.vue 767 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <div>
  3. <flex-filter-bar :store="store" />
  4. <flex-content-loader :store="store" v-show="loading" />
  5. <flex-table :store="store" v-model="loading" v-show="!loading" />
  6. </div>
  7. </template>
  8. <script>
  9. import FlexTable from './components/Table.vue';
  10. import FlexFilterBar from './components/FilterBar.vue';
  11. import FlexContentLoader from './components/ContentLoader.vue';
  12. export default {
  13. props: ['initialStore'],
  14. components: {FlexTable, FlexFilterBar, FlexContentLoader},
  15. data: () => ({
  16. perPage: 10,
  17. loading: true
  18. }),
  19. computed: {
  20. store() {
  21. return JSON.parse(this.initialStore || '{}');
  22. }
  23. }
  24. }
  25. </script>