1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using InABox.Core;
- using InABox.DynamicGrid;
- using PRS.Shared.Events;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PRS.Shared.Grids.EventEditor;
- public class PropertyChangedSaveEventTriggerEditor<T> : IEventTriggerEditor<PropertyChangedSaveEventTrigger<T>>
- where T : Entity, new()
- {
- public bool Edit(PropertyChangedSaveEventTrigger<T> trigger)
- {
- var properties = DatabaseSchema.Properties(typeof(T))
- .Where(x => x.IsSerializable)
- .Select(x => x.Name)
- .ToList();
- properties.Sort();
- if(DynamicGridColumnNameSelectorGrid.SelectColumnName(typeof(T), properties, out var value))
- {
- trigger.TriggerProperty = DatabaseSchema.Property(typeof(T), value);
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- public class ScriptSaveEventTriggerEditor<T> : IEventTriggerEditor<ScriptSaveEventTrigger<T>>
- where T : Entity, new()
- {
- public bool Edit(ScriptSaveEventTrigger<T> trigger)
- {
- var window = new ScriptEditorWindow(trigger.Script ?? trigger.DefaultScript(), scriptTitle: "Edit Custom Script trigger");
- if(window.ShowDialog() == true)
- {
- trigger.Script = window.Script;
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- public class FilterSaveEventTriggerEditor<T> : IEventTriggerEditor<FilterSaveEventTrigger<T>>
- where T : Entity, new()
- {
- public bool Edit(FilterSaveEventTrigger<T> trigger)
- {
- var filter = trigger.Filter;
- if(FilterEditorWindow.Execute(ref filter))
- {
- trigger.Filter = filter;
- return true;
- }
- else
- {
- return false;
- }
- }
- }
|