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 mobx_react_1 = require("xmobx/mobx-react");

const state_1 = require("@skava/ui/dist/state");

const renderProps_1 = require("./renderProps");

let ProductItem = class ProductItem extends react_1.default.Component {
  constructor() {
    super(...arguments);
    this.observableState = state_1.commonState();
  }

  render() {
    const {
      item
    } = this.props;
    let children = [];

    if (item.isBundle === true) {
      const newArray = [];
      newArray.push(item);
      const mergedArray = exotic_1.isArray(item.subProducts) && newArray.concat(item.subProducts);
      children = mergedArray.map(item => {
        return renderProps_1.defaultRenderBox(Object.assign({}, this.props, {
          item
        }), this.observableState);
      });
    } else {
      children = renderProps_1.defaultRenderBox(this.props, this.observableState);
    }

    const view = renderProps_1.defaultRenderWrapper(Object.assign({}, this.props, {
      children
    }));
    return view;
  }

};
ProductItem.defaultProps = {
  className: '',
  // renderProps
  renderActionButtons: renderProps_1.defaultRenderActionButtons,
  renderShippingMethod: renderProps_1.defaultRenderShippingMethod,
  renderShippingAddress: renderProps_1.defaultRenderShippingAddress,
  renderStatus: renderProps_1.defaultRenderStatus,
  renderProductDetails: renderProps_1.defaultRenderProductDetails
};
ProductItem = tslib_1.__decorate([mobx_react_1.observer], ProductItem);
exports.ProductItem = ProductItem;
exports.default = ProductItem;