new widget types
This commit is contained in:
@@ -521,6 +521,16 @@ class PbSyncService {
|
||||
'display': r.getBoolValue('display', true),
|
||||
'sortOrder': r.getIntValue('sort_order', 0),
|
||||
'halfWidth': r.getBoolValue('half_width'),
|
||||
'type': r.getStringValue('widget_type'),
|
||||
'iconId': r.getStringValue('icon_id'),
|
||||
'chartStyle': r.getStringValue('chart_style'),
|
||||
'budgetCapMode': r.getStringValue('budget_cap_mode'),
|
||||
'budgetFixedAmount': switch (r.get<dynamic>('budget_fixed_amount')) {
|
||||
num n => n.toDouble(),
|
||||
String s => double.tryParse(s) ?? 0,
|
||||
_ => 0.0,
|
||||
},
|
||||
'budgetAverageMonths': r.getIntValue('budget_average_months', 3),
|
||||
'labelIds': _jsonStringList(r.get<dynamic>('label_ids')),
|
||||
'flow': r.getStringValue('flow'),
|
||||
'amountRange': rangeRaw is Map
|
||||
@@ -1199,6 +1209,12 @@ class PbSyncService {
|
||||
'display': w.display,
|
||||
'sort_order': w.sortOrder,
|
||||
'half_width': w.halfWidth,
|
||||
'widget_type': w.type.name,
|
||||
'icon_id': w.iconId,
|
||||
'chart_style': w.chartStyle.name,
|
||||
'budget_cap_mode': w.budgetCapMode.name,
|
||||
'budget_fixed_amount': w.budgetFixedAmount,
|
||||
'budget_average_months': w.budgetAverageMonths,
|
||||
'label_ids': w.labelIds,
|
||||
'flow': w.flow.name,
|
||||
'amount_range': {
|
||||
@@ -1296,10 +1312,22 @@ class PbSyncService {
|
||||
? Map<String, dynamic>.from(rangeRaw)
|
||||
: const <String, dynamic>{};
|
||||
double? asDouble(dynamic value) => value is num ? value.toDouble() : null;
|
||||
final remoteFixed = switch (remote.get<dynamic>('budget_fixed_amount')) {
|
||||
num n => n.toDouble(),
|
||||
String s => double.tryParse(s) ?? 0,
|
||||
_ => 0.0,
|
||||
};
|
||||
return remote.getStringValue('name') == w.name &&
|
||||
remote.getBoolValue('display', true) == w.display &&
|
||||
remote.getIntValue('sort_order', 0) == w.sortOrder &&
|
||||
remote.getBoolValue('half_width') == w.halfWidth &&
|
||||
remote.getStringValue('widget_type') == w.type.name &&
|
||||
remote.getStringValue('icon_id') == w.iconId &&
|
||||
remote.getStringValue('chart_style') == w.chartStyle.name &&
|
||||
remote.getStringValue('budget_cap_mode') == w.budgetCapMode.name &&
|
||||
(remoteFixed * 100).round() == (w.budgetFixedAmount * 100).round() &&
|
||||
remote.getIntValue('budget_average_months', 3) ==
|
||||
w.budgetAverageMonths &&
|
||||
_sameIdList(remoteIds, w.labelIds) &&
|
||||
remote.getStringValue('flow') == w.flow.name &&
|
||||
asDouble(rangeMap['exact']) == w.amountRange.exact &&
|
||||
|
||||
Reference in New Issue
Block a user