94 except NoSelectableObject: |
94 except NoSelectableObject: |
95 continue |
95 continue |
96 return selected_tabs |
96 return selected_tabs |
97 |
97 |
98 def render_tabs(self, tabs, default, entity): |
98 def render_tabs(self, tabs, default, entity): |
|
99 # tabbed views do no support concatenation |
|
100 # hence we delegate to the default tab if there is more than on entity |
|
101 # in the result set |
|
102 if len(self.rset) > 1: |
|
103 entity.view(default, w=self.w) |
|
104 return |
|
105 # XXX (syt) fix below add been introduced at some point to fix something |
|
106 # (http://intranet.logilab.fr/jpl/ticket/32174 ?) but this is not a clean |
|
107 # way. We must not consider form['rql'] here since it introduces some |
|
108 # other failures on non rql queries (plain text, shortcuts,... handled by |
|
109 # magicsearch) which has a single result whose primary view is using tabs |
|
110 # (https://www.logilab.net/cwo/ticket/342789) |
|
111 #rql = self.req.form.get('rql') |
|
112 #if rql: |
|
113 # self.req.execute(rql).get_entity(0,0).view(default, w=self.w) |
|
114 # return |
99 self.req.add_css('ui.tabs.css') |
115 self.req.add_css('ui.tabs.css') |
100 self.req.add_js(('ui.core.js', 'ui.tabs.js', |
116 self.req.add_js(('ui.core.js', 'ui.tabs.js', |
101 'cubicweb.ajax.js', 'cubicweb.tabs.js', 'cubicweb.lazy.js')) |
117 'cubicweb.ajax.js', 'cubicweb.tabs.js', 'cubicweb.lazy.js')) |
102 # tabbed views do no support concatenation |
|
103 # hence we delegate to the default tab |
|
104 form = self.req.form |
|
105 if form.get('vid') == 'primary': |
|
106 entity.view(default, w=self.w) |
|
107 return |
|
108 rql = form.get('rql') |
|
109 if rql: |
|
110 self.req.execute(rql).get_entity(0,0).view(default, w=self.w) |
|
111 return |
|
112 # prune tabs : not all are to be shown |
118 # prune tabs : not all are to be shown |
113 tabs = self.prune_tabs(tabs) |
119 tabs = self.prune_tabs(tabs) |
114 # select a tab |
120 # select a tab |
115 active_tab = self.active_tab(tabs, default) |
121 active_tab = self.active_tab(tabs, default) |
116 # build the html structure |
122 # build the html structure |