[Phpmyadmin-devel] JQuery AJAX Implementation - Google SoC

Hi. I've tried to come up with a method that will help the UI experience for the user through AJAX while degrading gracefully for non Javascript supporting browsers. So here it goes: Ajaxifying the Browse table interface: 1) Currently clicking on the Delete icon causes a Javascript alert and then a page refresh takes place. Instead of refreshing, we can have a $(this).parent().parent().hide() called and at the same time, send a request to sql.php to make the deletion. 2) Currently clicking on the Edit icon causes a new page to open and changes must be made and saved there. We can associate the double click event of JQuery (.dblclick) with each of the fields inside a row so that when one would double click on a field in the row, all fields in the row turn into text boxes where changes can be made and once the focus is removed, the text boxes can become text fields again. Once a user decides to commit all changes, he would click the 'Submit Changes' button and he would receive the status update regarding the changes in the table. 3) A similar method can be employed to implement the Add row feature in Ajax. These are the ideas that I could come up with right now. The best part about this is, one need not be concerned about majority of things while writing the Javascript code. One can see that if Javascript is disabled, the application would run how it would have normally run otherwise. Also, there is a team that is working on GUI improvement. Their work can be run independently of this and very minor changes would have to be made in order to accommodate the JQuery Ajax code into the improved application. Please review this idea and let me know if you have any questions regarding the same. Regards. Meher Anand

Meher Anand a écrit :
Hi.
I've tried to come up with a method that will help the UI experience for the user through AJAX while degrading gracefully for non Javascript supporting browsers. So here it goes:
Ajaxifying the Browse table interface:
1) Currently clicking on the Delete icon causes a Javascript alert and then a page refresh takes place. Instead of refreshing, we can have a $(this).parent().parent().hide() called and at the same time, send a request to sql.php to make the deletion.
Makes sense. Anywaw, for non-js there is currently a refresh and a distinct confirmation page (if confirms are configured true).
2) Currently clicking on the Edit icon causes a new page to open and changes must be made and saved there. We can associate the double click event of JQuery (.dblclick) with each of the fields inside a row so that when one would double click on a field in the row, all fields in the row turn into text boxes where changes can be made and once the focus is removed, the text boxes can become text fields again. Once a user decides to commit all changes, he would click the 'Submit Changes' button and he would receive the status update regarding the changes in the table.
I'm not sure about your suggestion as the double-click is not a popular action on a web page. Also, when browsing, one does not have much room (take for example a text field or an ENUM or a foreign key with a drop-down for the choices). How about a new window that would open when clicking the Edit icon? It would be similar to the distinct page we currently get. Also, don't forget that the checkboxes can be used for multi-edit? Does this fit with AJAX? Not sure.
3) A similar method can be employed to implement the Add row feature in Ajax.
Are you talking about the Structure page or the Insert one?
These are the ideas that I could come up with right now. The best part about this is, one need not be concerned about majority of things while writing the Javascript code. One can see that if Javascript is disabled, the application would run how it would have normally run otherwise. Also, there is a team that is working on GUI improvement. Their work can be run independently of this and very minor changes would have to be made in order to accommodate the JQuery Ajax code into the improved application.
Please review this idea and let me know if you have any questions regarding the same.
Regards.
Meher Anand
-- Marc Delisle http://infomarc.info

On Tue, Mar 23, 2010 at 6:25 AM, Marc Delisle <marc@infomarc.info> wrote:
Meher Anand a écrit :
Hi.
I've tried to come up with a method that will help the UI experience for the user through AJAX while degrading gracefully for non Javascript supporting browsers. So here it goes:
Ajaxifying the Browse table interface:
1) Currently clicking on the Delete icon causes a Javascript alert and then a page refresh takes place. Instead of refreshing, we can have a $(this).parent().parent().hide() called and at the same time, send a request to sql.php to make the deletion.
Makes sense. Anywaw, for non-js there is currently a refresh and a distinct confirmation page (if confirms are configured true).
2) Currently clicking on the Edit icon causes a new page to open and
changes
must be made and saved there. We can associate the double click event of JQuery (.dblclick) with each of the fields inside a row so that when one would double click on a field in the row, all fields in the row turn into text boxes where changes can be made and once the focus is removed, the text boxes can become text fields again. Once a user decides to commit all changes, he would click the 'Submit Changes' button and he would receive the status update regarding the changes in the table.
I'm not sure about your suggestion as the double-click is not a popular action on a web page. Also, when browsing, one does not have much room (take for example a text field or an ENUM or a foreign key with a drop-down for the choices).
How about a new window that would open when clicking the Edit icon? It would be similar to the distinct page we currently get.
Also, don't forget that the checkboxes can be used for multi-edit? Does this fit with AJAX? Not sure.
Actually on second thoughts, a single click is sufficient. As far as room space is concerned, the following can be implemented: On clicking, the row height and cell width would expand and thus give more room. A new window would defeat the purpose of AJAX.
3) A similar method can be employed to implement the Add row feature in Ajax.
Are you talking about the Structure page or the Insert one?
These are the ideas that I could come up with right now. The best part
about
this is, one need not be concerned about majority of things while writing the Javascript code. One can see that if Javascript is disabled, the application would run how it would have normally run otherwise. Also, there is a team that is working on GUI improvement. Their work can be run independently of this and very minor changes would have to be made in order to accommodate the JQuery Ajax code into the improved application.
Please review this idea and let me know if you have any questions regarding the same.
Regards.
Meher Anand
-- Marc Delisle http://infomarc.info
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel

Marc Delisle a écrit :
Meher Anand a écrit :
2) Currently clicking on the Edit icon causes a new page to open and changes must be made and saved there. We can associate the double click event of JQuery (.dblclick) with each of the fields inside a row so that when one would double click on a field in the row, all fields in the row turn into text boxes where changes can be made and once the focus is removed, the text boxes can become text fields again. Once a user decides to commit all changes, he would click the 'Submit Changes' button and he would receive the status update regarding the changes in the table.
I'm not sure about your suggestion as the double-click is not a popular action on a web page. Also, when browsing, one does not have much room (take for example a text field or an ENUM or a foreign key with a drop-down for the choices).
How about a new window that would open when clicking the Edit icon? It would be similar to the distinct page we currently get.
I mean something like http://jqueryui.com/demos/dialog/modal-form.html -- Marc Delisle http://infomarc.info

On Tue, Mar 23, 2010 at 5:31 PM, Marc Delisle <marc@infomarc.info> wrote:
Marc Delisle a écrit :
Meher Anand a écrit :
2) Currently clicking on the Edit icon causes a new page to open and
changes
must be made and saved there. We can associate the double click event of JQuery (.dblclick) with each of the fields inside a row so that when one would double click on a field in the row, all fields in the row turn into text boxes where changes can be made and once the focus is removed, the text boxes can become text fields again. Once a user decides to commit all changes, he would click the 'Submit Changes' button and he would receive the status update regarding the changes in the table.
I'm not sure about your suggestion as the double-click is not a popular action on a web page. Also, when browsing, one does not have much room (take for example a text field or an ENUM or a foreign key with a drop-down for the choices).
How about a new window that would open when clicking the Edit icon? It would be similar to the distinct page we currently get.
I mean something like http://jqueryui.com/demos/dialog/modal-form.html
Yes of course. This is a great idea infact. There are two options at this point. Since there are many really good JQuery modal boxes available, we can choose one that fits the needs and one that is of a compatible license. Another option is to make our own modal box. Either is fine with me. In fact, this whole exercise now reminds me of the AJAX driven File Manager interface of CPanel. But this is better in that the PHP code that drives the entire interaface would need very little/ no changes. Please give more inputs to this idea. Regards. Meher Anand --
Marc Delisle http://infomarc.info
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel

How can I be removed from this mailing? I don't know how or why I'm on this list. Thanks Meher Anand wrote:
On Tue, Mar 23, 2010 at 5:31 PM, Marc Delisle <marc@infomarc.info <mailto:marc@infomarc.info>> wrote:
Marc Delisle a écrit : > Meher Anand a écrit :
> >> 2) Currently clicking on the Edit icon causes a new page to open and changes >> must be made and saved there. We can associate the double click event of >> JQuery (.dblclick) with each of the fields inside a row so that when one >> would double click on a field in the row, all fields in the row turn into >> text boxes where changes can be made and once the focus is removed, the text >> boxes can become text fields again. Once a user decides to commit all >> changes, he would click the 'Submit Changes' button and he would receive the >> status update regarding the changes in the table. > > I'm not sure about your suggestion as the double-click is not a popular > action on a web page. Also, when browsing, one does not have much room > (take for example a text field or an ENUM or a foreign key with a > drop-down for the choices). > > How about a new window that would open when clicking the Edit icon? It > would be similar to the distinct page we currently get. >
I mean something like http://jqueryui.com/demos/dialog/modal-form.html
Yes of course. This is a great idea infact. There are two options at this point. Since there are many really good JQuery modal boxes available, we can choose one that fits the needs and one that is of a compatible license. Another option is to make our own modal box. Either is fine with me.
In fact, this whole exercise now reminds me of the AJAX driven File Manager interface of CPanel. But this is better in that the PHP code that drives the entire interaface would need very little/ no changes.
Please give more inputs to this idea.
Regards.
Meher Anand
-- Marc Delisle http://infomarc.info
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net <mailto:Phpmyadmin-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
------------------------------------------------------------------------
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ------------------------------------------------------------------------
_______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel

Monte D. West a écrit :
How can I be removed from this mailing? I don't know how or why I'm on this list. Thanks
Hi, follow the link at the bottom of each message sent to this list, you'll get a web page on which there is an option to unsubscribe. -- Marc Delisle http://infomarc.info
participants (3)
-
Marc Delisle
-
Meher Anand
-
Monte D. West