|
@@ -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,
|