open works now for android 10
This commit is contained in:
parent
31e2e0c9b6
commit
4b4f14382d
|
@ -42,7 +42,7 @@ export class OpenFile {
|
||||||
const fileWrited = await Filesystem.writeFile({
|
const fileWrited = await Filesystem.writeFile({
|
||||||
path: this.item.getTitle(),
|
path: this.item.getTitle(),
|
||||||
data: base64,
|
data: base64,
|
||||||
directory: Directory.Documents
|
directory: Directory.Data
|
||||||
});
|
});
|
||||||
|
|
||||||
const mimeType = this.item.item.content?.mimeType;
|
const mimeType = this.item.item.content?.mimeType;
|
||||||
|
|
|
@ -3,6 +3,7 @@ import { WSItem } from "./ws-item";
|
||||||
export enum SortName {
|
export enum SortName {
|
||||||
Name = "Name",
|
Name = "Name",
|
||||||
LastModificationTime = "Last Modified",
|
LastModificationTime = "Last Modified",
|
||||||
|
Size = "Size",
|
||||||
FolderFirst = "Folders First"
|
FolderFirst = "Folders First"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,19 +15,33 @@ export enum SortType {
|
||||||
export class Sorting {
|
export class Sorting {
|
||||||
|
|
||||||
private static sortByNameASC = (item1: WSItem, item2: WSItem) => item1.getTitle().toLowerCase() > item2.getTitle().toLowerCase() ? -1 : 1;
|
private static sortByNameASC = (item1: WSItem, item2: WSItem) => item1.getTitle().toLowerCase() > item2.getTitle().toLowerCase() ? -1 : 1;
|
||||||
private static sortByNameDESC = (item1: WSItem, item2: WSItem) => item1.getTitle().toLowerCase() > item2.getTitle().toLowerCase() ? 1 : -1;
|
private static sortByNameDESC = (item1: WSItem, item2: WSItem) => this.sortByNameASC(item1, item2) * (-1);
|
||||||
|
|
||||||
private static sortByLastModificationASC = (item1: WSItem, item2: WSItem) => item1.item.lastModificationTime > item2.item.lastModificationTime ? 1 : -1;
|
private static sortByLastModificationASC = (item1: WSItem, item2: WSItem) => item1.item.lastModificationTime > item2.item.lastModificationTime ? -1 : 1;
|
||||||
private static sortByLastModificationDESC = (item1: WSItem, item2: WSItem) => item1.item.lastModificationTime > item2.item.lastModificationTime ? -1 : 1;
|
private static sortByLastModificationDESC = (item1: WSItem, item2: WSItem) => this.sortByLastModificationASC(item1, item2) * (-1);
|
||||||
|
|
||||||
private static folderFirst(item1: WSItem, item2: WSItem) {
|
private static folderFirst(item1: WSItem, item2: WSItem) {
|
||||||
if (item1.isFolder() && !item2.isFolder()) return -1;
|
if (item1.isFolder() && !item2.isFolder()) return -1;
|
||||||
if (!item1.isFolder() && item2.isFolder()) return 1;
|
if (!item1.isFolder() && item2.isFolder()) return 1;
|
||||||
if (item1.item.title > item2.item.title) return 1;
|
if (item1.getTitle().toLocaleLowerCase() > item2.getTitle().toLocaleLowerCase()) return -1;
|
||||||
if (item1.item.title < item2.item.title) return -1;
|
if (item1.getTitle().toLocaleLowerCase() < item2.getTitle().toLocaleLowerCase()) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static sortBySizeASC(item1: WSItem, item2: WSItem) {
|
||||||
|
if (item1.isFolder() && item2.isFile()) return 1;
|
||||||
|
if (item1.isFile() && item2.isFolder()) return -1;
|
||||||
|
if (item1.isFile() && item2.isFile()) {
|
||||||
|
const sizeFile1 = item1.item.content ? item1.item.content.size : 0;
|
||||||
|
const sizeFile2 = item2.item.content ? item2.item.content.size : 0;
|
||||||
|
return sizeFile2 - sizeFile1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static sortBySizeDESC = (item1: WSItem, item2: WSItem) => this.sortBySizeASC(item1, item2) * (-1);
|
||||||
|
|
||||||
|
|
||||||
static getSortFunction(name: SortName, type: SortType): (a: WSItem, b: WSItem) => number {
|
static getSortFunction(name: SortName, type: SortType): (a: WSItem, b: WSItem) => number {
|
||||||
switch (name) {
|
switch (name) {
|
||||||
case SortName.Name:
|
case SortName.Name:
|
||||||
|
@ -39,6 +54,11 @@ export class Sorting {
|
||||||
case SortType.Asc: return this.sortByLastModificationASC;
|
case SortType.Asc: return this.sortByLastModificationASC;
|
||||||
case SortType.Desc: return this.sortByLastModificationDESC;
|
case SortType.Desc: return this.sortByLastModificationDESC;
|
||||||
}
|
}
|
||||||
|
case SortName.Size:
|
||||||
|
switch (type) {
|
||||||
|
case SortType.Asc: return this.sortBySizeASC;
|
||||||
|
case SortType.Desc: return this.sortBySizeDESC;
|
||||||
|
}
|
||||||
case SortName.FolderFirst:
|
case SortName.FolderFirst:
|
||||||
return this.folderFirst;
|
return this.folderFirst;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<ion-content class="padding">
|
<ion-content class="padding">
|
||||||
<ion-segment mode="ios" value="all">
|
<ion-segment value="all">
|
||||||
<ion-segment-button (click)="filterBy('all')" value="all">
|
<ion-segment-button (click)="filterBy('all')" value="all">
|
||||||
All
|
All
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
Folders
|
Folders
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
<ion-segment-button (click)="filterBy('shared')" value="SharedFolderItem">
|
<ion-segment-button (click)="filterBy('shared')" value="SharedFolderItem">
|
||||||
Shared Folders
|
Shared
|
||||||
</ion-segment-button>
|
</ion-segment-button>
|
||||||
<ion-segment-button (click)="filterBy('files')" value="GenericFileItem">
|
<ion-segment-button (click)="filterBy('files')" value="GenericFileItem">
|
||||||
Files
|
Files
|
||||||
|
@ -32,6 +32,7 @@
|
||||||
<ion-select [interfaceOptions]="customSortAlertOptions" (ionChange)="changeSortName($event)" interface="alert" [value]="currentSortName">
|
<ion-select [interfaceOptions]="customSortAlertOptions" (ionChange)="changeSortName($event)" interface="alert" [value]="currentSortName">
|
||||||
<ion-select-option [value]="sortName.Name"> Name </ion-select-option>
|
<ion-select-option [value]="sortName.Name"> Name </ion-select-option>
|
||||||
<ion-select-option [value]="sortName.LastModificationTime"> Last Modified </ion-select-option>
|
<ion-select-option [value]="sortName.LastModificationTime"> Last Modified </ion-select-option>
|
||||||
|
<ion-select-option [value]="sortName.Size"> Size </ion-select-option>
|
||||||
</ion-select>
|
</ion-select>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-button (click)="changeSortType()"><mat-icon>{{ currentSortType }}</mat-icon></ion-button>
|
<ion-button (click)="changeSortType()"><mat-icon>{{ currentSortType }}</mat-icon></ion-button>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<ion-content [fullscreen]="true">
|
<ion-content [fullscreen]="true">
|
||||||
<show-folder title="Trash" [root]="true" [items]="getValues()" ></show-folder>
|
<show-folder title="Trash" [root]="true" [parentItem]="getCurrentItem()" [items]="getValues()"></show-folder>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,9 @@ import { presentConnectionAlert } from '../_helper/utils';
|
||||||
|
|
||||||
export class TrashPage implements OnInit {
|
export class TrashPage implements OnInit {
|
||||||
|
|
||||||
values: WSItem[] = [];
|
values: WSItem[] | undefined;
|
||||||
|
|
||||||
|
currentItem : WSItem | undefined ;
|
||||||
|
|
||||||
constructor(private storagehub: StoragehubService, private alertCtrl: AlertController) { }
|
constructor(private storagehub: StoragehubService, private alertCtrl: AlertController) { }
|
||||||
|
|
||||||
|
@ -30,6 +32,7 @@ export class TrashPage implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
private onSuccess(res: Item) {
|
private onSuccess(res: Item) {
|
||||||
|
this.currentItem = new WSItem(res);
|
||||||
this.storagehub.getChildren(res.id, false).then((obs) => obs.subscribe({
|
this.storagehub.getChildren(res.id, false).then((obs) => obs.subscribe({
|
||||||
next: (res) => {
|
next: (res) => {
|
||||||
const tmpItems$: WSItem[] = []
|
const tmpItems$: WSItem[] = []
|
||||||
|
@ -41,7 +44,11 @@ export class TrashPage implements OnInit {
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
public getValues(): WSItem[] {
|
public getValues(): WSItem[] | undefined{
|
||||||
return this.values;
|
return this.values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getCurrentItem(){
|
||||||
|
return this.currentItem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue