예제 #1
0
    def line(self, fields, n):
        _x = 0
        for _f in fields:
            if isinstance(_f, string_types):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception(
                    'Colume definition is not right, only support string or dict'
                )

        tr = Tag('tr', newline=True)
        with tr:
            for x in fields:
                _span = int(n / _x)
                if isinstance(x, string_types):
                    name = x
                elif isinstance(x, dict):
                    name = x['name']
                    _span = _span * x.get('colspan', 1)

                f = getattr(self.form, name)
                obj = self.form.fields[name]

                #process hidden field
                if self.is_hidden(obj):
                    #tr << f
                    continue

                _class = "control-group"
                if f.error:
                    _class = _class + ' error'

                with tr.td(colspan=_span,
                           width='%d%%' % (100 * _span / n, ),
                           valign='top'):
                    with tr.Div(_class=_class, id='div_' + obj.id):
                        if self.get_widget_name(obj) == 'Checkbox':
                            tr << "&nbsp"
                        else:
                            if self.label_fix:
                                tr << f.field.get_label(_class='label_fix')
                            else:
                                tr << f.get_label(_class='control-label')

                        div = Div(_class='controls')
                        with div:
                            if self.get_widget_name(obj) == 'Checkbox':
                                div << f
                                div << f.label
                            else:
                                div << f
                            div << Div(_class="help help-block",
                                       _value=f.help_string or '')
                            if f.error:
                                div << Div(_class="message help-block",
                                           _value=f.error)
                        tr << str(div)
        return tr
예제 #2
0
    def line(self, fields, n):
        from uliweb.core.html import Tag

        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception('Colume definition is not right, only support string or dict')

        tr = Tag('tr')
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    f = self.get_field(x)
                elif isinstance(x, dict):
                    f = self.get_field(x['name'])
                    _span = _span * x.get('colspan', 1)

                with tr.td(colspan=_span, width='%d%%' % (100*_span/n,), _class='view-cell'):
                    with tr.div(_class='table-field-row', id='view_field_{}'.format(f['name'])):
                        with tr.label(_class='table-field-label'):
                            tr << f['label'] + ':'
                        if isinstance(x, dict) and x.get('break'):
                            tr << '<br/>'
                        with tr.div(_class='table-field-col'):
                            tr << f['display']

        return tr
예제 #3
0
    def line(self, fields, n):
        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception, 'Colume definition is not right, only support string or dict'
            
        tr = Tag('tr', newline=True)
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    name = x
                elif isinstance(x, dict):
                    name = x['name']
                    _span = _span * x.get('colspan', 1)

                f = getattr(self.form, name)
                obj = self.form.fields[name]
                
                #process hidden field
                if self.is_hidden(obj):
                    #tr << f
                    continue
                
                _class = "control-group"
                if f.error:
                    _class = _class + ' error'
                
                with tr.td(colspan=_span, width='%d%%' % (100*_span/n,), valign='top'):
                    with tr.Div(_class=_class, id='div_'+obj.id):
                        if self.get_widget_name(obj) == 'Checkbox':
                            tr << "&nbsp"
                        else:
                            if self.label_fix:
                                tr << f.field.get_label(_class='label_fix')
                            else:
                                tr << f.get_label(_class='control-label')                            
                            
                        div = Div(_class='controls')
                        with div:
                            if self.get_widget_name(obj) == 'Checkbox':
                                div << f
                                div << f.label
                            else:
                                div << f                    
                            div << Div(_class="help help-block", _value= f.help_string or '')
                            if f.error:
                                div << Div(_class="message help-block", _value=f.error)
                        tr << str(div)
        return tr
예제 #4
0
    def line(self, fields, n):
        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception, 'Colume definition is not right, only support string or dict'

        tr = Tag('tr', newline=True)
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    name = x
                elif isinstance(x, dict):
                    name = x['name']
                    _span = _span * x.get('colspan', 1)

                f = getattr(self.form, name)
                obj = self.form.fields[name]

                #process hidden field
                if self.is_hidden(obj):
                    tr << f
                    continue

                _class = self.get_class(obj)
                if f.error:
                    _class = _class + ' error'

                with tr.td(colspan=_span,
                           width='%d%%' % (100 * _span / n, ),
                           valign='top'):
                    with tr.Div(_class=_class, id='div_' + obj.id):
                        if f.error:
                            tr.strong(f.error, _class="message")
                        if self.get_widget_name(obj) == 'Checkbox':
                            tr << f
                            tr << f.label
                            tr << f.help_string or '&nbsp;'
                        else:
                            if self.label_fix:
                                tr << f.field.get_label(
                                    _class='field label_fix')
                            else:
                                tr << f.label
                            tr << f
                            tr << f.help_string or '&nbsp;'

        return tr
예제 #5
0
파일: layout.py 프로젝트: itnihao/uliweb
    def line(self, fields, n):
        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception, 'Colume definition is not right, only support string or dict'

        tr = Tag('tr', newline=True)
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    name = x
                elif isinstance(x, dict):
                    name = x['name']
                    _span = _span * x.get('colspan', 1)

                f = getattr(self.form, name)
                obj = self.form.fields[name]
                
                #process hidden field
                if self.is_hidden(obj):
                    tr << f
                    continue
                
                _class = self.get_class(obj)
                if f.error:
                    _class = _class + ' error'
                
                with tr.td(colspan=_span, width='%d%%' % (100*_span/n,), valign='top'):
                    with tr.Div(_class=_class, id='div_'+obj.id):
                        if f.error:
                            tr.strong(f.error, _class="message")
                        if self.get_widget_name(obj) == 'Checkbox':
                            tr << f
                            tr << f.label
                            tr << f.help_string or '&nbsp;'
                        else:
                            if self.label_fix:
                                tr << f.field.get_label(_class='field label_fix')
                            else:
                                tr << f.label
                            tr << f
                            tr << f.help_string or '&nbsp;'
                
        return tr
예제 #6
0
파일: layout.py 프로젝트: bobgao/uliweb
    def line(self, fields, n):
        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get("colspan", 1)
            else:
                raise Exception, "Colume definition is not right, only support string or dict"

        tr = Tag("tr")
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    name = x
                elif isinstance(x, dict):
                    name = x["name"]
                    _span = _span * x.get("colspan", 1)

                f = getattr(self.form, name)
                obj = self.form.fields[name]
                _class = "control-group"
                if f.error:
                    _class = _class + " error"

                with tr.td(colspan=_span, width="%d%%" % (100 * _span / n,), valign="top"):
                    with tr.div(_class=_class, id="div_" + obj.id):
                        if self.get_widget_name(obj) == "Checkbox":
                            tr << "&nbsp"
                        else:
                            if self.label_fix:
                                tr << f.field.get_label(_class="field label_fix")
                            else:
                                tr << f.get_label(_class="control-label")

                        div = Tag("div", _class="controls")
                        with div:
                            if self.get_widget_name(obj) == "Checkbox":
                                div << f
                                div << f.label
                            else:
                                div << f
                            div << Tag("div", _class="help help-block", _value=f.help_string or "")
                            if f.error:
                                div << Tag("div", _class="message help-block", _value=f.error)
                        tr << str(div)
        return tr
예제 #7
0
    def line(self, fields, n):
        from uliweb.core.html import Tag

        _x = 0
        for _f in fields:
            if isinstance(_f, (str, unicode)):
                _x += 1
            elif isinstance(_f, dict):
                _x += _f.get('colspan', 1)
            else:
                raise Exception(
                    'Colume definition is not right, only support string or dict'
                )

        tr = Tag('tr')
        with tr:
            for x in fields:
                _span = n / _x
                if isinstance(x, (str, unicode)):
                    f = self.get_field(x)
                elif isinstance(x, dict):
                    f = self.get_field(x['name'])
                    _span = _span * x.get('colspan', 1)

                with tr.td(colspan=_span,
                           width='%d%%' % (100 * _span / n, ),
                           _class='view-cell'):
                    with tr.div(_class='table-field-row',
                                id='view_field_{}'.format(f['name'])):
                        with tr.label(_class='table-field-label'):
                            tr << f['label'] + ':'
                        if isinstance(x, dict) and x.get('break'):
                            tr << '<br/>'
                        with tr.div(_class='table-field-col'):
                            tr << f['display']

        return tr