mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-04 10:39:47 -06:00
[client] First pass at resource name change
This commit is contained in:
@@ -3,4 +3,6 @@ import 'package:phylum/libphylum/phylum_api_types.dart';
|
||||
mixin ResourceBindAction on PhylumAction {
|
||||
String get parent;
|
||||
String get resourceName;
|
||||
|
||||
ResourceBindAction copyWithResourceName(String resourceName);
|
||||
}
|
||||
|
||||
@@ -102,6 +102,18 @@ class ResourceCopyAction extends PhylumAction with JsonApiAction, ResourceCreate
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ResourceBindAction copyWithResourceName(String resourceName) {
|
||||
return ResourceCopyAction._(
|
||||
srcId: srcId,
|
||||
resourceId: resourceId,
|
||||
resourceName: resourceName,
|
||||
parent: parent,
|
||||
dir: dir,
|
||||
description: description,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
bool dependsOn(PhylumAction action) => action is ResourceCreateAction && action.resourceId == parent;
|
||||
}
|
||||
|
||||
@@ -75,6 +75,15 @@ class ResourceMkdirAction extends PhylumAction with JsonApiAction, ResourceCreat
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ResourceBindAction copyWithResourceName(String resourceName) {
|
||||
return ResourceMkdirAction(
|
||||
resourceId: resourceId,
|
||||
parent: parent,
|
||||
resourceName: resourceName,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
bool dependsOn(PhylumAction action) => action is ResourceMkdirAction && action.resourceId == parent;
|
||||
}
|
||||
|
||||
@@ -115,6 +115,17 @@ class ResourceMoveAction extends PhylumAction with JsonApiAction, ResourceBindAc
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ResourceBindAction copyWithResourceName(String resourceName) {
|
||||
return ResourceMoveAction._(
|
||||
resourceId: resourceId,
|
||||
parent: parent,
|
||||
resourceName: resourceName,
|
||||
modified: modified,
|
||||
description: description,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
bool dependsOn(PhylumAction action) =>
|
||||
(action is ResourceCreateAction && action.resourceId == resourceId) ||
|
||||
|
||||
@@ -111,6 +111,18 @@ class ResourceUploadAction extends PhylumAction with FileUploadApiAction, Resour
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
ResourceBindAction copyWithResourceName(String resourceName) {
|
||||
return ResourceUploadAction._(
|
||||
resourceId: resourceId,
|
||||
parent: parent,
|
||||
resourceName: resourceName,
|
||||
path: path,
|
||||
size: size,
|
||||
contentType: contentType,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
bool dependsOn(PhylumAction action) => (action is ResourceCreateAction && action.resourceId == parent);
|
||||
}
|
||||
|
||||
@@ -59,10 +59,13 @@ class ActionView extends StatelessWidget {
|
||||
icon: const Icon(Icons.edit),
|
||||
tooltip: 'Rename',
|
||||
onPressed: () async {
|
||||
final preset = (action.action is ResourceBindAction) ? (action.action as ResourceBindAction).resourceName : null;
|
||||
final offlineAction = action.action;
|
||||
if (offlineAction is! ResourceBindAction) return;
|
||||
final preset = offlineAction.resourceName;
|
||||
final name = await showInputDialog(context,
|
||||
title: 'Edit Name', preset: preset, capitalization: TextCapitalization.words, validate: (name) => name.trim().isNotEmpty);
|
||||
if (name == null) return;
|
||||
if (name == null || !context.mounted) return;
|
||||
context.read<PhylumActionQueue>().editAction(action, offlineAction.copyWithResourceName(name));
|
||||
}),
|
||||
IconButton(icon: const Icon(Icons.refresh), tooltip: 'Retry', onPressed: () => context.read<PhylumActionQueue>().retryAction(action.id)),
|
||||
IconButton(icon: const Icon(Icons.block), tooltip: 'Delete', onPressed: () => context.read<PhylumActionQueue>().deleteAction(action.id)),
|
||||
|
||||
@@ -584,11 +584,9 @@ packages:
|
||||
offtheline:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: bf58934191bef731d7e75081351fb59a9abf8595
|
||||
resolved-ref: bf58934191bef731d7e75081351fb59a9abf8595
|
||||
url: "https://codeberg.org/shroff/offtheline.git"
|
||||
source: git
|
||||
path: "../../offtheline"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.16.0"
|
||||
open_file:
|
||||
dependency: "direct main"
|
||||
|
||||
@@ -23,7 +23,7 @@ dependencies:
|
||||
offtheline:
|
||||
git:
|
||||
url: https://codeberg.org/shroff/offtheline.git
|
||||
ref: bf58934191bef731d7e75081351fb59a9abf8595
|
||||
ref: a9da8779e0ee602d132010a945d9023f071c0ff1
|
||||
open_file:
|
||||
path:
|
||||
path_provider:
|
||||
|
||||
Reference in New Issue
Block a user