|  | @@ -2,6 +2,7 @@
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
		
			
				|  |  |  using System.Linq;
 | 
	
		
			
				|  |  |  using System.Windows.Media.Imaging;
 | 
	
		
			
				|  |  | +using FastReport.Dialog;
 | 
	
		
			
				|  |  |  using InABox.Clients;
 | 
	
		
			
				|  |  |  using InABox.Core;
 | 
	
		
			
				|  |  |  using InABox.DynamicGrid;
 | 
	
	
		
			
				|  | @@ -28,26 +29,32 @@ namespace PRSDesktop
 | 
	
		
			
				|  |  |              if (editor == null)
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (column.ColumnName.Equals("To") ||
 | 
	
		
			
				|  |  | -                column.ColumnName.Equals("CC") ||
 | 
	
		
			
				|  |  | -                column.ColumnName.Equals("BCC") ||
 | 
	
		
			
				|  |  | -                column.ColumnName.Equals("Subject") ||
 | 
	
		
			
				|  |  | -                column.ColumnName.Equals("AttachmentName")
 | 
	
		
			
				|  |  | +            if (column.ColumnName.Equals("Template")
 | 
	
		
			
				|  |  | +                || column.ColumnName.Equals("To")
 | 
	
		
			
				|  |  | +                || column.ColumnName.Equals("Subject")
 | 
	
		
			
				|  |  | +                || column.ColumnName.Equals("AttachmentName")
 | 
	
		
			
				|  |  |                  )
 | 
	
		
			
				|  |  | -                (editor as ExpressionEditor).OnGetVariables += EmailTemplateManagerWindow_OnGetVariables;
 | 
	
		
			
				|  |  | -            else if (column.ColumnName.Equals("Template") && items.Count() == 1)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                var edt = editor as ScriptEditor;
 | 
	
		
			
				|  |  | -                edt.Type = ScriptEditorType.TemplateEditor;
 | 
	
		
			
				|  |  | -                Items = items;
 | 
	
		
			
				|  |  | -                edt.OnEditorClicked += Edt_OnEditorClicked;
 | 
	
		
			
				|  |  | -            }               
 | 
	
		
			
				|  |  | +                var edt = editor as TextBoxEditor;
 | 
	
		
			
				|  |  | +                edt.Buttons = new EditorButton[]
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    new EditorButton(items.FirstOrDefault(), "Edit", 60, TemplateEditorClicked, true)
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private void Edt_OnEditorClicked()
 | 
	
		
			
				|  |  | +        private void TemplateEditorClicked(object editor, object? item)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            var template = Items[0];
 | 
	
		
			
				|  |  | -            var editor = new ScriptEditorWindow(template.Template, SyntaxLanguage.HTML);
 | 
	
		
			
				|  |  | +            var template = item as DataModelTemplate;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            var edtControl = editor as TextBoxEditorControl;
 | 
	
		
			
				|  |  | +            var col = edtControl.ColumnName;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            var toEdit = CoreUtils.GetPropertyValue(template, col);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            var edt = new ScriptEditorWindow(toEdit as string, SyntaxLanguage.HTML);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              var snippets = new Dictionary<string, string[]>();
 | 
	
		
			
				|  |  |              var tables = Model.AsDictionary;
 | 
	
	
		
			
				|  | @@ -65,18 +72,13 @@ namespace PRSDesktop
 | 
	
		
			
				|  |  |                      cursnippets.Add("{{ " + variable + "." + prop.Name + " }}");
 | 
	
		
			
				|  |  |                  snippets[name] = cursnippets.ToArray();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            editor.Snippets = snippets;
 | 
	
		
			
				|  |  | -            if (editor.ShowDialog() == true)
 | 
	
		
			
				|  |  | +            edt.Snippets = snippets;
 | 
	
		
			
				|  |  | +            if (edt.ShowDialog() == true)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                template.Template = editor.Script;
 | 
	
		
			
				|  |  | +                CoreUtils.SetPropertyValue(template, col, edt.Script);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private DataModel EmailTemplateManagerWindow_OnGetVariables()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            return Model;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          public DataModel Model { get; set; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          protected override void Reload(Filters<DataModelTemplate> criteria, Columns<DataModelTemplate> columns, ref SortOrder<DataModelTemplate> sort,
 |