FileSaver.builder constructor

FileSaver.builder({
  1. Key? key,
  2. FileSaverStyle? style,
  3. List<String>? fileTypes,
  4. String? initialFileName,
  5. Directory? initialDirectory,
  6. Widget? headerBuilder(
    1. BuildContext context,
    2. FileSaverState state
    )?,
  7. Widget? bodyBuilder(
    1. BuildContext context,
    2. FileSaverState state
    )?,
  8. Widget? footerBuilder(
    1. BuildContext context,
    2. FileSaverState state
    )?,
})

A customable FileSaver where you can edit the widget which will be used as file explorer.

FileSaver.builder(
  initialFileName: 'New File',
  headerBuilder: (context, state) => /* Your widget */,
  bodyBuilder: (context, state) => /* Your widget */,
  footerBuilder: (context, state) => /* Your widget */,
  fileTypes: const ['txt'],
);

Implementation

FileSaver.builder({
  Key? key,
  this.style,
  this.fileTypes,
  this.initialFileName,
  this.initialDirectory,
  Widget? Function(BuildContext context, FileSaverState state)? headerBuilder,
  Widget? Function(BuildContext context, FileSaverState state)? bodyBuilder,
  Widget? Function(BuildContext context, FileSaverState state)? footerBuilder,
})  : _multiPicker = null,
      headerBuilder = Consumer<FileSaverState>(
          builder: (context, value, child) => headerBuilder == null
              ? header(context: context, state: value)
              : headerBuilder(context, value)!),
      bodyBuilder = Consumer<FileSaverState>(
          builder: (context, value, child) => bodyBuilder == null
              ? body(context: context, state: value)
              : bodyBuilder(context, value)!),
      footerBuilder = Consumer<FileSaverState>(
          builder: (context, value, child) => footerBuilder == null
              ? footer(context: context, state: value)
              : footerBuilder(context, value)!),
      super(key: key);