fluid-form
Version:
Fluid form generator
83 lines (66 loc) • 2.54 kB
text/jade
span.clause(
ng-repeat='clause in clauses',
ng-switch='clause.type',
ng-show='clause.visible',
ng-class='clause.classes')
span.phrase(ng-switch-when='phrase', ng-bind='clause.label')
span.punctuation(ng-switch-when='punctuation', ng-bind='clause.label')
span.newline(ng-switch-when='newline')
span.echo(ng-switch-when='echo', ng-bind='clause.getter.value')
input.field.text(type='text', placeholder='{{clause.getLabel()}}', size='{{fieldSize(clause)}}',
ng-switch-when='text',
ng-model='clause.value',
ng-change='fieldChanged(clause)',
ng-focus='fieldFocus(clause)',
ng-blur='fieldBlur(clause)',
ng-disabled='!clause.visible',
ng-required='{{clause.visible}}')
input.field.int(type='text', placeholder='{{clause.getLabel()}}', size='{{fieldSize(clause)}}',
ng-switch-when='int',
ng-model='clause.value',
ng-change='fieldChanged(clause)',
ng-focus='fieldFocus(clause)',
ng-blur='fieldBlur(clause)',
ng-disabled='!clause.visible',
ng-required='{{clause.visible}}')
input.field.date(type='text', placeholder='{{clause.getLabel()}}', size='{{fieldSize(clause)}}',
ng-switch-when='date',
ng-model='clause.value',
ng-change='fieldChanged(clause)',
ng-focus='fieldFocus(clause)',
ng-blur='fieldBlur(clause)',
ng-disabled='!clause.visible',
ng-required='{{clause.visible}}')
span.field.choice(
ng-switch-when='choice',
ng-class='{ open: dropdown.isOpen(clause) }',
ng-required='{{clause.visible}}')
button.toggle(type='button',
ng-focus='dropdown.open(clause)',
ng-blur='dropdown.blur(clause)',
ng-disabled='!clause.visible',
ng-keydown='dropdown.keydown(clause, $event)',
ng-click='dropdown.open(clause)')
span(ng-if='clause.value', ng-bind='clause.value')
span.placeholder(ng-if='!clause.value', ng-bind='clause.getLabel()')
i.arrow.fa.fa-angle-double-down
ul.menu(role='menu',
ng-class='{ open: dropdown.isOpen(clause) }',
ng-show='dropdown.isOpen(clause)')
li.item(role='menuitem',
ng-repeat='choice in clause.choices',
ng-class='{ selected: (dropdown.isSelected(clause, choice)) }',
ng-click='dropdown.select(clause, choice)',
ng-bind='choice')
input(type='submit', class='submit-button',
value='{{clause.label}}',
ng-switch-when='submit',
ng-disabled='!formIsValid()',
ng-click='submitForm()')
div.error-message(
ng-if='clause.isInvalid',
ng-show='!fieldIsFocused(clause)',
ng-bind='clause.errorMessage')
span(ng-switch-default, style='color:red;font-weight:bold;display:block;')
| Unsupported token type:
code(ng-bind='clause.type')