예제 #1
0
    def Render(self):
        render = Widget.Render(self)

        # Total pages
        tmp = len(self.items) / float(self.items_per_page)
        if int(tmp) < tmp:
            total_pags = int(tmp) + 1
        else:
            total_pags = int(tmp) or 1

        if total_pags > 1 or self.show_footer_1pag:
            title = Box({'class': 'paginator-counter'},
                        RawHTML("Page %d of %d" %
                                (self.page_num + 1, total_pags)))
            render += title.Render()

        # Content
        range_start = self.items_per_page * self.page_num
        range_end = self.items_per_page * (self.page_num + 1)

        for item in self.items[range_start:range_end]:
            render += item.Render()

        # Add footer
        if total_pags > 1 or self.show_footer_1pag:
            footer = Paginator_Footer(len(self.items), self.page_num,
                                      self.items_per_page, total_pags,
                                      self.refreshable)
            render += footer.Render()

        return render
예제 #2
0
    def Render (self):
       render = Box.Render(self)

       props = {'id_widget':  self.id,
                'proxy_url':  self._url_local,
                'async_bool': ['false','true'][self._async]}

       render.js += JAVASCRIPT %(props)
       return render
예제 #3
0
    def Render (self):
        render = Box.Render(self)

        props = {'id':             self.id,
                 'url':            self._url_local,
                 'progressbar_id': self.progressbar.id}

        render.js += JS_UPDATING %(props)
        return render
예제 #4
0
    def Render(self):
        render = Box.Render(self)

        render.headers += HEADERS
        render.js += JS_INIT % ({
            'id': self.id,
            'selected': self.selected,
            'can_set': ('false', 'true')[self.can_set]
        })
        return render
예제 #5
0
    def Render(self):
        props = {
            'id': self.id,
            'upload_url': self._url_local,
            'opener_widget_id': self.opener_widget.id
        }

        render = Box.Render(self)
        render.headers += HEADERS
        render.js += JS % (props)

        return render
예제 #6
0
    def Render (self):
        # Add pager and arrows if there is more than 1 item
        if len(self.pager) > 1 and not self.controls:
            arrows = Box({'class':'arrows'})
            arrows += Link (None, RawHTML("%s"%(_('left'))), {'class': "buttons prev"})
            arrows += Link (None, RawHTML("%s"%(_('right'))), {'class': "buttons next"})

            self.controls = Box({'class':'controls'})
            self.controls += arrows
            self.controls += self.pager

            Box.__iadd__ (self, self.controls)

        # Render
        render = Box.Render (self)

        render.headers += HEADERS
        render.js      += JS_INIT %({'id': self.id})

        return render
예제 #7
0
 def Render(self):
     render = Box.Render(self)
     render.js = BUTTONS_PANEL_JS % (self.id) + render.js
     return render