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)
          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)
        Text(placeholder, style: hintStyle.resolve(states)),
      ...files.map((file) => fileTagBuilder(file, () => onRemove?.call(file))),
    ],
  );
}