diff options
author | Yorhel <git@yorhel.nl> | 2022-09-28 09:35:45 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2022-09-28 09:35:55 +0200 |
commit | 0ba0c3df1f04eec6439dac11292db8ee3d50077f (patch) | |
tree | 273c83d0b5dc69b0b8ba43023db5b75dd85f1d38 /elm | |
parent | 633080401f3345ea8c08503b27d0579cf95d49f2 (diff) |
Order JA and EN first in various language selection dropdowns
Diffstat (limited to 'elm')
-rw-r--r-- | elm/AdvSearch/Set.elm | 15 | ||||
-rw-r--r-- | elm/Lib/Util.elm | 16 | ||||
-rw-r--r-- | elm/ProducerEdit.elm | 2 | ||||
-rw-r--r-- | elm/ReleaseEdit.elm | 2 | ||||
-rw-r--r-- | elm/StaffEdit.elm | 2 | ||||
-rw-r--r-- | elm/VNEdit.elm | 4 |
6 files changed, 27 insertions, 14 deletions
diff --git a/elm/AdvSearch/Set.elm b/elm/AdvSearch/Set.elm index 68984fcc..65000b9f 100644 --- a/elm/AdvSearch/Set.elm +++ b/elm/AdvSearch/Set.elm @@ -130,15 +130,12 @@ langView (field, model) = LangRel -> True LangProd -> False LangStaff -> False - splitChinese = case field of - LangVN -> True - LangVNO -> True - LangRel -> True - LangProd -> False - LangStaff -> False - lst = if splitChinese - then List.filter (\(e,_) -> e /= "zh") GT.languages - else List.filter (\(e,_) -> e /= "zh-Hans" && e /= "zh-Hant") GT.languages + lst = case field of + LangVN -> scriptLangs + LangVNO -> scriptLangs + LangRel -> scriptLangs + LangProd -> locLangs + LangStaff -> locLangs in ( case Set.toList model.sel of [] -> b [ class "grayedout" ] [ text label ] diff --git a/elm/Lib/Util.elm b/elm/Lib/Util.elm index e08e617b..7c67f269 100644 --- a/elm/Lib/Util.elm +++ b/elm/Lib/Util.elm @@ -6,6 +6,7 @@ import Process import Regex import Lib.Ffi as Ffi import Gen.Api as GApi +import Gen.Types as GT -- Delete an element from a List delidx : Int -> List a -> List a @@ -102,6 +103,21 @@ containsNonLatin : String -> Bool containsNonLatin = Regex.contains nonlatin_ +-- List of script-languages (i.e. not the generic "Chinese" option), with JA and EN ordered first. +scriptLangs : List (String, String) +scriptLangs = + (List.filter (\(l,_) -> l == "ja") GT.languages) + ++ (List.filter (\(l,_) -> l == "en") GT.languages) + ++ (List.filter (\(l,_) -> l /= "zh" && l /= "en" && l /= "ja") GT.languages) + +-- "Location languages", i.e. generic language without script indicator, again with JA and EN ordered first. +locLangs : List (String, String) +locLangs = + (List.filter (\(l,_) -> l == "ja") GT.languages) + ++ (List.filter (\(l,_) -> l == "en") GT.languages) + ++ (List.filter (\(l,_) -> l /= "zh-Hans" && l /= "zh-Hant" && l /= "en" && l /= "ja") GT.languages) + + -- Format a release resolution, first argument indicates whether empty string is to be used for "unknown" resoFmt : Bool -> Int -> Int -> String resoFmt empty x y = diff --git a/elm/ProducerEdit.elm b/elm/ProducerEdit.elm index e704bd9f..e4411c75 100644 --- a/elm/ProducerEdit.elm +++ b/elm/ProducerEdit.elm @@ -175,7 +175,7 @@ view model = geninfo = [ formField "ptype::Type" [ inputSelect "ptype" model.ptype PType [] GT.producerTypes ] ] ++ titles ++ - [ formField "lang::Primary language" [ inputSelect "lang" model.lang Lang [] (List.filter (\(e,_) -> e /= "zh-Hans" && e /= "zh-Hant") GT.languages) ] + [ formField "lang::Primary language" [ inputSelect "lang" model.lang Lang [] locLangs ] , formField "website::Website" [ inputText "website" model.website Website GPE.valWebsite ] , formField "l_wikidata::Wikidata ID" [ inputWikidata "l_wikidata" model.lWikidata LWikidata [] ] , formField "desc::Description" diff --git a/elm/ReleaseEdit.elm b/elm/ReleaseEdit.elm index 82623745..8267aa40 100644 --- a/elm/ReleaseEdit.elm +++ b/elm/ReleaseEdit.elm @@ -395,7 +395,7 @@ viewGen model = table [ class "formtable" ] <| [ formField "Languages & titles" [ table [] <| List.indexedMap (viewTitle model) model.titles - , inputSelect "" "" TitleAdd [] <| ("", "- Add language -") :: List.filter (\(l,_) -> l /= "zh" && not (List.any (\e -> e.lang == l) model.titles)) GT.languages + , inputSelect "" "" TitleAdd [] <| ("", "- Add language -") :: List.filter (\(l,_) -> not (List.any (\e -> e.lang == l) model.titles)) scriptLangs ] , tr [ class "newpart" ] [ td [] [] ] diff --git a/elm/StaffEdit.elm b/elm/StaffEdit.elm index 91e72461..f4472c19 100644 --- a/elm/StaffEdit.elm +++ b/elm/StaffEdit.elm @@ -226,7 +226,7 @@ view model = , ("f", "Female") , ("m", "Male") ] ] - , formField "lang::Primary Language" [ inputSelect "lang" model.lang Lang [] (List.filter (\(e,_) -> e /= "zh-Hans" && e /= "zh-Hant") GT.languages) ] + , formField "lang::Primary Language" [ inputSelect "lang" model.lang Lang [] locLangs ] , formField "l_site::Official page" [ inputText "l_site" model.l_site Website (style "width" "400px" :: GSE.valL_Site) ] , formField "l_wikidata::Wikidata ID" [ inputWikidata "l_wikidata" model.l_wikidata LWikidata [] ] , formField "l_twitter::Twitter username" [ inputText "l_twitter" model.l_twitter LTwitter GSE.valL_Twitter ] diff --git a/elm/VNEdit.elm b/elm/VNEdit.elm index 1cf1a520..99bf6ea6 100644 --- a/elm/VNEdit.elm +++ b/elm/VNEdit.elm @@ -416,7 +416,7 @@ view model = in [ formField "Title(s)" [ table [] <| List.indexedMap title model.titles - , inputSelect "" "" TitleAdd [] <| ("", "- Add title -") :: List.filter (\(l,_) -> l /= "zh" && not (List.any (\e -> e.lang == l) model.titles)) GT.languages + , inputSelect "" "" TitleAdd [] <| ("", "- Add title -") :: List.filter (\(l,_) -> not (List.any (\e -> e.lang == l) model.titles)) scriptLangs , br_ 2 ] , formField "alias::Aliases" @@ -556,7 +556,7 @@ view model = div [style "margin" "5px 0 0 15px"] [ inputText "" e.name (EditionName (searchn-1)) (placeholder "Edition title" :: style "width" "300px" :: onInvalid (Invalid Staff) :: GVE.valEditionsName) , inputSelect "" e.lang (EditionLang (searchn-1)) [style "width" "150px"] - ((Nothing, "Original language") :: List.map (\(i,l) -> (Just i, l)) (List.filter (\(l,_) -> l /= "zh") GT.languages)) + ((Nothing, "Original language") :: List.map (\(i,l) -> (Just i, l)) scriptLangs) , text " ", label [] [ inputCheck "" e.official (EditionOfficial (searchn-1)), text " official" ] , inputButton "remove edition" (EditionDel (searchn-1) e.eid) [style "margin-left" "30px"] ] |