Method getLabelFromData from getLabelFromData.as I just added a new if block that seek for "[" and thread the keys. If it's OK, I can commit, otherwise I ask what's the best alternative solution to achive the same result.
public function getLabelFromData(obj:Object,data:Object):String { // slightly more code, but we bail early if it's a string which is often if (data is String) return "" + data; if(!data) return ""; if(data is ILabeledData) return (data as ILabeledData).label; if (obj is IHasLabelField && (obj as IHasLabelField).labelField && (obj as IHasLabelField).labelField.indexOf("[") > -1) { var result:String = (obj as IHasLabelField).labelField; for each (var item:String in result.split("[")) { if (item.indexOf("]") > -1) { var field:String = item.split("]")[0]; result = result.replace("[" + field + "]", data[field]); } } return result; } if (obj is IHasLabelField && (obj as IHasLabelField).labelField && data[(obj as IHasLabelField).labelField] != null) { return "" + data[(obj as IHasLabelField).labelField]; } if (obj is IHasDataField && (obj as IHasDataField).dataField && data[(obj as IHasDataField).dataField] != null) { return "" + data[(obj as IHasDataField).dataField]; } var label:String = data["label"]; if(label != null){ return label; } return "" + data; } Maria Jose Esteve <mjest...@iest.com> escreveu no dia terça, 7/06/2022 à(s) 21:44: > Hugo, could it be seen? Maybe a branch or a PR? > > Hiedra > > -----Mensaje original----- > De: Hugo Ferreira <hferreira...@gmail.com> > Enviado el: martes, 7 de junio de 2022 21:58 > Para: Apache Royale Development <dev@royale.apache.org> > Asunto: Proposal for labelField with expression support > > Hi, > > In Flex "world" one can use labelField and labelFunction. > Here in Royale we have only labelField (at least I didn't see so far > support for labelFunction), however I'm not a big fan of labelFunction > anyway. > > I always wanted support for something in between of labelField and > labelFunction (labelFunction with multiple fields and fixed strings) and I > implement it on my side. > > Ex: > model: > public class User > { > public var Code:String; > public var Name:String; > } > > With this model, one can use Code (user code) or Name but not the combined > fields. > > With a little adition I can now do something like this: labelField="[Code] > - [Name]" and at runtime every field delimited by [] it's replaced for his > value, allowing multiple fields and complex expressions. > > Can I commit this or there is a reason to not do so ? > > Thank you, > Hugo. >