mirror of
				https://github.com/TheAnachronism/docspell.git
				synced 2025-10-30 21:40:12 +00:00 
			
		
		
		
	| @@ -192,7 +192,13 @@ updateItemDetail lmsg model = | ||||
|             Page.Home.Data.itemNav model.itemDetailModel.detail.item.id model.homeModel | ||||
|  | ||||
|         ( lm, lc, ls ) = | ||||
|             Page.ItemDetail.Update.update model.key model.flags inav.next lmsg model.itemDetailModel | ||||
|             Page.ItemDetail.Update.update | ||||
|                 model.key | ||||
|                 model.flags | ||||
|                 inav.next | ||||
|                 model.uiSettings | ||||
|                 lmsg | ||||
|                 model.itemDetailModel | ||||
|     in | ||||
|     ( { model | ||||
|         | itemDetailModel = lm | ||||
|   | ||||
| @@ -14,6 +14,7 @@ import Api.Model.ItemLight exposing (ItemLight) | ||||
| import Api.Model.ItemLightGroup exposing (ItemLightGroup) | ||||
| import Api.Model.ItemLightList exposing (ItemLightList) | ||||
| import Data.Direction | ||||
| import Data.Fields | ||||
| import Data.Flags exposing (Flags) | ||||
| import Data.Icons as Icons | ||||
| import Data.Items | ||||
| @@ -169,6 +170,9 @@ viewItem current settings item = | ||||
|  | ||||
|         newColor = | ||||
|             "blue" | ||||
|  | ||||
|         fieldHidden f = | ||||
|             Data.UiSettings.fieldHidden settings f | ||||
|     in | ||||
|     a | ||||
|         ([ classList | ||||
| @@ -183,15 +187,21 @@ viewItem current settings item = | ||||
|             ++ DD.draggable ItemDDMsg item.id | ||||
|         ) | ||||
|         [ div [ class "content" ] | ||||
|             [ div | ||||
|                 [ class "header" | ||||
|                 , Data.Direction.labelFromMaybe item.direction | ||||
|                     |> title | ||||
|                 ] | ||||
|                 [ dirIcon | ||||
|                 , Util.String.underscoreToSpace item.name | ||||
|                     |> text | ||||
|                 ] | ||||
|             [ if fieldHidden Data.Fields.Direction then | ||||
|                 div [ class "header" ] | ||||
|                     [ Util.String.underscoreToSpace item.name |> text | ||||
|                     ] | ||||
|  | ||||
|               else | ||||
|                 div | ||||
|                     [ class "header" | ||||
|                     , Data.Direction.labelFromMaybe item.direction | ||||
|                         |> title | ||||
|                     ] | ||||
|                     [ dirIcon | ||||
|                     , Util.String.underscoreToSpace item.name | ||||
|                         |> text | ||||
|                     ] | ||||
|             , div | ||||
|                 [ classList | ||||
|                     [ ( "ui right corner label", True ) | ||||
| @@ -202,16 +212,19 @@ viewItem current settings item = | ||||
|                 ] | ||||
|                 [ i [ class "exclamation icon" ] [] | ||||
|                 ] | ||||
|             , div [ class "meta" ] | ||||
|                 [ span [] | ||||
|                     [ Util.Time.formatDate item.date |> text | ||||
|             , div | ||||
|                 [ classList | ||||
|                     [ ( "meta", True ) | ||||
|                     , ( "invisible hidden", fieldHidden Data.Fields.Date ) | ||||
|                     ] | ||||
|                 ] | ||||
|                 [ Util.Time.formatDate item.date |> text | ||||
|                 ] | ||||
|             , div [ class "meta description" ] | ||||
|                 [ div | ||||
|                     [ classList | ||||
|                         [ ( "ui right floated tiny labels", True ) | ||||
|                         , ( "invisible hidden", item.tags == [] ) | ||||
|                         , ( "invisible hidden", item.tags == [] || fieldHidden Data.Fields.Tag ) | ||||
|                         ] | ||||
|                     ] | ||||
|                     (List.map | ||||
| @@ -247,7 +260,13 @@ viewItem current settings item = | ||||
|         , div [ class "content" ] | ||||
|             [ div [ class "ui horizontal list" ] | ||||
|                 [ div | ||||
|                     [ class "item" | ||||
|                     [ classList | ||||
|                         [ ( "item", True ) | ||||
|                         , ( "invisible hidden" | ||||
|                           , fieldHidden Data.Fields.CorrOrg | ||||
|                                 && fieldHidden Data.Fields.CorrPerson | ||||
|                           ) | ||||
|                         ] | ||||
|                     , title "Correspondent" | ||||
|                     ] | ||||
|                     [ Icons.correspondentIcon "" | ||||
| @@ -255,7 +274,13 @@ viewItem current settings item = | ||||
|                     , Util.String.withDefault "-" corr |> text | ||||
|                     ] | ||||
|                 , div | ||||
|                     [ class "item" | ||||
|                     [ classList | ||||
|                         [ ( "item", True ) | ||||
|                         , ( "invisible hidden" | ||||
|                           , fieldHidden Data.Fields.ConcPerson | ||||
|                                 && fieldHidden Data.Fields.ConcEquip | ||||
|                           ) | ||||
|                         ] | ||||
|                     , title "Concerning" | ||||
|                     ] | ||||
|                     [ Icons.concernedIcon | ||||
| @@ -263,7 +288,10 @@ viewItem current settings item = | ||||
|                     , Util.String.withDefault "-" conc |> text | ||||
|                     ] | ||||
|                 , div | ||||
|                     [ class "item" | ||||
|                     [ classList | ||||
|                         [ ( "item", True ) | ||||
|                         , ( "invisible hidden", fieldHidden Data.Fields.Folder ) | ||||
|                         ] | ||||
|                     , title "Folder" | ||||
|                     ] | ||||
|                     [ Icons.folderIcon "" | ||||
| @@ -282,7 +310,11 @@ viewItem current settings item = | ||||
|                     , div | ||||
|                         [ classList | ||||
|                             [ ( "item", True ) | ||||
|                             , ( "invisible hidden", item.dueDate == Nothing ) | ||||
|                             , ( "invisible hidden" | ||||
|                               , item.dueDate | ||||
|                                     == Nothing | ||||
|                                     || fieldHidden Data.Fields.DueDate | ||||
|                               ) | ||||
|                             ] | ||||
|                         , title ("Due on " ++ dueDate) | ||||
|                         ] | ||||
|   | ||||
| @@ -24,7 +24,7 @@ emptyModel = | ||||
|     Comp.ItemDetail.Model.emptyModel | ||||
|  | ||||
|  | ||||
| update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update = | ||||
|     Comp.ItemDetail.Update.update | ||||
|  | ||||
|   | ||||
| @@ -31,7 +31,9 @@ import Comp.PersonForm | ||||
| import Comp.SentMails | ||||
| import Comp.YesNoDimmer | ||||
| import Data.Direction exposing (Direction) | ||||
| import Data.Fields exposing (Field) | ||||
| import Data.Flags exposing (Flags) | ||||
| import Data.UiSettings exposing (UiSettings) | ||||
| import DatePicker | ||||
| import Dict | ||||
| import Html exposing (..) | ||||
| @@ -125,10 +127,11 @@ type Msg | ||||
|     | StartEditCorrOrgModal | ||||
|     | StartEditPersonModal (Comp.Dropdown.Model IdName) | ||||
|     | StartEditEquipModal | ||||
|     | ResetHiddenMsg Field (Result Http.Error BasicResult) | ||||
|  | ||||
|  | ||||
| update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update key flags next msg model = | ||||
| update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update key flags next settings msg model = | ||||
|     case msg of | ||||
|         Init -> | ||||
|             let | ||||
| @@ -152,12 +155,18 @@ update key flags next msg model = | ||||
|         SetItem item -> | ||||
|             let | ||||
|                 ( m1, c1, s1 ) = | ||||
|                     update key flags next (TagDropdownMsg (Comp.Dropdown.SetSelection item.tags)) model | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (TagDropdownMsg (Comp.Dropdown.SetSelection item.tags)) | ||||
|                         model | ||||
|  | ||||
|                 ( m2, c2, s2 ) = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (DirDropdownMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (Data.Direction.fromString item.direction | ||||
| @@ -172,6 +181,7 @@ update key flags next msg model = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (OrgDropdownMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (item.corrOrg | ||||
| @@ -186,6 +196,7 @@ update key flags next msg model = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (CorrPersonMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (item.corrPerson | ||||
| @@ -200,6 +211,7 @@ update key flags next msg model = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (ConcPersonMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (item.concPerson | ||||
| @@ -214,6 +226,7 @@ update key flags next msg model = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (ConcEquipMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (item.concEquipment | ||||
| @@ -225,12 +238,13 @@ update key flags next msg model = | ||||
|                         m5 | ||||
|  | ||||
|                 ( m7, c7, s7 ) = | ||||
|                     update key flags next AddFilesReset m6 | ||||
|                     update key flags next settings AddFilesReset m6 | ||||
|  | ||||
|                 ( m8, c8, s8 ) = | ||||
|                     update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         (FolderDropdownMsg | ||||
|                             (Comp.Dropdown.SetSelection | ||||
|                                 (item.folder | ||||
| @@ -477,7 +491,11 @@ update key flags next msg model = | ||||
|             noSub ( model, setNotes flags model ) | ||||
|  | ||||
|         ConfirmItem -> | ||||
|             noSub ( model, Api.setConfirmed flags model.item.id SaveResp ) | ||||
|             let | ||||
|                 resetCmds = | ||||
|                     resetHiddenFields settings flags model.item.id ResetHiddenMsg | ||||
|             in | ||||
|             noSub ( model, Cmd.batch (Api.setConfirmed flags model.item.id SaveResp :: resetCmds) ) | ||||
|  | ||||
|         UnconfirmItem -> | ||||
|             noSub ( model, Api.setUnconfirmed flags model.item.id SaveResp ) | ||||
| @@ -535,7 +553,7 @@ update key flags next msg model = | ||||
|             noSub ( { model | deleteItemConfirm = cm }, cmd ) | ||||
|  | ||||
|         RequestDelete -> | ||||
|             update key flags next (DeleteItemConfirm Comp.YesNoDimmer.activate) model | ||||
|             update key flags next settings (DeleteItemConfirm Comp.YesNoDimmer.activate) model | ||||
|  | ||||
|         SetCorrOrgSuggestion idname -> | ||||
|             noSub ( model, setCorrOrg flags model (Just idname) ) | ||||
| @@ -574,7 +592,7 @@ update key flags next msg model = | ||||
|                         |> List.map mkIdName | ||||
|                         |> Comp.Dropdown.SetOptions | ||||
|             in | ||||
|             update key flags next (FolderDropdownMsg opts) model_ | ||||
|             update key flags next settings (FolderDropdownMsg opts) model_ | ||||
|  | ||||
|         GetFolderResp (Err _) -> | ||||
|             noSub ( model, Cmd.none ) | ||||
| @@ -585,7 +603,7 @@ update key flags next msg model = | ||||
|                     Comp.Dropdown.SetOptions tags.items | ||||
|  | ||||
|                 ( m1, c1, s1 ) = | ||||
|                     update key flags next (TagDropdownMsg tagList) model | ||||
|                     update key flags next settings (TagDropdownMsg tagList) model | ||||
|             in | ||||
|             ( m1, c1, s1 ) | ||||
|  | ||||
| @@ -597,7 +615,7 @@ update key flags next msg model = | ||||
|                 opts = | ||||
|                     Comp.Dropdown.SetOptions orgs.items | ||||
|             in | ||||
|             update key flags next (OrgDropdownMsg opts) model | ||||
|             update key flags next settings (OrgDropdownMsg opts) model | ||||
|  | ||||
|         GetOrgResp (Err _) -> | ||||
|             noSub ( model, Cmd.none ) | ||||
| @@ -608,10 +626,10 @@ update key flags next msg model = | ||||
|                     Comp.Dropdown.SetOptions ps.items | ||||
|  | ||||
|                 ( m1, c1, s1 ) = | ||||
|                     update key flags next (CorrPersonMsg opts) model | ||||
|                     update key flags next settings (CorrPersonMsg opts) model | ||||
|  | ||||
|                 ( m2, c2, s2 ) = | ||||
|                     update key flags next (ConcPersonMsg opts) m1 | ||||
|                     update key flags next settings (ConcPersonMsg opts) m1 | ||||
|             in | ||||
|             ( m2, Cmd.batch [ c1, c2 ], Sub.batch [ s1, s2 ] ) | ||||
|  | ||||
| @@ -626,7 +644,7 @@ update key flags next msg model = | ||||
|                             equips.items | ||||
|                         ) | ||||
|             in | ||||
|             update key flags next (ConcEquipMsg opts) model | ||||
|             update key flags next settings (ConcEquipMsg opts) model | ||||
|  | ||||
|         GetEquipResp (Err _) -> | ||||
|             noSub ( model, Cmd.none ) | ||||
| @@ -657,7 +675,7 @@ update key flags next msg model = | ||||
|             noSub ( model, Cmd.none ) | ||||
|  | ||||
|         GetItemResp (Ok item) -> | ||||
|             update key flags next (SetItem item) model | ||||
|             update key flags next settings (SetItem item) model | ||||
|  | ||||
|         GetItemResp (Err _) -> | ||||
|             noSub ( model, Cmd.none ) | ||||
| @@ -852,7 +870,7 @@ update key flags next msg model = | ||||
|  | ||||
|         DeleteAttachResp (Ok res) -> | ||||
|             if res.success then | ||||
|                 update key flags next ReloadItem model | ||||
|                 update key flags next settings ReloadItem model | ||||
|  | ||||
|             else | ||||
|                 noSub ( model, Cmd.none ) | ||||
| @@ -864,6 +882,7 @@ update key flags next msg model = | ||||
|             update key | ||||
|                 flags | ||||
|                 next | ||||
|                 settings | ||||
|                 (DeleteAttachConfirm id Comp.YesNoDimmer.activate) | ||||
|                 model | ||||
|  | ||||
| @@ -1235,6 +1254,9 @@ update key flags next msg model = | ||||
|         EditAttachNameResp (Err _) -> | ||||
|             noSub ( model, Cmd.none ) | ||||
|  | ||||
|         ResetHiddenMsg _ _ -> | ||||
|             noSub ( model, Cmd.none ) | ||||
|  | ||||
|  | ||||
|  | ||||
| --- Helper | ||||
| @@ -1372,3 +1394,45 @@ setErrored model fileid = | ||||
| noSub : ( Model, Cmd Msg ) -> ( Model, Cmd Msg, Sub Msg ) | ||||
| noSub ( m, c ) = | ||||
|     ( m, c, Sub.none ) | ||||
|  | ||||
|  | ||||
| resetField : Flags -> String -> (Field -> Result Http.Error BasicResult -> msg) -> Field -> Cmd msg | ||||
| resetField flags item tagger field = | ||||
|     case field of | ||||
|         Data.Fields.Tag -> | ||||
|             Api.setTags flags item Api.Model.ReferenceList.empty (tagger Data.Fields.Tag) | ||||
|  | ||||
|         Data.Fields.Folder -> | ||||
|             Api.setFolder flags item Api.Model.OptionalId.empty (tagger Data.Fields.Folder) | ||||
|  | ||||
|         Data.Fields.CorrOrg -> | ||||
|             Api.setCorrOrg flags item Api.Model.OptionalId.empty (tagger Data.Fields.CorrOrg) | ||||
|  | ||||
|         Data.Fields.CorrPerson -> | ||||
|             Api.setCorrPerson flags item Api.Model.OptionalId.empty (tagger Data.Fields.CorrPerson) | ||||
|  | ||||
|         Data.Fields.ConcPerson -> | ||||
|             Api.setConcPerson flags item Api.Model.OptionalId.empty (tagger Data.Fields.ConcPerson) | ||||
|  | ||||
|         Data.Fields.ConcEquip -> | ||||
|             Api.setConcEquip flags item Api.Model.OptionalId.empty (tagger Data.Fields.ConcEquip) | ||||
|  | ||||
|         Data.Fields.Date -> | ||||
|             Api.setItemDate flags item Api.Model.OptionalDate.empty (tagger Data.Fields.Date) | ||||
|  | ||||
|         Data.Fields.DueDate -> | ||||
|             Api.setItemDueDate flags item Api.Model.OptionalDate.empty (tagger Data.Fields.DueDate) | ||||
|  | ||||
|         Data.Fields.Direction -> | ||||
|             Cmd.none | ||||
|  | ||||
|  | ||||
| resetHiddenFields : | ||||
|     UiSettings | ||||
|     -> Flags | ||||
|     -> String | ||||
|     -> (Field -> Result Http.Error BasicResult -> msg) | ||||
|     -> List (Cmd msg) | ||||
| resetHiddenFields settings flags item tagger = | ||||
|     List.filter (Data.UiSettings.fieldHidden settings) Data.Fields.all | ||||
|         |> List.map (resetField flags item tagger) | ||||
|   | ||||
| @@ -553,7 +553,7 @@ renderItemInfo : UiSettings -> Model -> Html Msg | ||||
| renderItemInfo settings model = | ||||
|     let | ||||
|         date = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Item Date" | ||||
|                 ] | ||||
| @@ -561,9 +561,11 @@ renderItemInfo settings model = | ||||
|                     |> Util.Time.formatDate | ||||
|                     |> text | ||||
|                 ] | ||||
|             , Data.UiSettings.fieldVisible settings Data.Fields.Date | ||||
|             ) | ||||
|  | ||||
|         duedate = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Due Date" | ||||
|                 ] | ||||
| @@ -572,9 +574,12 @@ renderItemInfo settings model = | ||||
|                     |> Maybe.withDefault "" | ||||
|                     |> text | ||||
|                 ] | ||||
|             , Data.UiSettings.fieldVisible settings Data.Fields.DueDate | ||||
|                 && Util.Maybe.nonEmpty model.item.dueDate | ||||
|             ) | ||||
|  | ||||
|         corr = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Correspondent" | ||||
|                 ] | ||||
| @@ -585,9 +590,12 @@ renderItemInfo settings model = | ||||
|                     |> Util.String.withDefault "(None)" | ||||
|                     |> text | ||||
|                 ] | ||||
|             , Data.UiSettings.fieldVisible settings Data.Fields.CorrOrg | ||||
|                 || Data.UiSettings.fieldVisible settings Data.Fields.CorrPerson | ||||
|             ) | ||||
|  | ||||
|         conc = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Concerning" | ||||
|                 ] | ||||
| @@ -598,9 +606,12 @@ renderItemInfo settings model = | ||||
|                     |> Util.String.withDefault "(None)" | ||||
|                     |> text | ||||
|                 ] | ||||
|             , Data.UiSettings.fieldVisible settings Data.Fields.ConcEquip | ||||
|                 || Data.UiSettings.fieldVisible settings Data.Fields.ConcPerson | ||||
|             ) | ||||
|  | ||||
|         itemfolder = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Folder" | ||||
|                 ] | ||||
| @@ -609,21 +620,28 @@ renderItemInfo settings model = | ||||
|                     |> Maybe.withDefault "-" | ||||
|                     |> text | ||||
|                 ] | ||||
|             , Data.UiSettings.fieldVisible settings Data.Fields.Folder | ||||
|             ) | ||||
|  | ||||
|         src = | ||||
|             div | ||||
|             ( div | ||||
|                 [ class "item" | ||||
|                 , title "Source" | ||||
|                 ] | ||||
|                 [ text model.item.source | ||||
|                 ] | ||||
|             , True | ||||
|             ) | ||||
|     in | ||||
|     div [ class "ui fluid container" ] | ||||
|         (h2 | ||||
|             [ class "ui header" | ||||
|             ] | ||||
|             [ i | ||||
|                 [ class (Data.Direction.iconFromString model.item.direction) | ||||
|                 [ classList | ||||
|                     [ ( Data.Direction.iconFromString model.item.direction, True ) | ||||
|                     , ( "hidden invisible", Data.UiSettings.fieldHidden settings Data.Fields.Direction ) | ||||
|                     ] | ||||
|                 , title model.item.direction | ||||
|                 ] | ||||
|                 [] | ||||
| @@ -638,20 +656,17 @@ renderItemInfo settings model = | ||||
|                     [ text "New!" | ||||
|                     ] | ||||
|                 , div [ class "sub header" ] | ||||
|                     [ div [ class "ui horizontal bulleted list" ] <| | ||||
|                         List.append | ||||
|                     [ div [ class "ui horizontal bulleted list" ] | ||||
|                         (List.filter Tuple.second | ||||
|                             [ date | ||||
|                             , corr | ||||
|                             , conc | ||||
|                             , itemfolder | ||||
|                             , src | ||||
|                             , duedate | ||||
|                             ] | ||||
|                             (if Util.Maybe.isEmpty model.item.dueDate then | ||||
|                                 [] | ||||
|  | ||||
|                              else | ||||
|                                 [ duedate ] | ||||
|                             ) | ||||
|                             |> List.map Tuple.first | ||||
|                         ) | ||||
|                     ] | ||||
|                 ] | ||||
|             ] | ||||
| @@ -661,25 +676,29 @@ renderItemInfo settings model = | ||||
|  | ||||
| renderTags : UiSettings -> Model -> List (Html Msg) | ||||
| renderTags settings model = | ||||
|     case model.item.tags of | ||||
|         [] -> | ||||
|             [] | ||||
|     if Data.UiSettings.fieldHidden settings Data.Fields.Tag then | ||||
|         [] | ||||
|  | ||||
|         _ -> | ||||
|             [ div [ class "ui right aligned fluid container" ] <| | ||||
|                 List.map | ||||
|                     (\t -> | ||||
|                         div | ||||
|                             [ classList | ||||
|                                 [ ( "ui tag label", True ) | ||||
|                                 , ( Data.UiSettings.tagColorString t settings, True ) | ||||
|     else | ||||
|         case model.item.tags of | ||||
|             [] -> | ||||
|                 [] | ||||
|  | ||||
|             _ -> | ||||
|                 [ 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 | ||||
|                             ] | ||||
|                     ) | ||||
|                     model.item.tags | ||||
|             ] | ||||
|                                 [ text t.name | ||||
|                                 ] | ||||
|                         ) | ||||
|                         model.item.tags | ||||
|                 ] | ||||
|  | ||||
|  | ||||
| renderEditMenu : UiSettings -> Model -> List (Html Msg) | ||||
| @@ -759,9 +778,6 @@ renderEditForm settings model = | ||||
|         fieldVisible field = | ||||
|             Data.UiSettings.fieldVisible settings field | ||||
|  | ||||
|         fieldHidden field = | ||||
|             Data.UiSettings.fieldHidden settings field | ||||
|  | ||||
|         optional fields html = | ||||
|             if | ||||
|                 List.map fieldVisible fields | ||||
|   | ||||
| @@ -5,18 +5,24 @@ import Browser.Navigation as Nav | ||||
| import Comp.ItemDetail | ||||
| import Comp.ItemDetail.Update | ||||
| import Data.Flags exposing (Flags) | ||||
| import Data.UiSettings exposing (UiSettings) | ||||
| import Page.ItemDetail.Data exposing (Model, Msg(..)) | ||||
| import Scroll | ||||
| import Task | ||||
|  | ||||
|  | ||||
| update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update key flags next msg model = | ||||
| update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) | ||||
| update key flags next settings msg model = | ||||
|     case msg of | ||||
|         Init id -> | ||||
|             let | ||||
|                 ( lm, lc, ls ) = | ||||
|                     Comp.ItemDetail.update key flags next Comp.ItemDetail.Update.Init model.detail | ||||
|                     Comp.ItemDetail.update key | ||||
|                         flags | ||||
|                         next | ||||
|                         settings | ||||
|                         Comp.ItemDetail.Update.Init | ||||
|                         model.detail | ||||
|  | ||||
|                 task = | ||||
|                     Scroll.scroll "main-content" 0 0 0 0 | ||||
| @@ -33,7 +39,7 @@ update key flags next msg model = | ||||
|         ItemDetailMsg lmsg -> | ||||
|             let | ||||
|                 ( lm, lc, ls ) = | ||||
|                     Comp.ItemDetail.update key flags next lmsg model.detail | ||||
|                     Comp.ItemDetail.update key flags next settings lmsg model.detail | ||||
|             in | ||||
|             ( { model | detail = lm } | ||||
|             , Cmd.map ItemDetailMsg lc | ||||
| @@ -45,7 +51,7 @@ update key flags next msg model = | ||||
|                 lmsg = | ||||
|                     Comp.ItemDetail.Update.SetItem item | ||||
|             in | ||||
|             update key flags next (ItemDetailMsg lmsg) model | ||||
|             update key flags next settings (ItemDetailMsg lmsg) model | ||||
|  | ||||
|         ItemResp (Err _) -> | ||||
|             ( model, Cmd.none, Sub.none ) | ||||
|   | ||||
| @@ -5,6 +5,7 @@ import Comp.FolderManage | ||||
| import Comp.OrgManage | ||||
| import Comp.PersonManage | ||||
| import Comp.TagManage | ||||
| import Data.Fields | ||||
| import Data.Flags exposing (Flags) | ||||
| import Data.Icons as Icons | ||||
| import Data.UiSettings exposing (UiSettings) | ||||
| @@ -54,6 +55,11 @@ view flags settings model = | ||||
|                         ] | ||||
|                     , div | ||||
|                         [ classActive (model.currentTab == Just FolderTab) "link icon item" | ||||
|                         , classList | ||||
|                             [ ( "invisible hidden" | ||||
|                               , Data.UiSettings.fieldHidden settings Data.Fields.Folder | ||||
|                               ) | ||||
|                             ] | ||||
|                         , onClick (SetTab FolderTab) | ||||
|                         ] | ||||
|                         [ Icons.folderIcon "" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user