cardFiltroGeral method
Widget
cardFiltroGeral({
- required BuildContext context,
- required FiltrosWidgetModel filtrosDados,
- required void onTap()?,
- required FiltroController controller,
- required int indexFiltro,
Implementation
Widget cardFiltroGeral({required BuildContext context, required FiltrosWidgetModel filtrosDados, required void Function()? onTap, required FiltroController controller, required int indexFiltro}) {
return Card(
child: ListTile(
onTap: onTap,
trailing: const Icon(Icons.arrow_forward_ios_rounded),
title: tituloCards(titulo: filtrosDados.titulo.toUpperCase(), context: context),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
children: [
Observer(
builder: (_) => Visibility(
visible: filtrosDados.tipoWidget == "checkboxrca",
child: Expanded(
child: CheckboxListTile(
splashRadius: 15,
contentPadding: EdgeInsets.zero,
title: const Text(
"EXIBIR RCA SEM VENDAS",
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w600,
),
),
controlAffinity: ListTileControlAffinity.leading,
value: controller.isRCAsemVenda,
onChanged: (s) {
controller.isRCAsemVenda = !controller.isRCAsemVenda;
controller.validarCondicaoDebuscaRCA();
},
),
),
),
),
Observer(
builder: (_) => Visibility(
visible: filtrosDados.tipoWidget == "checkboxrca",
child: Expanded(
child: CheckboxListTile(
contentPadding: EdgeInsets.zero,
title: const Text(
"SOMENTE ATIVOS",
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w600,
),
),
controlAffinity: ListTileControlAffinity.leading,
value: controller.isRCAativo,
onChanged: (s) {
controller.isRCAativo = !controller.isRCAativo;
controller.validarCondicaoDebuscaRCA();
},
),
),
),
),
],
),
Visibility(
visible: filtrosDados.subtitulo.isNotEmpty,
child: Container(
margin: const EdgeInsets.only(top: 5, bottom: 5),
alignment: Alignment.topLeft,
child: Text(
filtrosDados.subtitulo,
style: const TextStyle(
fontSize: 11.0,
),
),
),
),
Padding(
padding: const EdgeInsets.all(10.0),
child: Stack(
alignment: Alignment.centerLeft,
children: [
Observer(
builder: (_) => Wrap(
spacing: 2.0,
direction: Axis.horizontal,
children: [
Observer(
builder: (_) => Visibility(
visible: controller.listaFiltrosParaConstruirTela[indexFiltro].filtrosWidgetModel.itensSelecionados!.isEmpty,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.grey[300],
),
margin: const EdgeInsets.fromLTRB(1, 0, 0, 2),
padding: const EdgeInsets.fromLTRB(10, 2, 12, 2),
child: const Text(
"\u{2718} Sem filtro",
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: 11,
color: Colors.blueGrey,
),
),
),
),
),
for (FiltrosModel valores in controller.listaFiltrosParaConstruirTela[indexFiltro].filtrosWidgetModel.itensSelecionados!.take(20))
Observer(builder: (context) {
return Visibility(
visible: valores.selecionado,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.grey[300],
),
margin: const EdgeInsets.fromLTRB(1, 0, 0, 2),
padding: const EdgeInsets.fromLTRB(10, 2, 12, 2),
child: Text(
"\u{2705} ${valores.codigo}",
style: const TextStyle(
fontWeight: FontWeight.w500,
fontSize: 14,
color: Colors.blueGrey,
),
),
),
);
}),
],
),
),
],
),
),
],
),
),
);
}