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/forms / build / dist / new-forms / plugins / IncrementerPlugin.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
/**
 * @todo use html5 `min` & `max`
 */
const React = require("react");
const mobx_react_1 = require("xmobx/mobx-react");
const Incrementer_1 = require("../../components/Incrementer");
let IncrementerPlugin = class IncrementerPlugin extends React.Component {
    constructor() {
        super(...arguments);
        this.handleChange = (args) => {
            const { state } = this.props;
            state.setValue(args);
        };
    }
    static isSatisfiedByProps(props) {
        return ['incrementer'].includes(props.type);
    }
    render() {
        /**
         * @note this passes `state` to incrementer
         */
        const { state, className } = this.props;
        const { minValue = 1, maxValue, defaultValue, step } = state.attributes;
        state.setValue(minValue);
        const attributes = {
            className,
            minValue,
            maxValue,
            defaultValue,
            step,
            onChange: this.handleChange,
        };
        return React.createElement(Incrementer_1.Incrementer, Object.assign({}, attributes));
    }
};
// used by state - incrementer has it's own validation right?
IncrementerPlugin.defaultState = (inputState) => {
    return {
        validator: (value) => false,
    };
};
IncrementerPlugin = tslib_1.__decorate([
    mobx_react_1.observer
], IncrementerPlugin);
exports.IncrementerPlugin = IncrementerPlugin;
exports.default = IncrementerPlugin;
//# sourceMappingURL=IncrementerPlugin.js.map