summaryrefslogtreecommitdiff
path: root/elm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2022-09-28 09:35:45 +0200
committerYorhel <git@yorhel.nl>2022-09-28 09:35:55 +0200
commit0ba0c3df1f04eec6439dac11292db8ee3d50077f (patch)
tree273c83d0b5dc69b0b8ba43023db5b75dd85f1d38 /elm
parent633080401f3345ea8c08503b27d0579cf95d49f2 (diff)
Order JA and EN first in various language selection dropdowns
Diffstat (limited to 'elm')
-rw-r--r--elm/AdvSearch/Set.elm15
-rw-r--r--elm/Lib/Util.elm16
-rw-r--r--elm/ProducerEdit.elm2
-rw-r--r--elm/ReleaseEdit.elm2
-rw-r--r--elm/StaffEdit.elm2
-rw-r--r--elm/VNEdit.elm4
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"]
]