Externalize more strings

This commit is contained in:
Eike Kettner 2021-04-17 10:19:05 +02:00
parent 90a86bdd82
commit b3c3c783dc
9 changed files with 159 additions and 140 deletions

View File

@ -0,0 +1,60 @@
module Comp.ExpandCollapse exposing
( collapseToggle
, expandToggle
)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Messages.Comp.ExpandCollapse exposing (Texts)
import Styles as S
type alias Model =
{ max : Int
, all : Int
}
--- View2
expandToggle : Texts -> Model -> msg -> List (Html msg)
expandToggle texts model m =
if model.max >= model.all then
[]
else
[ a
[ class S.link
, class "flex flex-row items-center"
, onClick m
, href "#"
]
[ i [ class "fa fa-angle-down" ] []
, div [ class "font-italics text-sm ml-2" ]
[ text texts.showMoreLabel
]
]
]
collapseToggle : Texts -> Model -> msg -> List (Html msg)
collapseToggle texts model m =
if model.max >= model.all then
[]
else
[ a
[ class S.link
, class "flex flex-row items-center"
, onClick m
, href "#"
]
[ i [ class "fa fa-angle-up" ] []
, div [ class "font-italics text-sm ml-2" ]
[ text texts.showLessLabel
]
]
]

View File

@ -11,11 +11,12 @@ module Comp.FolderSelect exposing
) )
import Api.Model.FolderStats exposing (FolderStats) import Api.Model.FolderStats exposing (FolderStats)
import Comp.ExpandCollapse
import Dict import Dict
import Html exposing (..) import Html exposing (..)
import Html.Attributes exposing (..) import Html.Attributes exposing (..)
import Html.Events exposing (onClick) import Html.Events exposing (onClick)
import Util.ExpandCollapse import Messages.Comp.FolderSelect exposing (Texts)
import Util.ItemDragDrop as DD import Util.ItemDragDrop as DD
import Util.List import Util.List
@ -134,24 +135,28 @@ selectedFolder model =
--- View2 --- View2
expandToggle : Int -> Model -> List (Html Msg) expandToggle : Texts -> Int -> Model -> List (Html Msg)
expandToggle max model = expandToggle texts max model =
Util.ExpandCollapse.expandToggle Comp.ExpandCollapse.expandToggle
max texts.expandCollapse
(List.length model.all) { max = max
, all = List.length model.all
}
ToggleExpand ToggleExpand
collapseToggle : Int -> Model -> List (Html Msg) collapseToggle : Texts -> Int -> Model -> List (Html Msg)
collapseToggle max model = collapseToggle texts max model =
Util.ExpandCollapse.collapseToggle Comp.ExpandCollapse.collapseToggle
max texts.expandCollapse
(List.length model.all) { max = max
, all = List.length model.all
}
ToggleExpand ToggleExpand
viewDrop2 : DD.Model -> Int -> Model -> Html Msg viewDrop2 : Texts -> DD.Model -> Int -> Model -> Html Msg
viewDrop2 dropModel constr model = viewDrop2 texts dropModel constr model =
let let
highlightDrop = highlightDrop =
DD.getDropId dropModel == Just DD.FolderRemove DD.getDropId dropModel == Just DD.FolderRemove
@ -169,20 +174,20 @@ viewDrop2 dropModel constr model =
[ text "Folders" [ text "Folders"
] ]
, div [ class "flex flex-col space-y-2 md:space-y-1" ] , div [ class "flex flex-col space-y-2 md:space-y-1" ]
(renderItems2 dropModel constr model) (renderItems2 texts dropModel constr model)
] ]
renderItems2 : DD.Model -> Int -> Model -> List (Html Msg) renderItems2 : Texts -> DD.Model -> Int -> Model -> List (Html Msg)
renderItems2 dropModel constr model = renderItems2 texts dropModel constr model =
if constr <= 0 then if constr <= 0 then
List.map (viewItem2 dropModel model) model.all List.map (viewItem2 dropModel model) model.all
else if model.expanded then else if model.expanded then
List.map (viewItem2 dropModel model) model.all ++ collapseToggle constr model List.map (viewItem2 dropModel model) model.all ++ collapseToggle texts constr model
else else
List.map (viewItem2 dropModel model) (List.take constr model.all) ++ expandToggle constr model List.map (viewItem2 dropModel model) (List.take constr model.all) ++ expandToggle texts constr model
viewItem2 : DD.Model -> Model -> FolderStats -> Html Msg viewItem2 : DD.Model -> Model -> FolderStats -> Html Msg

View File

@ -1223,6 +1223,7 @@ searchTabs texts ddd flags settings model =
, body = , body =
[ Html.map TagSelectMsg [ Html.map TagSelectMsg
(Comp.TagSelect.viewCats2 (Comp.TagSelect.viewCats2
texts.tagSelect
settings settings
tagSelectWM tagSelectWM
model.tagSelectModel model.tagSelectModel
@ -1235,7 +1236,8 @@ searchTabs texts ddd flags settings model =
, info = Nothing , info = Nothing
, body = , body =
[ Html.map FolderSelectMsg [ Html.map FolderSelectMsg
(Comp.FolderSelect.viewDrop2 ddd.model (Comp.FolderSelect.viewDrop2 texts.folderSelect
ddd.model
settings.searchMenuFolderCount settings.searchMenuFolderCount
model.folderList model.folderList
) )

View File

@ -21,6 +21,7 @@ module Comp.TagSelect exposing
import Api.Model.NameCount exposing (NameCount) import Api.Model.NameCount exposing (NameCount)
import Api.Model.Tag exposing (Tag) import Api.Model.Tag exposing (Tag)
import Api.Model.TagCount exposing (TagCount) import Api.Model.TagCount exposing (TagCount)
import Comp.ExpandCollapse
import Data.Icons as I import Data.Icons as I
import Data.UiSettings exposing (UiSettings) import Data.UiSettings exposing (UiSettings)
import Dict exposing (Dict) import Dict exposing (Dict)
@ -32,7 +33,6 @@ import Set
import Simple.Fuzzy import Simple.Fuzzy
import String as S import String as S
import Styles as S import Styles as S
import Util.ExpandCollapse
import Util.ItemDragDrop as DD import Util.ItemDragDrop as DD
import Util.Maybe import Util.Maybe
@ -405,7 +405,7 @@ viewAll2 texts ddm settings sel model =
wm = wm =
makeWorkModel sel model makeWorkModel sel model
in in
viewTagsDrop2 texts ddm wm settings model ++ [ viewCats2 settings wm model ] viewTagsDrop2 texts ddm wm settings model ++ [ viewCats2 texts settings wm model ]
viewTagsDrop2 : Texts -> DD.Model -> WorkModel -> UiSettings -> Model -> List (Html Msg) viewTagsDrop2 : Texts -> DD.Model -> WorkModel -> UiSettings -> Model -> List (Html Msg)
@ -440,20 +440,20 @@ viewTagsDrop2 texts ddm wm settings model =
] ]
] ]
, div [ class "flex flex-col space-y-2 md:space-y-1" ] , div [ class "flex flex-col space-y-2 md:space-y-1" ]
(renderTagItems2 ddm settings model wm) (renderTagItems2 texts ddm settings model wm)
] ]
viewCats2 : UiSettings -> WorkModel -> Model -> Html Msg viewCats2 : Texts -> UiSettings -> WorkModel -> Model -> Html Msg
viewCats2 settings wm model = viewCats2 texts settings wm model =
div [ class "flex flex-col" ] div [ class "flex flex-col" ]
[ div [ class "flex flex-col space-y-2 md:space-y-1" ] [ div [ class "flex flex-col space-y-2 md:space-y-1" ]
(renderCatItems2 settings model wm) (renderCatItems2 texts settings model wm)
] ]
renderTagItems2 : DD.Model -> UiSettings -> Model -> WorkModel -> List (Html Msg) renderTagItems2 : Texts -> DD.Model -> UiSettings -> Model -> WorkModel -> List (Html Msg)
renderTagItems2 ddm settings model wm = renderTagItems2 texts ddm settings model wm =
let let
tags = tags =
wm.filteredTags wm.filteredTags
@ -462,15 +462,19 @@ renderTagItems2 ddm settings model wm =
settings.searchMenuTagCount settings.searchMenuTagCount
expLink = expLink =
Util.ExpandCollapse.expandToggle2 Comp.ExpandCollapse.expandToggle
max texts.expandCollapse
(List.length tags) { max = max
, all = List.length tags
}
ToggleExpandTags ToggleExpandTags
cpsLink = cpsLink =
Util.ExpandCollapse.collapseToggle2 Comp.ExpandCollapse.collapseToggle
max texts.expandCollapse
(List.length tags) { max = max
, all = List.length tags
}
ToggleExpandTags ToggleExpandTags
in in
if max <= 0 then if max <= 0 then
@ -557,8 +561,8 @@ viewCategoryItem2 settings model cat =
] ]
renderCatItems2 : UiSettings -> Model -> WorkModel -> List (Html Msg) renderCatItems2 : Texts -> UiSettings -> Model -> WorkModel -> List (Html Msg)
renderCatItems2 settings model wm = renderCatItems2 texts settings model wm =
let let
cats = cats =
wm.filteredCats wm.filteredCats
@ -567,15 +571,19 @@ renderCatItems2 settings model wm =
settings.searchMenuTagCatCount settings.searchMenuTagCatCount
expLink = expLink =
Util.ExpandCollapse.expandToggle2 Comp.ExpandCollapse.expandToggle
max texts.expandCollapse
(List.length cats) { max = max
, all = List.length cats
}
ToggleExpandCats ToggleExpandCats
cpsLink = cpsLink =
Util.ExpandCollapse.collapseToggle2 Comp.ExpandCollapse.collapseToggle
max texts.expandCollapse
(List.length cats) { max = max
, all = List.length cats
}
ToggleExpandCats ToggleExpandCats
in in
if max <= 0 then if max <= 0 then

View File

@ -0,0 +1,17 @@
module Messages.Comp.ExpandCollapse exposing
( Texts
, gb
)
type alias Texts =
{ showMoreLabel : String
, showLessLabel : String
}
gb : Texts
gb =
{ showMoreLabel = "Show More "
, showLessLabel = "Show Less "
}

View File

@ -0,0 +1,17 @@
module Messages.Comp.FolderSelect exposing
( Texts
, gb
)
import Messages.Comp.ExpandCollapse
type alias Texts =
{ expandCollapse : Messages.Comp.ExpandCollapse.Texts
}
gb : Texts
gb =
{ expandCollapse = Messages.Comp.ExpandCollapse.gb
}

View File

@ -2,6 +2,7 @@ module Messages.Comp.SearchMenu exposing (Texts, gb)
import Messages.Basics import Messages.Basics
import Messages.Comp.CustomFieldMultiInput import Messages.Comp.CustomFieldMultiInput
import Messages.Comp.FolderSelect
import Messages.Comp.TagSelect import Messages.Comp.TagSelect
@ -9,6 +10,7 @@ type alias Texts =
{ basics : Messages.Basics.Texts { basics : Messages.Basics.Texts
, customFieldMultiInput : Messages.Comp.CustomFieldMultiInput.Texts , customFieldMultiInput : Messages.Comp.CustomFieldMultiInput.Texts
, tagSelect : Messages.Comp.TagSelect.Texts , tagSelect : Messages.Comp.TagSelect.Texts
, folderSelect : Messages.Comp.FolderSelect.Texts
, chooseDirection : String , chooseDirection : String
, choosePerson : String , choosePerson : String
, chooseEquipment : String , chooseEquipment : String
@ -38,6 +40,7 @@ gb =
{ basics = Messages.Basics.gb { basics = Messages.Basics.gb
, customFieldMultiInput = Messages.Comp.CustomFieldMultiInput.gb , customFieldMultiInput = Messages.Comp.CustomFieldMultiInput.gb
, tagSelect = Messages.Comp.TagSelect.gb , tagSelect = Messages.Comp.TagSelect.gb
, folderSelect = Messages.Comp.FolderSelect.gb
, chooseDirection = "Choose a direction" , chooseDirection = "Choose a direction"
, choosePerson = "Choose a person" , choosePerson = "Choose a person"
, chooseEquipment = "Choose an equipment" , chooseEquipment = "Choose an equipment"

View File

@ -1,8 +1,11 @@
module Messages.Comp.TagSelect exposing (Texts, gb) module Messages.Comp.TagSelect exposing (Texts, gb)
import Messages.Comp.ExpandCollapse
type alias Texts = type alias Texts =
{ hideEmpty : String { expandCollapse : Messages.Comp.ExpandCollapse.Texts
, hideEmpty : String
, showEmpty : String , showEmpty : String
, filterPlaceholder : String , filterPlaceholder : String
} }
@ -10,7 +13,8 @@ type alias Texts =
gb : Texts gb : Texts
gb = gb =
{ hideEmpty = "Hide empty" { expandCollapse = Messages.Comp.ExpandCollapse.gb
, hideEmpty = "Hide empty"
, showEmpty = "Show empty" , showEmpty = "Show empty"
, filterPlaceholder = "Filter " , filterPlaceholder = "Filter "
} }

View File

@ -1,97 +0,0 @@
module Util.ExpandCollapse exposing
( collapseToggle
, collapseToggle2
, expandToggle
, expandToggle2
)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
import Styles as S
expandToggle : Int -> Int -> msg -> List (Html msg)
expandToggle max all m =
if max >= all then
[]
else
[ a
[ class "item"
, onClick m
, href "#"
]
[ i [ class "angle down icon" ] []
, div [ class "content" ]
[ div [ class "description" ]
[ em [] [ text "Show More " ]
]
]
]
]
collapseToggle : Int -> Int -> msg -> List (Html msg)
collapseToggle max all m =
if max >= all then
[]
else
[ a
[ class "item"
, onClick m
, href "#"
]
[ i [ class "angle up icon" ] []
, div [ class "content" ]
[ div [ class "description" ]
[ em [] [ text "Show Less " ]
]
]
]
]
--- View2
expandToggle2 : Int -> Int -> msg -> List (Html msg)
expandToggle2 max all m =
if max >= all then
[]
else
[ a
[ class S.link
, class "flex flex-row items-center"
, onClick m
, href "#"
]
[ i [ class "fa fa-angle-down" ] []
, div [ class "font-italics text-sm ml-2" ]
[ text "Show More "
]
]
]
collapseToggle2 : Int -> Int -> msg -> List (Html msg)
collapseToggle2 max all m =
if max >= all then
[]
else
[ a
[ class S.link
, class "flex flex-row items-center"
, onClick m
, href "#"
]
[ i [ class "fa fa-angle-up" ] []
, div [ class "font-italics text-sm ml-2" ]
[ text "Show Less "
]
]
]