@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
96 lines (89 loc) • 2.86 kB
JavaScript
"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))
})))));
}));
}