yes
вторник, 21 апреля 2015 г., 22:17:38 UTC+3 пользователь Dave S написал:
>
>
>
> On Tuesday, April 21, 2015 at 6:14:35 AM UTC-7, Dmitry Ermolaev wrote:
>>
>> before to reload a sub-LOAD need stop it auto-loading - for preventing
>> from double loads of sub-LOAD component
>>
>>
> Does this replace the reload() function that was in your post from Sunday?
> (Shown quoted below)
>
> /dps
>
>
>
>> full script:
>> def remake_reload_script(tag, timeout=None): # tag = '#show_2'
>> return '''
>> var jelement = $("%s");
>> var element = jelement.get(0);
>> var statement = "jQuery('%s').get(0).reload();";
>> clearInterval(element.timing); // stop auto-reloading
>> ''' % (tag, tag) + \
>> (timeout and '''
>> element.timeout = %s000;
>> element.timing = setInterval(statement, %s000); // start reloading
>> ''' % (timeout, timeout) or '')
>>
>>
>>
>> response.js = remake_reload_script('#show_1', 3)
>>
>> воскресенье, 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.