mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Display conditions - Seperate list conditions into their own type
This commit is contained in:
1 parent
c0e1e60e5e
commit
0516ccc658
22 files changed
+692
-218
No files matched your search
@@ -178,9 +178,27 @@ namespace Artemis.Core.Services
|
||||
return RegisteredConditionOperators.FirstOrDefault(o => o.PluginInfo.Guid == operatorPluginGuid && o.GetType().Name == operatorType);
|
||||
}
|
||||
|
||||
public void LogDeserializationFailure(DisplayConditionPredicate displayConditionPredicate, JsonSerializationException exception)
|
||||
public void LogPredicateDeserializationFailure(DisplayConditionPredicate displayConditionPredicate, JsonException exception)
|
||||
{
|
||||
_logger.Warning(exception, "Failed to deserialize display condition predicate {predicate}", displayConditionPredicate);
|
||||
_logger.Warning(
|
||||
exception,
|
||||
"Failed to deserialize display condition predicate {left} {operator} {right}",
|
||||
displayConditionPredicate.Entity.LeftPropertyPath,
|
||||
displayConditionPredicate.Entity.OperatorType,
|
||||
displayConditionPredicate.Entity.RightPropertyPath
|
||||
);
|
||||
}
|
||||
|
||||
public void LogListPredicateDeserializationFailure(DisplayConditionListPredicate displayConditionPredicate, JsonException exception)
|
||||
{
|
||||
_logger.Warning(
|
||||
exception,
|
||||
"Failed to deserialize display condition list predicate {list} => {left} {operator} {right}",
|
||||
displayConditionPredicate.Entity.ListPropertyPath,
|
||||
displayConditionPredicate.Entity.LeftPropertyPath,
|
||||
displayConditionPredicate.Entity.OperatorType,
|
||||
displayConditionPredicate.Entity.RightPropertyPath
|
||||
);
|
||||
}
|
||||
|
||||
private void RegisterBuiltInConditionOperators()
|
||||
|
||||
@@ -60,6 +60,7 @@ namespace Artemis.Core.Services.Interfaces
|
||||
|
||||
List<DisplayConditionOperator> GetCompatibleConditionOperators(Type type);
|
||||
DisplayConditionOperator GetConditionOperator(Guid operatorPluginGuid, string operatorType);
|
||||
void LogDeserializationFailure(DisplayConditionPredicate displayConditionPredicate, JsonSerializationException exception);
|
||||
void LogPredicateDeserializationFailure(DisplayConditionPredicate displayConditionPredicate, JsonException exception);
|
||||
void LogListPredicateDeserializationFailure(DisplayConditionListPredicate displayConditionListPredicate, JsonException exception);
|
||||
}
|
||||
}
|
||||
@@ -154,8 +154,15 @@ namespace Artemis.Core.Services
|
||||
? new DisplayConditionGroup(null, renderElement.RenderElementEntity.RootDisplayCondition)
|
||||
: new DisplayConditionGroup(null);
|
||||
|
||||
displayCondition.Initialize(_dataModelService);
|
||||
renderElement.DisplayConditionGroup = displayCondition;
|
||||
try
|
||||
{
|
||||
displayCondition.Initialize(_dataModelService);
|
||||
renderElement.DisplayConditionGroup = displayCondition;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Warning(e, $"Failed to init display conditions for {renderElement}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user