getSourceTargetVariables static method
Map<String, dynamic>
getSourceTargetVariables(
- WidgetModel source,
- WidgetModel target,
- List<
String> sourceAliasNames, - List<
String> targetAliasNames, - List<
Binding> ? bindings,
Implementation
static Map<String, dynamic> getSourceTargetVariables(
WidgetModel source,
WidgetModel target,
List<String> sourceAliasNames,
List<String> targetAliasNames,
List<Binding>? bindings) {
var variables = <String, dynamic>{};
// get variables
bindings?.forEach((binding) {
var key = binding.key;
var scope = source.scope;
var name = binding.source.toLowerCase();
var i = sourceAliasNames.indexOf(name);
if (i >= 0) {
key = key?.replaceFirst(sourceAliasNames[i], source.id);
scope = source.scope;
}
i = targetAliasNames.indexOf(name);
if (i >= 0) {
key = key?.replaceFirst(targetAliasNames[i], target.id);
scope = target.scope;
}
// find the observable
var observable = System.currentApp?.scopeManager.findObservable(scope, key);
// add to the list
variables[binding.toString()] = observable?.get();
});
return variables;
}