Exemplo n.º 1
0
    def __init__(self, contentitem, onPublish, onLike, onDislike):
        """Create a ContentItemCell.

        Event handlers should be methods that take: sender, contentitem
        """
        DisclosurePanel.__init__(self, header=ContentItemCell.create_title(contentitem), isOpen=False)
        self.getHeader().setStyleName(Styles.CONTENTITEM_CELL_HEADER)
        self.panel = VerticalPanel(StyleName=Styles.CONTENTITEM_CELL_CONTENT)
        self.add(self.panel)
        self.toolbar = ContentItemToolbar(contentitem,
                                          onPublish=lambda sndr: onPublish(self, self.contentitem),
                                          onLike=lambda sndr: onLike(self, self.contentitem),
                                          onDislike=lambda sndr: onDislike(self, self.contentitem))
        self.panel.add(self.toolbar)

        self.panel.add(ContentItemComponent('ID', contentitem['id']))
        self.panel.add(ContentItemComponent('Title', contentitem['title']))
        self.panel.add(ContentItemComponent('Summary', contentitem['summary']))
        self.panel.add(ContentItemComponent('Author', contentitem['author']))
        self.panel.add(ContentItemComponent('Datetime', self.pretty_format_datetime(contentitem['datetime'])))
        self.panel.add(ContentItemComponent('Url', '<a href="%s">%s</a>' % (contentitem['url'], contentitem['url'])))
        self.panel.add(ContentItemComponent('Categories', contentitem['categories']))
        self.panel.add(ContentItemComponent('Content', contentitem['html']))
        self.contentitem = contentitem
        return