@open-tender/store
Version:
A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API
24 lines (23 loc) • 1.48 kB
JavaScript
import React, { useCallback } from 'react';
import { useAppSelector } from '../app/hooks';
import { selectKioskConfig, selectStoreSettings } from '../slices';
import { default as ErrorMessageContainer } from './ErrorMessage';
import { default as ItemOptionSelectedContainer } from './ItemOptionSelected';
var ItemSelections = function (_a) {
var handlers = _a.handlers, groups = _a.groups, levels = _a.levels, isIncomplete = _a.isIncomplete, children = _a.children, ItemOptionView = _a.ItemOptionView, ErrorMessageView = _a.ErrorMessageView;
var config = useAppSelector(selectKioskConfig).itemSelections;
var display_customize = useAppSelector(selectStoreSettings).display_customize;
var renderErrorMessage = useCallback(function (icon, children) { return (React.createElement(ErrorMessageContainer, { icon: icon, content: children, children: ErrorMessageView })); }, [ErrorMessageView]);
var renderItemOption = useCallback(function (group, option) { return (React.createElement(ItemOptionSelectedContainer, { levels: levels, handlers: handlers, group: group, option: option, children: ItemOptionView })); }, [levels, handlers, ItemOptionView]);
if (!config)
return null;
return children({
config: config,
groups: groups,
isIncomplete: isIncomplete,
isCustomize: display_customize,
renderErrorMessage: renderErrorMessage,
renderItemOption: renderItemOption
});
};
export default ItemSelections;