|
|||||||
![]() |
|
|
Thread Tools |
|
#1
|
||||
|
||||
|
Hi all,
this is my first beta release of FileTreePanel for Ext 2.x. Despite it looks very similar if not identical to Ext 1.x implementation, it is different, more structured and offers more (or different) configuration options which deserves an explanation. The whole toy consists of 5 relatively independent classes that can be used also outside of FileTreePanel component. Starting from bottom up, they are: Ext.ux.FileUploader: This class is responsible for file uploads and has no UI. It has to have configured a store with some mandatory and some optional fields that contains mainly references to file input elements that hold file names to upload. It feature two modes of upload: Single upload mode takes all inputs from store, creates one form, appends inputs to it and uploads files in one single request. Multiple upload mode creates one form for one input and uploads each file in its own request. Other features:
Provides user interface to the above uploader with a couple of buttons, DataView to display the upload queue and status of files and mainly the store used by both DataView and FileUploader. UploadPanel was designed to fit to a menu therefore it is small and narrow by design. Other features:
This class was not written by me, I just used it because it is good and working and because loeppky promised support and debugging if necessary. Ext.ux.FileTreeMenu: It is (context) menu for FileTreePanel that contains UploadPanel for file uploads and other items for basic file operations such as:
This server file tree UI that integrates all things together. Features:
The code, though beta, is in very good condition, it is fully documented and commented and jslinted. Of course, I haven't had enough time to test everything so some bugs can pop up. I'm counting with your interest, support and bug reporting to help me to find and fix them. As majority of you perhaps already know, I'm not neither interested nor skilled enough to find IE bugs and workarounds for them, however, if you find IE specific bugs and workarounds for them, I will include them in the main code if they will be enclosed in Ext.isIE conditional blocks. Features planned for 1.0 release are all implemented except the progress information I'm not quite sure about. The problem is mainly on server side so if some of you know how to implement better progress information for Apache/PHP@Linux I'll be only glad to hear from you. The whole FileTreePanel package is now downloadable in 3 compressed formats: bz2, tar.gz and zip. Server side scripts, as for 1.x version, are not included in packages. You can write your own per specification I've published or you can contact me via PM or skype. Enjoy! Note: You may need to adjust paths in filetree.css if your icons do not show correctly. -------------- original post bellow ------------- Hi all. I've reached one step in porting my FileTree to Ext 2.0, minor but important one, and that is Ext.ux.form.FileField form field. This will become part of UploadForm (or something similar) and UploadForm will become part of FileTree. Take a look at it here and let me know what do you think. Thanks,
__________________
Jozef Sakalos, aka Saki A lot of valuable info at: Saki's Extensions and Plugins Saki's Extensions and Plugins Docs Saki's Examples, Latest: Grid in Card Layout Saki's Blog, Featured: Writing a Big Application in Ext, Latest: What the hell is mon and mun? |
|
#2
|
|||
|
|||
|
Very nice
But,Why is it necessary to include ext-all-debug.js? |
|
#3
|
||||
|
||||
|
Because "In Progress" === not finished === likely to be debugged === include debug version of Ext.
![]()
__________________
Jozef Sakalos, aka Saki A lot of valuable info at: Saki's Extensions and Plugins Saki's Extensions and Plugins Docs Saki's Examples, Latest: Grid in Card Layout Saki's Blog, Featured: Writing a Big Application in Ext, Latest: What the hell is mon and mun? |
|
#4
|
||||
|
||||
|
jsakalos: with MaximGB's ideas/help, I have implemented a Ext.ux.form.BrowseButton extension for doing the CSS hackery of placing an input file element over an Ext.Button. It works with all the Windows browsers (IE6/7, FF2, Safari 3). I don't have a Mac to test with unfortunately. It covers almost the entirety of the Ext.Button and it prevents the input file from overlapping other buttons. I think you could integrate it very easily into your Ext.ux.form.FileField.
Actually, MaximGB and I were just recently in discussion about using creating a Ext.ux.form.BrowseField that would use Ext.ux.form.BrowseButton, but it looks like that's unnecessary now ![]() |
|
#5
|
||||
|
||||
|
Yeah, I know. However, I need a bit more to it such as store for multiple files, custom fields, etc.
__________________
Jozef Sakalos, aka Saki A lot of valuable info at: Saki's Extensions and Plugins Saki's Extensions and Plugins Docs Saki's Examples, Latest: Grid in Card Layout Saki's Blog, Featured: Writing a Big Application in Ext, Latest: What the hell is mon and mun? |
|
#6
|
||||
|
||||
|
jsakalos: in your Ext.ux.form.FormField class, you can call detachInputFile method on the Ext.ux.form.BrowseButton to get the inputFileEl. Your Ext.ux.form.FormField class would then manage these file input elements and take care of displaying them to a user in your stylized way. detachInputFile will by default create a new inputFileEl to mask the BrowseButton as soon as the previous one is "detached".
Does this help your use case? Or maybe there's something I'm not understanding... |
|
#7
|
||||
|
||||
|
jsakaolos: I updated post #2 of the Ext.ux.form.BrowseButton thread with a link to a sample of BrowseButton online: http://loeppky.com/steven/code/samples/BrowseButton/. This sample displays and manages the files that were selected for upload.
|
|
#8
|
||||
|
||||
|
Thanks, I take a deeper look as you've done great job on button look and cross-browser compatibility.
It's perfect that you've added demo, especially the demo mode as it shows ho buttons are done. One question: If I decide to use your code in my application, what is license?
__________________
Jozef Sakalos, aka Saki A lot of valuable info at: Saki's Extensions and Plugins Saki's Extensions and Plugins Docs Saki's Examples, Latest: Grid in Card Layout Saki's Blog, Featured: Writing a Big Application in Ext, Latest: What the hell is mon and mun? |
|
#9
|
||||
|
||||
|
jsakalos: glad you like the demo. I hadn't thought about licensing. I'll get back to you by tomorrow. Obviously, I'm not trying to do any of this for profit, so what would you recommend?
|
|
#10
|
||||
|
||||
|
Quote:
Quote:
BTW, I'm going to use your BrowseButton for my upcoming UploadPanel and FileTree. I works very well so far, you've done great job!
__________________
Jozef Sakalos, aka Saki A lot of valuable info at: Saki's Extensions and Plugins Saki's Extensions and Plugins Docs Saki's Examples, Latest: Grid in Card Layout Saki's Blog, Featured: Writing a Big Application in Ext, Latest: What the hell is mon and mun? |
![]() |
| Thread Tools | |
|
|