Skip to content

Commit

Permalink
Finish template metadata and change swate expert entry.
Browse files Browse the repository at this point in the history
  • Loading branch information
Freymaurer committed Oct 18, 2021
1 parent b9b0528 commit c885c0c
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 94 deletions.
2 changes: 1 addition & 1 deletion .assets/assets/manifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
<bt:Urls>
<bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812"/>
<bt:Url id="Swate.Core.Url" DefaultValue="https://swate.denbi.uni-tuebingen.de/#BuildingBlock"/>
<bt:Url id="Swate.Experts.Url" DefaultValue="https://swate.denbi.uni-tuebingen.de/#Validation"/>
<bt:Url id="Swate.Experts.Url" DefaultValue="https://swate.denbi.uni-tuebingen.de/#JSONExporter"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GetStarted.Title" DefaultValue="Get started annotating your data for greater good!"/>
Expand Down
2 changes: 1 addition & 1 deletion manifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
<bt:Urls>
<bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812"/>
<bt:Url id="Swate.Core.Url" DefaultValue="https://localhost:3000/#BuildingBlock"/>
<bt:Url id="Swate.Experts.Url" DefaultValue="https://localhost:3000/#Validation"/>
<bt:Url id="Swate.Experts.Url" DefaultValue="https://localhost:3000/#JSONExporter"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GetStarted.Title" DefaultValue="Get started annotating your data for greater good!"/>
Expand Down
4 changes: 2 additions & 2 deletions src/Client/JSONExporter/JSONExporter.fs
Original file line number Diff line number Diff line change
Expand Up @@ -236,15 +236,15 @@ let parseTablesToISAJsonEle (model:Model) (dispatch:Messages.Msg -> unit) =
]

let jsonExporterMainElement (model:Messages.Model) (dispatch: Messages.Msg -> unit) =
form [
Content.content [ Content.Props [
OnSubmit (fun e -> e.preventDefault())
OnKeyDown (fun k -> if (int k.which) = 13 then k.preventDefault())
OnClick (fun e ->
UpdateShowTableExportTypeDropdown false |> JSONExporterMsg |> dispatch
UpdateShowWorkbookExportTypeDropdown false |> JSONExporterMsg |> dispatch
)
Style [Height "100vh"]
] [
]] [

Label.label [Label.Size Size.IsLarge; Label.Props [Style [Color model.SiteStyleState.ColorMode.Accent]]][ str "JSON Exporter"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,11 @@ open Fable.Core.JsInterop

let rec extendMetadataFields (metadatafields:MetadataField) =
let children = metadatafields.Children |> List.collect extendMetadataFields
if metadatafields.Key <> "" && metadatafields.Children.IsEmpty |> not then
let metadatafields' = {metadatafields with ExtendedNameKey = metadatafields.ExtendedNameKey.ToUpper()}
if metadatafields.Key <> "" && metadatafields.Children.IsEmpty |> not && metadatafields.List then
let metadatafields' = {metadatafields with ExtendedNameKey = $"#{metadatafields.ExtendedNameKey.ToUpper()} list"}
metadatafields'::children
elif metadatafields.Key <> "" && metadatafields.Children.IsEmpty |> not then
let metadatafields' = {metadatafields with ExtendedNameKey = "#" + metadatafields.ExtendedNameKey.ToUpper()}
metadatafields'::children
elif metadatafields.Key <> "" then
metadatafields::children
Expand Down
103 changes: 16 additions & 87 deletions src/Client/TemplateMetadata/TemplateMetadata.fs
Original file line number Diff line number Diff line change
Expand Up @@ -18,65 +18,6 @@ open TemplateMetadata

open ProtocolTemplateTypes

//module ParseTemplateMetadataSchema =
// open Fable.SimpleJson

// let parseJsonSchema (str:string) =
// SimpleJson.tryParse str

// let Description = "description"
// let JType = "type"
// let Properties = "properties"
// let Items = "items"

// let JArrayStr = "array"
// let JObjectStr = "object"

// let getJStringValue (JString v) = v

// let rec parseJsonToMetadataFields keyName (json:Json) =
// let parseObjectSchemaChildren (JObject json:Json) =
// let l = Map.toList json
// l
// |> List.map (fun (k,v) ->
// parseJsonToMetadataFields k v
// )
// match json with
// | JObject dict ->
// //printfn $"new {keyName}"
// let description = dict |> Map.tryFind Description |> Option.bind (getJStringValue >> Some)
// let jsonType =
// dict
// |> Map.tryFind JType
// /// Cannot be found in case of "anyOf".
// |> Option.defaultValue (JString "string")
// |> getJStringValue
// let properties = dict |> Map.tryFind Properties
// let items = dict |> Map.tryFind Items
// let list =
// if jsonType = JArrayStr then
// parseJsonToMetadataFields keyName items.Value
// |> Some
// else
// None
// let children =
// if jsonType = JObjectStr then
// //printfn $"parse children as object {keyName}"
// parseObjectSchemaChildren properties.Value
// else []
// //printfn $"solved: {keyName}"
// MetadataField.create
// keyName
// list
// description
// children
// | bottomEle ->
// MetadataField.create
// keyName
// None
// None
// []

let update (msg:Msg) (currentModel: Messages.Model) : Messages.Model * Cmd<Messages.Msg> =
match msg with
| CreateTemplateMetadataWorksheet metadataFieldsOpt ->
Expand All @@ -87,46 +28,34 @@ let update (msg:Msg) (currentModel: Messages.Model) : Messages.Model * Cmd<Messa
(curry GenericLog Cmd.none >> Dev)
(curry GenericError Cmd.none >> Dev)
currentModel, cmd
//| GetTemplateMetadataJsonSchemaRequest ->
// let cmd =
// Cmd.OfAsync.either
// Api.expertAPIv1.getTemplateMetadataJsonSchema
// ()
// (GetTemplateMetadataJsonSchemaResponse >> TemplateMetadataMsg)
// (curry GenericError Cmd.none >> Dev)
// currentModel, cmd
//| GetTemplateMetadataJsonSchemaResponse json ->
// let tryJson =
// ParseTemplateMetadataSchema.parseJsonSchema json
// |> Option.bind (ParseTemplateMetadataSchema.parseJsonToMetadataFields "Root" >> Some)
// let nextModel = {
// currentModel.TemplateMetadataModel with
// MetadataFields = tryJson
// }
// let cmd = CreateTemplateMetadataWorksheet tryJson |> TemplateMetadataMsg |> Cmd.ofMsg
// currentModel.updateByTemplateMetadataModel nextModel, cmd

open Messages

let defaultMessageEle (model:Model) dispatch =

mainFunctionContainer [
Button.a [
Button.OnClick(fun e -> CreateTemplateMetadataWorksheet TemplateMetadata.root |> TemplateMetadataMsg |> dispatch)
][
str "Click me!"
Field.div [][
Help.help [][
str "Use this function to create a prewritten template metadata worksheet."
]
]
Field.div [][
Button.a [
Button.OnClick(fun e -> CreateTemplateMetadataWorksheet TemplateMetadata.root |> TemplateMetadataMsg |> dispatch)
Button.IsFullWidth
Button.Color IsInfo
][
str "Create metadata"
]
]
]

let newNameMainElement (model:Messages.Model) dispatch =
form [
OnSubmit (fun e -> e.preventDefault())
OnKeyDown (fun k -> if (int k.which) = 13 then k.preventDefault())
] [
Content.content [] [

Label.label [Label.Size Size.IsLarge; Label.Props [Style [Color model.SiteStyleState.ColorMode.Accent]]][ str "JSON Exporter"]
Label.label [Label.Size Size.IsLarge; Label.Props [Style [Color model.SiteStyleState.ColorMode.Accent]]][ str "Template Metadata"]

Label.label [Label.Props [Style [Color model.SiteStyleState.ColorMode.Accent]]] [str "Function 1"]
Label.label [Label.Props [Style [Color model.SiteStyleState.ColorMode.Accent]]] [str "Create template metadata worksheet"]

defaultMessageEle model dispatch
]
2 changes: 1 addition & 1 deletion src/Client/Views/BaseView.fs
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ let tabs (model:Model) dispatch =
createNavigationTab Routing.Route.FilePicker model dispatch
createNavigationTab Routing.Route.Info model dispatch
else
createNavigationTab Routing.Route.Validation model dispatch
createNavigationTab Routing.Route.JSONExporter model dispatch
createNavigationTab Routing.Route.TemplateMetadata model dispatch
createNavigationTab Routing.Route.Validation model dispatch
createNavigationTab Routing.Route.XLSXConverter model dispatch
createNavigationTab Routing.Route.Info model dispatch
]
Expand Down

0 comments on commit c885c0c

Please sign in to comment.