selecaoDePeriodo method
Widget
selecaoDePeriodo({
- required FiltrosWidgetModel filtrosDados,
- required FiltroController controller,
- required BuildContext context,
- required String tipo,
Implementation
Widget selecaoDePeriodo({
required FiltrosWidgetModel filtrosDados,
required FiltroController controller,
required BuildContext context,
required String tipo,
}) {
return Builder(
builder: (context) {
if (tipo == 'datapickerfaturamento') {
controller.validarSeDataSeraDeFaturamento();
}
return Card(
child: Padding(
padding: const EdgeInsets.fromLTRB(10, 15, 10, 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
tituloCards(
titulo: filtrosDados.titulo.toUpperCase(),
context: context,
),
SizedBox(
width: 250,
child: Observer(
builder: (_) => Visibility(
visible: tipo == 'datapickerfaturamento',
child: CheckboxListTile(
value: controller.isDataFaturamento,
title: const Text('Data faturamento'),
controlAffinity: ListTileControlAffinity.leading,
onChanged: (c) {
controller.isDataFaturamento = !controller.isDataFaturamento;
controller.validarSeDataSeraDeFaturamento();
},
),
),
),
),
ButtonBar(
alignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
buttonPadding: const EdgeInsets.all(10),
children: [
TextButton.icon(
icon: const Icon(Icons.calendar_today),
label: Observer(
builder: (_) => Text(
controller.dtinicio,
style: const TextStyle(fontSize: 17),
),
),
onPressed: () async {
controller.dtinicio = await SettingsReports().selectDate(
context: context,
);
},
),
TextButton.icon(
icon: const Icon(Icons.calendar_today),
label: Observer(
builder: (_) => Text(
controller.dtfim,
style: const TextStyle(fontSize: 17),
),
),
onPressed: () async {
controller.dtfim = await SettingsReports().selectDate(
context: context,
);
},
),
PopupMenuButton(
itemBuilder: (context) {
return controller.listaDePeriodos.map(
(valor) {
return PopupMenuItem(
value: valor.replaceAll(' ', ''),
child: Text(valor),
);
},
).toList();
},
onSelected: (value) {
controller.selecaoDeDataPorPeriodo(periodo: value.toString(), isDataPadrao: true);
},
)
],
),
],
),
),
);
},
);
}