ui: external drives omits fully mounted drives

This commit is contained in:
Aaron Greenspan
2021-01-13 13:30:43 -07:00
committed by Aiden McClelland
parent 4f315e9958
commit 271dd3e12d
3 changed files with 8 additions and 9 deletions

View File

@@ -15,15 +15,11 @@
<ion-refresher-content pullingIcon="lines" refreshingSpinner="lines"></ion-refresher-content>
</ion-refresher>
<ion-item-divider>
Storage
</ion-item-divider>
<ion-item-group>
<!-- <ion-list> -->
<ion-item *ngFor="let d of disks; let i = index">
<ion-icon slot="start" name="save-outline"></ion-icon>
<ion-label>{{d.logicalname}}</ion-label>
<ion-label>{{d.logicalname}} ({{ d.size }})</ion-label>
<ion-button *ngIf="!(d.$ejecting$ | async)" slot="end" fill="clear" color="medium" (click)="ejectDisk(i)">
<ion-icon color="primary" class="icon" src="/assets/icon/eject.svg"></ion-icon>
</ion-button>

View File

@@ -2,7 +2,7 @@ import { Component } from '@angular/core'
import { pauseFor } from 'src/app/util/misc.util'
import { ApiService } from 'src/app/services/api/api.service'
import { DiskInfo } from 'src/app/models/server-model'
import { markAsLoadingDuring$, markAsLoadingDuringAsync, markAsLoadingDuringP } from 'src/app/services/loader.service'
import { markAsLoadingDuringP } from 'src/app/services/loader.service'
import { BehaviorSubject } from 'rxjs'
import { AlertController } from '@ionic/angular'
@@ -36,7 +36,10 @@ export class ExternalDrivesPage {
async fetchDisks () {
return this.apiService.getExternalDisks().then(ds => {
this.disks = ds.map(d => ({ ...d, $ejecting$: new BehaviorSubject(false)})).sort( (a, b) => a.logicalname < b.logicalname ? -1 : 1 )
this.disks = ds
.filter(d => !!d.partitions.find(p => !p.isMounted))
.map(d => ({ ...d, $ejecting$: new BehaviorSubject(false)}))
.sort( (a, b) => a.logicalname < b.logicalname ? -1 : 1 )
})
}

View File

@@ -488,13 +488,13 @@ const mockApiExternalDisks: DiskInfo[] = [
},
{
logicalname: '/dev/sbd',
size: '128GBGB',
size: '128GB',
description: 'large USB stick',
partitions: [
{
logicalname: 'sdba1',
size: '32GB',
isMounted: true,
isMounted: false,
label: 'Partition 1',
},
{