explorer

Last updated:

0 purchases

explorer Image
explorer Images
Add to Cart

Description:

explorer

explorer #
Universal flexibility explorer UI for navigate files, ftp, etc.
Support custom providers and any platforms
Showcase #



Context menu
Actions
New & Upload










Getting Started #
In your flutter project add the dependency:

dependencies:
explorer: any
copied to clipboard
import
/// Main import
import 'package:explorer/explorer.dart';

/// Import for [IoExplorerProvider].
/// Does work only IO (NOT WORK ON WEB)
import 'package:explorer/explorer_io.dart';
copied to clipboard
Api overview #
ExplorerController #



Parameter
Description
Required
Default




provider
An entity responsible for navigating the file structure of any type, ex. IoExplorerProvider for io
[x]
-



Explorer #



Parameter
Description
Required
Default




controller
ExplorerController initialized instance
[x]
-


builder
Builder callback for fully customize UI
[x]
-


bottomBarBuilder
Additional builder for bottom bar
[ ]
-


uploadFiles
Callback called on tap upload files action, (action show only if callback exist!)
[ ]
-


filePressed
Callback called file pressed
[ ]
-



ExplorerToolbar #
Top toolbar with breadcrumbs & actions
ExplorerActionView #
Action view with actual command (Copy / move here etc.)
ExplorerFilesGridView #
Show files as grid
Examples #
Simple example #
See full at example dir
/// Initialize controller in initState
_controller = ExplorerController(
provider: IoExplorerProvider(
entryPath: '/path/to/entry', // For IO explorer pass some entry path
),
)

Explorer(
controller: _controller,

// Customize UI by Explorer & you own widgets!
builder: (_) => [
ExplorerToolbar(),
ExplorerActionView(),
ExplorerFilesGridView(),
],
// Callback called on file at explorer pressed
filePressed: (file) {
if (file.size > 200000) {
final snackBar =
SnackBar(content: Text('Can\'t open files with size > 200kb'));

// Find the Scaffold in the widget tree and use it to show a SnackBar.
ScaffoldMessenger.of(context).showSnackBar(snackBar);
return;
}
}
)
copied to clipboard
Custom provider #
You need implement ExplorerProvider and pass result to ExplorerController as provider. You can make any provider: ftp, rest api, etc.
abstract class ExplorerProvider {
/// Explorer starts path
String get entryPath;

/// Explorer actual path
String get currentPath;

/// Navigate to specific path
Future<List<Entry>> go(String path);

/// Create new directory at [currentPath]
Future<ExplorerDirectory> newDirectory(String name);

/// Create new file at [currentPath]
Future<ExplorerFile> newFile(String name);

/// Recursive remove file or dir at [currentPath]
Future<void> remove(Entry name);

/// Copy file or dir
Future<void> copy(Entry from, Entry to);
}
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.