UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

96 lines (89 loc) 2.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "DataConfigurationAreaGroup", { enumerable: true, get: function () { return _CustomAccordion.default; } }); Object.defineProperty(exports, "DataConfigurationAreaItem", { enumerable: true, get: function () { return _DataSource.default; } }); exports.default = DataConfigurationArea; var _lodash = require("lodash"); var _react = _interopRequireDefault(require("react")); var _CustomAccordion = _interopRequireDefault(require("./components/CustomAccordion")); var _DataSource = _interopRequireDefault(require("./components/DataSource")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function DataConfigurationArea(_ref) { let { groups, onItemClick, editableTitle, onGroupTitleEdit, deletableGroups, onGroupDelete, onItemDelete, deletableItems, groupFooter, draggableItems, onItemDragEnd, selectedItems, titleRightAdornment, defaultExpanded } = _ref; return /*#__PURE__*/_react.default.createElement("div", { className: "column" }, groups.map((_ref2, groupIndex) => { let { id: groupId, name, items } = _ref2; return /*#__PURE__*/_react.default.createElement(_CustomAccordion.default, { defaultExpanded: defaultExpanded, draggableChildren: draggableItems, onDragEnd: result => { if (onItemDragEnd) { onItemDragEnd(groupId, result); } }, onDelete: onGroupDelete, deletable: deletableGroups, onTitleChange: onGroupTitleEdit, editableTitle: editableTitle, key: "".concat(groupId, "-accordion"), id: groupId, title: name, footer: /*#__PURE__*/_react.default.createElement("div", null, groupFooter ? groupFooter({ id: groupId, name, items }, groupIndex) : null), titleRightAdornment: titleRightAdornment }, /*#__PURE__*/_react.default.createElement("div", { className: "column" }, items === null || items === void 0 ? void 0 : items.map((item, index) => /*#__PURE__*/_react.default.createElement("div", { style: { padding: "8px 0" }, key: "".concat(item.id, "-item") }, /*#__PURE__*/_react.default.createElement(_DataSource.default, { index: index, draggable: draggableItems, subLabel: item.subLabel, icon: item.icon, deletable: deletableItems, onDelete: id => onItemDelete && onItemDelete(groupId, id), onClick: itemId => onItemClick(groupId, itemId), id: item.id, label: item.name, selected: Boolean((0, _lodash.find)(selectedItems, selectedItem => selectedItem.groupId === groupId && selectedItem.itemId === item.id)) }))))); })); }