mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-06 15:15:58 +00:00
Put number of folders to display in ui settings
This commit is contained in:
parent
873d9fafc3
commit
c8ad9bf11f
@ -30,6 +30,8 @@ type alias Model =
|
|||||||
, itemSearchNoteLength : Maybe Int
|
, itemSearchNoteLength : Maybe Int
|
||||||
, searchNoteLengthModel : Comp.IntField.Model
|
, searchNoteLengthModel : Comp.IntField.Model
|
||||||
, itemDetailNotesPosition : Pos
|
, itemDetailNotesPosition : Pos
|
||||||
|
, searchMenuFolders : Maybe Int
|
||||||
|
, searchMenuFoldersModel : Comp.IntField.Model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -56,6 +58,13 @@ init flags settings =
|
|||||||
False
|
False
|
||||||
"Max. Note Length"
|
"Max. Note Length"
|
||||||
, itemDetailNotesPosition = settings.itemDetailNotesPosition
|
, itemDetailNotesPosition = settings.itemDetailNotesPosition
|
||||||
|
, searchMenuFolders = Just settings.searchMenuFolders
|
||||||
|
, searchMenuFoldersModel =
|
||||||
|
Comp.IntField.init
|
||||||
|
(Just 0)
|
||||||
|
(Just 2000)
|
||||||
|
False
|
||||||
|
"Number of folders in search menu"
|
||||||
}
|
}
|
||||||
, Api.getTags flags "" GetTagsResp
|
, Api.getTags flags "" GetTagsResp
|
||||||
)
|
)
|
||||||
@ -68,6 +77,7 @@ type Msg
|
|||||||
| TogglePdfPreview
|
| TogglePdfPreview
|
||||||
| NoteLengthMsg Comp.IntField.Msg
|
| NoteLengthMsg Comp.IntField.Msg
|
||||||
| SetNotesPosition Pos
|
| SetNotesPosition Pos
|
||||||
|
| SearchMenuFolderMsg Comp.IntField.Msg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -109,6 +119,22 @@ update sett msg model =
|
|||||||
in
|
in
|
||||||
( model_, nextSettings )
|
( model_, nextSettings )
|
||||||
|
|
||||||
|
SearchMenuFolderMsg lm ->
|
||||||
|
let
|
||||||
|
( m, n ) =
|
||||||
|
Comp.IntField.update lm model.searchMenuFoldersModel
|
||||||
|
|
||||||
|
nextSettings =
|
||||||
|
Maybe.map (\len -> { sett | searchMenuFolders = len }) n
|
||||||
|
|
||||||
|
model_ =
|
||||||
|
{ model
|
||||||
|
| searchMenuFoldersModel = m
|
||||||
|
, searchMenuFolders = n
|
||||||
|
}
|
||||||
|
in
|
||||||
|
( model_, nextSettings )
|
||||||
|
|
||||||
SetNotesPosition pos ->
|
SetNotesPosition pos ->
|
||||||
let
|
let
|
||||||
model_ =
|
model_ =
|
||||||
@ -204,6 +230,15 @@ view flags _ model =
|
|||||||
"field"
|
"field"
|
||||||
model.searchNoteLengthModel
|
model.searchNoteLengthModel
|
||||||
)
|
)
|
||||||
|
, div [ class "ui dividing header" ]
|
||||||
|
[ text "Search Menu" ]
|
||||||
|
, Html.map SearchMenuFolderMsg
|
||||||
|
(Comp.IntField.viewWithInfo
|
||||||
|
"How many folders to display in search menu at once. Other folders can be expanded."
|
||||||
|
model.searchMenuFolders
|
||||||
|
"field"
|
||||||
|
model.searchMenuFoldersModel
|
||||||
|
)
|
||||||
, div [ class "ui dividing header" ]
|
, div [ class "ui dividing header" ]
|
||||||
[ text "Item Detail"
|
[ text "Item Detail"
|
||||||
]
|
]
|
||||||
|
@ -31,6 +31,7 @@ type alias StoredUiSettings =
|
|||||||
, nativePdfPreview : Bool
|
, nativePdfPreview : Bool
|
||||||
, itemSearchNoteLength : Maybe Int
|
, itemSearchNoteLength : Maybe Int
|
||||||
, itemDetailNotesPosition : Maybe String
|
, itemDetailNotesPosition : Maybe String
|
||||||
|
, searchMenuFolders : Maybe Int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ type alias UiSettings =
|
|||||||
, nativePdfPreview : Bool
|
, nativePdfPreview : Bool
|
||||||
, itemSearchNoteLength : Int
|
, itemSearchNoteLength : Int
|
||||||
, itemDetailNotesPosition : Pos
|
, itemDetailNotesPosition : Pos
|
||||||
|
, searchMenuFolders : Int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -85,6 +87,7 @@ defaults =
|
|||||||
, nativePdfPreview = False
|
, nativePdfPreview = False
|
||||||
, itemSearchNoteLength = 0
|
, itemSearchNoteLength = 0
|
||||||
, itemDetailNotesPosition = Top
|
, itemDetailNotesPosition = Top
|
||||||
|
, searchMenuFolders = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -106,6 +109,9 @@ merge given fallback =
|
|||||||
, itemDetailNotesPosition =
|
, itemDetailNotesPosition =
|
||||||
choose (Maybe.andThen posFromString given.itemDetailNotesPosition)
|
choose (Maybe.andThen posFromString given.itemDetailNotesPosition)
|
||||||
fallback.itemDetailNotesPosition
|
fallback.itemDetailNotesPosition
|
||||||
|
, searchMenuFolders =
|
||||||
|
choose given.searchMenuFolders
|
||||||
|
fallback.searchMenuFolders
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -123,6 +129,7 @@ toStoredUiSettings settings =
|
|||||||
, nativePdfPreview = settings.nativePdfPreview
|
, nativePdfPreview = settings.nativePdfPreview
|
||||||
, itemSearchNoteLength = Just settings.itemSearchNoteLength
|
, itemSearchNoteLength = Just settings.itemSearchNoteLength
|
||||||
, itemDetailNotesPosition = Just (posToString settings.itemDetailNotesPosition)
|
, itemDetailNotesPosition = Just (posToString settings.itemDetailNotesPosition)
|
||||||
|
, searchMenuFolders = Just settings.searchMenuFolders
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,13 +57,12 @@ fromString str =
|
|||||||
|
|
||||||
filter : (a -> Bool) -> Maybe a -> Maybe a
|
filter : (a -> Bool) -> Maybe a -> Maybe a
|
||||||
filter predicate ma =
|
filter predicate ma =
|
||||||
case ma of
|
let
|
||||||
Just v ->
|
check v =
|
||||||
if predicate v then
|
if predicate v then
|
||||||
Just v
|
Just v
|
||||||
|
|
||||||
else
|
else
|
||||||
Nothing
|
Nothing
|
||||||
|
in
|
||||||
Nothing ->
|
Maybe.andThen check ma
|
||||||
Nothing
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user