From 38ae7a902718d1ab4124dddc064baf6f2f82dd7e Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Mon, 11 Jan 2021 21:37:36 +0100 Subject: [PATCH] Make source a quick link on card and detail --- modules/webapp/src/main/elm/Comp/ItemCard.elm | 12 +++++------- modules/webapp/src/main/elm/Comp/ItemDetail/View.elm | 4 ++-- modules/webapp/src/main/elm/Comp/LinkTarget.elm | 11 +++++++++++ modules/webapp/src/main/elm/Comp/SearchMenu.elm | 4 ++++ modules/webapp/src/main/elm/Page/Home/Update.elm | 3 +++ 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemCard.elm b/modules/webapp/src/main/elm/Comp/ItemCard.elm index ac6da75f..7db53a0e 100644 --- a/modules/webapp/src/main/elm/Comp/ItemCard.elm +++ b/modules/webapp/src/main/elm/Comp/ItemCard.elm @@ -263,13 +263,11 @@ metaDataContent settings item = ] ] , div [ class "right floated meta" ] - [ div [ class "ui horizontal list" ] - [ div - [ class "item" - , title "Source" - ] - [ IT.render IT.source item |> text - ] + [ div [ class "ui horizontal link list" ] + [ Comp.LinkTarget.makeSourceLink + [ ( "item", True ) ] + SetLinkTarget + (IT.render IT.source item) , div [ classList [ ( "item", True ) diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/View.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/View.elm index efd531c4..d9355d05 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/View.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/View.elm @@ -38,7 +38,6 @@ 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 @@ -560,7 +559,8 @@ renderItemInfo settings model = [ class "item" , title "Source" ] - [ text model.item.source + [ Icons.sourceIcon "" + , Comp.LinkTarget.makeSourceLink [] SetLinkTarget model.item.source ] , True ) diff --git a/modules/webapp/src/main/elm/Comp/LinkTarget.elm b/modules/webapp/src/main/elm/Comp/LinkTarget.elm index ea20da20..5b6b8aa5 100644 --- a/modules/webapp/src/main/elm/Comp/LinkTarget.elm +++ b/modules/webapp/src/main/elm/Comp/LinkTarget.elm @@ -4,6 +4,7 @@ module Comp.LinkTarget exposing , makeCorrLink , makeCustomFieldLink , makeFolderLink + , makeSourceLink , makeTagLink ) @@ -23,6 +24,7 @@ type LinkTarget | LinkFolder IdName | LinkTag IdName | LinkCustomField ItemFieldValue + | LinkSource String | LinkNone @@ -90,6 +92,15 @@ makeCustomFieldLink cv classes tagger = cv +makeSourceLink : + List ( String, Bool ) + -> (LinkTarget -> msg) + -> String + -> Html msg +makeSourceLink classes tagger str = + makeLink classes (.name >> LinkSource >> tagger) (IdName "" str) + + --- Helpers diff --git a/modules/webapp/src/main/elm/Comp/SearchMenu.elm b/modules/webapp/src/main/elm/Comp/SearchMenu.elm index fa55987d..7b0617ad 100644 --- a/modules/webapp/src/main/elm/Comp/SearchMenu.elm +++ b/modules/webapp/src/main/elm/Comp/SearchMenu.elm @@ -358,6 +358,7 @@ type Msg | SetCustomField ItemFieldValue | CustomFieldMsg Comp.CustomFieldMultiInput.Msg | SetSource String + | ResetToSource String | GetStatsResp (Result Http.Error SearchStats) | GetAllTagsResp (Result Http.Error SearchStats) @@ -877,6 +878,9 @@ updateDrop ddm flags settings msg model = , dragDrop = DD.DragDropData ddm Nothing } + ResetToSource str -> + resetAndSet (SetSource str) + -- View diff --git a/modules/webapp/src/main/elm/Page/Home/Update.elm b/modules/webapp/src/main/elm/Page/Home/Update.elm index b189ab24..2199f0d3 100644 --- a/modules/webapp/src/main/elm/Page/Home/Update.elm +++ b/modules/webapp/src/main/elm/Page/Home/Update.elm @@ -716,6 +716,9 @@ linkTargetMsg linkTarget = Comp.LinkTarget.LinkCustomField id -> Just <| SearchMenuMsg (Comp.SearchMenu.SetCustomField id) + Comp.LinkTarget.LinkSource str -> + Just <| SearchMenuMsg (Comp.SearchMenu.ResetToSource str) + doSearchMore : Flags -> UiSettings -> Model -> ( Model, Cmd Msg ) doSearchMore flags settings model =