.. _widgetpedia/genro/components/dropUploader: 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 :ref:`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. .. Possibilità salvare il path nel record? .. Uniformare sintassi a img??? .. raw:: html
**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') | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci