UNPKG

@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

37 lines (36 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var hooks_1 = require("../app/hooks"); var slices_1 = require("../slices"); var ItemGroups_1 = tslib_1.__importDefault(require("./ItemGroups")); var Option = function (_a) { var option = _a.option, levels = _a.levels, handlers = _a.handlers, close = _a.close, children = _a.children, ItemGroupsView = _a.ItemGroupsView, ItemGroupView = _a.ItemGroupView, ItemOptionView = _a.ItemOptionView, SuccessMessageView = _a.SuccessMessageView, ErrorMessageView = _a.ErrorMessageView; var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.option, modalContentConfig = _b.modalContent; var handlersOption = (0, react_1.useMemo)(function () { return (tslib_1.__assign(tslib_1.__assign({}, handlers), { close: close })); }, [handlers, close]); var renderItemGroups = (0, react_1.useCallback)(function (excludeSize) { if (!option || !levels) return react_1.default.createElement(react_1.default.Fragment, null); return (react_1.default.createElement(ItemGroups_1.default, { levels: levels, handlers: handlersOption, groups: option.groups, excludeSize: excludeSize, children: ItemGroupsView, ItemGroupView: ItemGroupView, ItemOptionView: ItemOptionView, SuccessMessageView: SuccessMessageView, ErrorMessageView: ErrorMessageView })); }, [ levels, option, handlersOption, ItemGroupsView, ItemGroupView, ItemOptionView, SuccessMessageView, ErrorMessageView ]); if (!config || !option || !levels) return null; return children({ config: config, handlers: handlersOption, option: option, modalContentConfig: modalContentConfig, renderItemGroups: renderItemGroups }); }; exports.default = Option;