Hi Rouslan,
Hi Thilanka,
off the top of my head I can think of an issue that can be solved with some ajaxification. On tbl_structure page, if you use the "Add * index" actions that are available in the "More" dropdown corresponding to a column in the top table. You will be dropped to sql.php, which will show the table structure page, but it will not include "tbl_structure.js", so all the ajax actions on this page will be broken. Of course, if the "Add
- index" links would be ajaxified, this would no longer be a problem,
because we would not leave the tbl_structure page.
Please do not take the following badly, but rather as constructive criticism and as a way to learn from your mistakes. I find that some of the ajaxification work that you did this summer was less then optimal. As an example, let's look at some issues with the work that you did on the index editor.
First of all, you create a custom slider to hide the indexes table. This was unnecessary, because we already have a PHP function that takes care of this, which also respects the $cfg['InitialSlidersState'] configuration setting.
Another issue was that in every ajax reply the top menu was included and then removed from the reply via jQuery. This, of course, causes transfer of waste data and it's better not to send it in PHP altogether.
Then there was an issue when a user requested to add a column to the index editor: the browser fired an HTTP request of the form to the server, just to get the same form back with an extra empty field. Of course, this action can be done on the client side by just cloning a row from the table.
So, I fixed all of the above and I also cleaned up the layout of the editor in order to use less horizontal space and appear more user-firendly. I invite you to look at these changes so that you can learn from them. It's commit 863819cbdd759 and the following 10 commits after that.
By the way, if you need a mentor or just some guidance, please feel free to contact me at any time. I would be glad to help you with any issues you may have and/or review your code.
Bye, Rouslan
Sorry for the delayed reply I'm sending. I went through your above mentioned commits and observed how was it implemented. Now I realize that some of the previous work I did have optimization problems. I'll go through the list of functionality I have implemented and come up with a optimized solution for them. Thanks for the guidance you gave.
Regards, Thilanka.