| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- using InABox.Core;
 
- using InABox.DynamicGrid;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace InABox.Wpf.Dashboard.Editor;
 
- internal class DynamicDashboardAdditionalTableEditItem : BaseObject
 
- {
 
-     [EditorSequence(1)]
 
-     public string Name { get; set; } = "";
 
-     [EditorSequence(2)]
 
-     [ScriptEditor]
 
-     public string Script { get; set; } = "";
 
-     public DynamicDashboardAdditionalTableEditItem()
 
-     {
 
-     }
 
-     public DynamicDashboardAdditionalTableEditItem(DynamicDashboardAdditionalTable table)
 
-     {
 
-         Name = table.Key;
 
-         Script = table.Script ?? "";
 
-     }
 
-     public DynamicDashboardAdditionalTable ToTable()
 
-     {
 
-         return new DynamicDashboardAdditionalTable
 
-         {
 
-             Key = Name,
 
-             Script = Script.IsNullOrWhiteSpace() ? null : Script
 
-         };
 
-     }
 
- }
 
- internal class DynamicDashboardAdditionalTableGrid : DynamicItemsListGrid<DynamicDashboardAdditionalTableEditItem>
 
- {
 
-     protected override void DoReconfigure(DynamicGridOptions options)
 
-     {
 
-         base.DoReconfigure(options);
 
-         options.AddRows = true;
 
-         options.EditRows = true;
 
-         options.DeleteRows = true;
 
-     }
 
-     protected override void CustomiseEditor(IDynamicEditorForm form, DynamicDashboardAdditionalTableEditItem[] items, DynamicGridColumn column, BaseEditor editor)
 
-     {
 
-         base.CustomiseEditor(form, items, column, editor);
 
-         var item = items[0];
 
-         if(column.ColumnName == nameof(DynamicDashboardAdditionalTableEditItem.Script) && editor is ScriptEditor scriptEditor)
 
-         {
 
-             scriptEditor.Type = ScriptEditorType.TemplateEditor;
 
-             scriptEditor.OnEditorClicked += () =>
 
-             {
 
-                 var script = item.Script.NotWhiteSpaceOr()
 
-                     ?? DynamicDashboardAdditionalTable.DefaultScript();
 
-                 var editor = new ScriptEditorWindow(script, SyntaxLanguage.CSharp);
 
-                 if (editor.ShowDialog() == true)
 
-                 {
 
-                     form.SetEditorValue(column.ColumnName, editor.Script);
 
-                     item.Script = editor.Script;
 
-                 }
 
-             };
 
-         }
 
-     }
 
- }
 
 
  |