From 1dcc3941edf95d9dd2c86ec8d1c0409e894e8cc7 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Sun, 14 Feb 2021 23:18:18 +0100 Subject: [PATCH 1/7] Fix overflowing content in item cards When displaying long lines this leads to horizontal scrolling the complete item list. --- modules/webapp/src/main/elm/Comp/ItemCard.elm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemCard.elm b/modules/webapp/src/main/elm/Comp/ItemCard.elm index 973c5b22..2c440bf9 100644 --- a/modules/webapp/src/main/elm/Comp/ItemCard.elm +++ b/modules/webapp/src/main/elm/Comp/ItemCard.elm @@ -604,7 +604,7 @@ view2 cfg settings model item = in div ([ class cfg.extraClasses - , class "ds-item-card relative hover:shadow-lg rounded-lg flex flex-col" + , class "ds-item-card relative hover:shadow-lg rounded-lg flex flex-col break-all" , classList [ ( "border border-gray-400 dark:border-bluegray-600 dark:hover:border-bluegray-500", not (isMultiSelectMode cfg) ) , ( "border-2 border-gray-800 border-dashed dark:border-lightblue-500", isMultiSelectMode cfg ) From 31cb8284a51faf47efc1ca48e519d6ad55659bec Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Sun, 14 Feb 2021 23:22:37 +0100 Subject: [PATCH 2/7] Fix formatting icon in top nav bar --- modules/webapp/src/main/elm/App/View2.elm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/webapp/src/main/elm/App/View2.elm b/modules/webapp/src/main/elm/App/View2.elm index e2574422..dce4129b 100644 --- a/modules/webapp/src/main/elm/App/View2.elm +++ b/modules/webapp/src/main/elm/App/View2.elm @@ -84,12 +84,12 @@ topNavAnon model = headerNavItem : Model -> Html Msg headerNavItem model = a - [ class "font-bold hover:bg-blue-200 dark:hover:bg-bluegray-800 w-40 inline-flex items-center px-4" + [ class "inline-flex font-bold hover:bg-blue-200 dark:hover:bg-bluegray-800 items-center px-4" , Page.href HomePage ] [ img [ src (model.flags.config.docspellAssetPath ++ "/img/logo-96.png") - , class "h-full inline-block py-2 pr-2" + , class "w-9 h-9 mr-2 block" ] [] , div [ class "" ] From dec6148df6829ed63fb46e3fe2cab6269f75d826 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Sun, 14 Feb 2021 23:28:53 +0100 Subject: [PATCH 3/7] Hide field stats component if there is nothing to show --- modules/webapp/src/main/elm/Comp/SearchStatsView.elm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/webapp/src/main/elm/Comp/SearchStatsView.elm b/modules/webapp/src/main/elm/Comp/SearchStatsView.elm index 3d37c6b2..6edab65d 100644 --- a/modules/webapp/src/main/elm/Comp/SearchStatsView.elm +++ b/modules/webapp/src/main/elm/Comp/SearchStatsView.elm @@ -152,7 +152,10 @@ view2 classes stats = } ] , div [ class "flex-grow" ] - [ table [ class "w-full text-sm" ] + [ table + [ class "w-full text-sm" + , classList [ ( "hidden", List.isEmpty fields ) ] + ] [ thead [] [ tr [ class "" ] [ th [ class "py-2 text-left" ] [] From a10971607ec764f815d378717f9cdae79b2bb215 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Sun, 14 Feb 2021 23:34:18 +0100 Subject: [PATCH 4/7] Always show custom field dropdown in detail mode Even if there are no custom fields define, the control is shown now. The user can create a new one in this view. --- modules/webapp/src/main/elm/Comp/ItemDetail/EditForm.elm | 2 +- .../webapp/src/main/elm/Comp/ItemDetail/FieldTabState.elm | 6 ++++-- .../webapp/src/main/elm/Comp/ItemDetail/MultiEditMenu.elm | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/EditForm.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/EditForm.elm index 73c93ee4..f9af0250 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/EditForm.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/EditForm.elm @@ -425,5 +425,5 @@ tabState settings allNames model = in FTabState.tabState settings openTabs - model.customFieldsModel + Nothing (.title >> ToggleAkkordionTab) diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/FieldTabState.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/FieldTabState.elm index e12abb06..8952f2b5 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/FieldTabState.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/FieldTabState.elm @@ -10,7 +10,7 @@ import Set exposing (Set) tabState : UiSettings -> Set String - -> Comp.CustomFieldMultiInput.Model + -> Maybe Comp.CustomFieldMultiInput.Model -> (TB.Tab msg -> msg) -> TB.Tab msg -> ( TB.State, msg ) @@ -35,7 +35,9 @@ tabState settings openTabs cfmodel toggle tab = "Custom Fields" -> isHidden Data.Fields.CustomFields - || Comp.CustomFieldMultiInput.isEmpty cfmodel + || (Maybe.map Comp.CustomFieldMultiInput.isEmpty cfmodel + |> Maybe.withDefault False + ) "Date" -> isHidden Data.Fields.Date diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/MultiEditMenu.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/MultiEditMenu.elm index 305e5df4..20fdde6f 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/MultiEditMenu.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/MultiEditMenu.elm @@ -1149,7 +1149,7 @@ tabState : UiSettings -> Model -> TB.Tab Msg -> ( TB.State, Msg ) tabState settings model tab = FTabState.tabState settings model.openTabs - model.customFieldModel + (Just model.customFieldModel) (.title >> ToggleAkkordionTab) tab From 9c90d7c4c20d1fb457eae090370fd705e46ca426 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Mon, 15 Feb 2021 00:10:38 +0100 Subject: [PATCH 5/7] Fix min height of tag area in detail This avoids "nervous/noisy" ui flickering when changing between items where one has no tags/fields to show. --- .../src/main/elm/Comp/ItemDetail/ItemInfoHeader.elm | 12 +++++------- modules/webapp/src/main/styles/index.css | 7 +++++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/ItemInfoHeader.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/ItemInfoHeader.elm index 0dfbfc60..30e11f49 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/ItemInfoHeader.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/ItemInfoHeader.elm @@ -149,16 +149,14 @@ view settings model = ] |> List.map Tuple.first ) - , div [ class "font-semibold mb-2 mt-3 pr-3" ] - (renderTagsAndFields settings model) + , renderTagsAndFields settings model ] -renderTagsAndFields : UiSettings -> Model -> List (Html Msg) +renderTagsAndFields : UiSettings -> Model -> Html Msg renderTagsAndFields settings model = - [ div [ class "flex flex-row flex-wrap items-center sm:justify-end" ] + div [ class "flex flex-row flex-wrap items-center font-semibold sm:justify-end mt-1 min-h-7" ] (renderTags settings model ++ renderCustomValues settings model) - ] renderTags : UiSettings -> Model -> List (Html Msg) @@ -167,7 +165,7 @@ renderTags settings model = tagView t = Comp.LinkTarget.makeTagLink (IdName t.id t.name) - [ ( "label inline-flex ml-2 hover:opacity-90 mt-1 items-center", True ) + [ ( "label md:text-sm inline-flex ml-2 hover:opacity-90 mt-1 items-center", True ) , ( Data.UiSettings.tagColorString2 t settings, True ) ] SetLinkTarget @@ -185,7 +183,7 @@ renderCustomValues settings model = fieldView cv = Comp.LinkTarget.makeCustomFieldLink2 cv - [ ( "ml-2 hover:opacity-90 mt-1 " ++ S.basicLabel, True ) ] + [ ( "ml-2 md:text-sm hover:opacity-90 mt-1 " ++ S.basicLabel, True ) ] SetLinkTarget labelThenName cv = diff --git a/modules/webapp/src/main/styles/index.css b/modules/webapp/src/main/styles/index.css index fff467a3..165ca2cd 100644 --- a/modules/webapp/src/main/styles/index.css +++ b/modules/webapp/src/main/styles/index.css @@ -120,6 +120,13 @@ z-index: 35; } + @variants responsive { + .min-h-7 { + min-height: 1.75rem; + } + + } + .scrollbar-none { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ From 07edaaaf5e7a3f848c8020258bdf9fd6ab2c6c88 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Mon, 15 Feb 2021 00:11:37 +0100 Subject: [PATCH 6/7] Try fix attachment selection for firefox It works great in chromium, in firefox the border is a bit off. --- .../webapp/src/main/elm/Comp/ItemDetail/SingleAttachment.elm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail/SingleAttachment.elm b/modules/webapp/src/main/elm/Comp/ItemDetail/SingleAttachment.elm index f3d790fc..63ec841b 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail/SingleAttachment.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail/SingleAttachment.elm @@ -312,7 +312,7 @@ menuItem model pos attach = , ( "dark:border-bluegray-600", pos /= 0 ) ] ++ highlight - , class "block flex-col relative border rounded px-1 py-1 mr-2" + , class "flex flex-col relative border rounded px-1 py-1 mr-2" , class " hover:shadow dark:hover:border-bluegray-500" , href "#" , onClick (SetActiveAttachment pos) @@ -328,7 +328,7 @@ menuItem model pos attach = ] [ i [ class "fa fa-check-circle ml-1" ] [] ] - , div [ class "" ] + , div [ class "flex-grow" ] [ img [ src (Api.attachmentPreviewURL attach.id) , class "block w-20 mx-auto" From 64bacb665ae3b358b7fb6fcc73383c05714b45e2 Mon Sep 17 00:00:00 2001 From: Eike Kettner <eike.kettner@posteo.de> Date: Mon, 15 Feb 2021 00:27:46 +0100 Subject: [PATCH 7/7] Show queue counts in side menu --- .../webapp/src/main/elm/Page/Queue/View2.elm | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/modules/webapp/src/main/elm/Page/Queue/View2.elm b/modules/webapp/src/main/elm/Page/Queue/View2.elm index 28f4f6f8..a59534b4 100644 --- a/modules/webapp/src/main/elm/Page/Queue/View2.elm +++ b/modules/webapp/src/main/elm/Page/Queue/View2.elm @@ -18,6 +18,26 @@ import Util.Time exposing (formatDateTime, formatIsoDateTime) viewSidebar : Bool -> Flags -> UiSettings -> Model -> Html Msg viewSidebar visible _ _ model = let + count v = + case v of + CurrentJobs -> + List.length model.state.progress + + QueueAll -> + List.length model.state.queued + + List.length model.state.completed + + QueueWaiting -> + List.length model.state.queued + + QueueSuccess -> + filterJobDetails model.state.completed "success" + |> List.length + + QueueError -> + filterJobDetails model.state.completed "failed" + |> List.length + tabLink cls v icon label = a [ href "#" @@ -28,9 +48,12 @@ viewSidebar visible _ _ model = ] [ i [ class icon ] [] - , span + , div [ class "ml-3" ] [ text label ] + , div [ class "ml-auto bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs dark:bg-bluegray-800 dark:text-bluegray-200 dark:border-bluegray-800 dark:bg-opacity-50" ] + [ count v |> String.fromInt |> text + ] ] in div @@ -60,9 +83,6 @@ viewContent _ _ model = gridStyle = "grid gap-4 grid-cols-1 md:grid-cols-2" - isState state job = - state == job.state - message str = div [ class "h-28 flex flex-col items-center justify-center w-full" ] [ div [ class S.header2 ] @@ -110,7 +130,7 @@ viewContent _ _ model = QueueError -> let items = - List.filter (isState "failed") model.state.completed + filterJobDetails model.state.completed "failed" in if List.isEmpty items then message "No failed jobs to display." @@ -122,7 +142,7 @@ viewContent _ _ model = QueueSuccess -> let items = - List.filter (isState "success") model.state.completed + filterJobDetails model.state.completed "success" in if List.isEmpty items then message "No succesfull jobs to display." @@ -133,6 +153,15 @@ viewContent _ _ model = ] +filterJobDetails : List JobDetail -> String -> List JobDetail +filterJobDetails list state = + let + isState job = + state == job.state + in + List.filter isState list + + renderJobLog : JobDetail -> Html Msg renderJobLog job = div