Sha256: 08608cadfa2ee3a2fb4c283f6ad75c57d0b039396f2cf0e88f1952903432da32
Contents?: true
Size: 1.95 KB
Versions: 3
Compression:
Stored size: 1.95 KB
Contents
class Lanes.Components.FieldWrapper extends Lanes.React.BaseComponent mixins: [ Lanes.React.Mixins.Access Lanes.React.Mixins.FieldErrors Lanes.React.Mixins.ReadEditingState ] blankElement: 'span' propTypes: model: Lanes.PropTypes.State.isRequired unlabeled: React.PropTypes.bool displayComponent: React.PropTypes.any.isRequired label: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.element ]) renderLabel: -> return null if @props.unlabeled <BS.ControlLabel> {@props.label} </BS.ControlLabel> renderType: -> if @isEditingRecord() if @hasWriteAccess() ['edit', @props.children] else if @hasReadAccess() ['display'] else ['none', @blankElement] else if @hasReadAccess() ['display'] else ['none', @blankElement] render: -> [type, child] = @renderType() props = _.omit(@props, 'value', 'model', 'value', 'label', 'name', 'displayComponent' ) unless child Comp = @props.displayComponent child = <Comp props /> if @isFieldValueInvalid() validationState = 'warning' if (invalidMsg = @fieldInvalidValueMessage()) msg = <BS.HelpBlock>{invalidMsg}</BS.HelpBlock> className = _.classnames( 'lanes-field', type, @props.className ( if @props.align then "align-#{@props.align}" else null), ) <BS.Col {...props} className={className}> <BS.FormGroup validationState={validationState}> <BS.ControlLabel> {@renderLabel()} </BS.ControlLabel> {child} <BS.FormControl.Feedback /> {msg} </BS.FormGroup> </BS.Col>
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.7.0 | client/lanes/components/shared/FieldWrapper.cjsx |
lanes-0.6.1 | client/lanes/components/shared/FieldWrapper.cjsx |
lanes-0.6.0 | client/lanes/components/shared/FieldWrapper.cjsx |