web/component.py
changeset 8732 0d9c8f5eb285
parent 8695 358d8bed9626
parent 8729 ea3fc8e1edee
child 8900 010a59e12d89
equal deleted inserted replaced
8727:5bca35901e9b 8732:0d9c8f5eb285
   106         if stop is not None:
   106         if stop is not None:
   107             params[self.stop_param] = stop
   107             params[self.stop_param] = stop
   108         view = self.cw_extra_kwargs.get('view')
   108         view = self.cw_extra_kwargs.get('view')
   109         if view is not None and hasattr(view, 'page_navigation_url'):
   109         if view is not None and hasattr(view, 'page_navigation_url'):
   110             url = view.page_navigation_url(self, path, params)
   110             url = view.page_navigation_url(self, path, params)
   111         elif path == 'json':
   111         elif path in ('json', 'ajax'):
       
   112             # 'ajax' is the new correct controller, but the old 'json'
       
   113             # controller should still be supported
   112             url = self.ajax_page_url(**params)
   114             url = self.ajax_page_url(**params)
   113         else:
   115         else:
   114             url = self._cw.build_url(path, **params)
   116             url = self._cw.build_url(path, **params)
   115         # XXX hack to avoid opening a new page containing the evaluation of the
   117         # XXX hack to avoid opening a new page containing the evaluation of the
   116         # js expression on ajax call
   118         # js expression on ajax call
   119         return url
   121         return url
   120 
   122 
   121     def ajax_page_url(self, **params):
   123     def ajax_page_url(self, **params):
   122         divid = params.setdefault('divid', 'pageContent')
   124         divid = params.setdefault('divid', 'pageContent')
   123         params['rql'] = self.cw_rset.printable_rql()
   125         params['rql'] = self.cw_rset.printable_rql()
   124         return js_href("$(%s).loadxhtml('json', %s, 'get', 'swap')" % (
   126         return js_href("$(%s).loadxhtml(AJAX_PREFIX_URL, %s, 'get', 'swap')" % (
   125             json_dumps('#'+divid), js.ajaxFuncArgs('view', params)))
   127             json_dumps('#'+divid), js.ajaxFuncArgs('view', params)))
   126 
   128 
   127     def page_link(self, path, params, start, stop, content):
   129     def page_link(self, path, params, start, stop, content):
   128         url = xml_escape(self.page_url(path, params, start, stop))
   130         url = xml_escape(self.page_url(path, params, start, stop))
   129         if start == self.starting_from:
   131         if start == self.starting_from: