quasar-ui-danx 0.0.21 → 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar-ui-danx",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "author": "Dan <dan@flytedesk.com>",
5
5
  "description": "DanX Vue / Quasar component library",
6
6
  "license": "MIT",
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <QBtn class="bg-neutral-plus-6" :loading="isExporting" @click="onExport">
3
+ <ExportIcon class="w-5" />
4
+ </QBtn>
5
+ </template>
6
+ <script setup>
7
+ import { DownloadIcon as ExportIcon } from '@heroicons/vue/solid';
8
+ import { ref } from 'vue';
9
+ import { FlashMessages } from '../../../helpers';
10
+
11
+ const props = defineProps({
12
+ exporter: {
13
+ type: Function,
14
+ required: true
15
+ }
16
+ });
17
+ const isExporting = ref(false);
18
+ async function onExport() {
19
+ isExporting.value = true;
20
+ try {
21
+ await props.exporter();
22
+ } catch (error) {
23
+ console.error(error);
24
+ FlashMessages.error('Failed to export data');
25
+ }
26
+ isExporting.value = false;
27
+ }
28
+ </script>
@@ -1,6 +1,7 @@
1
1
  export { default as CollapsableSidebar } from "./CollapsableSidebar.vue";
2
2
  export { default as ConfirmDialog } from "./Dialogs/ConfirmDialog.vue";
3
3
  export { default as ContentDrawer } from "./ContentDrawer.vue";
4
+ export { default as ExportButton } from "src/components/Utility/Buttons/ExportButton.vue";
4
5
  export { default as FlatList } from "./FlatList.vue";
5
6
  export { default as FullScreenCarouselDialog } from "./Dialogs/FullscreenCarouselDialog.vue";
6
7
  export { default as FullScreenDialog } from "./Dialogs/FullScreenDialog.vue";
@@ -8,6 +9,6 @@ export { default as ImagePreview } from "./ImagePreview.vue";
8
9
  export { default as InfoDialog } from "./Dialogs/InfoDialog.vue";
9
10
  export { default as InputDialog } from "./Dialogs/InputDialog.vue";
10
11
  export { default as ListTransition } from "./Transitions/ListTransition.vue";
11
- export { default as RefreshButton } from "./RefreshButton.vue";
12
+ export { default as RefreshButton } from "src/components/Utility/Buttons/RefreshButton.vue";
12
13
  export { default as SlideTransition } from "./Transitions/SlideTransition.vue";
13
14
  export { default as StaggeredListTransition } from "./Transitions/StaggeredListTransition.vue";