mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-03-25 16:45:05 +00:00
Click on tag in item detail to switch to search
This commit is contained in:
parent
fe8c122968
commit
b98edba9e5
@ -2,6 +2,7 @@ module Comp.ItemDetail.View exposing (view)
|
||||
|
||||
import Api
|
||||
import Api.Model.Attachment exposing (Attachment)
|
||||
import Api.Model.IdName exposing (IdName)
|
||||
import Comp.AttachmentMeta
|
||||
import Comp.DatePicker
|
||||
import Comp.DetailEdit
|
||||
@ -615,14 +616,12 @@ renderTags settings model =
|
||||
[ div [ class "ui right aligned fluid container" ] <|
|
||||
List.map
|
||||
(\t ->
|
||||
div
|
||||
[ classList
|
||||
[ ( "ui tag label", True )
|
||||
, ( Data.UiSettings.tagColorString t settings, True )
|
||||
]
|
||||
]
|
||||
[ text t.name
|
||||
Comp.LinkTarget.makeTagLink
|
||||
(IdName t.id t.name)
|
||||
[ ( "ui tag label", True )
|
||||
, ( Data.UiSettings.tagColorString t settings, True )
|
||||
]
|
||||
SetLinkTarget
|
||||
)
|
||||
model.item.tags
|
||||
]
|
||||
|
@ -3,6 +3,7 @@ module Comp.LinkTarget exposing
|
||||
, makeConcLink
|
||||
, makeCorrLink
|
||||
, makeFolderLink
|
||||
, makeTagLink
|
||||
)
|
||||
|
||||
import Api.Model.IdName exposing (IdName)
|
||||
@ -17,6 +18,7 @@ type LinkTarget
|
||||
| LinkConcPerson IdName
|
||||
| LinkConcEquip IdName
|
||||
| LinkFolder IdName
|
||||
| LinkTag IdName
|
||||
| LinkNone
|
||||
|
||||
|
||||
@ -27,10 +29,10 @@ makeCorrLink :
|
||||
makeCorrLink item tagger =
|
||||
let
|
||||
makeOrg idname =
|
||||
makeLink (LinkCorrOrg >> tagger) idname
|
||||
makeLink [] (LinkCorrOrg >> tagger) idname
|
||||
|
||||
makePerson idname =
|
||||
makeLink (LinkCorrPerson >> tagger) idname
|
||||
makeLink [] (LinkCorrPerson >> tagger) idname
|
||||
in
|
||||
combine (Maybe.map makeOrg item.corrOrg) (Maybe.map makePerson item.corrPerson)
|
||||
|
||||
@ -42,10 +44,10 @@ makeConcLink :
|
||||
makeConcLink item tagger =
|
||||
let
|
||||
makePerson idname =
|
||||
makeLink (LinkConcPerson >> tagger) idname
|
||||
makeLink [] (LinkConcPerson >> tagger) idname
|
||||
|
||||
makeEquip idname =
|
||||
makeLink (LinkConcEquip >> tagger) idname
|
||||
makeLink [] (LinkConcEquip >> tagger) idname
|
||||
in
|
||||
combine (Maybe.map makePerson item.concPerson) (Maybe.map makeEquip item.concEquipment)
|
||||
|
||||
@ -57,12 +59,21 @@ makeFolderLink :
|
||||
makeFolderLink item tagger =
|
||||
let
|
||||
makeFolder idname =
|
||||
makeLink (LinkFolder >> tagger) idname
|
||||
makeLink [] (LinkFolder >> tagger) idname
|
||||
in
|
||||
Maybe.map makeFolder item.folder
|
||||
|> Maybe.withDefault (text "-")
|
||||
|
||||
|
||||
makeTagLink :
|
||||
IdName
|
||||
-> List ( String, Bool )
|
||||
-> (LinkTarget -> msg)
|
||||
-> Html msg
|
||||
makeTagLink tagId classes tagger =
|
||||
makeLink classes (LinkTag >> tagger) tagId
|
||||
|
||||
|
||||
|
||||
--- Helpers
|
||||
|
||||
@ -83,11 +94,12 @@ combine ma mb =
|
||||
[ text "-" ]
|
||||
|
||||
|
||||
makeLink : (IdName -> msg) -> IdName -> Html msg
|
||||
makeLink tagger idname =
|
||||
makeLink : List ( String, Bool ) -> (IdName -> msg) -> IdName -> Html msg
|
||||
makeLink classes tagger idname =
|
||||
a
|
||||
[ onClick (tagger idname)
|
||||
, href "#"
|
||||
, classList classes
|
||||
]
|
||||
[ text idname.name
|
||||
]
|
||||
|
@ -259,6 +259,7 @@ type Msg
|
||||
| SetConcPerson IdName
|
||||
| SetConcEquip IdName
|
||||
| SetFolder IdName
|
||||
| SetTag String
|
||||
|
||||
|
||||
type alias NextState =
|
||||
@ -371,6 +372,9 @@ updateDrop ddm flags settings msg model =
|
||||
in
|
||||
resetAndSet (ConcEquipmentMsg (Comp.Dropdown.SetSelection [ equip ]))
|
||||
|
||||
SetTag id ->
|
||||
resetAndSet (TagSelectMsg (Comp.TagSelect.toggleTag id))
|
||||
|
||||
GetTagsResp (Ok tags) ->
|
||||
let
|
||||
selectModel =
|
||||
|
@ -6,6 +6,7 @@ module Comp.TagSelect exposing
|
||||
, emptySelection
|
||||
, init
|
||||
, reset
|
||||
, toggleTag
|
||||
, update
|
||||
, updateDrop
|
||||
, viewCats
|
||||
@ -84,6 +85,11 @@ reset model =
|
||||
}
|
||||
|
||||
|
||||
toggleTag : String -> Msg
|
||||
toggleTag id =
|
||||
ToggleTag id
|
||||
|
||||
|
||||
sumCategories : List TagCount -> List Category
|
||||
sumCategories tags =
|
||||
let
|
||||
|
@ -678,6 +678,9 @@ linkTargetMsg linkTarget =
|
||||
Comp.LinkTarget.LinkFolder id ->
|
||||
Just <| SearchMenuMsg (Comp.SearchMenu.SetFolder id)
|
||||
|
||||
Comp.LinkTarget.LinkTag id ->
|
||||
Just <| SearchMenuMsg (Comp.SearchMenu.SetTag id.id)
|
||||
|
||||
|
||||
doSearchMore : Flags -> UiSettings -> Model -> ( Model, Cmd Msg )
|
||||
doSearchMore flags settings model =
|
||||
|
Loading…
x
Reference in New Issue
Block a user