equal
deleted
inserted
replaced
26 |
26 |
27 #from cubicweb.interfaces import IBreadCrumbs |
27 #from cubicweb.interfaces import IBreadCrumbs |
28 from cubicweb import tags, uilib |
28 from cubicweb import tags, uilib |
29 from cubicweb.entity import Entity |
29 from cubicweb.entity import Entity |
30 from cubicweb.selectors import (is_instance, one_line_rset, adaptable, |
30 from cubicweb.selectors import (is_instance, one_line_rset, adaptable, |
31 one_etype_rset, multi_lines_rset, any_rset) |
31 one_etype_rset, multi_lines_rset, any_rset, |
|
32 match_form_params) |
32 from cubicweb.view import EntityView, EntityAdapter |
33 from cubicweb.view import EntityView, EntityAdapter |
33 from cubicweb.web.views import basecomponents |
34 from cubicweb.web.views import basecomponents |
34 # don't use AnyEntity since this may cause bug with isinstance() due to reloading |
35 # don't use AnyEntity since this may cause bug with isinstance() due to reloading |
35 |
36 |
36 |
37 |
118 first_separator = True |
119 first_separator = True |
119 |
120 |
120 # XXX support kwargs for compat with other components which gets the view as |
121 # XXX support kwargs for compat with other components which gets the view as |
121 # argument |
122 # argument |
122 def render(self, w, **kwargs): |
123 def render(self, w, **kwargs): |
123 entity = self.cw_rset.get_entity(0, 0) |
124 try: |
|
125 entity = self.cw_extra_kwargs['entity'] |
|
126 except KeyError: |
|
127 entity = self.cw_rset.get_entity(0, 0) |
124 adapter = ibreadcrumb_adapter(entity) |
128 adapter = ibreadcrumb_adapter(entity) |
125 view = self.cw_extra_kwargs.get('view') |
129 view = self.cw_extra_kwargs.get('view') |
126 path = adapter.breadcrumbs(view) |
130 path = adapter.breadcrumbs(view) |
127 if path: |
131 if path: |
128 self.open_breadcrumbs(w) |
132 self.open_breadcrumbs(w) |
188 w(self.separator) |
192 w(self.separator) |
189 w(self._cw._('search')) |
193 w(self._cw._('search')) |
190 w(u'</span>') |
194 w(u'</span>') |
191 |
195 |
192 |
196 |
|
197 class BreadCrumbLinkToVComponent(BreadCrumbEntityVComponent): |
|
198 __select__ = basecomponents.HeaderComponent.__select__ & match_form_params('__linkto') |
|
199 |
|
200 def render(self, w, **kwargs): |
|
201 eid = self._cw.list_form_param('__linkto')[0].split(':')[1] |
|
202 entity = self._cw.entity_from_eid(eid) |
|
203 ecmp = self._cw.vreg[self.__registry__].select( |
|
204 self.__regid__, self._cw, entity=entity, **kwargs) |
|
205 ecmp.render(w, **kwargs) |
|
206 |
|
207 |
193 class BreadCrumbView(EntityView): |
208 class BreadCrumbView(EntityView): |
194 __regid__ = 'breadcrumbs' |
209 __regid__ = 'breadcrumbs' |
195 |
210 |
196 def cell_call(self, row, col, **kwargs): |
211 def cell_call(self, row, col, **kwargs): |
197 entity = self.cw_rset.get_entity(row, col) |
212 entity = self.cw_rset.get_entity(row, col) |