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,81 @@
module Comp.PersonTable 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.Person exposing (Person)
import Api.Model.Address exposing (Address)
import Api.Model.Contact exposing (Contact)
import Util.Address
import Util.Contact
type alias Model =
{ equips: List Person
, selected: Maybe Person
}
emptyModel: Model
emptyModel =
{ equips = []
, selected = Nothing
}
type Msg
= SetPersons (List Person)
| Select Person
| Deselect
update: Flags -> Msg -> Model -> (Model, Cmd Msg)
update flags msg model =
case msg of
SetPersons 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 [class "collapsing"][text "Concerning"]
,th [][text "Address"]
,th [][text "Contact"]
]
]
,tbody []
(List.map (renderPersonLine model) model.equips)
]
renderPersonLine: Model -> Person -> Html Msg
renderPersonLine model person =
tr [classList [("active", model.selected == Just person)]
,onClick (Select person)
]
[td [class "collapsing"]
[text person.name
]
,td [class "collapsing"]
[if person.concerning then
i [class "check square outline icon"][]
else
i [class "minus square outline icon"][]
]
,td []
[Util.Address.toString person.address |> text
]
,td []
[Util.Contact.toString person.contacts |> text
]
]