diff --git a/components/editorControls/KeyValuePrevalueEditor.cs b/components/editorControls/KeyValuePrevalueEditor.cs index 3bb9b94e94..3ff51f2a52 100644 --- a/components/editorControls/KeyValuePrevalueEditor.cs +++ b/components/editorControls/KeyValuePrevalueEditor.cs @@ -6,9 +6,11 @@ using System.Web.UI.WebControls; using umbraco.BusinessLogic; using umbraco.DataLayer; using System.Collections.Generic; +using System.Web.UI.HtmlControls; [assembly: System.Web.UI.WebResource("umbraco.editorControls.KeyValuePrevalueEditor.js", "text/js")] +[assembly: System.Web.UI.WebResource("umbraco.editorControls.KeyValuePrevalueEditor.css", "text/css")] namespace umbraco.editorControls { /// @@ -87,6 +89,14 @@ namespace umbraco.editorControls "umbraco.editorControls.KeyValuePrevalueEditor.js", page.ClientScript.GetWebResourceUrl(typeof(KeyValuePrevalueEditor), "umbraco.editorControls.KeyValuePrevalueEditor.js")); + + HtmlHead head = (HtmlHead)page.Header; + HtmlLink link = new HtmlLink(); + link.Attributes.Add("href", page.ClientScript.GetWebResourceUrl(typeof(KeyValuePrevalueEditor), "umbraco.editorControls.KeyValuePrevalueEditor.css")); + link.Attributes.Add("type", "text/css"); + link.Attributes.Add("rel", "stylesheet"); + head.Controls.Add(link); + } protected override void OnLoad(EventArgs e) @@ -146,10 +156,22 @@ namespace umbraco.editorControls // If the add new prevalue textbox is filled out - add the value to the collection. if (_textbox.Text != "") { + + int so = -1; + + try + { + so = SqlHelper.ExecuteScalar("select max(sortorder) from cmsDataTypePreValues where datatypenodeid = @dtdefid", + SqlHelper.CreateParameter("@dtdefid", _datatype.DataTypeDefinitionId)); + so++; + } + catch { } + IParameter[] SqlParams = new IParameter[] { SqlHelper.CreateParameter("@value",_textbox.Text), - SqlHelper.CreateParameter("@dtdefid",_datatype.DataTypeDefinitionId)}; - SqlHelper.ExecuteNonQuery("insert into cmsDataTypePreValues (datatypenodeid,[value],sortorder,alias) values (@dtdefid,@value,0,'')",SqlParams); + SqlHelper.CreateParameter("@dtdefid",_datatype.DataTypeDefinitionId), + SqlHelper.CreateParameter("@so",so)}; + SqlHelper.ExecuteNonQuery("insert into cmsDataTypePreValues (datatypenodeid,[value],sortorder,alias) values (@dtdefid,@value,@so,'')",SqlParams); _textbox.Text = ""; ScriptManager.GetCurrent(Page).SetFocus(_textbox); @@ -165,7 +187,7 @@ namespace umbraco.editorControls List> _prevalues = PrevaluesAsKeyValuePairList; if (_prevalues.Count > 0) { writer.Write("
"); - writer.Write(""); + writer.Write(""); foreach (KeyValuePair item in _prevalues) { diff --git a/components/editorControls/KeyValuePrevalueEditor.css b/components/editorControls/KeyValuePrevalueEditor.css new file mode 100644 index 0000000000..71c9b57a7e --- /dev/null +++ b/components/editorControls/KeyValuePrevalueEditor.css @@ -0,0 +1,7 @@ + + +#prevalues .ui-sortable-helper +{ + border: 2px dotted #ccc; + background-color: #EEE; +} diff --git a/components/editorControls/KeyValuePrevalueEditor.js b/components/editorControls/KeyValuePrevalueEditor.js index 0be271bbd3..854a42c50f 100644 --- a/components/editorControls/KeyValuePrevalueEditor.js +++ b/components/editorControls/KeyValuePrevalueEditor.js @@ -4,6 +4,7 @@ jQuery(document).ready(function () { jQuery("#prevalues .text").valuesInlineEdit(); jQuery("#prevalues tbody").sortable({ + items: "tr:not(.header)", handle: '.handle', update: function () { @@ -11,6 +12,9 @@ jQuery(document).ready(function () { } }); + + + });
TextValue
TextValue