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,36 @@
module Page.ManageData.Data exposing (..)
import Comp.TagManage
import Comp.EquipmentManage
import Comp.OrgManage
import Comp.PersonManage
type alias Model =
{ currentTab: Maybe Tab
, tagManageModel: Comp.TagManage.Model
, equipManageModel: Comp.EquipmentManage.Model
, orgManageModel: Comp.OrgManage.Model
, personManageModel: Comp.PersonManage.Model
}
emptyModel: Model
emptyModel =
{ currentTab = Nothing
, tagManageModel = Comp.TagManage.emptyModel
, equipManageModel = Comp.EquipmentManage.emptyModel
, orgManageModel = Comp.OrgManage.emptyModel
, personManageModel = Comp.PersonManage.emptyModel
}
type Tab
= TagTab
| EquipTab
| OrgTab
| PersonTab
type Msg
= SetTab Tab
| TagManageMsg Comp.TagManage.Msg
| EquipManageMsg Comp.EquipmentManage.Msg
| OrgManageMsg Comp.OrgManage.Msg
| PersonManageMsg Comp.PersonManage.Msg

View File

@ -0,0 +1,52 @@
module Page.ManageData.Update exposing (update)
import Page.ManageData.Data exposing (..)
import Data.Flags exposing (Flags)
import Comp.TagManage
import Comp.EquipmentManage
import Comp.OrgManage
import Comp.PersonManage
update: Flags -> Msg -> Model -> (Model, Cmd Msg)
update flags msg model =
case msg of
SetTab t ->
let
m = { model | currentTab = Just t }
in
case t of
TagTab ->
update flags (TagManageMsg Comp.TagManage.LoadTags) m
EquipTab ->
update flags (EquipManageMsg Comp.EquipmentManage.LoadEquipments) m
OrgTab ->
update flags (OrgManageMsg Comp.OrgManage.LoadOrgs) m
PersonTab ->
update flags (PersonManageMsg Comp.PersonManage.LoadPersons) m
TagManageMsg m ->
let
(m2, c2) = Comp.TagManage.update flags m model.tagManageModel
in
({model | tagManageModel = m2}, Cmd.map TagManageMsg c2)
EquipManageMsg m ->
let
(m2, c2) = Comp.EquipmentManage.update flags m model.equipManageModel
in
({model | equipManageModel = m2}, Cmd.map EquipManageMsg c2)
OrgManageMsg m ->
let
(m2, c2) = Comp.OrgManage.update flags m model.orgManageModel
in
({model | orgManageModel = m2}, Cmd.map OrgManageMsg c2)
PersonManageMsg m ->
let
(m2, c2) = Comp.PersonManage.update flags m model.personManageModel
in
({model | personManageModel = m2}, Cmd.map PersonManageMsg c2)

View File

@ -0,0 +1,104 @@
module Page.ManageData.View exposing (view)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Util.Html exposing (classActive)
import Page.ManageData.Data exposing (..)
import Comp.TagManage
import Comp.EquipmentManage
import Comp.OrgManage
import Comp.PersonManage
view: Model -> Html Msg
view model =
div [class "managedata-page ui padded grid"]
[div [class "four wide column"]
[h4 [class "ui top attached ablue-comp header"]
[text "Manage Data"
]
,div [class "ui attached fluid segment"]
[div [class "ui fluid vertical secondary menu"]
[div [classActive (model.currentTab == Just TagTab) "link icon item"
,onClick (SetTab TagTab)
]
[i [class "tag icon"][]
,text "Tag"
]
,div [classActive (model.currentTab == Just EquipTab) "link icon item"
,onClick (SetTab EquipTab)
]
[i [class "box icon"][]
,text "Equipment"
]
,div [classActive (model.currentTab == Just OrgTab) "link icon item"
,onClick (SetTab OrgTab)
]
[i [class "factory icon"][]
,text "Organization"
]
,div [classActive (model.currentTab == Just PersonTab) "link icon item"
,onClick (SetTab PersonTab)
]
[i [class "user icon"][]
,text "Person"
]
]
]
]
,div [class "twelve wide column"]
[div [class ""]
(case model.currentTab of
Just TagTab -> viewTags model
Just EquipTab -> viewEquip model
Just OrgTab -> viewOrg model
Just PersonTab -> viewPerson model
Nothing -> []
)
]
]
viewTags: Model -> List (Html Msg)
viewTags model =
[h2 [class "ui header"]
[i [class "ui tag icon"][]
,div [class "content"]
[text "Tags"
]
]
,Html.map TagManageMsg (Comp.TagManage.view model.tagManageModel)
]
viewEquip: Model -> List (Html Msg)
viewEquip model =
[h2 [class "ui header"]
[i [class "ui box icon"][]
,div [class "content"]
[text "Equipment"
]
]
,Html.map EquipManageMsg (Comp.EquipmentManage.view model.equipManageModel)
]
viewOrg: Model -> List (Html Msg)
viewOrg model =
[h2 [class "ui header"]
[i [class "ui factory icon"][]
,div [class "content"]
[text "Organizations"
]
]
,Html.map OrgManageMsg (Comp.OrgManage.view model.orgManageModel)
]
viewPerson: Model -> List (Html Msg)
viewPerson model =
[h2 [class "ui header"]
[i [class "ui user icon"][]
,div [class "content"]
[text "Person"
]
]
,Html.map PersonManageMsg (Comp.PersonManage.view model.personManageModel)
]