<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-30 19:08 GMT+08:00 Atul Pratap Singh <span dir="ltr"><<a href="mailto:atulpratapsingh05@gmail.com" target="_blank">atulpratapsingh05@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
Edward,</div><div class="gmail_quote"><br></div><div class="gmail_quote"><div class="">On Fri, May 30, 2014 at 2:02 PM, Edward Cheng <span dir="ltr"><<a href="mailto:c4150221@gmail.com" target="_blank">c4150221@gmail.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="font-family:'courier new',monospace">




<div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace">I'm writting AJAX part now.</font></div>
<div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace">Have a look at this commit:</font></div><div style="font-family:arial,sans-serif;font-size:14px">
<font face="courier new, monospace"><a href="https://github.com/WhaleWatching/phpmyadmin/commit/a382070ee42b72474842d20e805ae2a087e4b8c7" target="_blank">https://github.com/WhaleWatching/phpmyadmin/commit/a382070ee42b72474842d20e805ae2a087e4b8c7</a><br>





</font></div><div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace">See my comment on it: </font></div><div style="font-family:arial,sans-serif;font-size:14px">
<font face="courier new, monospace"><span style="color:rgb(51,51,51);line-height:23.799999237060547px">  For get response data I add a param, run between requestHandler and responseHandler.</span></font></div></div></div>




</blockquote><div><br></div></div><div>As I understand, this mid-handler is your responsehandler that subsequently makes a call to the generic responsehandler of ajax.js. So it is not a real custom handler (that requests + handles response independent of the generic one)<br>


</div>
<div><br></div><div>Also, as I understand from your code, the proposed console would store a log of run queries and on running a query from console, the results will be displayed in the same way as happens when running a query from SQL tab. Right ?<br>
</div></div></div></div></blockquote><div class="gmail_default" style="font-family:'courier new',monospace">​Sometimes people'll run queries on console​ while they're browsing</div><div class="gmail_default" style="font-family:'courier new',monospace">
other pages, not SQL tab.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div>


</div><div><br></div><div>As per this understanding, you need a real custom handler because executing SQL and handling its response in PMA involves many custom checks and calls not only at response stage but also at request stage. For ex:-<br>



</div><div>- <div class="gmail_default" style="font-family:'courier new',monospace;display:inline">​​</div>checkSqlQuery()<br></div></div></div></div></blockquote><div class="gmail_default" style="font-family:'courier new',monospace">
​Sorry I don't get this :)​, just run it if some errors we</div><div class="gmail_default" style="font-family:'courier new',monospace">can wait response to tell users</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>- bookmark handling<div class="gmail_default" style="font-family:'courier new',monospace;display:inline">​</div></div></div></div></div>
</blockquote><div class="gmail_default" style="font-family:'courier new',monospace">​Bookmark handling will use another functions and send another</div><div class="gmail_default" style="font-family:'courier new',monospace">
AJAX request,​ old way is not good enough.​</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">
<div class="gmail_extra"><div class="gmail_quote"><div>- <div class="gmail_default" style="font-family:'courier new',monospace;display:inline">​​</div>reloading navigation for certain queries</div></div></div></div>
</blockquote><div class="gmail_default" style="font-family:'courier new',monospace">​<div class="gmail_default" style="display:inline">​</div>reloading navigation, global handlers take this job is better​</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>- refreshing main panel for certain queries</div></div></div></div></blockquote><div class="gmail_default"><font face="courier new, monospace">​Do you main #<span style="font-size:12px;white-space:pre-wrap">page_content ?</span>​</font></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>- triggering grid edit for results</div>

<div>

etc. see in sql.js near  $("#sqlqueryform.ajax").live('submit', function (event) {</div></div></div></div></blockquote><div class="gmail_default" style="font-family:'courier new',monospace">​I have noticed this handler.​</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><br></div>
<div>Or did you plan to duplicate above checks and calls into your midhandler?<div class="gmail_default" style="font-family:'courier new',monospace;display:inline">​</div></div></div></div></div></blockquote><div class="gmail_default" style="font-family:'courier new',monospace">
​No, midhandler just get result and append to console</div><div class="gmail_default" style="font-family:'courier new',monospace">corresponding​ message(e.g. shows under query string "SELECT</div><div class="gmail_default" style="font-family:'courier new',monospace">
* FROM `mysql`.`user`")</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div><br></div><div>Also, I don't understand why you need to call the generic response-handler of ajax.js? Remember that we don't need to populate AJAX.cache either.</div></div></div></div>
</blockquote><div class="gmail_default" style="font-family:'courier new',monospace">​My eng is not very well, so I draw a picture, see attachment​</div><div class="gmail_default" style="font-family:'courier new',monospace">
<br></div><div class="gmail_default" style="font-family:'courier new',monospace">Thanks :)</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="">



<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="font-family:'courier new',monospace">




<div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace"><br></font></div><div style="font-family:arial,sans-serif;font-size:14px">
<font face="courier new, monospace"><span style="color:rgb(51,51,51);line-height:23.799999237060547px">Now middle handler runs well, but I </span></font><span style="color:rgb(51,51,51);font-family:'courier new',monospace;line-height:23.799999237060547px">can't </span><span style="color:rgb(51,51,51);font-family:'courier new',monospace;line-height:23.799999237060547px">send</span></div>





<div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace"><span style="color:rgb(51,51,51);line-height:23.799999237060547px">message ID to PMA_console.</span><span style="color:rgb(51,51,51);font-size:12px">_responseMidHandler, my</span></font></div>





<div style="font-family:arial,sans-serif;font-size:14px"><font face="courier new, monospace"><span style="color:rgb(51,51,51);font-size:12px">questions are:</span></font></div><div style="font-family:arial,sans-serif;font-size:14px">





<font face="courier new, monospace"><span style="color:rgb(51,51,51);font-size:12px">1. Is the middle handler OK? Or is there another way to</span></font></div><div style="font-family:arial,sans-serif;font-size:14px">
<font face="courier new, monospace"><span style="color:rgb(51,51,51);font-size:12px">custom my AJAX request(I need pages jump use global</span></font></div><div style="font-family:arial,sans-serif;font-size:14px">
<font face="courier new, monospace"><span style="color:rgb(51,51,51);font-size:12px">AJAX handlers)</span></font></div></div></div></blockquote><div><br></div></div><div>Yes, you need to totally skip the generc/global AJAX handlers, for that you add a "class=ajax" to your form and write a custom handler.</div>
<span class=""><font color="#888888">



</font></span></div><span class=""><font color="#888888"><br clear="all"><div><br></div>-- </font></span></div><span class=""><font color="#888888"><div class="gmail_extra">Regards</div></font></span><div class=""><div class="gmail_extra">
<br>Atul Pratap Singh<div><a href="http://blog.atulsisodia.in/" target="_blank">http://blog.atulsisodia.in/</a></div>




</div></div></div>
<br>------------------------------------------------------------------------------<br>
Time is money. Stop wasting it! Get your web API in 5 minutes.<br>
<a href="http://www.restlet.com/download" target="_blank">www.restlet.com/download</a><br>
<a href="http://p.sf.net/sfu/restlet" target="_blank">http://p.sf.net/sfu/restlet</a><br>_______________________________________________<br>
Phpmyadmin-devel mailing list<br>
<a href="mailto:Phpmyadmin-devel@lists.sourceforge.net">Phpmyadmin-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Edward Cheng<div><br></div></div>
</div></div>