485 |
485 |
486 def js_delete_bookmark(self, beid): |
486 def js_delete_bookmark(self, beid): |
487 rql = 'DELETE B bookmarked_by U WHERE B eid %(b)s, U eid %(u)s' |
487 rql = 'DELETE B bookmarked_by U WHERE B eid %(b)s, U eid %(u)s' |
488 self.req.execute(rql, {'b': typed_eid(beid), 'u' : self.req.user.eid}) |
488 self.req.execute(rql, {'b': typed_eid(beid), 'u' : self.req.user.eid}) |
489 |
489 |
|
490 def js_node_clicked(self, treeid, nodeeid): |
|
491 """add/remove eid in treestate cookie""" |
|
492 from cubicweb.web.views.treeview import treecookiename |
|
493 cookies = self.req.get_cookie() |
|
494 statename = treecookiename(treeid) |
|
495 treestate = cookies.get(statename) |
|
496 if treestate is None: |
|
497 cookies[statename] = nodeeid |
|
498 self.req.set_cookie(cookies, statename) |
|
499 else: |
|
500 marked = set(filter(None, treestate.value.split(';'))) |
|
501 if nodeeid in marked: |
|
502 marked.remove(nodeeid) |
|
503 else: |
|
504 marked.add(nodeeid) |
|
505 cookies[statename] = ';'.join(marked) |
|
506 self.req.set_cookie(cookies, statename) |
|
507 |
490 def js_set_cookie(self, cookiename, cookievalue): |
508 def js_set_cookie(self, cookiename, cookievalue): |
491 # XXX we should consider jQuery.Cookie |
509 # XXX we should consider jQuery.Cookie |
492 cookiename, cookievalue = str(cookiename), str(cookievalue) |
510 cookiename, cookievalue = str(cookiename), str(cookievalue) |
493 cookies = self.req.get_cookie() |
511 cookies = self.req.get_cookie() |
494 cookies[cookiename] = cookievalue |
512 cookies[cookiename] = cookievalue |