Initial version.

Features:

- Upload PDF files let them analyze

- Manage meta data and items

- See processing in webapp
This commit is contained in:
Eike Kettner
2019-07-23 00:53:30 +02:00
parent 6154e6a387
commit 831cd8b655
341 changed files with 23634 additions and 484 deletions

View File

@ -0,0 +1,74 @@
module Comp.OrgTable exposing ( Model
, emptyModel
, Msg(..)
, view
, update)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Data.Flags exposing (Flags)
import Api.Model.Organization exposing (Organization)
import Api.Model.Address exposing (Address)
import Api.Model.Contact exposing (Contact)
import Util.Address
import Util.Contact
type alias Model =
{ equips: List Organization
, selected: Maybe Organization
}
emptyModel: Model
emptyModel =
{ equips = []
, selected = Nothing
}
type Msg
= SetOrgs (List Organization)
| Select Organization
| Deselect
update: Flags -> Msg -> Model -> (Model, Cmd Msg)
update flags msg model =
case msg of
SetOrgs list ->
({model | equips = list, selected = Nothing }, Cmd.none)
Select equip ->
({model | selected = Just equip}, Cmd.none)
Deselect ->
({model | selected = Nothing}, Cmd.none)
view: Model -> Html Msg
view model =
table [class "ui selectable table"]
[thead []
[tr []
[th [class "collapsing"][text "Name"]
,th [][text "Address"]
,th [][text "Contact"]
]
]
,tbody []
(List.map (renderOrgLine model) model.equips)
]
renderOrgLine: Model -> Organization -> Html Msg
renderOrgLine model org =
tr [classList [("active", model.selected == Just org)]
,onClick (Select org)
]
[td [class "collapsing"]
[text org.name
]
,td []
[Util.Address.toString org.address |> text
]
,td []
[Util.Contact.toString org.contacts |> text
]
]