selecaoDePeriodoNomeado method
Widget
selecaoDePeriodoNomeado({
- required FiltrosWidgetModel filtrosDados,
- required FiltroController controller,
- required BuildContext context,
- required String tipo,
Implementation
Widget selecaoDePeriodoNomeado({
required FiltrosWidgetModel filtrosDados,
required FiltroController controller,
required BuildContext context,
required String tipo,
}) {
return Builder(
builder: (context) {
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: (_) => CheckboxListTile(
value: controller.mapaDatasNomeadas[filtrosDados.tipoFiltro]["isEnable"],
title: const Text('Desabilitar data'),
controlAffinity: ListTileControlAffinity.leading,
onChanged: (c) {
controller.mapaDatasNomeadas.update(
filtrosDados.tipoFiltro, (value) {
return {
"dtinicio": value["dtinicio"],
"dtfim": value["dtfim"],
"isEnable": c
};
},);
},
),
),
),
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.mapaDatasNomeadas[filtrosDados.tipoFiltro]["dtinicio"],
style: const TextStyle(fontSize: 17),
),
),
onPressed: () async {
String data = await SettingsReports().selectDate(
context: context,
);
controller.mapaDatasNomeadas.update(
filtrosDados.tipoFiltro, (value) {
return {
"dtinicio": data,
"dtfim": value["dtfim"],
"isEnable": value["isEnable"]
};
},
);
},
),
TextButton.icon(
icon: const Icon(Icons.calendar_today),
label: Observer(
builder: (_) => Text(
controller.mapaDatasNomeadas[filtrosDados.tipoFiltro]["dtfim"],
style: const TextStyle(fontSize: 17),
),
),
onPressed: () async {
String data = await SettingsReports().selectDate(
context: context,
);
controller.mapaDatasNomeadas.update(
filtrosDados.tipoFiltro, (value) {
return {
"dtinicio": value["dtinicio"],
"dtfim": data,
"isEnable": value["isEnable"]
};
},
);
},
),
PopupMenuButton(
itemBuilder: (context) {
return controller.listaDePeriodos.map(
(valor) {
return PopupMenuItem(
value: valor.replaceAll(' ', ''),
child: Text(valor),
);
},
).toList();
},
onSelected: (value) {
Map res = controller.selecaoDeDataPorPeriodo(periodo: value.toString(), isDataPadrao: false);
controller.mapaDatasNomeadas.update(filtrosDados.tipoFiltro, (value) {
return {
"dtinicio": "${res["dtinicioFiltro"]}",
"dtfim": "${res["dtfimFiltro"]}",
"isEnable": value["isEnable"]
};
},);
},
)
],
),
],
),
),
);
},
);
}