date method
Widget
date(
{ - dynamic component,
- required double parentWidth,
})
Implementation
Widget date({var component, required double parentWidth}) {
DateController dateController = DateController();
return SizedBox(
width: (component["cssClass"] != null && component["cssClass"] != "")
? SwitchCase().componentWidthSC(
component["cssClass"],
{
"layout_1by8_col": parentWidth * 0.1,
"layout_1_col": parentWidth * 0.2,
"layout_2_col": parentWidth * 0.4,
"layout_3_col": parentWidth * 0.68,
"layout_4_col": parentWidth,
},
parentWidth * 0.2)
: parentWidth * 0.2,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AltComponent().altComponentLabel(
component: component,
label: (component["displayLabel"] != null &&
component["displayLabel"] != "")
? component["displayLabel"]
: (component["security"] != null &&
component["security"]["fieldLabel"] != null &&
component["security"]["fieldLabel"] != "")
? component["security"]["fieldLabel"]
: component["name"]),
Container(
height: 30,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(componentBorderRadius),
border: Border.all(color: Palette.componentBorderColor)),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Obx(
() => Text(
DateFormat("dd-MM-yyyy")
.format(dateController.selectedDate.value)
.toString(),
style: componentTxtStyle,
),
),
GestureDetector(
onTap: () {
(component["security"] == null)
? dateController.chooseDate()
: (component["security"] != null &&
component["security"]["editable"] != null &&
component["security"]["editable"] == true)
? dateController.chooseDate()
: null;
},
child: const Icon(Icons.calendar_today, size: 12)),
],
),
),
),
AltComponent().altComponentInstruction(component: component)
],
),
);
}