mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 10:28:27 +00:00
Upload zip files contents as independent files
This commit is contained in:
@ -43,6 +43,7 @@ type alias Model =
|
||||
, skipDuplicates : Bool
|
||||
, languageModel : Comp.FixedDropdown.Model Language
|
||||
, language : Maybe Language
|
||||
, flattenArchives : Bool
|
||||
}
|
||||
|
||||
|
||||
@ -56,6 +57,7 @@ type Msg
|
||||
| DropzoneMsg Comp.Dropzone.Msg
|
||||
| ToggleSkipDuplicates
|
||||
| LanguageMsg (Comp.FixedDropdown.Msg Language)
|
||||
| ToggleFlattenArchives
|
||||
|
||||
|
||||
init : Model
|
||||
@ -71,6 +73,7 @@ init =
|
||||
, languageModel =
|
||||
Comp.FixedDropdown.init Data.Language.all
|
||||
, language = Nothing
|
||||
, flattenArchives = False
|
||||
}
|
||||
|
||||
|
||||
@ -132,11 +135,44 @@ update sourceId flags msg model =
|
||||
( { model | incoming = not model.incoming }, Cmd.none, Sub.none )
|
||||
|
||||
ToggleSingleItem ->
|
||||
( { model | singleItem = not model.singleItem }, Cmd.none, Sub.none )
|
||||
let
|
||||
newFlag =
|
||||
not model.singleItem
|
||||
in
|
||||
( { model
|
||||
| singleItem = newFlag
|
||||
, flattenArchives =
|
||||
if newFlag then
|
||||
False
|
||||
|
||||
else
|
||||
model.flattenArchives
|
||||
}
|
||||
, Cmd.none
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
ToggleSkipDuplicates ->
|
||||
( { model | skipDuplicates = not model.skipDuplicates }, Cmd.none, Sub.none )
|
||||
|
||||
ToggleFlattenArchives ->
|
||||
let
|
||||
newFlag =
|
||||
not model.flattenArchives
|
||||
in
|
||||
( { model
|
||||
| flattenArchives = newFlag
|
||||
, singleItem =
|
||||
if newFlag then
|
||||
False
|
||||
|
||||
else
|
||||
model.singleItem
|
||||
}
|
||||
, Cmd.none
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
SubmitUpload ->
|
||||
let
|
||||
emptyMeta =
|
||||
@ -153,6 +189,7 @@ update sourceId flags msg model =
|
||||
else
|
||||
Just "outgoing"
|
||||
, language = Maybe.map Data.Language.toIso3 model.language
|
||||
, flattenArchives = Just model.flattenArchives
|
||||
}
|
||||
|
||||
fileids =
|
||||
@ -403,6 +440,20 @@ renderForm texts model =
|
||||
]
|
||||
]
|
||||
]
|
||||
, div [ class "flex flex-col mb-3" ]
|
||||
[ label [ class "inline-flex items-center" ]
|
||||
[ input
|
||||
[ type_ "checkbox"
|
||||
, checked model.flattenArchives
|
||||
, onCheck (\_ -> ToggleFlattenArchives)
|
||||
, class Styles.checkboxInput
|
||||
]
|
||||
[]
|
||||
, span [ class "ml-2" ]
|
||||
[ text texts.flattenArchives
|
||||
]
|
||||
]
|
||||
]
|
||||
, div [ class "flex flex-col mb-3" ]
|
||||
[ label [ class "inline-flex items-center" ]
|
||||
[ input
|
||||
|
@ -35,6 +35,7 @@ type alias Texts =
|
||||
}
|
||||
, selectedFiles : String
|
||||
, languageLabel : Language -> String
|
||||
, flattenArchives : String
|
||||
}
|
||||
|
||||
|
||||
@ -65,6 +66,7 @@ gb =
|
||||
}
|
||||
, selectedFiles = "Selected Files"
|
||||
, languageLabel = Messages.Data.Language.gb
|
||||
, flattenArchives = "Extract zip file contents into separate items, in contrast to a single document with multiple attachments."
|
||||
}
|
||||
|
||||
|
||||
@ -95,6 +97,7 @@ de =
|
||||
}
|
||||
, selectedFiles = "Ausgewählte Dateien"
|
||||
, languageLabel = Messages.Data.Language.de
|
||||
, flattenArchives = "ZIP Dateien in separate Dokumente entpacken, anstatt ein Dokument mit mehreren Anhängen."
|
||||
}
|
||||
|
||||
|
||||
@ -125,4 +128,5 @@ fr =
|
||||
}
|
||||
, selectedFiles = "Fichiers séléctionnés"
|
||||
, languageLabel = Messages.Data.Language.fr
|
||||
, flattenArchives = "Décompresser les fichiers ZIP dans des documents séparés au lieu de créer un document avec plusieurs pièces jointes."
|
||||
}
|
||||
|
Reference in New Issue
Block a user