diff --git a/server/AyaNova/biz/ObjectFields.cs b/server/AyaNova/biz/ObjectFields.cs index 6e6a99ca..8c932739 100644 --- a/server/AyaNova/biz/ObjectFields.cs +++ b/server/AyaNova/biz/ObjectFields.cs @@ -144,11 +144,41 @@ namespace AyaNova.Biz //convert to strings (https://stackoverflow.com/a/33836599/8939) var fullFields = ((JArray)jtemplate["full"]).ToObject(); + +// var jsonObj = new { +// name = taskName, +// products = new[] { +// new { product = "ndvi_image", actions = new [] { new { mapbox = "processed" } }, +// new { product = "true_color", actions = new [] { new { mapbox = "processed" } } +// }, +// recurring = true, +// query = new { +// date_from = dateFromString, +// date_to = dateToString, +// aoi = polygon +// }, +// aoi_coverage_percentage = 90 +// }; + +// var jsonString = JsonConvert.SerializeObject(jsonObj); + + + //Generate JSON fragment to return with column definitions StringBuilder sb = new StringBuilder(); // ColumnsJSON=@"""columns"":[ {""cm"":""Widget"",""dt"":""text"",""ay"":"+ AyaType.Widget.ToString()+ "},{..etc..}]"; - sb.Append("\"columns\":["); + + //GOAL: This works in javascript: + //JSON.parse( "{\"columns\": [{\"cm\":\"WidgetName\",\"dt\":\"4\"},{\"cm\":\"WidgetSerial\",\"dt\":\"5\"},{\"cm\":\"WidgetDollarAmount\",\"dt\":\"8\"},{\"cm\":\"WidgetRoles\",\"dt\":\"10\"},{\"cm\":\"WidgetStartDate\",\"dt\":\"1\"},{\"cm\":\"Active\",\"dt\":\"6\"}]}") + //\"columns\": [{\"cm\":\"WidgetName\",\"dt\":\"4\"},{\"cm\":\"WidgetSerial\",\"dt\":\"5\"},{\"cm\":\"WidgetDollarAmount\",\"dt\":\"8\"},{\"cm\":\"WidgetRoles\",\"dt\":\"10\"},{\"cm\":\"WidgetStartDate\",\"dt\":\"1\"},{\"cm\":\"Active\",\"dt\":\"6\"}] + + //CURRENTLY: this is what is actually coming out: + // "columns": "[{\"cm\":\"WidgetName\",\"dt\":\"4\"},{\"cm\":\"WidgetSerial\",\"dt\":\"5\"},{\"cm\":\"WidgetDollarAmount\",\"dt\":\"8\"},{\"cm\":\"WidgetRoles\",\"dt\":\"10\"},{\"cm\":\"WidgetStartDate\",\"dt\":\"1\"},{\"cm\":\"Active\",\"dt\":\"6\"}]" + + + + sb.Append("["); var isFirstColumn = true; foreach (string s in fullFields) { @@ -161,11 +191,11 @@ namespace AyaNova.Biz } sb.Append("{"); //Build required part of column definition - sb.Append($"\"cm\":\"{o.Key}\",\"dt\":\"{o.DataType}\""); + sb.Append($"\"cm\":\"{o.Key}\",\"dt\":{(int)o.DataType}"); //Has a AyObjectType (linkable / openable?) if (o.AyObjectType != 0) - sb.Append($",\"ay\":{o.AyObjectType}"); + sb.Append($",\"ay\":{(int)o.AyObjectType}"); sb.Append("}"); isFirstColumn = false; diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index 9e4ca66a..39cd5ae8 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -334,7 +334,9 @@ namespace AyaNova.Biz string ColumnsJSON=string.Empty; if(listOptions.Mini){ //all mini lists will have an id so include the type to open - ColumnsJSON=@"""columns"":[ {""cm"":""Widget"",""dt"":""text"",""ay"":"+ AyaType.Widget.ToString()+ "}]"; + ColumnsJSON=@"[ {""cm"":""Widget"",""dt"":""text"",""ay"":"+ AyaType.Widget.ToString()+ "}]"; + //"{\"columns\":[{\"cm\":\"Widget\",\"dt\":\"text\",\"ay\":2}]}" + // "columns": "[ {\"cm\":\"Widget\",\"dt\":\"text\",\"ay\":Widget}]" }else{ ColumnsJSON=ObjectFields.GenerateListColumnJSONFromTemplate(ObjectFields.WIDGET_KEY,MOCK_WIDGET_DISPLAY_TEMPLATE_JSON); }