dropUploader¶
Il component dropUploader consente di importare file di qualsiasi estensione all’interno dell’applicativo. Per il caricamento sarà sufficiente trascinare il file sull’area che abbiamo assegnato al dropUploader o cliccare due volte per aprire una finestra da cui individuare il file da caricare. La caratteristica principale che lo differenzia dalla funzione PaletteImporter è la possibilità di poter riuscire a caricare più file insieme contemporaneamente.
Il dropUploader può essere definito come segue:
video.dropUploader(height='168px', width='320px',
uploadPath='site:social/video',
filename='=#FORM.record.id',
background_image="url('https://www.genropy.org/img/placeholder_video.jpg')",
onUploadedMethod=self.uploadVideoPath)
In quest’esempio abbiamo specificato:
un’altezza e una larghezza per l’area di upload
un
uploadPath
dove andare a salvare il file da caricareun
filename
, ovvero il nome da assegnare al file caricatoun
onUploadedMethod
, ovvero un metodo Rpc esterno che scatta una volta caricato il file
In particolare, il metodo Rpc onUploadedMethod può essere utilizzato per modificare il file una volta caricato o per far scattare altre azioni in seguito al caricamento. Per esempio, nel caso precedente, il metodo onUploadedMethod era definito come segue:
@public_method
def uploadVideoPath(self, file_path=None, **kwargs):
videoSn = self.site.storageNode(file_path)
video_url = videoSn.url()
self.setInClientData(value=video_url, path='social_publish.form.record.video_url')
Lo scopo è salvare nel record alcune informazioni relative allo storage node, al path e all’url del video, per renderle disponibili in altri processi.
Parametri:
Nome parametro |
Tipo |
Descrizione |
---|---|---|
uploadPath |
T |
Il path dove salvare il file oggetto dell’upload (es: uploadPath=”site/video”). Se non specificato sarà «site:uploaded_files» |
filename |
T |
Il nome del file, può essere corrispondente a una variabile (es: filename=”.id”) |
background_ |
T |
È possibile impostare un’immagine di sfondo (_image) o un colore (_colore) per il dropUploader |
height |
T |
Altezza in px |
width |
T |
Larghezza in px |
label |
T |
L’etichetta testuale che precede il dropUploader |
progressBar |
B |
Permette di visualizzare una barra durante il caricamento del file |
ext |
T |
La lista delle estensioni possibili (es: ext=”mp4,mpg,avi”) |
preview |
B |
|
onUploadingMethod |
T |
Metodo hook invocato prima del caricamento del file, può essere utilizzato per modificare il file prima che questo venga uploadato. |
onUploadedMethod |
T |
Metodo hook invocato dopo il caricamento del file, può essere utilizzato per modificare il file dopo l’upload. |
onResult |
T |
Esattamente come in una dataRpc, una callback Javascript eseguita una volta ottenuto un risultato dall’upload del file |
ask |
T |
Permette di chiedere dei parametri da passare al metodo rpc (es: ask = dict(title=”Genera piano conti”, fields=[dict(name=”conto_oneri_id”, …)])) |
_lockScreen |
B |
Se impostato a True la schermata si blocca durante l’esecuzione dell’rpc, rendendo impossibile modificare gli altri elementi |
rpc_ |
T |
Permette di passare specifici parametri al metodo rpc onUploading o onUploaded invocato (es: rpc_pkey=”=#FORM.pkey”) |
Autore della sezione: Davide Paci