[Phpmyadmin-devel] Recently Used Tables
Aris Feryanto
aris_feryanto at yahoo.com
Sun May 15 19:12:40 CEST 2011
On 15 Mei 2011, at 18:25, Marc Delisle <marc at infomarc.info> wrote:
> Le 2011-05-14 23:07, Aris Feryanto a écrit :
>> Hi Marc,
>>
>> On 14 Mei 2011, at 18:39, Marc Delisle <marc at infomarc.info> wrote:
>>
>>> Le 2011-05-13 16:06, Aris Feryanto a écrit :
>>>> Hi,
>>>>
>>>> The recently used tables is now using ajax. I've just pushed to
>>>> my repo, so the demo [0] will be available in an hour later.
>>>> Comment and suggestion are welcome, mainly regarding the
>>>> ajax-related code: - ajax request in navigation.js - ajax
>>>> response in navigation.php - ajax trigger in header.inc.php (the
>>>> triggering is done by adding <script> tag to call js function in
>>>> the navigation frame, any better way?)
>>>
>>> Hi Aris, How about this?
>>>
>>> diff --git a/js/functions.js b/js/functions.js index
>>> 572c857..50fd6f8 100644 --- a/js/functions.js +++
>>> b/js/functions.js @@ -2276,5 +2276,9 @@
>>> $(document).ready(function() { } });
>>>
>>> + $('#update_recent_tables').ready(function() { +
>>> window.parent.frame_navigation.PMA_reloadRecentTable(); +
>>> }); + }) // end of $(document).ready()
>>>
>>> diff --git a/libraries/header.inc.php b/libraries/header.inc.php
>>> index 05d272e..4036f86 100644 --- a/libraries/header.inc.php +++
>>> b/libraries/header.inc.php @@ -21,9 +21,7 @@ require_once
>>> './libraries/RecentTable.class.php'; function
>>> PMA_addRecentTable($db, $table) { $tmp_result =
>>> RecentTable::getInstance()->add($db, $table); if ($tmp_result ===
>>> true) { - echo '<script type="text/javascript">' . -
>>> 'window.parent.frame_navigation.PMA_reloadRecentTable();' . -
>>> '</script>'; + echo '<span class="hide"
>>> id="update_recent_tables"></span>'; } else { $error = $tmp_result;
>>> $error->display();
>>>
>>
>> This works. But, I'm thinking that we should add a function to
>> register javascript for a certain page, shouldn't we? The registered
>> script will be buffered for output, for example, near the bottom of
>> the page. The function will look like this:
>>
>> PMA_registerScript ( $scriptString );
>
> We want to avoid using inline Javascript if possible because we want to
> benefit from caching these files at the browser level. Also, we want to
> use jQuery if possible, instead of pure Javascript.
Ok.
>
>>
>> Since, IMO, the code will be clearer and easier to understand than
>> separated code in both the php and the js.
>
> In this particular case, code has to be both in PHP and Javascript
> because you want to refresh the drop-down only if $tmp_result is true.
>
I understand that the code must be separated in php n javascript. What I mean is if the javascript is registered from php code, the php code will be more readable, since the whole code for triggering reload is in the php file.
But, if the case is to avoid inline javascript, the it is ok.
>
--
Aris Feryanto
More information about the Developers
mailing list