Refactor FixedDropdown

This commit is contained in:
Eike Kettner
2021-04-02 22:46:47 +02:00
parent 8d15d97857
commit 9a23ba9afb
16 changed files with 170 additions and 176 deletions

View File

@ -13,7 +13,6 @@ module Page.Home.Data exposing
, itemNav
, menuCollapsed
, resultsBelowLimit
, searchTypeString
, selectActive
)
@ -30,7 +29,6 @@ import Comp.ItemDetail.MultiEditMenu exposing (SaveNameState(..))
import Comp.LinkTarget exposing (LinkTarget)
import Comp.PowerSearchInput
import Comp.SearchMenu
import Comp.YesNoDimmer
import Data.Flags exposing (Flags)
import Data.ItemNav exposing (ItemNav)
import Data.ItemQuery as Q
@ -110,8 +108,7 @@ init flags viewMode =
, moreInProgress = False
, throttle = Throttle.create 1
, searchTypeDropdown =
Comp.FixedDropdown.initMap searchTypeString
searchTypeOptions
Comp.FixedDropdown.init searchTypeOptions
, searchTypeDropdownValue =
if Comp.SearchMenu.isFulltextSearch searchMenuModel then
ContentOnlySearch
@ -226,16 +223,6 @@ type alias SearchParam =
}
searchTypeString : SearchType -> String
searchTypeString st =
case st of
BasicSearch ->
"Names"
ContentOnlySearch ->
"Contents"
itemNav : String -> Model -> ItemNav
itemNav id model =
Data.ItemNav.fromList model.itemListModel.results id

View File

@ -9,7 +9,6 @@ module Page.Upload.Data exposing
, isIdle
, isLoading
, isSuccessAll
, mkLanguageItem
, uploadAllTracker
)
@ -38,11 +37,6 @@ type alias Model =
}
mkLanguageItem : Language -> Comp.FixedDropdown.Item Language
mkLanguageItem lang =
Comp.FixedDropdown.Item lang (Data.Language.toName lang) Nothing
emptyModel : Model
emptyModel =
{ incoming = True
@ -54,8 +48,7 @@ emptyModel =
, dropzone = Comp.Dropzone.init []
, skipDuplicates = True
, languageModel =
Comp.FixedDropdown.init
(List.map mkLanguageItem Data.Language.all)
Comp.FixedDropdown.init Data.Language.all
, language = Nothing
}

View File

@ -5,6 +5,7 @@ import Comp.FixedDropdown
import Comp.Progress
import Data.DropdownStyle as DS
import Data.Flags exposing (Flags)
import Data.Language
import Data.UiSettings exposing (UiSettings)
import Dict
import File exposing (File)
@ -71,6 +72,13 @@ viewContent texts mid _ _ model =
renderForm : Texts -> Model -> Html Msg
renderForm texts model =
let
languageCfg =
{ display = Data.Language.toName
, icon = \_ -> Nothing
, style = DS.mainStyleWith "w-40"
}
in
div [ class "row" ]
[ Html.form [ action "#" ]
[ div [ class "flex flex-col mb-3" ]
@ -128,9 +136,9 @@ renderForm texts model =
[ span [ class "mr-2" ] [ text (texts.language ++ ":") ]
, Html.map LanguageMsg
(Comp.FixedDropdown.viewStyled2
(DS.mainStyleWith "w-40")
languageCfg
False
(Maybe.map mkLanguageItem model.language)
model.language
model.languageModel
)
]