Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"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