getDatePickerItems method
dynamic
getDatePickerItems(
- dynamic sizeList,
- dynamic sList,
- dynamic backcolor,
- dynamic selectedIndex,
- dynamic context,
- dynamic formname,
- dynamic id,
- dynamic typeOwner,
Implementation
getDatePickerItems(sizeList, sList, backcolor, selectedIndex, context,
formname, id, typeOwner) {
myLogAll('getDatePickerItems');
List<Widget> result = [];
for (int i = 0; i < sizeList.length; i++) {
List<Widget> subList = [];
List list = _dpList[sList[i]];
result.add(const Text(''));
for (int j = 0; j < list.length; j++) {
bool isSelected = false;
if (selectedIndex[i] > -1 && selectedIndex[i] == j) {
isSelected = true;
}
subList.add(isSelected
? Text((i == 1) ? _monthMap[list[j]] : list[j])
: InkWell(
child: MyLabel({
gLabel: (list[j].indexOf('~') > 0)
? ' * * * '
: (i == 1)
? _monthMap[list[j]]
: list[j],
gIsBold: 'true'
}, backcolor),
onTap: () {
if (list[j].indexOf('~') > 0) {
_dpList[sList[i]] = addToList(list, list[j]);
myNotifyListeners();
return;
}
//var data = getFormValue(formname, id);
//var data = getValueOriginal(formname, id, null, gForm);
var data = getValue(formname, id, null)[gValue];
List dateList = [];
if (data != null && data.length > 0) {
dateList = data.split('-');
}
if (dateList.isEmpty) {
dateList.add('');
}
if (dateList.length < 2) {
dateList.add('');
}
if (dateList.length < 3) {
dateList.add('');
}
dateList[i] = list[j];
if (dateList[2] == '31') {
if (dateList[1] == '02' ||
dateList[1] == '04' ||
dateList[1] == '06' ||
dateList[1] == '09' ||
dateList[1] == '11') {
dateList[2] = '';
}
} else if (dateList[2] == '30') {
if (dateList[1] == '02') {
dateList[2] = '';
}
} else if (dateList[2] == '29') {
if (dateList[1] == '02') {
if (dateList[0].length < 4) {
dateList[2] = '';
} else {
int iYear = getInt(dateList[0]);
if (iYear % 4 > 0) {
dateList[2] = '';
}
}
}
}
setValue(
formname,
id,
null,
dateList[0] + '-' + dateList[1] + '-' + dateList[2],
context);
if (dateList[2] != '') {
//close the detail
//setFormValueShow(formname, id);
setFocusNext(formname, id, null, false, context);
myNotifyListeners();
return;
}
myNotifyListeners();
},
));
}
result.add(Wrap(
spacing: 10.0, //gap between adjacent items
runSpacing: 20.0, //gap between lines
direction: Axis.horizontal,
children: subList));
}
return result;
}