mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-05-28 19:19:15 +00:00
Add language to upload page
This commit is contained in:
parent
2384af1347
commit
c1c92f0932
@ -9,11 +9,14 @@ module Page.Upload.Data exposing
|
||||
, isIdle
|
||||
, isLoading
|
||||
, isSuccessAll
|
||||
, mkLanguageItem
|
||||
, uploadAllTracker
|
||||
)
|
||||
|
||||
import Api.Model.BasicResult exposing (BasicResult)
|
||||
import Comp.Dropzone
|
||||
import Comp.FixedDropdown
|
||||
import Data.Language exposing (Language)
|
||||
import Dict exposing (Dict)
|
||||
import File exposing (File)
|
||||
import Http
|
||||
@ -30,6 +33,8 @@ type alias Model =
|
||||
, loading : Dict String Int
|
||||
, dropzone : Comp.Dropzone.Model
|
||||
, skipDuplicates : Bool
|
||||
, languageModel : Comp.FixedDropdown.Model Language
|
||||
, language : Maybe Language
|
||||
}
|
||||
|
||||
|
||||
@ -49,6 +54,11 @@ dropzoneSettings =
|
||||
}
|
||||
|
||||
|
||||
mkLanguageItem : Language -> Comp.FixedDropdown.Item Language
|
||||
mkLanguageItem lang =
|
||||
Comp.FixedDropdown.Item lang (Data.Language.toName lang)
|
||||
|
||||
|
||||
emptyModel : Model
|
||||
emptyModel =
|
||||
{ incoming = True
|
||||
@ -59,6 +69,10 @@ emptyModel =
|
||||
, loading = Dict.empty
|
||||
, dropzone = Comp.Dropzone.init dropzoneSettings
|
||||
, skipDuplicates = True
|
||||
, languageModel =
|
||||
Comp.FixedDropdown.init
|
||||
(List.map mkLanguageItem Data.Language.all)
|
||||
, language = Nothing
|
||||
}
|
||||
|
||||
|
||||
@ -71,6 +85,7 @@ type Msg
|
||||
| Clear
|
||||
| DropzoneMsg Comp.Dropzone.Msg
|
||||
| ToggleSkipDuplicates
|
||||
| LanguageMsg (Comp.FixedDropdown.Msg Language)
|
||||
|
||||
|
||||
isLoading : Model -> File -> Bool
|
||||
|
@ -3,13 +3,15 @@ module Page.Upload.Update exposing (update)
|
||||
import Api
|
||||
import Api.Model.ItemUploadMeta
|
||||
import Comp.Dropzone
|
||||
import Comp.FixedDropdown
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.Language
|
||||
import Dict
|
||||
import Http
|
||||
import Page.Upload.Data exposing (..)
|
||||
import Ports
|
||||
import Set exposing (Set)
|
||||
import Util.File exposing (makeFileId)
|
||||
import Util.Maybe
|
||||
|
||||
|
||||
update : Maybe String -> Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
@ -39,6 +41,7 @@ update sourceId flags msg model =
|
||||
|
||||
else
|
||||
Just "outgoing"
|
||||
, language = Maybe.map Data.Language.toIso3 model.language
|
||||
}
|
||||
|
||||
fileids =
|
||||
@ -151,6 +154,19 @@ update sourceId flags msg model =
|
||||
in
|
||||
( { model | files = nextFiles, dropzone = m2 }, Cmd.map DropzoneMsg c2, Sub.none )
|
||||
|
||||
LanguageMsg lm ->
|
||||
let
|
||||
( dm, sel ) =
|
||||
Comp.FixedDropdown.update lm model.languageModel
|
||||
in
|
||||
( { model
|
||||
| languageModel = dm
|
||||
, language = Util.Maybe.or [ sel, model.language ]
|
||||
}
|
||||
, Cmd.none
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
|
||||
setCompleted : Model -> String -> Set String
|
||||
setCompleted model fileid =
|
||||
|
@ -1,6 +1,7 @@
|
||||
module Page.Upload.View exposing (view)
|
||||
|
||||
import Comp.Dropzone
|
||||
import Comp.FixedDropdown
|
||||
import Comp.Progress
|
||||
import Dict
|
||||
import File exposing (File)
|
||||
@ -219,5 +220,17 @@ renderForm model =
|
||||
, label [] [ text "Skip files already present in docspell" ]
|
||||
]
|
||||
]
|
||||
, div [ class "inline field" ]
|
||||
[ label [] [ text "Language:" ]
|
||||
, Html.map LanguageMsg
|
||||
(Comp.FixedDropdown.view
|
||||
(Maybe.map mkLanguageItem model.language)
|
||||
model.languageModel
|
||||
)
|
||||
, div [ class "small-info" ]
|
||||
[ text "Used for text extraction and analysis. The collective's "
|
||||
, text "default language is used if not specified here."
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user