Vai al contenuto

iBFile

iBFile è un plugin scritto in javascript per poter facilmente gestire upload di file, nasce dall’esigenza di un tool semplice,leggero e funzionale per poter caricare agevolmente più file in una sola volta.

Supporta invio multiplo di file attraverso form multipart, in ogni elemento si possono inserire nuove classi per poter liberamente modificare la visualizzazione dei vari elementi.

Caratteristiche

Di seguito le principali caratteristiche di questo plugin

  • Richiede solo il framework jQuery
  • Si integra in nodi form multipart
  • Indipendente dal framework css scelto
  • Supporta l’invio di file multipli
  • Grafica minimale

Installazione

Per integrazione iBFile basta includere il relativo file js, fatto ciò tutti i blocchi con classe “iBFile” verrannoautomaticamente inizializzati

...
<script src="jquery.min.js"></script>
<script src="iBFile.js"></script>
...

In caso si volesse inizializzare un blocco con iBfile, basta richiamare manualmente il codice:

 $('#my_file_uploader').iBFile()

Personalizzazione

Il pugin è stato scritto al framework Foundations di conseguenza senza bisogno di effettuare nessuna configurazione l’aspetto grafico degli elementi sarà uguale a quello mostrato negli esempi successivi, e comunque possibile configurarlo per poter supportare altri framerwork o css scritto ad-hoc.

La personalizzazione può essere fatta modificando opportunamente due oggetti esposti dal plugin:

  • window.iBFileGlobal.conf: Un oggetto che contiene gli attributi per modificare le classi degli elementi grafici del plugin
  • window.iBFileGlobal.templates: Un oggetto che contiene i “template” utilizzati pergli elementi grafici (da modificare solo se veramente necessario)

La modifica dei parametri non è retroattiva di conseguenza bisogna assicurarsi di inizializzare l’oggetto iBFile DOPO aver configurato correttamente il plugin, altrimenti questi non avranno effetto, è comunque possibile modificare in “al volo” i parametri di un oggetto iBFile modificando gli attributi “.conf” e “.template” .

window.iBFileGlobal.conf

Di seguito la lista di attributi di questo oggetto con una descrizione della funzione:

window.iBFileGlobal.conf.inputClass

Valore di Default: “”

La\e classe\i degli input di tipo “file” inseriti dal plugin, di solito questi elementi sono nascosti quindi non serve configurare questa voce

window.iBFileGlobal.conf.boxClass

Valore di Default: “alert-box success”

La\e classe\i per il contenitore del testo descrittivo del file caricato

window.iBFileGlobal.conf.buttonClass

Valore di Default: “small-12”

La\e classe\i per il bottone di caricamento

window.iBFileGlobal.conf.buttonText

Valore di Default: “< i class=’fi-plus’>< / i>Aggiungi”

Il testo da visualizzare nel bottone di caricamento

window.iBFileGlobal.conf.inputNamePrefix

Valore di Default: “file”

Il prefisso da aggiungere ai file caricati

window.iBFileGlobal.conf.inputFileClass

Valore di Default: “input-file-list hide”

La\e classe\i del contenitore degli input di tipo “file”, generamente questo è nascosto

window.iBFileGlobal.conf.boxFileClass

Valore di Default: “box-file-list”

La\e classe\i del contenitore della lista di testi descrittivi dei file caricati

window.iBFileGlobal.templates

Di seguito la lista di attributi di questo oggetto con una descrizione della funzione:

window.iBFileGlobal.templates.inputFile

Valore di Default: “< input class=’$1′ name=’$2′ type=’file’ />”

Il nodo input di tipo file inserito in automatico dal plugin

window.iBFileGlobal.templates.boxFile

Valore di Default: “< div class=’$1′ id=’$2’>$3< / div>”

Il nodo per la visualizzazione della descrizione del file caricato

window.iBFileGlobal.templates.button

Valore di Default: "< button class='$1'>$2 < / button>"

Il nodo per il bottone di caricamento

window.iBFileGlobal.templates.boxContainer

Valore di Default: “< div class=’$1’>< / div >”

Il contenitore per i nodi contenenti la descrizione dei file caricati

window.iBFileGlobal.templates.fileContainter

Valore di Default: “< div class=’$1’>< / div>”

Il contenitore per i nodi input di tipo file

Esempio

Qui di seguito, alcuni esempi per inizializzare il plugin.

Il primo esempio mostra come inizializzare il blocco attraverso la procedura automatica.

<form method="post"  enctype="multipart/form-data">
   <div class="iBFile"></div>
   <input type="submit" class="button success" value="Upload!"/>
</form>

Il secondo esempio mostra come inizializzare manualmente.

<form method="post"  enctype="multipart/form-data">
   <div id="my_file_uploader"></div>
   <input type="submit" class="button success" value="Upload!"/>
</form>
    
<script>
   $("#my_file_uploader").iBFile();
</script>

L’esempio qui sotto riporta invece un esempio di configurazione del plugin modificando alcune impostazione globali,da notare che prima sono state fatte le modifiche alle configurazioni e poi è stato inizializzato l’elemento iBFile

<form method="post"  enctype="multipart/form-data">
   <div id="my_file_uploader_conf"></div>
   <input type="submit" class="button success" value="Upload!"/>
</form>
    
<script>
   window.iBFileGlobal.conf.buttonText = "Click HERE!";
   window.iBFileGlobal.conf.buttonClass = "small-6 info";
   window.iBFileGlobal.conf.boxFileClass = "row";
                
   window.iBFileGlobal.conf.boxClass = "alert-box text-center error";
   window.iBFileGlobal.templates.boxFile= '<div class="column small-3 text-center"><div  class="box-disabled" title="$3"><i class="fi-page" id="$2" ></i></div></div>';
   $('#my_file_uploader_conf').iBFile();
</script>

Download

Questo plugin è sviluppato e mantenuto su Github.