UNPKG

@talend/react-containers

Version:

Provide connected components aka containers for @talend/react-cmf based on @talend/react-components.

56 lines 2.18 kB
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { Component as RComponent } from 'react'; import { cmfConnect } from '@talend/react-cmf'; import Immutable from 'immutable'; import PropTypes from 'prop-types'; import { omit } from "lodash"; import { Slider as Component } from "@talend/react-components"; import { jsx as _jsx } from "react/jsx-runtime"; export const VALUE_ATTR = 'value'; export const DEFAULT_STATE = new Immutable.Map({ [VALUE_ATTR]: undefined }); export const DISPLAY_NAME = 'Container(Slider)'; class Slider extends RComponent { constructor(props) { super(props); this.onChange = this.onChange.bind(this); this.onAfterChange = this.onAfterChange.bind(this); } onAfterChange(value) { if (this.props.onAfterChange) { this.props.onAfterChange(value); } } onChange(value) { this.props.setState(prevState => prevState.state.set(VALUE_ATTR, value)); if (this.props.onChange) { this.props.onChange(value); } } render() { const state = this.props.state || DEFAULT_STATE; const props = { ...omit(this.props, cmfConnect.INJECTED_PROPS), value: state.get(VALUE_ATTR, this.props.value), onChange: this.onChange, onAfterChange: this.onAfterChange }; return /*#__PURE__*/_jsx(Component, { ...props }); } } _defineProperty(Slider, "displayName", DISPLAY_NAME); _defineProperty(Slider, "propTypes", { ...cmfConnect.propTypes, id: PropTypes.string, value: PropTypes.number }); _defineProperty(Slider, "defaultProps", { value: 0 }); export default Slider; //# sourceMappingURL=Slider.container.js.map