before to reload a sub-LOAD need stop it auto-loading - for preventing from 
double loads of sub-LOAD component

full script:
def remake_reload_script(timeout=None):
    return SCRIPT('''
        var jelement = $("#show_update");
        var element = jelement.get(0);
        var statement = "jQuery('#show_update').get(0).reload();";
        clearInterval(element.timing); // stop reloading
        ''' + \
        (timeout and '''
        element.timeout = %s000;
        element.timing = setInterval(statement, %s000); // start reloading
        ''' % (timeout, timeout) or '')
        )




воскресенье, 19 апреля 2015 г., 19:54:31 UTC+3 пользователь Dmitry Ermolaev 
написал:
>
> # -*- coding: utf-8 -*-
>
> AJ_FROM_SERVER = True
> UPD_TIMEOUT = 6000
>
> def reload_btn(s):
>     return DIV(T('RELOAD'),
>         _onclick = 'ajax("%s", [], "reload_tag")' % 
> URL('aj_load2','reload'),
>         _class='btn btn-info')
>
> def reload():
>     session.counter = (int(session.counter or 0)) + 1
>     
>     # reload component
>     response.js =  "jQuery('#show_1').get(0).reload();"
>     #response.js +=  "jQuery('#show_2').get(0).reload();"
>     return CAT(
>         request.now,' ',
>         session.counter,
>         SCRIPT('$("html,body").animate({"scrollTop":50},"slow");')
>         )
>
> def show2():
>     
>     session.show2 = (int(session.show2 or 0)) + 1
>     h=CAT(
>             SCRIPT("""
>             if ( ! $('#show_2').is(':visible')) {
>                 $('#show_2').animate({ height: 'show' }, 1000);
>             }
>             """),
>             H4('SHOW 2'),
>             T('COUNTER 2'),': ',session.show2,
>         )
>     h += reload_btn(1)
>     
>     return h # not need any view
>
>
> def show1():
>     
>     session.show1 = (int(session.show1 or 0)) + 1
>     session.show2 = 1
>     
>     h = CAT(
>         SCRIPT("""
>             if ( ! $('#show_1').is(':visible')) {
>                 $('#show_1').animate({ height: 'show' }, 1000);
>             }
>             """),
>             H4('SHOW 1'),
>             T('COUNTER 1'),': ', session.show1,
>         )
>     h += LOAD('aj_load2', 'show2', args=[], ajax=True,
>                 times = 'infinity', timeout=UPD_TIMEOUT,
>                 target='show_2', # instead _id
>                 _style='display:none; height:0%;',
>                 _class='container',
>             )
>     
>     return h # not need any view
>
> def index():
>     response.title = None
>     #session.forget(response)
>     session.forget(request)
>     
>     h = CAT()
>     
>     h += reload_btn(1)
>     h += DIV(_id = 'reload_tag')
>     
>     h += LOAD('aj_load2', 'show1', args=[], ajax=True,
>             times = 'infinity', timeout=UPD_TIMEOUT * 5,
>             target='show_1',
>             _style='display:none; height:0%;',
>             _class='container',
>             )
>     return dict( h = DIV(h, _class='row')) # not need any view
>
>
> but after reload show_1 reladind of show_2 do doubles reloads ((
>
>
> понедельник, 13 апреля 2015 г., 23:00:39 UTC+3 пользователь Richard 
> написал:
>>
>> Hello,
>>
>> I create a page with multiple components inside of it (the index page is 
>> basically an empty shell for the components)... But one of there is a form 
>> in one of the embed component which as a field with a widget that trigger 
>> modal form allowing to insert a value in another table and select this 
>> inserted value (something like SELECT_OR_ADD() would do). The problem is 
>> that my form embeded in the modal which the widget append to the page with 
>> LOAD() don't load... It hang on "loading..."
>>
>> Any idea?
>>
>> Is it even possible to trigger a LOAD inside a LOAD?
>>
>> Thanks
>>
>> Richard
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to