buildFilesField method

Widget buildFilesField({
  1. required Set<WidgetState> states,
  2. required List<TFile> files,
  3. String? placeholder,
  4. ValueChanged<TFile>? onRemove,
  5. bool isGalleryMode = false,
})

Builds the file tag implementation.

Implementation

Widget buildFilesField({
  required Set<WidgetState> states,
  required List<TFile> files,
  String? placeholder,
  ValueChanged<TFile>? onRemove,
  bool isGalleryMode = false,
}) {
  if (isGalleryMode) {
    return Wrap(
      spacing: 8.0,
      runSpacing: 8.0,
      crossAxisAlignment: WrapCrossAlignment.center,
      children: [
        if (files.isEmpty &&
            placeholder != null &&
            placeholder.isNotEmpty &&
            !(labelPosition == TLabelPosition.floating || labelPosition == TLabelPosition.inlineFloating))
          Text(placeholder, style: hintStyle.resolve(states)),
        ...files.map((file) => _buildGalleryTile(file, () => onRemove?.call(file))),
      ],
    );
  }

  return Wrap(
    spacing: 6.0,
    runSpacing: 6.0,
    crossAxisAlignment: WrapCrossAlignment.center,
    children: [
      if (files.isEmpty &&
          placeholder != null &&
          placeholder.isNotEmpty &&
          !(labelPosition == TLabelPosition.floating || labelPosition == TLabelPosition.inlineFloating))
        Text(placeholder, style: hintStyle.resolve(states)),
      ...files.map((file) => fileTagBuilder(file, () => onRemove?.call(file))),
    ],
  );
}