using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; using System.Collections; namespace umbraco.editorControls.simpleEditor { /// /// Summary description for simpleEditor. /// public class SimpleEditor : System.Web.UI.WebControls.TextBox, interfaces.IDataEditor { private interfaces.IData _data; public SimpleEditor(interfaces.IData Data) { _data = Data; } public virtual bool TreatAsRichTextEditor { get {return false;} } public bool ShowLabel { get {return true;} } public Control Editor {get{return this;}} public void Save() { _data.Value = this.Text; } protected override void OnInit(EventArgs e) { base.OnInit (e); base.TextMode = System.Web.UI.WebControls.TextBoxMode.MultiLine; base.Rows = 8; if (this.CssClass == "") this.CssClass = "umbEditorTextField"; if (_data != null && _data.Value != null) Text = _data.Value.ToString(); } protected override void OnLoad(EventArgs e) { base.OnLoad (e); string script = "function insertLink(element) {"+ "var theLink = prompt('Enter URL for link here:','http://');" + "insertTag(element, 'a', ' href=\"' + theLink + '\"')}"; script += @" function insertTag(element, tag, param) { start = '<' + tag + param + '>'; eind = ''; /* element = document.getElementById(element); */ if (document.selection) { element.focus(); sel = document.selection.createRange(); sel.text = start + sel.text + eind; } else if (element.selectionStart || element.selectionStart == '0') { element.focus(); var startPos = element.selectionStart; var endPos = element.selectionEnd; element.value = element.value.substring(0, startPos) + start + element.value.substring(startPos, endPos) + eind + element.value.substring(endPos, element.value.length); } else { element.value += start + eind; } } "; Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "simpleEditorJs", script, true); } protected override void Render(HtmlTextWriter output) { output.WriteLine("
"); output.WriteLine( "

" + "" + "" + "" + "" + "" + " " + "" + "" + "

"); base.Render(output); output.WriteLine("
"); } } }