init static method
Implementation
static init(
Map<String, List<Map<String, Object?>?>?> reponse, {
bool reload = false,
}) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> pickers = prefs.getStringList(_picker) ?? [];
List<String> ranges = prefs.getStringList(_range) ?? [];
if (pickers.isEmpty || ranges.isEmpty) {
reload = true;
}
if (reload) {
try {
if (reponse.isEmpty) {
reponse = await SQLService.execute(
'sp_InitSetting',
params: {'@getPickerRange': true},
);
if (reponse.isEmpty) {
return;
}
}
reponse.forEach((key, value) {
String tableName = key;
if (kDebugMode) {
print('Picker-Range init: $tableName');
}
if (tableName.startsWith('DataRange_')) {
PickerRange.initDataRange(
tableName.replaceAll('DataRange_', ''),
value,
override: true,
);
} else if (tableName.startsWith('DataPicker_')) {
PickerRange.initDataPicker(
tableName.replaceAll('DataPicker_', ''),
value,
override: true,
);
}
});
savePickerToLocal();
saveRangeToLocal();
await SQLService.execute('sp_updatePicker');
return;
} catch (ex) {
if (kDebugMode) {
print('PickerRange init exception: $ex');
}
}
} else {
loadPickerFromLocal(pickers: pickers);
loadRangeFromLocal(ranges: ranges);
}
}