From 97897c3062b7d7ea70d359d94bbe024c0679c57b Mon Sep 17 00:00:00 2001 From: starfighter83 Date: Fri, 19 Nov 2010 08:42:14 +0000 Subject: [PATCH] WIP, updates dropdown datatype so it supports updates to key value prevalue editor [TFS Changeset #80221] --- .../dropdownlist/DropDownDataType.cs | 2 +- .../dropdownlist/dropDownKeysDataType.cs | 2 +- .../editorControls/dropdownlist/dropdown.cs | 29 +++++++++++++++++-- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/components/editorControls/dropdownlist/DropDownDataType.cs b/components/editorControls/dropdownlist/DropDownDataType.cs index fedc2abb5f..27b6efe4f3 100644 --- a/components/editorControls/dropdownlist/DropDownDataType.cs +++ b/components/editorControls/dropdownlist/DropDownDataType.cs @@ -17,7 +17,7 @@ namespace umbraco.editorControls.dropdownlist { if (_Editor == null) { - _Editor = new dropdown(Data,((KeyValuePrevalueEditor)PrevalueEditor).Prevalues); + _Editor = new dropdown(Data,((KeyValuePrevalueEditor)PrevalueEditor).PrevaluesAsKeyValuePairList); } return _Editor; } diff --git a/components/editorControls/dropdownlist/dropDownKeysDataType.cs b/components/editorControls/dropdownlist/dropDownKeysDataType.cs index 4806538d2f..655441d24f 100644 --- a/components/editorControls/dropdownlist/dropDownKeysDataType.cs +++ b/components/editorControls/dropdownlist/dropDownKeysDataType.cs @@ -17,7 +17,7 @@ namespace umbraco.editorControls.dropdownlist { if (_Editor == null) { - _Editor = new dropdown(Data,((KeyValuePrevalueEditor)PrevalueEditor).Prevalues); + _Editor = new dropdown(Data,((KeyValuePrevalueEditor)PrevalueEditor).PrevaluesAsKeyValuePairList); } return _Editor; } diff --git a/components/editorControls/dropdownlist/dropdown.cs b/components/editorControls/dropdownlist/dropdown.cs index 1009768bf1..f4d887cfb4 100644 --- a/components/editorControls/dropdownlist/dropdown.cs +++ b/components/editorControls/dropdownlist/dropdown.cs @@ -6,6 +6,7 @@ using System.Collections; using umbraco.cms.businesslogic; using umbraco.cms.businesslogic.language; +using System.Collections.Generic; namespace umbraco.editorControls { @@ -20,6 +21,15 @@ namespace umbraco.editorControls _prevalues = Prevalues; } + + List> Prevalues; + public dropdown(interfaces.IData Data, List> Prevalues) + { + _data = Data; + this.Prevalues = Prevalues; + } + + public Control Editor { get {return this;} } @@ -44,10 +54,23 @@ namespace umbraco.editorControls protected override void OnInit(EventArgs e) { base.OnInit (e); - foreach (object key in _prevalues.Keys) + + if (_prevalues != null) { - this.Items.Add(new ListItem(dropdown.DictionaryReplace(_prevalues[key].ToString()), key.ToString())); - } + foreach (object key in _prevalues.Keys) + { + this.Items.Add(new ListItem(dropdown.DictionaryReplace(_prevalues[key].ToString()), key.ToString())); + } + + } + else if (Prevalues != null) + { + foreach (KeyValuePair item in Prevalues) + { + this.Items.Add(new ListItem(dropdown.DictionaryReplace(item.Value), item.Key.ToString())); + } + } + base.Items.Insert(0, new ListItem(ui.Text("choose") + "...","")); if (_data != null && _data.Value != null)