Giter VIP home page Giter VIP logo

contributte / fileupload Goto Github PK

View Code? Open in Web Editor NEW
28.0 9.0 23.0 248 KB

🆙 File uploads on steroids for Nette Framework (@nette). Implements blueimp/jquery-file-upload.

Home Page: https://contributte.org/packages/contributte/fileupload.html

License: MIT License

PHP 58.97% CSS 0.86% JavaScript 35.91% Latte 3.72% Makefile 0.53%
jquery-fileupload upload blueimp nette-framework nette contributte

fileupload's Introduction

Website 🚀 contributte.org | Contact 👨🏻‍💻 f3l1x.io | Twitter 🐦 @contributte

Usage

To install latest version of jzechy/jquery-fileupload use Composer.

composer require jzechy/jquery-fileupload

Documentation

For details on how to use this package, check out our documentation.

There is also thread on Nette Forum.

Versions

State Version Branch Nette PHP
dev ~2.1.0 master 2.4 >=7.1
stable ~2.0.3 master 2.4 >=7.2

Development

See how to contribute to this package. This package is currently maintained by these authors.


Consider to support contributte development team. Also thank you for using this package.

fileupload's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fileupload's Issues

Contributte

  • readme
  • github actions
  • composer
  • makefile
  • editorconfig
  • gitattributes

Vlastní parametry

Umožnit přidávat uploaderu vlastní parametry pro odeslání ajaxem.

Přidání sekvenčního nahrávání do konfigurace

Navrhuji přidání možnosti sequentialUploads: true do konfigurace pluginu, ideálně už do neonu. Já jsem ho musel využít, protože jinak když se mi někdo pokusil nahrát 50 souborů a v jednu chvíli mi to vytvořilo 50 POSTů na server a snažilo se uploadovat, tak to většinou nestihli v časovém limitu apache a celý plugin skončil v křeči. Sekvenčně to funguje bez problémů.

Díky za super práci

Získání souborů po odeslání formuláře

Dle dokumentace:

Nahrané soubory lze získat při zpracování formuláře z pole $values. Prvek vrací pole přesně takových hodnot, které vrací metoda save() UploadModelu.

Ale při zpracování formuláře tmp soubory již neexistují, tudíž toto bohužel není pravda. Nebo se pletu?

Call to undefined method Zet\FileUpload\Model\UploadController::validate().

PHP 5.3.5
Nette 2.3.10

Zatím bez požití vlastní modelové třídy pro upload
Zet\FileUpload\FileUploadControl::register($container);

Presenter

protected function createComponentZetMyForm() {

    $form = new \Nette\Application\UI\Form;
    $form->addFileUpload("uploader");

    $form->addSubmit('send', $this->template->txt['common']['ok'][$this->lang])
        ->setAttribute('class', 'btn btn-primary');

    $form->onValidate[] = $this->prodMgtZetMyFormValidate;
    $form->onSuccess[] = $this->prodMgtZetMyFormSucceeded;

return $form;

}

jQuery část pracuje perfektně. Po odeslání formuláře však hlásí:

Nette\MemberAccessException
Call to undefined method Zet\FileUpload\Model\UploadController::validate().
uploadcontroller_validate_error

Zdravím!

PHP 7.4 Deprecated: implode()

Po updatu na PHP 7.4 vyhazuje varování.

PHP Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in ...vendor/jzechy/jquery-fileupload/src/Filter/BaseFilter.php:49

Pokud má @JZechy zájem, mohu připravit pull request.

Custom template

I add $templates array passed to addFileUpload() which is passed to model UploadController.

In this array I have pairs "ui mode" => "pathname for template".

When control file is searched for controller rendering and uiMode is different that your originals, I try to search in this array and use custom template (absolute/relative filename checking).

Works fine. I am not attaching pull request because this is very naive representation, but custom templates are very important in some projects so please add it to your roadmap.

setUiTemplate

V prvé řadě díky za fajn plugin. Prosím - přidej do fce setUiTemplate návratovou hodnotu $this v FileUploadControl. Určitě nemusím vysvětlovat proč :)

Nette\Http\FileUpload - type is NULL

Pokud obejdu předchozí issue s voláním UploadController::validate(). a dumpnu si obsah proměně $values, je typ souboru vždy NULL.

["type":"Nette\Http\FileUpload":private]=> NULL

Děkuji a zdravím!

User changes to control.latte

I use your component in narrower column (col-md-9 instead of full col-md-10) and control.latte defines space for Choose files button too small in that conditions.

I cannot find a way how to change template via configuration so I have to create descendant which override getControl() and perform RE on original template.

But static method register() use CLASS so I need to copy this method to descendant for correct behaviour.

My recommendation:

  • allow to change control.latte via configuration
  • use something different than CLASS to determining current class name in register()

Thnx

Renderer objekt

Předělání pevných šablon na Renderer objekty´, umožnující tak maximální možnost upravit si vykreslení uploaderu.

  • Základní Bootstrap a HTML5 renderer.

Nette 2.4 a addGroup

Při použití $form->addGroup() a následného přidání FileUploaderu se přes attached() předá instance \Nette\Forms\ControlGroup, která očekává instanci IControl nebo Container.

Nelze pak předat UploadController.

Verze 2.0.0beta - JS hlásí Renderer is not defined

Zdravím,
dostávám do konzole následující chybu:

Uncaught ReferenceError: Renderer is not defined
    at HTMLDocument.ready (functions.js:24)
(anonymous) @ hra-9151:172
ready @ functions.js:24

Renderer registruji jakto:

   /** @var FileUploadControl $upload */
    $upload = $form->addFileUpload("uploader"); 

    $upload->setRenderer("Zet\FileUpload\Template\Renderer\Bootstrap4Renderer");  

    $upload->setFileFilter(DocumentFilter::class);

Not working jquery-FileUpload after ajax load form

Když se formulář s FileUpload načte pomocí ajaxu (překreslím snippet s formulářem) tak se nejspíš neinicializuje javascript nad inputem -> .fileupload(
Pokud stranku s formulářem obnovím tak se v souboru template/javascript.latte zavolá funkce document.addEventListener("DOMContentLoaded", function(event) { v které se nejspíš input inicializuje.

Pokud ale stranku načtu přes ajax tato funkce se neprovede. Následně se tedy otevře okno pro vyber souboru, ale jíž se nevykreslí a nepřidají.

Lokalizace

Umožnit lokalizaci hlášek v uploaderu.

Bower/npm

možnost stažení potřebných souboru přes Bower nebo NPM. Poté si uživatelé nemusí přesouvat soubory z ....src/www do složky www/

Možnost rozšíření adresáře přes definování formuláře

Ještě bych přidal dynamickoku možnost definování cílové podsložky, ať se na každou podložku nemusí dělat jiný model. IUploadModel jsem rozšířil o setDirectory, který volám v handleRemove, handleRename a hlavně handleUpload. Zde to předám vlastnímu modelu a tam si to už vyřeším sám. UploadControlleru to předám přes FileUploadControl, kde jsem si přidal také funkci SetDirectory. Takže jednoduše při vytváření formuláře definuji, do které podložky v hlavní upload složce to chci nahrát. Hlavně bych to nemusel při každým Tvém updatu dopisovat :))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.