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 caricare

  • un filename, ovvero il nome da assegnare al file caricato

  • un 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