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

@ -10,6 +10,13 @@ import Api.Model.AuthResult exposing (AuthResult)
import Page exposing (Page(..))
import Page.Home.Data
import Page.Login.Data
import Page.ManageData.Data
import Page.CollectiveSettings.Data
import Page.UserSettings.Data
import Page.Queue.Data
import Page.Register.Data
import Page.Upload.Data
import Page.NewInvite.Data
type alias Model =
{ flags: Flags
@ -18,19 +25,38 @@ type alias Model =
, version: VersionInfo
, homeModel: Page.Home.Data.Model
, loginModel: Page.Login.Data.Model
, manageDataModel: Page.ManageData.Data.Model
, collSettingsModel: Page.CollectiveSettings.Data.Model
, userSettingsModel: Page.UserSettings.Data.Model
, queueModel: Page.Queue.Data.Model
, registerModel: Page.Register.Data.Model
, uploadModel: Page.Upload.Data.Model
, newInviteModel: Page.NewInvite.Data.Model
, navMenuOpen: Bool
, subs: Sub Msg
}
init: Key -> Url -> Flags -> Model
init key url flags =
let
page = Page.fromUrl url |> Maybe.withDefault HomePage
page = Page.fromUrl url
|> Maybe.withDefault (defaultPage flags)
in
{ flags = flags
, key = key
, page = page
, version = Api.Model.VersionInfo.empty
, homeModel = Page.Home.Data.emptyModel
, loginModel = Page.Login.Data.empty
, loginModel = Page.Login.Data.emptyModel
, manageDataModel = Page.ManageData.Data.emptyModel
, collSettingsModel = Page.CollectiveSettings.Data.emptyModel
, userSettingsModel = Page.UserSettings.Data.emptyModel
, queueModel = Page.Queue.Data.emptyModel
, registerModel = Page.Register.Data.emptyModel
, uploadModel = Page.Upload.Data.emptyModel
, newInviteModel = Page.NewInvite.Data.emptyModel
, navMenuOpen = False
, subs = Sub.none
}
type Msg
@ -39,7 +65,30 @@ type Msg
| VersionResp (Result Http.Error VersionInfo)
| HomeMsg Page.Home.Data.Msg
| LoginMsg Page.Login.Data.Msg
| ManageDataMsg Page.ManageData.Data.Msg
| CollSettingsMsg Page.CollectiveSettings.Data.Msg
| UserSettingsMsg Page.UserSettings.Data.Msg
| QueueMsg Page.Queue.Data.Msg
| RegisterMsg Page.Register.Data.Msg
| UploadMsg Page.Upload.Data.Msg
| NewInviteMsg Page.NewInvite.Data.Msg
| Logout
| LogoutResp (Result Http.Error ())
| SessionCheckResp (Result Http.Error AuthResult)
| SetPage Page
| ToggleNavMenu
isSignedIn: Flags -> Bool
isSignedIn flags =
flags.account
|> Maybe.map .success
|> Maybe.withDefault False
checkPage: Flags -> Page -> Page
checkPage flags page =
if Page.isSecured page && isSignedIn flags then page
else if Page.isOpen page then page
else Page.loginPage page
defaultPage: Flags -> Page
defaultPage flags =
if isSignedIn flags then HomePage else (LoginPage Nothing)