@pubsweet/ui
Version:
React component library for use in pubsweet apps
99 lines (73 loc) • 3.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _lodash = require("lodash");
var _reactFeather = require("react-feather");
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _atoms = require("../atoms");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject3() {
var data = _taggedTemplateLiteral(["\n margin-left: 5px;\n margin-right: 5px;\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n flex-direction: row;\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n flex-direction: row;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var StateListContainer = _styledComponents["default"].div(_templateObject());
var ItemContainer = _styledComponents["default"].div(_templateObject2());
var Delimiter = (0, _styledComponents["default"])(_reactFeather.ChevronRight).attrs(function () {
return {
size: 16
};
})(_templateObject3());
var StateList = function StateList(_ref) {
var currentValues = _ref.currentValues,
update = _ref.update,
values = _ref.values;
var progressIds = (0, _lodash.keys)(values);
var lastItem = (0, _lodash.last)(progressIds); // TODO: Placeholder -- to be implemented with authsome
var canAct = function canAct(key) {
return true;
};
var handleUpdate = function handleUpdate(currentItem, nextIndex) {
update(currentItem, nextIndex);
};
var items = (0, _lodash.map)(values, function (valueList, currentItem) {
var currentValueIndex = currentValues[currentItem];
return /*#__PURE__*/_react["default"].createElement(ItemContainer, {
key: (0, _lodash.uniqueId)()
}, /*#__PURE__*/_react["default"].createElement(_atoms.StateItem, {
disabled: !canAct(currentItem),
index: currentValueIndex,
update: handleUpdate,
values: valueList
}), currentItem !== lastItem && /*#__PURE__*/_react["default"].createElement(Delimiter, null));
});
return /*#__PURE__*/_react["default"].createElement(StateListContainer, null, items);
};
StateList.propTypes = {
currentValues: _propTypes["default"].objectOf(_propTypes["default"].number).isRequired,
update: _propTypes["default"].func.isRequired,
values: _propTypes["default"].objectOf(_propTypes["default"].arrayOf(_propTypes["default"].string)).isRequired
};
var _default = StateList;
exports["default"] = _default;