Merge pull request #651 from eikek/language-source

Add language to a source
This commit is contained in:
mergify[bot]
2021-02-19 01:30:24 +00:00
committed by GitHub
9 changed files with 92 additions and 15 deletions

View File

@ -21,6 +21,7 @@ import Comp.Dropdown exposing (isDropdownChangeMsg)
import Comp.FixedDropdown
import Data.DropdownStyle as DS
import Data.Flags exposing (Flags)
import Data.Language exposing (Language)
import Data.Priority exposing (Priority)
import Data.UiSettings exposing (UiSettings)
import Html exposing (..)
@ -47,6 +48,8 @@ type alias Model =
, folderId : Maybe String
, tagModel : Comp.Dropdown.Model Tag
, fileFilter : Maybe String
, languageModel : Comp.Dropdown.Model Language
, language : Maybe String
}
@ -70,6 +73,19 @@ emptyModel =
, folderId = Nothing
, tagModel = Util.Tag.makeDropdownModel2
, fileFilter = Nothing
, languageModel =
Comp.Dropdown.makeSingleList
{ makeOption =
\a ->
{ value = Data.Language.toName a
, text = Data.Language.toName a
, additional = ""
}
, placeholder = "Select"
, options = Data.Language.all
, selected = Nothing
}
, language = Nothing
}
@ -108,6 +124,7 @@ getSource model =
, priority = Data.Priority.toName model.priority
, folder = model.folderId
, fileFilter = model.fileFilter
, language = model.language
}
in
{ st | source = n, tags = TagList (List.length tags) tags }
@ -124,6 +141,7 @@ type Msg
| GetTagResp (Result Http.Error TagList)
| TagDropdownMsg (Comp.Dropdown.Msg Tag)
| SetFileFilter String
| LanguageMsg (Comp.Dropdown.Msg Language)
@ -285,6 +303,28 @@ update flags msg model =
, Cmd.none
)
LanguageMsg lm ->
let
( dm, dc ) =
Comp.Dropdown.update lm model.languageModel
newModel =
{ model | languageModel = dm }
lang =
Comp.Dropdown.getSelected dm |> List.head
model_ =
if isDropdownChangeMsg lm then
{ newModel | language = Maybe.map Data.Language.toIso3 lang }
else
newModel
in
( model_
, Cmd.map LanguageMsg dc
)
--- View
@ -426,7 +466,7 @@ isFolderMember model =
view2 : Flags -> UiSettings -> Model -> Html Msg
view2 flags settings model =
view2 _ settings model =
let
priorityItem =
Comp.FixedDropdown.Item
@ -581,6 +621,21 @@ disappear then.
]
]
]
, div [ class "mb-4" ]
[ label [ class S.inputLabel ]
[ text "Language:"
]
, Html.map LanguageMsg
(Comp.Dropdown.view2
DS.mainStyle
settings
model.languageModel
)
, div [ class "text-gray-400 text-xs" ]
[ text "Used for text extraction and analysis. The collective's "
, text "default language is used if not specified here."
]
]
]

View File

@ -474,6 +474,18 @@ viewLinks2 flags _ source =
[ text source.source.id
]
]
, MB.view
{ start =
[ MB.SecondaryButton
{ label = "Back"
, icon = Just "fa fa-arrow-left"
, tagger = SetTableView
, title = "Back to list"
}
]
, end = []
, rootClasses = "mb-4"
}
, p [ class "text-lg pt-2 opacity-75" ]
[ text "This source defines URLs that can be used by anyone to send files to "
, text "you. There is a web page that you can share or the API url can be used "
@ -565,13 +577,6 @@ viewLinks2 flags _ source =
[ qrCodeView apiUrl
]
]
, button
[ class S.secondaryButton
, class "mt-4 mb-2"
, onClick SetTableView
]
[ text "Back"
]
]