UNPKG

@talend/react-components

Version:
79 lines (78 loc) 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _propTypes = _interopRequireDefault(require("prop-types")); var _Context = require("../Context"); var _timeExtraction = _interopRequireWildcard(require("../time-extraction")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function TimeContextualManager(props) { const [state, setState] = (0, _react.useState)(() => (0, _timeExtraction.default)(props.value, props.useSeconds)); (0, _react.useEffect)(() => { const nextState = (0, _timeExtraction.default)(props.value, props.useSeconds); if (!nextState.errorMessage) { setState(nextState); } }, [props.value, props.useSeconds]); function onChange(event, origin, nextState) { setState(nextState); if (!props.onChange) { return; } props.onChange(event, { ...nextState, origin }); } function onInputChange(event) { const textInput = event.target.value; const nextState = (0, _timeExtraction.default)(textInput, props.useSeconds); onChange(event, 'INPUT', nextState); } function onPickerChange(event, { textInput, time }) { const nextState = { time, textInput, errors: [], errorMessage: null }; onChange(event, 'PICKER', nextState); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Context.TimeContext.Provider, { value: { time: { time: state.time, textInput: state.textInput, timezone: props.timezone }, inputManagement: { onChange: onInputChange, placeholder: (0, _timeExtraction.getTimeFormat)(props.useSeconds) }, pickerManagement: { onChange: onPickerChange } }, children: props.children }); } TimeContextualManager.displayName = 'Time.Manager'; TimeContextualManager.defaultProps = { useSeconds: false }; TimeContextualManager.propTypes = { children: _propTypes.default.node, onChange: _propTypes.default.func, useSeconds: _propTypes.default.bool, timezone: _propTypes.default.string, value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]) }; var _default = exports.default = TimeContextualManager; //# sourceMappingURL=Manager.component.js.map