Newer
Older
chris
committed
class TrackChangeControlTool extends Tool {
constructor (parent, props, config) {
super(parent, props, config)
this.disabled = false
}
getClassNames () {
return 'sm-target-track-change-enable'
}
willReceiveProps (props) {
if (!this.canAct()) this.disabled = true
}
renderButton ($$) {
const el = super.renderButton($$)
const trackChangesMode = this.isTrackChangesOn()
if (trackChangesMode === true) el.addClass('track-changes-active')
if (!this.canAct()) el.attr('disabled', 'true')
return el
}
isTrackChangesOn () {
return this.parent._owner.props.trackChanges
canAct () {
const provider = this.context.trackChangesProvider
return provider.canAct()
}