Conditions - Simplified adding new parts to conditions

Conditions - Added toggle for switching between static and dynamic conditions
Conditions - Automatically change to list condition when selecting a list and vice versa
This commit is contained in:
Robert committed 2020-10-13 20:51:53 +02:00
1 parent ef62e30c6f
commit 879d19e4ea
19 files changed
+439 -333

No files matched your search

@@ -25,6 +25,7 @@ namespace Artemis.UI.Shared.Input
private bool _isDataModelViewModelOpen;
private bool _isEnabled = true;
private string _placeholder = "Select a property";
private bool _displaySwitchButton;
internal DataModelDynamicViewModel(Module module, ISettingsService settingsService, IDataModelUIService dataModelUIService)
{
@@ -56,6 +57,12 @@ namespace Artemis.UI.Shared.Input
set => SetAndNotify(ref _isEnabled, value);
}
public bool DisplaySwitchButton
{
get => _displaySwitchButton;
set => SetAndNotify(ref _displaySwitchButton, value);
}
public Type[] FilterTypes
{
get => _filterTypes;
@@ -125,6 +132,13 @@ namespace Artemis.UI.Shared.Input
DataModelPath = dataModelPath != null ? new DataModelPath(dataModelPath) : null;
}
public void SwitchToStatic()
{
ChangeDataModelPath(null);
OnPropertySelected(new DataModelInputDynamicEventArgs(null));
OnSwitchToStaticRequested();
}
private void Initialize()
{
// Get the data models
@@ -167,12 +181,18 @@ namespace Artemis.UI.Shared.Input
#region Events
public event EventHandler<DataModelInputDynamicEventArgs> PropertySelected;
public event EventHandler SwitchToStaticRequested;
protected virtual void OnPropertySelected(DataModelInputDynamicEventArgs e)
{
PropertySelected?.Invoke(this, e);
}
protected virtual void OnSwitchToStaticRequested()
{
SwitchToStaticRequested?.Invoke(this, EventArgs.Empty);
}
#endregion
}
}