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    
@skava/ui / src / components / molecules / DetailedList / renderProps.js
Size: Mime:
"use strict";

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
  return t;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const exotic_1 = require("exotic");

const Empty_1 = require("../../atoms/Empty");

const Heading_1 = __importDefault(require("../../atoms/Text/Heading"));

const styled_1 = require("./styled");
/**
 * rendering the Wrapper
 */


function defaultRenderWrapper(props) {
  const {
    className,
    children,
    dataQa
  } = props,
        remainingProps = __rest(props, ["className", "children", "dataQa"]);

  return react_1.default.createElement(styled_1.DetailedListWrapper, Object.assign({
    className: className,
    "data-qa": dataQa
  }, remainingProps), children);
}

exports.defaultRenderWrapper = defaultRenderWrapper;
/**
 * rendering the Heading
 */

function defaultRenderListHeading(props) {
  const view = exotic_1.isSafe(props.title) ? react_1.default.createElement(Heading_1.default, {
    breedType: "h3",
    content: props.title
  }) : react_1.default.createElement(Empty_1.Empty, null);
  return view;
}

exports.defaultRenderListHeading = defaultRenderListHeading;
/**
 * rendering one single item
 */

function defaultRenderListItem(item, index) {
  /* props included here for supporting the additional classes and styles */
  const {
    label,
    value,
    isColon
  } = item,
        remainingProps = __rest(item, ["label", "value", "isColon"]);

  const view = exotic_1.isSafe(value) ? react_1.default.createElement(styled_1.DetailedListItemPanel, Object.assign({
    key: index
  }, remainingProps), react_1.default.createElement(styled_1.DetailedListLabel, {
    isColon: isColon
  }, label), react_1.default.createElement(styled_1.DetailedListValue, null, value)) : react_1.default.createElement(Empty_1.Empty, null);
  /**
   * @todo isColumnView is currently not accepting the dynamic values
   * this logic will be changed by using React.Context type but later
   *
   * @note ^ was just a typo
   *  isColumnView={true}
  */

  return view;
}

exports.defaultRenderListItem = defaultRenderListItem;
/**
 * renders empty
 */

function defaultRenderEmpty(props) {
  return react_1.default.createElement(Empty_1.Empty, null);
}

exports.defaultRenderEmpty = defaultRenderEmpty;
/**
 * rendering the list panel
 */

function defaultRenderList(props) {
  const {
    list,
    renderEmpty,
    renderListItem
  } = props;

  if (list.length > 0) {
    return list.map((item, index) => renderListItem(item));
  } else {
    return renderEmpty(props);
  }
}

exports.defaultRenderList = defaultRenderList; //# sourceMappingURL=renderProps.js.map