Skip to content

Commit

Permalink
Merge 001b868 into 629d82d
Browse files Browse the repository at this point in the history
  • Loading branch information
stephane committed Mar 11, 2015
2 parents 629d82d + 001b868 commit 669fcc3
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 14 deletions.
3 changes: 3 additions & 0 deletions bootstrapform/config.py
@@ -1,4 +1,7 @@
from django.conf import settings


BOOTSTRAP_DEFAULT_VALUE_COLUMN_COUNT = getattr(settings, 'BOOTSTRAP_DEFAULT_VALUE_COLUMN_COUNT', 2)

BOOTSTRAP_COLUMN_COUNT = getattr(settings, 'BOOTSTRAP_COLUMN_COUNT', 12)
BOOTSTRAP_LABEL_COLS = getattr(settings, 'BOOTSTRAP_LABEL_COLS', 'col-sm-2 col-lg-2')
31 changes: 17 additions & 14 deletions bootstrapform/templatetags/bootstrap.py
Expand Up @@ -20,28 +20,31 @@ def bootstrap_inline(element):


@register.filter
def bootstrap_horizontal(element, label_cols='col-sm-2 col-lg-2'):
def bootstrap_horizontal(element, label_cols=None):
if not label_cols:
label_cols = config.BOOTSTRAP_LABEL_COLS

markup_classes = {'label': label_cols, 'value': '', 'single_value': ''}

for cl in label_cols.split(' '):
splitted_class = cl.split('-')
# Extract each class of label column to compute class of column value
for css_class in label_cols.split(' '):
# Eg. 'col-sm-2'
label_class = css_class.split('-')

try:
value_nb_cols = int(splitted_class[-1])
label_nb_cols = int(label_class[-1])
except ValueError:
value_nb_cols = config.BOOTSTRAP_COLUMN_COUNT
label_nb_cols = None

if value_nb_cols >= config.BOOTSTRAP_COLUMN_COUNT:
splitted_class[-1] = config.BOOTSTRAP_COLUMN_COUNT
else:
offset_class = cl.split('-')
offset_class[-1] = 'offset-' + str(value_nb_cols)
splitted_class[-1] = str(config.BOOTSTRAP_COLUMN_COUNT - value_nb_cols)
markup_classes['single_value'] += ' ' + '-'.join(offset_class)
markup_classes['single_value'] += ' ' + '-'.join(splitted_class)
if label_nb_cols is None or label_nb_cols >= config.BOOTSTRAP_COLUMN_COUNT:
label_nb_cols = config.BOOTSTRAP_DEFAULT_VALUE_COLUMN_COUNT

value_nb_cols = config.BOOTSTRAP_COLUMN_COUNT - label_nb_cols
value_offset_class = "%s-%s-offset-%d" % (label_class[0], label_class[1], label_nb_cols)
value_class = "%s-%s-%d" % (label_class[0], label_class[1], value_nb_cols)

markup_classes['value'] += ' ' + '-'.join(splitted_class)
markup_classes['single_value'] += " %s %s" % (value_offset_class, value_class)
markup_classes['value'] += " %s" % value_class

return render(element, markup_classes)

Expand Down

0 comments on commit 669fcc3

Please sign in to comment.