def render(self, form, renderer): wdgs = [self.get_widget(form).render(form, self, renderer)] if self.format_field or self.encoding_field: divid = '%s-advanced' % self.input_name(form) wdgs.append( u'<a href="%s" title="%s"><img src="%s" alt="%s"/></a>' % (xml_escape(uilib.toggle_action(divid)), form._cw._('show advanced fields'), xml_escape(form._cw.data_url('puce_down.png')), form._cw._('show advanced fields'))) wdgs.append(u'<div id="%s" class="hidden">' % divid) if self.name_field: wdgs.append( self.render_subfield(form, self.name_field, renderer)) if self.format_field: wdgs.append( self.render_subfield(form, self.format_field, renderer)) if self.encoding_field: wdgs.append( self.render_subfield(form, self.encoding_field, renderer)) wdgs.append(u'</div>') if not self.required and self.typed_value(form): # trick to be able to delete an uploaded file wdgs.append(u'<br/>') wdgs.append( tags.input(name=self.input_name(form, u'__detach'), type=u'checkbox')) wdgs.append(form._cw._('detach attached file')) return u'\n'.join(wdgs)
def call(self, msg=None): if msg is None: msg = self._cw.message # XXX don't call self._cw.message twice self.w(u'<div id="appMsg" onclick="%s" class="%s">\n' % (toggle_action('appMsg'), (msg and ' ' or 'hidden'))) self.w(u'<div class="message" id="%s">%s</div>' % (self.domid, msg)) self.w(u'</div>')
def _render(self): if self.isitem: self.w(self._start_li()) ident = self.ident self.w(u'<a href="%s" class="%s">%s</a>' % (toggle_action(ident), self.link_class, self.label)) self._begin_menu(ident) for item in self.items: _bwcompatible_render_item(self.w, item) self._end_menu() if self.isitem: self.w(u'</li>')
def show_hide_actions(self, divid, currentlydisplayed=False): showhide = u';'.join( toggle_action('%s%s' % (divid, what))[11:] for what in ('Form', 'Show', 'Hide', 'Actions')) showhide = 'javascript:' + showhide showlabel = self._cw._('show filter form') hidelabel = self._cw._('hide filter form') if currentlydisplayed: return [(showhide, showlabel, 'hidden', '%sShow' % divid), (showhide, hidelabel, None, '%sHide' % divid)] return [(showhide, showlabel, None, '%sShow' % divid), (showhide, hidelabel, 'hidden', '%sHide' % divid)]
def show_hide_filter_actions(self, currentlydisplayed=False): divid = self.view.domid showhide = u';'.join( toggle_action('%s%s' % (divid, what))[11:] for what in ('Form', 'Show', 'Hide', 'Actions')) showhide = 'javascript:' + showhide self._cw.add_onload(u'''\ $(document).ready(function() { if ($('#%(id)sForm[class=\"hidden\"]').length) { $('#%(id)sHide').attr('class', 'hidden'); } else { $('#%(id)sShow').attr('class', 'hidden'); } });''' % {'id': divid}) showlabel = self._cw._('show filter form') hidelabel = self._cw._('hide filter form') return [ component.Link(showhide, showlabel, id='%sShow' % divid), component.Link(showhide, hidelabel, id='%sHide' % divid) ]