Sha256: 1eb6d6a241c5f6465bf26f1993820a5b007c89cb62d9cee276b112bdfff49bf3
Contents?: true
Size: 843 Bytes
Versions: 2
Compression:
Stored size: 843 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.5.6 | client/lanes/react/mixins/Access.coffee |
lanes-0.5.5 | client/lanes/react/mixins/Access.coffee |