Repository URL to install this package:
|
Version:
2.7.6 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const exotic_1 = require("exotic");
const OneForm_1 = require("@skava/forms/build/dist/src/new-forms/OneForm/OneForm");
const PluginsContext_1 = require("@skava/forms/build/dist/src/new-forms/plugins/PluginsContext");
const _deps_1 = require("../../../molecules/SelectDropDown/meta/_deps");
const SelectDropDown_1 = require("../../../molecules/SelectDropDown");
const Option_1 = require("../../../molecules/SelectDropDown/Option");
const styled_1 = require("./styled");
function defaultRenderButtonGroup(props) {
const {
iconType,
onSubmit
} = props;
const handleSubmit = args => {
onSubmit(args);
};
const view = exotic_1.isSafe(iconType) === true && iconType === 'plus' && react_1.default.createElement(styled_1.StyledPlusIcon, {
type: "add",
onClick: handleSubmit
});
return view;
}
exports.defaultRenderButtonGroup = defaultRenderButtonGroup;
function defaultRenderCreateForm(props, state) {
const {
label,
renderButtonGroup,
onSubmit
} = props,
remainingProps = tslib_1.__rest(props, ["label", "renderButtonGroup", "onSubmit"]);
const inputsList = [{
name: 'listName',
type: 'text',
label,
'data-qa': 'qa-create-list-dropdown-textbox'
}];
const handleSubmit = args => {
onSubmit(args);
state.handleToggleVisibility();
};
const formState = new OneForm_1.OneFormState().setInputsList(inputsList);
const view = react_1.default.createElement(PluginsContext_1.PluginsContext.Provider, {
value: [styled_1.StyledTextPlugin]
}, react_1.default.createElement(styled_1.StyledOneObserverForm, Object.assign({
state: formState,
renderButtonGroup: renderButtonGroup,
onSubmit: handleSubmit
}, remainingProps)));
return view;
}
exports.defaultRenderCreateForm = defaultRenderCreateForm;
function defaultRenderText(props, state) {
const text = _deps_1.toText(props, state);
const {
shouldCreateForm,
renderCreateForm
} = props,
remainingProps = tslib_1.__rest(props, ["shouldCreateForm", "renderCreateForm"]);
const option = react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(Option_1.SelectText, {
isSelected: props.isSelected,
isDisabled: props.isDisabled
}, text));
return shouldCreateForm === true ? renderCreateForm(remainingProps, state) : option;
}
function defaultRenderItem(item, props, state) {
const {
onClick,
shouldCreateForm
} = item;
const {
onActiveItemClick,
productItemDetails,
identifier: listIdentifier
} = props;
const handleClick = (value, item, selectionState) => {
onClick({
value,
productItemDetails,
listIdentifier
}, item, selectionState);
if (exotic_1.isFunction(onActiveItemClick) && state.isVisible === false) {
onActiveItemClick(value);
}
};
return react_1.default.createElement(SelectDropDown_1.Option, Object.assign({}, item, props, {
state: state,
label: item.label,
value: item.label,
key: item.label,
onClick: shouldCreateForm === true ? onClick : handleClick
}));
}
exports.defaultRenderItem = defaultRenderItem;
function defaultRenderList(props, state) {
const passThroughProps = Object.assign({
renderText: defaultRenderText
}, props);
function toItemWithState(item, index) {
return props.renderItem(item, passThroughProps, state);
}
return props.list.map(toItemWithState);
}
exports.defaultRenderList = defaultRenderList; //# sourceMappingURL=renderProps.js.map