mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-07 15:45:59 +00:00
parent
48d182667d
commit
9bc2084499
@ -636,7 +636,10 @@ renderCustomValues : UiSettings -> Model -> List (Html Msg)
|
|||||||
renderCustomValues settings model =
|
renderCustomValues settings model =
|
||||||
let
|
let
|
||||||
fieldView cv =
|
fieldView cv =
|
||||||
Util.CustomField.renderValue "ui secondary basic label" cv
|
Comp.LinkTarget.makeCustomFieldLink
|
||||||
|
cv
|
||||||
|
[ ( "ui secondary basic label", True ) ]
|
||||||
|
SetLinkTarget
|
||||||
|
|
||||||
labelThenName cv =
|
labelThenName cv =
|
||||||
Maybe.withDefault cv.name cv.label
|
Maybe.withDefault cv.name cv.label
|
||||||
|
@ -2,14 +2,17 @@ module Comp.LinkTarget exposing
|
|||||||
( LinkTarget(..)
|
( LinkTarget(..)
|
||||||
, makeConcLink
|
, makeConcLink
|
||||||
, makeCorrLink
|
, makeCorrLink
|
||||||
|
, makeCustomFieldLink
|
||||||
, makeFolderLink
|
, makeFolderLink
|
||||||
, makeTagLink
|
, makeTagLink
|
||||||
)
|
)
|
||||||
|
|
||||||
import Api.Model.IdName exposing (IdName)
|
import Api.Model.IdName exposing (IdName)
|
||||||
|
import Api.Model.ItemFieldValue exposing (ItemFieldValue)
|
||||||
import Html exposing (..)
|
import Html exposing (..)
|
||||||
import Html.Attributes exposing (..)
|
import Html.Attributes exposing (..)
|
||||||
import Html.Events exposing (onClick)
|
import Html.Events exposing (onClick)
|
||||||
|
import Util.CustomField
|
||||||
|
|
||||||
|
|
||||||
type LinkTarget
|
type LinkTarget
|
||||||
@ -19,6 +22,7 @@ type LinkTarget
|
|||||||
| LinkConcEquip IdName
|
| LinkConcEquip IdName
|
||||||
| LinkFolder IdName
|
| LinkFolder IdName
|
||||||
| LinkTag IdName
|
| LinkTag IdName
|
||||||
|
| LinkCustomField ItemFieldValue
|
||||||
| LinkNone
|
| LinkNone
|
||||||
|
|
||||||
|
|
||||||
@ -74,6 +78,18 @@ makeTagLink tagId classes tagger =
|
|||||||
makeLink classes (LinkTag >> tagger) tagId
|
makeLink classes (LinkTag >> tagger) tagId
|
||||||
|
|
||||||
|
|
||||||
|
makeCustomFieldLink :
|
||||||
|
ItemFieldValue
|
||||||
|
-> List ( String, Bool )
|
||||||
|
-> (LinkTarget -> msg)
|
||||||
|
-> Html msg
|
||||||
|
makeCustomFieldLink cv classes tagger =
|
||||||
|
Util.CustomField.renderValue1
|
||||||
|
classes
|
||||||
|
(tagger (LinkCustomField cv) |> Just)
|
||||||
|
cv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Helpers
|
--- Helpers
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ import Api.Model.Equipment exposing (Equipment)
|
|||||||
import Api.Model.EquipmentList exposing (EquipmentList)
|
import Api.Model.EquipmentList exposing (EquipmentList)
|
||||||
import Api.Model.FolderStats exposing (FolderStats)
|
import Api.Model.FolderStats exposing (FolderStats)
|
||||||
import Api.Model.IdName exposing (IdName)
|
import Api.Model.IdName exposing (IdName)
|
||||||
|
import Api.Model.ItemFieldValue exposing (ItemFieldValue)
|
||||||
import Api.Model.ItemSearch exposing (ItemSearch)
|
import Api.Model.ItemSearch exposing (ItemSearch)
|
||||||
import Api.Model.PersonList exposing (PersonList)
|
import Api.Model.PersonList exposing (PersonList)
|
||||||
import Api.Model.ReferenceList exposing (ReferenceList)
|
import Api.Model.ReferenceList exposing (ReferenceList)
|
||||||
@ -353,6 +354,7 @@ type Msg
|
|||||||
| SetConcEquip IdName
|
| SetConcEquip IdName
|
||||||
| SetFolder IdName
|
| SetFolder IdName
|
||||||
| SetTag String
|
| SetTag String
|
||||||
|
| SetCustomField ItemFieldValue
|
||||||
| CustomFieldMsg Comp.CustomFieldMultiInput.Msg
|
| CustomFieldMsg Comp.CustomFieldMultiInput.Msg
|
||||||
| SetSource String
|
| SetSource String
|
||||||
| GetStatsResp (Result Http.Error SearchStats)
|
| GetStatsResp (Result Http.Error SearchStats)
|
||||||
@ -829,6 +831,22 @@ updateDrop ddm flags settings msg model =
|
|||||||
, dragDrop = DD.DragDropData ddm Nothing
|
, dragDrop = DD.DragDropData ddm Nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetCustomField cv ->
|
||||||
|
let
|
||||||
|
lm =
|
||||||
|
Comp.CustomFieldMultiInput.setValues [ cv ]
|
||||||
|
|
||||||
|
values =
|
||||||
|
Data.CustomFieldChange.fromItemValues [ cv ]
|
||||||
|
|
||||||
|
next =
|
||||||
|
updateDrop ddm flags settings (CustomFieldMsg lm) model
|
||||||
|
|
||||||
|
m =
|
||||||
|
next.model
|
||||||
|
in
|
||||||
|
{ next | model = { m | customValues = values } }
|
||||||
|
|
||||||
SetSource str ->
|
SetSource str ->
|
||||||
let
|
let
|
||||||
next =
|
next =
|
||||||
|
@ -3,12 +3,14 @@ module Data.CustomFieldChange exposing
|
|||||||
, CustomFieldValueCollect
|
, CustomFieldValueCollect
|
||||||
, collectValues
|
, collectValues
|
||||||
, emptyCollect
|
, emptyCollect
|
||||||
|
, fromItemValues
|
||||||
, isValueChange
|
, isValueChange
|
||||||
, toFieldValues
|
, toFieldValues
|
||||||
)
|
)
|
||||||
|
|
||||||
import Api.Model.CustomField exposing (CustomField)
|
import Api.Model.CustomField exposing (CustomField)
|
||||||
import Api.Model.CustomFieldValue exposing (CustomFieldValue)
|
import Api.Model.CustomFieldValue exposing (CustomFieldValue)
|
||||||
|
import Api.Model.ItemFieldValue exposing (ItemFieldValue)
|
||||||
import Dict exposing (Dict)
|
import Dict exposing (Dict)
|
||||||
|
|
||||||
|
|
||||||
@ -75,3 +77,10 @@ isValueChange change =
|
|||||||
|
|
||||||
FieldCreateNew ->
|
FieldCreateNew ->
|
||||||
False
|
False
|
||||||
|
|
||||||
|
|
||||||
|
fromItemValues : List { v | id : String, value : String } -> CustomFieldValueCollect
|
||||||
|
fromItemValues values =
|
||||||
|
List.map (\e -> ( e.id, e.value )) values
|
||||||
|
|> Dict.fromList
|
||||||
|
|> CustomFieldValueCollect
|
||||||
|
@ -713,6 +713,9 @@ linkTargetMsg linkTarget =
|
|||||||
Comp.LinkTarget.LinkTag id ->
|
Comp.LinkTarget.LinkTag id ->
|
||||||
Just <| SearchMenuMsg (Comp.SearchMenu.SetTag id.id)
|
Just <| SearchMenuMsg (Comp.SearchMenu.SetTag id.id)
|
||||||
|
|
||||||
|
Comp.LinkTarget.LinkCustomField id ->
|
||||||
|
Just <| SearchMenuMsg (Comp.SearchMenu.SetCustomField id)
|
||||||
|
|
||||||
|
|
||||||
doSearchMore : Flags -> UiSettings -> Model -> ( Model, Cmd Msg )
|
doSearchMore : Flags -> UiSettings -> Model -> ( Model, Cmd Msg )
|
||||||
doSearchMore flags settings model =
|
doSearchMore flags settings model =
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
module Util.CustomField exposing (nameOrLabel, renderValue)
|
module Util.CustomField exposing (nameOrLabel, renderValue, renderValue1)
|
||||||
|
|
||||||
import Api.Model.ItemFieldValue exposing (ItemFieldValue)
|
import Api.Model.ItemFieldValue exposing (ItemFieldValue)
|
||||||
import Data.CustomFieldType
|
import Data.CustomFieldType
|
||||||
import Data.Icons as Icons
|
import Data.Icons as Icons
|
||||||
import Html exposing (..)
|
import Html exposing (..)
|
||||||
import Html.Attributes exposing (..)
|
import Html.Attributes exposing (..)
|
||||||
|
import Html.Events exposing (onClick)
|
||||||
|
|
||||||
|
|
||||||
nameOrLabel : { r | name : String, label : Maybe String } -> String
|
nameOrLabel : { r | name : String, label : Maybe String } -> String
|
||||||
@ -14,6 +15,11 @@ nameOrLabel fv =
|
|||||||
|
|
||||||
renderValue : String -> ItemFieldValue -> Html msg
|
renderValue : String -> ItemFieldValue -> Html msg
|
||||||
renderValue classes cv =
|
renderValue classes cv =
|
||||||
|
renderValue1 [ ( classes, True ) ] Nothing cv
|
||||||
|
|
||||||
|
|
||||||
|
renderValue1 : List ( String, Bool ) -> Maybe msg -> ItemFieldValue -> Html msg
|
||||||
|
renderValue1 classes tagger cv =
|
||||||
let
|
let
|
||||||
renderBool =
|
renderBool =
|
||||||
if cv.value == "true" then
|
if cv.value == "true" then
|
||||||
@ -21,8 +27,21 @@ renderValue classes cv =
|
|||||||
|
|
||||||
else
|
else
|
||||||
i [ class "minus icon" ] []
|
i [ class "minus icon" ] []
|
||||||
|
|
||||||
|
el : List (Html msg) -> Html msg
|
||||||
|
el =
|
||||||
|
case tagger of
|
||||||
|
Just t ->
|
||||||
|
a
|
||||||
|
[ classList classes
|
||||||
|
, onClick t
|
||||||
|
, href "#"
|
||||||
|
]
|
||||||
|
|
||||||
|
Nothing ->
|
||||||
|
div [ classList classes ]
|
||||||
in
|
in
|
||||||
div [ class classes ]
|
el
|
||||||
[ Icons.customFieldTypeIconString "" cv.ftype
|
[ Icons.customFieldTypeIconString "" cv.ftype
|
||||||
, nameOrLabel cv |> text
|
, nameOrLabel cv |> text
|
||||||
, div [ class "detail" ]
|
, div [ class "detail" ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user