buildContainer method

Widget buildContainer(
  1. BuildContext context,
  2. SearchController controller
)

Implementation

Widget buildContainer(BuildContext context, SearchController controller) {
  final item = widget.value != null
      ? list.where((e) => e.equal(widget.value!)).firstOrNull
      : null;
  final textStyle =
      widget.value != null ? widget.textStyle : widget.hintStyle;
  final labelStyle = widget.labelStyle ?? widget.hintStyle;
  final text = Text(
    item != null ? item.toString() : widget.hintText ?? '...',
    style: textStyle,
  );
  return InkWell(
    onTap: onTap,
    child: Container(
      width: double.infinity,
      color: widget.fieldBackground,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          Expanded(
            child: Padding(
              padding: widget.indent ?? EdgeInsets.zero,
              child: Align(
                alignment: Alignment.centerLeft,
                child: widget.withLabel
                    ? Column(
                        mainAxisAlignment: MainAxisAlignment.start,
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Text(widget.labelText ?? '...', style: labelStyle),
                          text,
                        ],
                      )
                    : text,
              ),
            ),
          ),
          IconButton(
            icon: Icon(Icons.arrow_drop_down, color: widget.hintStyle?.color),
            onPressed: onTap,
          ),
        ],
      ),
    ),
  );
}