Simplify code

This commit is contained in:
Ming Ming 2022-09-07 17:30:23 +08:00
parent 3acc5d1825
commit fd676e0ac4
3 changed files with 117 additions and 209 deletions

View file

@ -903,14 +903,11 @@ abstract class _ListItem implements SelectableItem, DraggableItem {
const _ListItem({ const _ListItem({
required this.index, required this.index,
this.onTap, this.onTap,
DragTargetAccept<DraggableItem>? onDropBefore, this.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, this.onDropAfter,
VoidCallback? onDragStarted, this.onDragStarted,
VoidCallback? onDragEndedAny, this.onDragEndedAny,
}) : _onDropBefore = onDropBefore, });
_onDropAfter = onDropAfter,
_onDragStarted = onDragStarted,
_onDragEndedAny = onDragEndedAny;
@override @override
get isTappable => onTap != null; get isTappable => onTap != null;
@ -921,18 +918,6 @@ abstract class _ListItem implements SelectableItem, DraggableItem {
@override @override
get isDraggable => true; get isDraggable => true;
@override
get onDropBefore => _onDropBefore;
@override
get onDropAfter => _onDropAfter;
@override
get onDragStarted => _onDragStarted;
@override
get onDragEndedAny => _onDragEndedAny;
@override @override
get staggeredTile => const StaggeredTile.count(1, 1); get staggeredTile => const StaggeredTile.count(1, 1);
@ -940,71 +925,56 @@ abstract class _ListItem implements SelectableItem, DraggableItem {
buildDragFeedbackWidget(BuildContext context) => null; buildDragFeedbackWidget(BuildContext context) => null;
@override @override
toString() { toString() => "$runtimeType {"
return "$runtimeType {"
"index: $index, " "index: $index, "
"}"; "}";
}
final int index; final int index;
final VoidCallback? onTap; final VoidCallback? onTap;
final DragTargetAccept<DraggableItem>? _onDropBefore; @override
final DragTargetAccept<DraggableItem>? _onDropAfter; final DragTargetAccept<DraggableItem>? onDropBefore;
final VoidCallback? _onDragStarted; @override
final VoidCallback? _onDragEndedAny; final DragTargetAccept<DraggableItem>? onDropAfter;
@override
final VoidCallback? onDragStarted;
@override
final VoidCallback? onDragEndedAny;
} }
abstract class _FileListItem extends _ListItem { abstract class _FileListItem extends _ListItem {
_FileListItem({ _FileListItem({
required int index, required super.index,
required this.file, required this.file,
VoidCallback? onTap, super.onTap,
DragTargetAccept<DraggableItem>? onDropBefore, super.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, super.onDropAfter,
VoidCallback? onDragStarted, super.onDragStarted,
VoidCallback? onDragEndedAny, super.onDragEndedAny,
}) : super( });
index: index,
onTap: onTap,
onDropBefore: onDropBefore,
onDropAfter: onDropAfter,
onDragStarted: onDragStarted,
onDragEndedAny: onDragEndedAny,
);
final File file; final File file;
} }
class _ImageListItem extends _FileListItem { class _ImageListItem extends _FileListItem {
_ImageListItem({ _ImageListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
DragTargetAccept<DraggableItem>? onDropBefore, super.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, super.onDropAfter,
VoidCallback? onDragStarted, super.onDragStarted,
VoidCallback? onDragEndedAny, super.onDragEndedAny,
}) : super( });
index: index,
file: file,
onTap: onTap,
onDropBefore: onDropBefore,
onDropAfter: onDropAfter,
onDragStarted: onDragStarted,
onDragEndedAny: onDragEndedAny,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListImage(
return PhotoListImage(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
isGif: file.contentType == "image/gif", isGif: file.contentType == "image/gif",
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;
@ -1012,32 +982,22 @@ class _ImageListItem extends _FileListItem {
class _VideoListItem extends _FileListItem { class _VideoListItem extends _FileListItem {
_VideoListItem({ _VideoListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
DragTargetAccept<DraggableItem>? onDropBefore, super.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, super.onDropAfter,
VoidCallback? onDragStarted, super.onDragStarted,
VoidCallback? onDragEndedAny, super.onDragEndedAny,
}) : super( });
index: index,
file: file,
onTap: onTap,
onDropBefore: onDropBefore,
onDropAfter: onDropAfter,
onDragStarted: onDragStarted,
onDragEndedAny: onDragEndedAny,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListVideo(
return PhotoListVideo(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;
@ -1045,58 +1005,41 @@ class _VideoListItem extends _FileListItem {
class _LabelListItem extends _ListItem { class _LabelListItem extends _ListItem {
_LabelListItem({ _LabelListItem({
required int index, required super.index,
required this.text, required this.text,
DragTargetAccept<DraggableItem>? onDropBefore, super.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, super.onDropAfter,
VoidCallback? onDragStarted, super.onDragStarted,
VoidCallback? onDragEndedAny, super.onDragEndedAny,
}) : super( });
index: index,
onDropBefore: onDropBefore,
onDropAfter: onDropAfter,
onDragStarted: onDragStarted,
onDragEndedAny: onDragEndedAny,
);
@override @override
get staggeredTile => const StaggeredTile.extent(99, 56); get staggeredTile => const StaggeredTile.extent(99, 56);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListLabel(
return PhotoListLabel(
text: text, text: text,
); );
}
final String text; final String text;
} }
class _EditLabelListItem extends _LabelListItem { class _EditLabelListItem extends _LabelListItem {
_EditLabelListItem({ _EditLabelListItem({
required int index, required super.index,
required String text, required super.text,
required this.onEditPressed, required this.onEditPressed,
DragTargetAccept<DraggableItem>? onDropBefore, super.onDropBefore,
DragTargetAccept<DraggableItem>? onDropAfter, super.onDropAfter,
VoidCallback? onDragStarted, super.onDragStarted,
VoidCallback? onDragEndedAny, super.onDragEndedAny,
}) : super( });
index: index,
text: text,
onDropBefore: onDropBefore,
onDropAfter: onDropAfter,
onDragStarted: onDragStarted,
onDragEndedAny: onDragEndedAny,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListLabelEdit(
return PhotoListLabelEdit(
text: text, text: text,
onEditPressed: onEditPressed, onEditPressed: onEditPressed,
); );
}
@override @override
buildDragFeedbackWidget(BuildContext context) { buildDragFeedbackWidget(BuildContext context) {
@ -1118,11 +1061,9 @@ class _DateListItem extends _ListItem {
get staggeredTile => const StaggeredTile.extent(99, 32); get staggeredTile => const StaggeredTile.extent(99, 32);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListDate(
return PhotoListDate(
date: date, date: date,
); );
}
final DateTime date; final DateTime date;
} }

View file

@ -680,11 +680,9 @@ abstract class _ListItem implements SelectableItem {
get staggeredTile => const StaggeredTile.count(1, 1); get staggeredTile => const StaggeredTile.count(1, 1);
@override @override
toString() { toString() => "$runtimeType {"
return "$runtimeType {"
"index: $index, " "index: $index, "
"}"; "}";
}
final int index; final int index;
@ -706,25 +704,19 @@ abstract class _FileListItem extends _ListItem {
class _ImageListItem extends _FileListItem { class _ImageListItem extends _FileListItem {
_ImageListItem({ _ImageListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
}) : super( });
index: index,
file: file,
onTap: onTap,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListImage(
return PhotoListImage(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
isGif: file.contentType == "image/gif", isGif: file.contentType == "image/gif",
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;
@ -732,24 +724,18 @@ class _ImageListItem extends _FileListItem {
class _VideoListItem extends _FileListItem { class _VideoListItem extends _FileListItem {
_VideoListItem({ _VideoListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
}) : super( });
index: index,
file: file,
onTap: onTap,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListVideo(
return PhotoListVideo(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;
@ -767,11 +753,9 @@ class _DateListItem extends _ListItem {
get staggeredTile => const StaggeredTile.extent(99, 32); get staggeredTile => const StaggeredTile.extent(99, 32);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListDate(
return PhotoListDate(
date: date, date: date,
); );
}
final DateTime date; final DateTime date;
} }

View file

@ -352,11 +352,9 @@ abstract class _ListItem implements SelectableItem {
get staggeredTile => const StaggeredTile.count(1, 1); get staggeredTile => const StaggeredTile.count(1, 1);
@override @override
toString() { toString() => "$runtimeType {"
return "$runtimeType {"
"index: $index, " "index: $index, "
"}"; "}";
}
final int index; final int index;
@ -365,38 +363,29 @@ abstract class _ListItem implements SelectableItem {
abstract class _FileListItem extends _ListItem { abstract class _FileListItem extends _ListItem {
_FileListItem({ _FileListItem({
required int index, required super.index,
required this.file, required this.file,
VoidCallback? onTap, super.onTap,
}) : super( });
index: index,
onTap: onTap,
);
final File file; final File file;
} }
class _ImageListItem extends _FileListItem { class _ImageListItem extends _FileListItem {
_ImageListItem({ _ImageListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
}) : super( });
index: index,
file: file,
onTap: onTap,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListImage(
return PhotoListImage(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
isGif: file.contentType == "image/gif", isGif: file.contentType == "image/gif",
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;
@ -404,24 +393,18 @@ class _ImageListItem extends _FileListItem {
class _VideoListItem extends _FileListItem { class _VideoListItem extends _FileListItem {
_VideoListItem({ _VideoListItem({
required int index, required super.index,
required File file, required super.file,
required this.account, required this.account,
required this.previewUrl, required this.previewUrl,
VoidCallback? onTap, super.onTap,
}) : super( });
index: index,
file: file,
onTap: onTap,
);
@override @override
buildWidget(BuildContext context) { buildWidget(BuildContext context) => PhotoListVideo(
return PhotoListVideo(
account: account, account: account,
previewUrl: previewUrl, previewUrl: previewUrl,
); );
}
final Account account; final Account account;
final String previewUrl; final String previewUrl;