quasar-ui-danx 0.0.21 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/components/DragAndDrop/ListItemDraggable.vue +1 -1
- package/src/components/Utility/Buttons/ExportButton.vue +28 -0
- package/src/components/Utility/Buttons/index.ts +2 -0
- package/src/components/Utility/Dialogs/index.ts +5 -0
- package/src/components/Utility/{ImagePreview.vue → Files/FilePreview.vue} +3 -3
- package/src/components/Utility/Files/index.ts +2 -0
- package/src/components/Utility/Formats/AddressFormat.vue +29 -0
- package/src/components/Utility/Formats/GpsCoordinatesFormat.vue +28 -0
- package/src/components/Utility/Formats/IconWithTextFormat.vue +24 -0
- package/src/components/Utility/Formats/index.ts +4 -0
- package/src/components/Utility/Layouts/index.ts +2 -0
- package/src/components/Utility/Popovers/index.ts +1 -0
- package/src/components/Utility/Transitions/index.ts +3 -0
- package/src/components/Utility/index.ts +7 -13
- /package/src/components/Utility/{RefreshButton.vue → Buttons/RefreshButton.vue} +0 -0
- /package/src/components/Utility/{SvgImg.vue → Files/SvgImg.vue} +0 -0
- /package/src/components/Utility/{FlatList.vue → Formats/FlatListFormat.vue} +0 -0
- /package/src/components/Utility/{CollapsableSidebar.vue → Layouts/CollapsableSidebar.vue} +0 -0
- /package/src/components/Utility/{ContentDrawer.vue → Layouts/ContentDrawer.vue} +0 -0
- /package/src/components/Utility/{Popover → Popovers}/PopoverMenu.vue +0 -0
package/package.json
CHANGED
@@ -16,8 +16,8 @@
|
|
16
16
|
</div>
|
17
17
|
</template>
|
18
18
|
<script setup>
|
19
|
+
import SvgImg from 'src/components/Utility/Files/SvgImg';
|
19
20
|
import { DragHandleDotsIcon as DragHandleIcon } from '../../svg';
|
20
|
-
import SvgImg from '../Utility/SvgImg';
|
21
21
|
import { ListDragAndDrop } from './listDragAndDrop';
|
22
22
|
|
23
23
|
const emit = defineEmits(['position', 'update:list-items']);
|
@@ -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>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export { default as ConfirmDialog } from "./ConfirmDialog.vue";
|
2
|
+
export { default as FullScreenCarouselDialog } from "./FullscreenCarouselDialog.vue";
|
3
|
+
export { default as FullScreenDialog } from "./FullScreenDialog.vue";
|
4
|
+
export { default as InfoDialog } from "./InfoDialog.vue";
|
5
|
+
export { default as InputDialog } from "./InputDialog.vue";
|
@@ -99,10 +99,10 @@
|
|
99
99
|
|
100
100
|
<script setup>
|
101
101
|
import { DocumentTextIcon as TextFileIcon, DownloadIcon, PlayIcon } from '@heroicons/vue/outline';
|
102
|
+
import { FullScreenCarouselDialog } from 'src/components/Utility/index';
|
103
|
+
import { download } from 'src/helpers';
|
104
|
+
import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from 'src/svg';
|
102
105
|
import { computed, ref } from 'vue';
|
103
|
-
import { FullScreenCarouselDialog } from '.';
|
104
|
-
import { download } from '../../helpers';
|
105
|
-
import { ImageIcon, PdfIcon, TrashIcon as RemoveIcon } from '../../svg';
|
106
106
|
|
107
107
|
const emit = defineEmits(['remove']);
|
108
108
|
const props = defineProps({
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="address-format">
|
3
|
+
<div v-if="address.attn" class="address-attn">Attn: {{ address.attn }}</div>
|
4
|
+
<div v-else-if="address.name" class="address-name">{{ address.name }}</div>
|
5
|
+
<template v-if="address.line1">
|
6
|
+
<div class="address-line-1">
|
7
|
+
{{ address.line1 }}
|
8
|
+
</div>
|
9
|
+
<div v-if="address.line2" class="address-line-2">
|
10
|
+
{{ address.line2 }}
|
11
|
+
</div>
|
12
|
+
<div v-if="address.line3" class="address-line-3">
|
13
|
+
{{ address.line3 }}
|
14
|
+
</div>
|
15
|
+
<div class="address-city-state-zip">
|
16
|
+
<template v-if="address.city">{{ address.city }},</template>
|
17
|
+
{{ address.state }} {{ address.zip_code }}
|
18
|
+
</div>
|
19
|
+
</template>
|
20
|
+
</div>
|
21
|
+
</template>
|
22
|
+
<script setup>
|
23
|
+
defineProps({
|
24
|
+
address: {
|
25
|
+
type: Object,
|
26
|
+
required: true
|
27
|
+
}
|
28
|
+
});
|
29
|
+
</script>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="flex flex-nowrap items-center">
|
3
|
+
<LocationIcon class="mr-1 ml-[-.2em]" :class="iconClass" />
|
4
|
+
<div v-if="location?.latitude" class="whitespace-nowrap">
|
5
|
+
{{ location.latitude.toFixed(decimals) }},
|
6
|
+
{{ location.longitude.toFixed(decimals) }}
|
7
|
+
</div>
|
8
|
+
<template v-else>Unknown</template>
|
9
|
+
</div>
|
10
|
+
</template>
|
11
|
+
<script setup>
|
12
|
+
import { LocationMarkerIcon as LocationIcon } from "@heroicons/vue/solid";
|
13
|
+
|
14
|
+
defineProps({
|
15
|
+
location: {
|
16
|
+
type: Object,
|
17
|
+
default: null,
|
18
|
+
},
|
19
|
+
decimals: {
|
20
|
+
type: Number,
|
21
|
+
default: 6,
|
22
|
+
},
|
23
|
+
iconClass: {
|
24
|
+
type: String,
|
25
|
+
default: "w-7",
|
26
|
+
},
|
27
|
+
});
|
28
|
+
</script>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="flex items-center">
|
3
|
+
<component :is="icon" :class="iconClass" />
|
4
|
+
<div :class="textClass">
|
5
|
+
<slot />
|
6
|
+
</div>
|
7
|
+
</div>
|
8
|
+
</template>
|
9
|
+
<script setup>
|
10
|
+
defineProps({
|
11
|
+
icon: {
|
12
|
+
type: [String, Object],
|
13
|
+
required: true
|
14
|
+
},
|
15
|
+
iconClass: {
|
16
|
+
type: String,
|
17
|
+
default: "w-6"
|
18
|
+
},
|
19
|
+
textClass: {
|
20
|
+
type: String,
|
21
|
+
default: "ml-2"
|
22
|
+
}
|
23
|
+
});
|
24
|
+
</script>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export { default as AddressFormat } from "./AddressFormat.vue";
|
2
|
+
export { default as FlatListFormat } from "./FlatListFormat.vue";
|
3
|
+
export { default as GpsCoordinatesFormat } from "./GpsCoordinatesFormat.vue";
|
4
|
+
export { default as IconWithTextFormat } from "./IconWithTextFormat.vue";
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as PopoverMenu } from "./PopoverMenu.vue";
|
@@ -1,13 +1,7 @@
|
|
1
|
-
export
|
2
|
-
export
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
6
|
-
export
|
7
|
-
export
|
8
|
-
export { default as InfoDialog } from "./Dialogs/InfoDialog.vue";
|
9
|
-
export { default as InputDialog } from "./Dialogs/InputDialog.vue";
|
10
|
-
export { default as ListTransition } from "./Transitions/ListTransition.vue";
|
11
|
-
export { default as RefreshButton } from "./RefreshButton.vue";
|
12
|
-
export { default as SlideTransition } from "./Transitions/SlideTransition.vue";
|
13
|
-
export { default as StaggeredListTransition } from "./Transitions/StaggeredListTransition.vue";
|
1
|
+
export * from "./Buttons";
|
2
|
+
export * from "./Dialogs";
|
3
|
+
export * from "./Files";
|
4
|
+
export * from "./Formats";
|
5
|
+
export * from "./Layouts";
|
6
|
+
export * from "./Popovers";
|
7
|
+
export * from "./Transitions";
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|