UNPKG

14 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _react = _interopRequireWildcard(require("react"));
9
10var _propTypes = _interopRequireDefault(require("prop-types"));
11
12var _lodash = _interopRequireDefault(require("lodash"));
13
14var _moment = _interopRequireDefault(require("moment"));
15
16var _ComboButton = _interopRequireDefault(require("./ComboButton"));
17
18var _Text = _interopRequireDefault(require("./Text"));
19
20var _Anchor = _interopRequireDefault(require("./Anchor"));
21
22var _Spacing = _interopRequireDefault(require("./Spacing"));
23
24var _StatusIndicator = _interopRequireDefault(require("./StatusIndicator"));
25
26var _Grid = _interopRequireDefault(require("./Grid"));
27
28var _Cell = _interopRequireDefault(require("./Cell"));
29
30var _Responsive = require("./Responsive");
31
32var _Visibility = _interopRequireDefault(require("./Visibility"));
33
34var _CheckboxOnly = _interopRequireDefault(require("./CheckboxOnly"));
35
36var _withStyles = require("../helpers/withStyles");
37
38var _reactWithStyles = require("react-with-styles");
39
40function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
42function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
43
44function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
45
46function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
47
48function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49
50function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
51
52function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
53
54function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
55
56function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
57
58function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
60function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
61
62function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
63
64function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
65
66function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67
68var propTypes = _objectSpread({}, _reactWithStyles.withStylesPropTypes, {
69 item: _propTypes.default.object,
70 clean: _propTypes.default.bool,
71 checked: _propTypes.default.bool,
72 onChange: _propTypes.default.func,
73 onAction: _propTypes.default.func,
74 children: _propTypes.default.any,
75 divided: _propTypes.default.bool,
76 loading: _propTypes.default.bool,
77 selectable: _propTypes.default.bool
78});
79
80var defaultProps = {
81 item: {}
82};
83
84var SummaryItem =
85/*#__PURE__*/
86function (_Component) {
87 _inherits(SummaryItem, _Component);
88
89 function SummaryItem(props) {
90 var _this;
91
92 _classCallCheck(this, SummaryItem);
93
94 _this = _possibleConstructorReturn(this, _getPrototypeOf(SummaryItem).call(this, props));
95 _this.state = {
96 hover: false
97 };
98 return _this;
99 }
100
101 _createClass(SummaryItem, [{
102 key: "render",
103 value: function render() {
104 var _this2 = this;
105
106 var _this$props = this.props,
107 item = _this$props.item,
108 clean = _this$props.clean,
109 checked = _this$props.checked,
110 _onChange = _this$props.onChange,
111 onAction = _this$props.onAction,
112 children = _this$props.children,
113 divided = _this$props.divided,
114 loading = _this$props.loading,
115 selectable = _this$props.selectable,
116 styles = _this$props.styles,
117 css = _this$props.css;
118 var hover = this.state.hover;
119 return _react.default.createElement("li", _extends({}, css(styles.summaryItem, divided && styles.summaryItem_divided), {
120 onMouseOver: function onMouseOver() {
121 return _this2.setState({
122 hover: true
123 });
124 },
125 onMouseOut: function onMouseOut() {
126 return _this2.setState({
127 hover: false
128 });
129 }
130 }), _react.default.createElement(_Grid.default, {
131 resetSpacing: true
132 }, _react.default.createElement(_Visibility.default, {
133 showIf: selectable,
134 unmount: true
135 }, _react.default.createElement(_Responsive.Responsive, {
136 showFor: "medium",
137 unmount: true
138 }, _react.default.createElement("div", css(styles.summaryItem__checkboxContainer, clean && styles.summaryItem__checkboxContainer_clean, clean && hover && styles.summaryItem__checkboxContainer_visible), _react.default.createElement(_Cell.default, {
139 shrink: true,
140 noSpacing: clean
141 }, _react.default.createElement(_CheckboxOnly.default, {
142 checked: checked,
143 onChange: function onChange() {
144 return _onChange();
145 }
146 }))))), children && _react.default.createElement(_Cell.default, {
147 shrink: true
148 }, children), _react.default.createElement(_Cell.default, {
149 auto: true,
150 noSpacing: true
151 }, _react.default.createElement(_Grid.default, null, _react.default.createElement(_Cell.default, {
152 auto: true,
153 maxWidth: 24
154 }, _react.default.createElement(_Text.default, {
155 loading: loading,
156 bold: true
157 }, _react.default.createElement(_Anchor.default, {
158 onClick: function onClick() {
159 return onAction(item.clickAction ? item.clickAction : item.mainAction);
160 }
161 }, item.title)), _react.default.createElement(_Text.default, {
162 small: true,
163 shimmerWidth: "100%",
164 loading: loading
165 }, item.description), _react.default.createElement(_Text.default, {
166 small: true,
167 bold: true,
168 loading: loading
169 }, item.params && Array.isArray(item.params) && item.params.join(', ')), item.log && _react.default.createElement(_Spacing.default, {
170 top: .5
171 }, _react.default.createElement(_Text.default, {
172 muted: true,
173 small: true,
174 shimmerWidth: "80%",
175 loading: loading
176 }, _react.default.createElement(_react.Fragment, null, _lodash.default.capitalize(item.log.action), _react.default.createElement("strong", null, item.log.datetime && //moment(item.log.datetime).format('DD [de] MMMM [de] YYYY [às] hh:mm')
177 _moment.default.utc(item.log.datetime).fromNow()), item.log.user && _react.default.createElement("span", null, " por ", item.log.link ? _react.default.createElement("strong", null, _react.default.createElement("a", {
178 href: item.log.link
179 }, item.log.user)) : _react.default.createElement("strong", null, item.log.user), " "))))), _react.default.createElement(_Cell.default, {
180 noSpacing: true,
181 size: 12,
182 largeSize: 2
183 }, item.status && _react.default.createElement(_Spacing.default, {
184 top: 1,
185 topLargeAndAbove: 0.1,
186 left: 1,
187 leftLargeAndAbove: 0.25
188 }, _react.default.createElement(_StatusIndicator.default, {
189 loading: loading,
190 text: item.status.label,
191 color: item.status.color
192 }))), _react.default.createElement(_Cell.default, {
193 size: 12,
194 autoOnMedium: true,
195 center: true
196 }, item.report && Array.isArray(item.report) && item.report.length > 0 && _react.default.createElement(_Spacing.default, {
197 top: 1.25,
198 topLargeAndAbove: 0
199 }, _react.default.createElement("div", css(styles.summaryItem__info), item.report.map(function (data) {
200 if (data) {
201 return _react.default.createElement("div", _extends({}, css(styles.summaryItem__info__item), {
202 key: data.label
203 }), _react.default.createElement("strong", css(styles.summaryItem__info__value), data.value), _react.default.createElement("span", css(styles.summaryItem__info__label), data.label));
204 } else {
205 return false;
206 }
207 })))))), _react.default.createElement(_Cell.default, {
208 size: 12,
209 shrinkOnMedium: true
210 }, _react.default.createElement("div", css(styles.summaryItem__actions, clean && styles.summaryItem__actions_clean, clean && hover && styles.summaryItem__actions_visible), item.customButtom, _react.default.createElement(_ComboButton.default, {
211 soft: true,
212 loading: loading,
213 shimmer: loading,
214 mainOption: item.actions && item.actions.filter(function (action) {
215 return item.mainAction === action.value;
216 })[0],
217 options: item.actions ? item.actions.filter(function (action) {
218 return item.mainAction !== action.value;
219 }) : [],
220 onClick: function onClick(option) {
221 return onAction && onAction(option);
222 },
223 closeOnSelect: true,
224 noSpacing: true
225 })))));
226 }
227 }]);
228
229 return SummaryItem;
230}(_react.Component);
231
232SummaryItem.propTypes = propTypes;
233SummaryItem.defaultProps = defaultProps;
234var SummaryItemWithStyles = (0, _withStyles.withStyles)(function (_ref) {
235 var color = _ref.color,
236 units = _ref.units,
237 breakpoint = _ref.breakpoint,
238 gutter = _ref.gutter,
239 fontSize = _ref.fontSize,
240 font = _ref.font,
241 weight = _ref.weight;
242 return {
243 summaryItem: {
244 padding: 0,
245 paddingTop: units(1.25),
246 paddingBottom: units(1.25),
247 position: 'relative',
248 display: 'flex',
249 fontFamily: font.default
250 },
251 summaryItem_divided: {
252 borderBottomWidth: 1,
253 borderBottomStyle: 'solid',
254 borderBottomColor: color.blueGrayLight
255 },
256 summaryItem__checkboxContainer: {
257 flexShrink: 1,
258 flexGrow: 0
259 },
260 summaryItem__checkboxContainer_clean: _defineProperty({
261 position: 'absolute',
262 paddingLeft: units(1),
263 transform: 'translate(calc(-100% + .5rem), 0)',
264 visibility: 'visible',
265 height: '100%',
266 transition: 'visibility .25s ,opacity .25s'
267 }, breakpoint.large, {
268 visibility: 'hidden',
269 opacity: 0.01
270 }),
271 summaryItem__checkboxContainer_visible: _defineProperty({}, breakpoint.large, {
272 visibility: 'visible',
273 opacity: 1
274 }),
275 summaryItem__actions: _defineProperty({
276 marginTop: units(1)
277 }, breakpoint.mediumAndAbove, {
278 marginTop: 0
279 }),
280 summaryItem__actions_clean: _defineProperty({
281 visibility: 'visible',
282 transition: 'visibility .25s ,opacity .25s'
283 }, breakpoint.large, {
284 visibility: 'hidden',
285 opacity: 0.01
286 }),
287 summaryItem__actions_visible: _defineProperty({}, breakpoint.large, {
288 visibility: 'visible',
289 opacity: 1
290 }),
291 summaryItem__content: {
292 flex: 1
293 },
294 summaryItem__info: {
295 display: 'flex'
296 },
297 summaryItem__info__item: _defineProperty({
298 width: units(5),
299 padding: units(.25),
300 textAlign: 'left'
301 }, breakpoint.large, {
302 textAlign: 'center'
303 }),
304 summaryItem__info__value: _defineProperty({
305 fontSize: fontSize.small.large,
306 fontWeight: weight.bold,
307 color: color.primary,
308 lineHeight: 1,
309 display: 'block'
310 }, breakpoint.large, {
311 fontSize: fontSize.large.large
312 }),
313 summaryItem__info__label: _defineProperty({
314 fontSize: fontSize.small.small,
315 color: color.grayDarker
316 }, breakpoint.large, {
317 fontSize: fontSize.large.small
318 })
319 };
320})(SummaryItem);
321var _default = SummaryItemWithStyles;
322exports.default = _default;
\No newline at end of file