import 'package:fcs/helpers/theme.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'local_text.dart'; class LocalDropdown extends StatelessWidget { final Function(T) callback; final IconData iconData; final T selectedValue; final List values; const LocalDropdown( {Key key, this.callback, this.iconData, this.selectedValue, this.values}) : super(key: key); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.only(left: 5.0, right: 0), child: Row( children: [ Padding( padding: const EdgeInsets.only(left: 0, right: 10), child: Icon(iconData, color: primaryColor), ), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(right: 18.0), child: LocalText( context, "shipment.type", color: Colors.black54, fontSize: 16, ), ), DropdownButton( isDense: true, value: selectedValue, style: TextStyle(color: Colors.black, fontSize: 14), underline: Container( height: 1, color: Colors.grey, ), onChanged: (T newValue) { callback(newValue); }, isExpanded: true, items: values.map>((T value) { return DropdownMenuItem( value: value, child: Text(value==null? "":value.toString(), overflow: TextOverflow.ellipsis, style: TextStyle(color: primaryColor)), ); }).toList(), ), ], ), ), ], ), ); } }