|
10 | 10 | " |
11 | 11 | > |
12 | 12 | <template #default> |
13 | | - <DataTable.ActionsButtons |
| 13 | + <DataTableActionsButtons |
14 | 14 | v-if="!selectedBucket" |
15 | 15 | size="small" |
16 | 16 | label="Bucket" |
|
190 | 190 | </DataTable.Header> |
191 | 191 | </div> |
192 | 192 | </template> |
| 193 | + |
193 | 194 | <DataTable.Column headerStyle="width: 3rem"> |
194 | 195 | <template #header> |
195 | 196 | <Checkbox |
|
446 | 447 | import ProgressCard from './components/ProgressCard.vue' |
447 | 448 | import MoveObjectDialog from './Dialog/MoveObjectDialog.vue' |
448 | 449 | import DataTable from '@aziontech/webkit/list-data-table' |
| 450 | + import { DataTableActionsButtons } from '@/components/list-table' |
449 | 451 | const DataTableColumnSelector = DataTable.ColumnSelector |
450 | 452 | import { ref, computed, onMounted, onUnmounted, watch, inject } from 'vue' |
451 | 453 | import { useRouter, useRoute } from 'vue-router' |
|
553 | 555 | const renameValue = ref('') |
554 | 556 | const isRenaming = ref(false) |
555 | 557 |
|
556 | | - // --- Inlined folder-list state --- |
557 | 558 | const minimumOfItemsPerPage = ref(tableDefinitions.getNumberOfLinesPerPage) |
558 | 559 | const isFileListLoading = ref(false) |
559 | 560 | const fileData = ref([]) |
|
646 | 647 | return specialCharRegex.test(newFolderName.value) |
647 | 648 | }) |
648 | 649 |
|
649 | | - // --- Checkbox selection --- |
650 | 650 | const toggleRowSelection = (rowData) => { |
651 | 651 | if (rowData.isSkeletonRow || rowData.isFolder || rowData.isParentNav || rowData.isNewFolder) |
652 | 652 | return |
|
687 | 687 | return '' |
688 | 688 | } |
689 | 689 |
|
690 | | - // --- Row icon --- |
691 | 690 | const getRowIcon = (rowData) => { |
692 | 691 | if (!rowData || !rowData.name) return 'mdi mdi-file text-gray-500' |
693 | 692 | return getFileIcon(rowData) |
694 | 693 | } |
695 | 694 |
|
696 | | - // --- Actions --- |
697 | 695 | const showActions = (rowData) => { |
698 | 696 | return ( |
699 | 697 | !rowData.isFolder && |
|
762 | 760 | } |
763 | 761 | } |
764 | 762 |
|
765 | | - // --- Item click --- |
766 | 763 | const editItemSelected = (item) => { |
767 | 764 | if (item.isSkeletonRow || item.isNewFolder) return |
768 | 765 |
|
|
774 | 771 | } |
775 | 772 | } |
776 | 773 |
|
777 | | - // --- Breadcrumb --- |
778 | 774 | const breadcrumbItems = computed(() => { |
779 | 775 | if (!selectedBucket.value) return [] |
780 | 776 |
|
|
902 | 898 | showEllipsisPopup.value = true |
903 | 899 | } |
904 | 900 |
|
905 | | - // --- Data loading --- |
906 | 901 | const loadFileData = async () => { |
907 | 902 | try { |
908 | 903 | isFileListLoading.value = true |
|
925 | 920 | loadFileData() |
926 | 921 | } |
927 | 922 |
|
928 | | - // --- Original business logic --- |
929 | 923 | const needFetchToAPI = computed(() => { |
930 | 924 | return selectedBucket.value && (!selectedBucket.value.files || filesTableNeedRefresh.value) |
931 | 925 | }) |
|
1223 | 1217 | breadcrumbs.update(route.meta.breadCrumbs ?? [], route) |
1224 | 1218 | } |
1225 | 1219 |
|
1226 | | - // --- Watchers --- |
1227 | 1220 | watch( |
1228 | 1221 | () => route.fullPath, |
1229 | 1222 | () => { |
|
1245 | 1238 | } |
1246 | 1239 | ) |
1247 | 1240 |
|
1248 | | - watch(fileData, () => { |
1249 | | - // emit on-load-data equivalent |
1250 | | - }) |
1251 | | -
|
1252 | | - // --- Document drag events --- |
1253 | 1241 | const handleDocumentDragOver = (event) => { |
1254 | 1242 | event.preventDefault() |
1255 | 1243 | handleDrag(true) |
|
0 commit comments