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