diff --git a/components.d.ts b/components.d.ts
index ff05cf4dcd..018fe2aa97 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -19,6 +19,7 @@ declare module 'vue' {
AppChart: typeof import('./src/components/ui/AppChart.vue')['default']
AppColorPicker: typeof import('./src/components/ui/AppColorPicker.vue')['default']
AppColumnPicker: typeof import('./src/components/ui/AppColumnPicker.vue')['default']
+ AppDataTableRow: typeof import('./src/components/ui/AppDataTableRow.vue')['default']
AppDialog: typeof import('./src/components/ui/AppDialog.vue')['default']
AppDraggable: typeof import('./src/components/ui/AppDraggable.vue')['default']
AppDragOverlay: typeof import('./src/components/ui/AppDragOverlay.vue')['default']
diff --git a/src/components/ui/AppColumnPicker.vue b/src/components/ui/AppColumnPicker.vue
index 635059a1ab..245fe249fb 100644
--- a/src/components/ui/AppColumnPicker.vue
+++ b/src/components/ui/AppColumnPicker.vue
@@ -11,7 +11,6 @@
{{ $t('app.general.btn.select_columns') }}
+
-
-
-
-
-
-
- {{ header.text }}
-
-
-
+
+
+
+
+
+ $drag
+
+
+
+ {{ header.text }}
+
+
+
+
+
+
+
diff --git a/src/components/widgets/filesystem/FileRowItem.vue b/src/components/widgets/filesystem/FileRowItem.vue
deleted file mode 100644
index 304070ed7e..0000000000
--- a/src/components/widgets/filesystem/FileRowItem.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
- --
- |
-
-
-
diff --git a/src/components/widgets/filesystem/FileSystem.vue b/src/components/widgets/filesystem/FileSystem.vue
index b7e70b9c37..b5686da95a 100644
--- a/src/components/widgets/filesystem/FileSystem.vue
+++ b/src/components/widgets/filesystem/FileSystem.vue
@@ -19,7 +19,7 @@
:path="visiblePath"
:disabled="disabled"
:loading="filesLoading"
- :headers="headers"
+ :headers="configurableHeaders"
@root-change="handleRootChange"
@refresh="refreshPath(currentPath)"
@add-file="handleAddFileDialog"
@@ -41,7 +41,7 @@
header.visible || header.visible === undefined)
+ // The available headers, based on the current root and system configuration.
+ get headers (): DataTableHeader[] {
+ return [
+ {
+ text: '',
+ value: 'data-table-icons',
+ sortable: false,
+ width: '24px'
+ },
+ {
+ text: this.$tc('app.general.table.header.name'),
+ value: 'name'
+ },
+ ...this.configurableHeaders
+ .filter(header => header.visible !== false)
+ ]
}
// The current path for the given root.
diff --git a/src/components/widgets/filesystem/FileSystemBrowser.vue b/src/components/widgets/filesystem/FileSystemBrowser.vue
index 75b1fa3b3d..5f86772dcc 100644
--- a/src/components/widgets/filesystem/FileSystemBrowser.vue
+++ b/src/components/widgets/filesystem/FileSystemBrowser.vue
@@ -28,13 +28,15 @@
fixed-header
@input="handleSelected"
>
-
-
+
-
+
- |
-
-
+
+
+
- |
+
-
- {{ item.name }}
-
+
+ {{ value }}
+
-
-
-
-
-
-
-
-
-
- {{ $filters.getReadableLengthString(item.object_height) }}
-
-
-
-
-
- {{ item.first_layer_height }} mm
-
-
-
-
-
- {{ item.layer_height }} mm
-
-
-
-
-
- {{ item.filament_name }}
-
-
-
-
-
- {{ item.filament_type }}
-
-
-
-
-
- {{ $filters.getReadableLengthString(item.filament_total) }}
-
-
-
-
-
- {{ $filters.getReadableWeightString(item.filament_weight_total) }}
-
-
-
-
-
- {{ $filters.getReadableLengthString(item.history.filament_used) }}
-
-
-
-
-
- {{ item.nozzle_diameter }} mm
-
-
-
-
-
- {{ item.slicer }}
-
-
-
-
-
- {{ item.slicer_version }}
-
-
-
-
-
- {{ $filters.formatCounterSeconds(item.estimated_time) }}
-
-
-
-
-
- {{ $filters.formatCounterSeconds(item.history.print_duration) }}
-
-
-
-
-
- {{ $filters.formatCounterSeconds(item.history.total_duration) }}
-
-
-
-
-
- {{ item.first_layer_bed_temp }}°C
-
-
-
-
-
- {{ item.first_layer_extr_temp }}°C
-
-
-
-
-
- {{ item.chamber_temp }}°C
-
-
-
-
-
- {{ $filters.formatDateTime(item.print_start_time * 1000) }}
-
-
+
+
+
+ --
+
+
+
+
+ {{
+ value != null
+ ? $filters.getReadableLengthString(value)
+ : '-- '
+ }}
+
+
+
+ {{
+ value != null
+ ? `${value} mm`
+ : '--'
+ }}
+
+
+
+ {{
+ value != null
+ ? `${value} mm`
+ : '--'
+ }}
+
+
+
+ {{ value ?? '--' }}
-
-
- {{ $filters.formatDateTime(item.modified * 1000) }}
-
-
-
-
-
- {{ $filters.getReadableFileSizeString(item.size) }}
-
-
-
+
+ {{ value ?? '--' }}
+
+
+
+ {{
+ value != null
+ ? $filters.getReadableLengthString(value)
+ : '--'
+ }}
+
+
+
+ {{
+ value != null
+ ? $filters.getReadableWeightString(value)
+ : '--'
+ }}
+
+
+
+ {{
+ value != null
+ ? $filters.getReadableLengthString(value)
+ :'--'
+ }}
+
+
+
+ {{
+ value != null
+ ? `${value} mm`
+ : '--'
+ }}
+
+
+
+ {{ value ?? '--' }}
+
+
+
+ {{ value ?? '--' }}
+
+
+
+ {{
+ value != null
+ ? $filters.formatCounterSeconds(value)
+ : '--'
+ }}
+
+
+
+ {{
+ value != null
+ ? $filters.formatCounterSeconds(value)
+ : '--'
+ }}
+
+
+
+ {{
+ value != null
+ ? $filters.formatCounterSeconds(value)
+ :'--'
+ }}
+
+
+
+
+ {{ value }}°C
+
+
+ --
+
+
+
+
+
+ {{ value }}°C
+
+
+ --
+
+
+
+
+
+ {{ value }}°C
+
+
+ --
+
+
+
+
+ {{
+ value != null
+ ? $filters.formatDateTime(value * 1000)
+ :'--'
+ }}
+
+
+
+ {{
+ value != null && item.name !== '..'
+ ? $filters.formatDateTime(value * 1000)
+ : '--'
+ }}
+
+
+
+ {{
+ value != null && item.name !== '..'
+ ? $filters.getReadableFileSizeString(value)
+ : '--'
+ }}
+
+
@@ -279,17 +247,15 @@