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 / dist / inputs / Incrementer / IncrementerBox.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

const tslib_1 = require("tslib");

const react_1 = tslib_1.__importDefault(require("react"));

const exotic_1 = require("exotic");

const mobx_react_1 = require("xmobx/mobx-react");

const styled_1 = require("./styled");

let IncrementerBox = class IncrementerBox extends react_1.default.Component {
  constructor() {
    super(...arguments);

    this.handleDecrement = () => {
      const {
        state,
        onValueChange
      } = this.props;
      state.decrementCount();

      if (exotic_1.isFunction(onValueChange)) {
        onValueChange(state.count);
      }
    };

    this.handleIncrement = () => {
      const {
        state,
        onValueChange
      } = this.props;
      state.incrementCount();

      if (exotic_1.isFunction(onValueChange)) {
        onValueChange(state.count);
      }
    };

    this.handleChange = () => {
      const {
        state,
        onValueChange
      } = this.props;
      state.handleChange(event);

      if (exotic_1.isFunction(onValueChange)) {
        onValueChange(state.count);
      }
    };
  }

  render() {
    const {
      state
    } = this.props;
    return react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(styled_1.StyledMinusButton, {
      onClick: this.handleDecrement,
      isDisabled: !state.shouldDecrement
    }), react_1.default.createElement(styled_1.StyledInput, {
      value: state.count,
      onChange: this.handleChange,
      onBlur: state.handleBlur
    }), react_1.default.createElement(styled_1.StyledPlusButton, {
      onClick: this.handleIncrement,
      isDisabled: !state.shouldIncrement
    }));
  }

};
IncrementerBox = tslib_1.__decorate([mobx_react_1.observer], IncrementerBox);
exports.IncrementerBox = IncrementerBox; //# sourceMappingURL=IncrementerBox.js.map