mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-21 18:08:25 +00:00
Add checkbox to upload page for skipping duplicates
This commit is contained in:
@ -28,6 +28,7 @@ type alias Model =
|
|||||||
, errored : Set String
|
, errored : Set String
|
||||||
, loading : Set String
|
, loading : Set String
|
||||||
, dropzone : Comp.Dropzone.Model
|
, dropzone : Comp.Dropzone.Model
|
||||||
|
, skipDuplicates : Bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -56,6 +57,7 @@ emptyModel =
|
|||||||
, errored = Set.empty
|
, errored = Set.empty
|
||||||
, loading = Set.empty
|
, loading = Set.empty
|
||||||
, dropzone = Comp.Dropzone.init dropzoneSettings
|
, dropzone = Comp.Dropzone.init dropzoneSettings
|
||||||
|
, skipDuplicates = True
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -67,6 +69,7 @@ type Msg
|
|||||||
| ToggleSingleItem
|
| ToggleSingleItem
|
||||||
| Clear
|
| Clear
|
||||||
| DropzoneMsg Comp.Dropzone.Msg
|
| DropzoneMsg Comp.Dropzone.Msg
|
||||||
|
| ToggleSkipDuplicates
|
||||||
|
|
||||||
|
|
||||||
isLoading : Model -> File -> Bool
|
isLoading : Model -> File -> Bool
|
||||||
|
@ -20,6 +20,9 @@ update sourceId flags msg model =
|
|||||||
ToggleSingleItem ->
|
ToggleSingleItem ->
|
||||||
( { model | singleItem = not model.singleItem }, Cmd.none, Sub.none )
|
( { model | singleItem = not model.singleItem }, Cmd.none, Sub.none )
|
||||||
|
|
||||||
|
ToggleSkipDuplicates ->
|
||||||
|
( { model | skipDuplicates = not model.skipDuplicates }, Cmd.none, Sub.none )
|
||||||
|
|
||||||
SubmitUpload ->
|
SubmitUpload ->
|
||||||
let
|
let
|
||||||
emptyMeta =
|
emptyMeta =
|
||||||
@ -28,6 +31,7 @@ update sourceId flags msg model =
|
|||||||
meta =
|
meta =
|
||||||
{ emptyMeta
|
{ emptyMeta
|
||||||
| multiple = not model.singleItem
|
| multiple = not model.singleItem
|
||||||
|
, skipDuplicates = Just model.skipDuplicates
|
||||||
, direction =
|
, direction =
|
||||||
if model.incoming then
|
if model.incoming then
|
||||||
Just "incoming"
|
Just "incoming"
|
||||||
|
@ -169,22 +169,48 @@ renderForm model =
|
|||||||
[ div [ class "grouped fields" ]
|
[ div [ class "grouped fields" ]
|
||||||
[ div [ class "field" ]
|
[ div [ class "field" ]
|
||||||
[ div [ class "ui radio checkbox" ]
|
[ div [ class "ui radio checkbox" ]
|
||||||
[ input [ type_ "radio", checked model.incoming, onCheck (\_ -> ToggleIncoming) ] []
|
[ input
|
||||||
|
[ type_ "radio"
|
||||||
|
, checked model.incoming
|
||||||
|
, onCheck (\_ -> ToggleIncoming)
|
||||||
|
]
|
||||||
|
[]
|
||||||
, label [] [ text "Incoming" ]
|
, label [] [ text "Incoming" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, div [ class "field" ]
|
, div [ class "field" ]
|
||||||
[ div [ class "ui radio checkbox" ]
|
[ div [ class "ui radio checkbox" ]
|
||||||
[ input [ type_ "radio", checked (not model.incoming), onCheck (\_ -> ToggleIncoming) ] []
|
[ input
|
||||||
|
[ type_ "radio"
|
||||||
|
, checked (not model.incoming)
|
||||||
|
, onCheck (\_ -> ToggleIncoming)
|
||||||
|
]
|
||||||
|
[]
|
||||||
, label [] [ text "Outgoing" ]
|
, label [] [ text "Outgoing" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, div [ class "inline field" ]
|
, div [ class "inline field" ]
|
||||||
[ div [ class "ui checkbox" ]
|
[ div [ class "ui checkbox" ]
|
||||||
[ input [ type_ "checkbox", checked model.singleItem, onCheck (\_ -> ToggleSingleItem) ] []
|
[ input
|
||||||
|
[ type_ "checkbox"
|
||||||
|
, checked model.singleItem
|
||||||
|
, onCheck (\_ -> ToggleSingleItem)
|
||||||
|
]
|
||||||
|
[]
|
||||||
, label [] [ text "All files are one single item" ]
|
, label [] [ text "All files are one single item" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
, div [ class "inline field" ]
|
||||||
|
[ div [ class "ui checkbox" ]
|
||||||
|
[ input
|
||||||
|
[ type_ "checkbox"
|
||||||
|
, checked model.skipDuplicates
|
||||||
|
, onCheck (\_ -> ToggleSkipDuplicates)
|
||||||
|
]
|
||||||
|
[]
|
||||||
|
, label [] [ text "Skip files already present in docspell" ]
|
||||||
|
]
|
||||||
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user