mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 02:48:26 +00:00
Display custom field values on item card
This commit is contained in:
@ -25,6 +25,7 @@ import Html.Events exposing (onClick)
|
||||
import Markdown
|
||||
import Page exposing (Page(..))
|
||||
import Set exposing (Set)
|
||||
import Util.CustomField
|
||||
import Util.ItemDragDrop as DD
|
||||
import Util.List
|
||||
import Util.Maybe
|
||||
@ -360,28 +361,48 @@ mainContent cardAction cardColor isConfirmed settings _ item =
|
||||
[ Util.Time.formatDate item.date |> text
|
||||
]
|
||||
, div [ class "meta description" ]
|
||||
[ div
|
||||
[ classList
|
||||
[ ( "ui right floated tiny labels", True )
|
||||
, ( "invisible hidden", item.tags == [] || fieldHidden Data.Fields.Tag )
|
||||
]
|
||||
]
|
||||
(List.map
|
||||
(\tag ->
|
||||
div
|
||||
[ classList
|
||||
[ ( "ui basic label", True )
|
||||
, ( Data.UiSettings.tagColorString tag settings, True )
|
||||
]
|
||||
]
|
||||
[ text tag.name ]
|
||||
)
|
||||
item.tags
|
||||
)
|
||||
[ mainTagsAndFields settings item
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
mainTagsAndFields : UiSettings -> ItemLight -> Html Msg
|
||||
mainTagsAndFields settings item =
|
||||
let
|
||||
fieldHidden f =
|
||||
Data.UiSettings.fieldHidden settings f
|
||||
|
||||
hideTags =
|
||||
item.tags == [] || fieldHidden Data.Fields.Tag
|
||||
|
||||
hideFields =
|
||||
item.customfields == [] || fieldHidden Data.Fields.CustomFields
|
||||
|
||||
showTag tag =
|
||||
div
|
||||
[ classList
|
||||
[ ( "ui basic label", True )
|
||||
, ( Data.UiSettings.tagColorString tag settings, True )
|
||||
]
|
||||
]
|
||||
[ i [ class "tag icon" ] []
|
||||
, div [ class "detail" ]
|
||||
[ text tag.name
|
||||
]
|
||||
]
|
||||
|
||||
showField fv =
|
||||
Util.CustomField.renderValue "ui basic label" fv
|
||||
in
|
||||
div
|
||||
[ classList
|
||||
[ ( "ui right floated tiny labels", True )
|
||||
, ( "invisible hidden", hideTags && hideFields )
|
||||
]
|
||||
]
|
||||
(List.map showField item.customfields ++ List.map showTag item.tags)
|
||||
|
||||
|
||||
previewImage : UiSettings -> Attribute Msg -> Model -> ItemLight -> Html Msg
|
||||
previewImage settings cardAction model item =
|
||||
let
|
||||
|
@ -32,6 +32,7 @@ import Html.Events exposing (onCheck, onClick, onInput)
|
||||
import Markdown
|
||||
import Page exposing (Page(..))
|
||||
import Set
|
||||
import Util.CustomField
|
||||
import Util.File exposing (makeFileId)
|
||||
import Util.Folder
|
||||
import Util.List
|
||||
@ -628,30 +629,8 @@ renderTags settings model =
|
||||
renderCustomValues : UiSettings -> Model -> List (Html Msg)
|
||||
renderCustomValues settings model =
|
||||
let
|
||||
cfIcon cv =
|
||||
Data.CustomFieldType.fromString cv.ftype
|
||||
|> Maybe.map (Icons.customFieldTypeIcon "")
|
||||
|> Maybe.withDefault (i [ class "question circle outline icon" ] [])
|
||||
|
||||
renderBool cv =
|
||||
if cv.value == "true" then
|
||||
i [ class "check icon" ] []
|
||||
|
||||
else
|
||||
i [ class "minus icon" ] []
|
||||
|
||||
fieldView cv =
|
||||
div [ class "ui secondary basic label" ]
|
||||
[ cfIcon cv
|
||||
, Maybe.withDefault cv.name cv.label |> text
|
||||
, div [ class "detail" ]
|
||||
[ if Data.CustomFieldType.fromString cv.ftype == Just Data.CustomFieldType.Boolean then
|
||||
renderBool cv
|
||||
|
||||
else
|
||||
text cv.value
|
||||
]
|
||||
]
|
||||
Util.CustomField.renderValue "ui secondary basic label" cv
|
||||
|
||||
labelThenName cv =
|
||||
Maybe.withDefault cv.name cv.label
|
||||
|
Reference in New Issue
Block a user