2010-10-19 13:42:59 +00:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Web ;
using umbraco.cms.businesslogic.datatype ;
using System.Web.UI.WebControls ;
namespace umbraco.editorControls.SettingControls.Pickers
{
public class Path : DataEditorSettingType
{
private PathPicker pp = new PathPicker ();
private string _val = string . Empty ;
public override string Value
{
get
{
return pp . Value ;
}
set
{
if (! string . IsNullOrEmpty ( value ))
_val = value ;
}
}
public override System . Web . UI . Control RenderControl ( DataEditorSetting sender )
{
pp . ID = sender . GetName (). Replace ( " " , "_" );
2011-07-26 08:25:39 -02:00
if ( string . IsNullOrEmpty ( _val ) && ! string . IsNullOrEmpty ( DefaultValue ))
pp . Value = DefaultValue ;
else
pp . Value = _val ;
2010-10-19 13:42:59 +00:00
return pp ;
}
}
public class PathPicker : WebControl
{
private TextBox tb ;
public PathPicker ()
{
EnsureChildControls ();
}
protected override void CreateChildControls ()
{
tb = new TextBox ();
tb . CssClass = "guiInputText guiInputStandardSize" ;
tb . ID = this . ID + "input" ;
this . Controls . Add ( tb );
}
protected override void Render ( System . Web . UI . HtmlTextWriter writer )
{
tb . RenderControl ( writer );
writer . WriteLine ( string . Format ( " <a onclick=\"{0}\"href=\"javascript:void(0);\">Select</a>" ,
string . Format ( "javascript:UmbClientMgr.openModalWindow('developer/packages/directoryBrowser.aspx?target={0}', 'Choose a file or a folder', true, 400, 500, 0, 0); return false;" , tb . ClientID )));
}
private string _val = string . Empty ;
public string Value
{
get
{
return tb . Text ;
}
set
{
if (! string . IsNullOrEmpty ( value ))
{
_val = value ;
tb . Text = _val ;
}
}
}
}
}