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