Sha256: e281719244213a68799a19f91c0d8ed72fda922a5bb6dfd76a2b9a960d77d64b
Contents?: true
Size: 841 Bytes
Versions: 1
Compression:
Stored size: 841 Bytes
Contents
calculateAccess = (comp, props) -> model = _.result(comp, 'modelForAccess') || comp.commands?.getModel()?.modelForAccess() || comp.model?.modelForAccess() accessRight = if props.readonly or comp.context?.readonly 'r' else if props.writable or comp.context?.writable or Lanes.current_user.canWrite(model, props.name) 'w' else if props.readable or Lanes.current_user.canRead(model, props.name) 'r' comp.setState({accessRight}) if accessRight Lanes.React.Mixins.Access = { getInitialState: -> {} componentDidMount: -> calculateAccess(this, @props) componentWillReceiveProps: (newProps) -> calculateAccess(this, newProps) hasReadAccess: -> !!@state.accessRight hasWriteAccess: -> _.includes(['w', 'd'], @state.accessRight) }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.5.0 | client/lanes/react/mixins/Access.coffee |