@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
32 lines (31 loc) • 1.02 kB
JavaScript
import * as React from 'react';
export const GoToContext = React.createContext({});
export const useGoToForm = ({ onSubmit, model } = {}) => {
const [value, setValue] = React.useState(model.state.currentPage);
React.useEffect(() => {
if (value !== undefined && model.state.currentPage !== value) {
setValue(model.state.currentPage);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [model.state.currentPage]);
const handleSubmit = (event) => {
event.preventDefault();
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(event);
model.events.goTo(value || 0);
};
const handleChange = (event) => {
const formattedValue = parseInt(event.target.value, 10) || 0;
setValue(formattedValue);
};
const formProps = {
onSubmit: handleSubmit,
};
const inputProps = {
value,
onChange: handleChange,
};
return {
formProps,
inputProps,
};
};