Skip to content

Commit

Permalink
Add comment column to normal swate with manually adaptable name
Browse files Browse the repository at this point in the history
  • Loading branch information
Etschbeijer committed Feb 13, 2025
1 parent bde4a14 commit 909e435
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
3 changes: 2 additions & 1 deletion src/Client/Pages/BuildingBlock/Dropdown.fs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ module private DropdownElements =
CompositeHeaderDiscriminate.Factor |> createBuildingBlockDropdownItem model dispatch setState close
CompositeHeaderDiscriminate.Characteristic |> createBuildingBlockDropdownItem model dispatch setState close
CompositeHeaderDiscriminate.Component |> createBuildingBlockDropdownItem model dispatch setState close
Model.BuildingBlock.DropdownPage.More |> createSubBuildingBlockDropdownLink state setState
Model.BuildingBlock.DropdownPage.More |> createSubBuildingBlockDropdownLink state setState
divider
DropdownPage.IOTypes CompositeHeaderDiscriminate.Output |> createSubBuildingBlockDropdownLink state setState
DropdownContentInfoFooter setState false
Expand All @@ -131,6 +131,7 @@ module private DropdownElements =
/// Protocol Type subpage for dropdown
let dropdownContentProtocolTypeColumns state setState close (model:Model) dispatch =
React.fragment [
CompositeHeaderDiscriminate.Comment |> createBuildingBlockDropdownItem model dispatch setState close
CompositeHeaderDiscriminate.Date |> createBuildingBlockDropdownItem model dispatch setState close
CompositeHeaderDiscriminate.Performer |> createBuildingBlockDropdownItem model dispatch setState close
CompositeHeaderDiscriminate.ProtocolDescription |> createBuildingBlockDropdownItem model dispatch setState close
Expand Down
4 changes: 2 additions & 2 deletions src/Client/Pages/BuildingBlock/Helper.fs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ let selectCompositeHeaderDiscriminate (hct: CompositeHeaderDiscriminate) setUiSt

open Fable.Core

let createCompositeHeaderFromState (state: BuildingBlock.Model) =
let createCompositeHeaderFromState (state: BuildingBlock.Model) inputValue =
let getOA() = state.TryHeaderOA() |> Option.defaultValue (OntologyAnnotation.empty())
let getIOType() = state.TryHeaderIO() |> Option.defaultValue (IOType.FreeText "")
match state.HeaderCellType with
Expand All @@ -34,7 +34,7 @@ let createCompositeHeaderFromState (state: BuildingBlock.Model) =
| CompositeHeaderDiscriminate.Date -> CompositeHeader.Date
| CompositeHeaderDiscriminate.Input -> CompositeHeader.Input <| getIOType()
| CompositeHeaderDiscriminate.Output -> CompositeHeader.Output <| getIOType()
| CompositeHeaderDiscriminate.Comment -> failwith "Comment header type is not yet implemented"
| CompositeHeaderDiscriminate.Comment -> CompositeHeader.Comment inputValue
| CompositeHeaderDiscriminate.Freetext -> failwith "Freetext header type is not yet implemented"

let tryCreateCompositeCellFromState (state: BuildingBlock.Model) =
Expand Down
19 changes: 13 additions & 6 deletions src/Client/Pages/BuildingBlock/SearchComponent.fs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ let private SearchBuildingBlockBodyElement (model: Model, dispatch) =
]

[<ReactComponent>]
let private SearchBuildingBlockHeaderElement (ui: BuildingBlockUIState, setUi, model: Model, dispatch) =
let private SearchBuildingBlockHeaderElement (ui: BuildingBlockUIState, setUi, setInputValue, model: Model, dispatch) =
let state = model.AddBuildingBlockState
let element = React.useElementRef()
Html.div [
Expand All @@ -86,7 +86,13 @@ let private SearchBuildingBlockHeaderElement (ui: BuildingBlockUIState, setUi, m
// Dropdown building block type choice
Dropdown.Main(ui, setUi, model, dispatch)
// Term search field
if state.HeaderCellType.HasOA() then
if state.HeaderCellType = CompositeHeaderDiscriminate.Comment then
Daisy.input [
prop.readOnly false
prop.onChange (fun (ev:string) -> setInputValue ev)
prop.placeholder (CompositeHeaderDiscriminate.Comment.ToString())
]
elif state.HeaderCellType.HasOA() then
let setter (oaOpt: Swate.Components.Term option) =
let case = oaOpt |> Option.map (fun oa -> OntologyAnnotation.fromTerm >> U2.Case1 <| oa)
BuildingBlock.UpdateHeaderArg case |> BuildingBlockMsg |> dispatch
Expand Down Expand Up @@ -143,13 +149,13 @@ let private scrollIntoViewRetry (id: string) =
headerelement.scrollIntoView(config)
loop 0

let private AddBuildingBlockButton (model: Model) dispatch =
let private AddBuildingBlockButton (model: Model) inputValue dispatch =
let state = model.AddBuildingBlockState
Html.div [
prop.className "flex justify-center"
prop.children [
Daisy.button.button [
let header = Helper.createCompositeHeaderFromState state
let header = Helper.createCompositeHeaderFromState state inputValue
let body = Helper.tryCreateCompositeCellFromState state
let isValid = Helper.isValidColumn header
button.wide
Expand Down Expand Up @@ -179,14 +185,15 @@ let private AddBuildingBlockButton (model: Model) dispatch =
[<ReactComponent>]
let Main (model: Model) dispatch =
let state_bb, setState_bb = React.useState(BuildingBlockUIState.init)
let inputValue, setInputValue = React.useState ""
//let state_searchHeader, setState_searchHeader = React.useState(TermSearchUIState.init)
//let state_searchBody, setState_searchBody = React.useState(TermSearchUIState.init)
Html.div [
prop.className "flex flex-col gap-4"
prop.children [
SearchBuildingBlockHeaderElement (state_bb, setState_bb, model, dispatch)
SearchBuildingBlockHeaderElement (state_bb, setState_bb, setInputValue, model, dispatch)
if model.AddBuildingBlockState.HeaderCellType.IsTermColumn() then
SearchBuildingBlockBodyElement (model, dispatch)
AddBuildingBlockButton model dispatch
AddBuildingBlockButton model inputValue dispatch
]
]
1 change: 0 additions & 1 deletion src/Client/Pages/TermSearch/TermSearchView.fs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ let Main (model:Model, dispatch) =
}
|> Some
| _ -> None

SidebarComponents.SidebarLayout.Container [
SidebarComponents.SidebarLayout.Header "Ontology term search"

Expand Down

0 comments on commit 909e435

Please sign in to comment.