Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui-presets / src / forms / views / SearchInput / strategy.ts
Size: Mime:
import React from 'react'
import {
  OnSubmitStrategyArgs,
  OnBlurStrategyArgs,
  OnChangeStrategyArgs,
  OnFocusStrategyArgs,
  ValidationStrategy,
} from '@skava/forms/build/dist/new-forms/strategies'
import { isFunction } from 'exotic'

class SearchValidationStrategy extends React.Component<ValidationStrategy> {
  onSubmit = (args: OnSubmitStrategyArgs) => {
    const { onSubmit } = this.props
    if (isFunction(onSubmit)) {
      onSubmit(args)
    }
  }

  onBlur = (args: OnBlurStrategyArgs) => {
    const { onBlur } = this.props
    if (isFunction(onBlur)) {
      onBlur(args)
    }
  }

  onFocus = (args: OnFocusStrategyArgs) => {
    const { onFocus } = this.props
    if (isFunction(onFocus)) {
      onFocus(args)
    }
  }

  onChange = (args: OnChangeStrategyArgs) => {
    const { onChange } = this.props
    if (isFunction(onChange)) {
      onChange(args)
    }
  }
}

export {
  SearchValidationStrategy,
}