bruijn88
7 Jul 2009, 6:49 AM
Hi all!
After playing around with Ext for a while I finally got around making my first extension.
As of now, it reached a working 0.1 version with all features I thought were necessary for it to be useful.
It's (how surprisingly) a file browser! It extends Ext.Panel which uses a borderlayout. The west region holds a tree displaying the folders, and the center region holds a grid displaying the files in the currently selected folder.
It support basic operations, naming create/delete/rename folders and delete/rename/move/download files.
It comes with a sample PHP backend to provide some out of the box functionality but keep in mind that was only written to work, not to be safe. So don't use in production.
The zip contains one folder. Copy ExtJS into it and assure that all url's are correct. Navigate to it and things should be working on a PHP server.
There is another folder named 'docs' containing an html file with (guess what) documentation.
Since i've been too lazy to write a secure backend, I can't provide a live demo, but below you'll find 2 screenshots showing the UI.
I'm really curious what you guys think about it, and I appreciate all feedback!
Project Home (http://code.google.com/p/ext-ux-filebrowserpanel/)
Happy filebrowsing!
Zogs.
http://i879.photobucket.com/albums/ab353/bruijn88/th_screenshot-grid.png (http://s879.photobucket.com/albums/ab353/bruijn88/?action=view¤t=screenshot-grid.png)http://i879.photobucket.com/albums/ab353/bruijn88/th_screenshot-thumbnails.png (http://s879.photobucket.com/albums/ab353/bruijn88/?action=view¤t=screenshot-thumbnails.png)
Update:
Fixed some bugs + maintenance.
Project now hosted at google code.
Update 04-Nov-2009:
- You can now configure a different URL for each action performed on the server
- If, when creating/ renaming files/folder, then name has changed on the server due to eg. filtering
you send an extra parameter in the response with the new name which is then reflected in the UI
- refreshGrid() nog uses reload() on the store
- Docs updated accordingly
Please let me know if you run into any troubles, or create an issue on the project page.
After playing around with Ext for a while I finally got around making my first extension.
As of now, it reached a working 0.1 version with all features I thought were necessary for it to be useful.
It's (how surprisingly) a file browser! It extends Ext.Panel which uses a borderlayout. The west region holds a tree displaying the folders, and the center region holds a grid displaying the files in the currently selected folder.
It support basic operations, naming create/delete/rename folders and delete/rename/move/download files.
It comes with a sample PHP backend to provide some out of the box functionality but keep in mind that was only written to work, not to be safe. So don't use in production.
The zip contains one folder. Copy ExtJS into it and assure that all url's are correct. Navigate to it and things should be working on a PHP server.
There is another folder named 'docs' containing an html file with (guess what) documentation.
Since i've been too lazy to write a secure backend, I can't provide a live demo, but below you'll find 2 screenshots showing the UI.
I'm really curious what you guys think about it, and I appreciate all feedback!
Project Home (http://code.google.com/p/ext-ux-filebrowserpanel/)
Happy filebrowsing!
Zogs.
http://i879.photobucket.com/albums/ab353/bruijn88/th_screenshot-grid.png (http://s879.photobucket.com/albums/ab353/bruijn88/?action=view¤t=screenshot-grid.png)http://i879.photobucket.com/albums/ab353/bruijn88/th_screenshot-thumbnails.png (http://s879.photobucket.com/albums/ab353/bruijn88/?action=view¤t=screenshot-thumbnails.png)
Update:
Fixed some bugs + maintenance.
Project now hosted at google code.
Update 04-Nov-2009:
- You can now configure a different URL for each action performed on the server
- If, when creating/ renaming files/folder, then name has changed on the server due to eg. filtering
you send an extra parameter in the response with the new name which is then reflected in the UI
- refreshGrid() nog uses reload() on the store
- Docs updated accordingly
Please let me know if you run into any troubles, or create an issue on the project page.