linear-react-components-ui 0.4.76-beta.32 → 0.4.76-beta.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -71,16 +71,14 @@ ficando da seguinte maneira:
71
71
 
72
72
  ### Publicar versão de demonstração no Heroku
73
73
 
74
- Pré-requesistos
75
- - Ter um conta no heroku
76
- - Ser um colaborador do projeto no Heroku
77
- - Ter o heroku cli instalado: https://devcenter.heroku.com/articles/heroku-cli#install-the-heroku-cli
78
74
 
75
+ No diretorio da aplicação clonar
76
+ `heroku git:clone -a linear-react-comp-demo`
77
+
78
+ Renomear a pastar `linear-react-comp-demo` para `demo`
79
+
79
80
  Fazer login no Heroku
80
81
  `heroku login`
81
-
82
- No diretorio da aplicação clonar
83
- `heroku git:clone -a linear-react-comp-demo demo`
84
82
 
85
83
  Executar o comando
86
84
  `npm run deploy:heroku`
@@ -48,7 +48,7 @@
48
48
  }
49
49
  }
50
50
 
51
- .dropdown-component > .select-dropdown {
51
+ .select-component > .dropdown {
52
52
  animation: 0.5s ease-in 0s 1 slideDown;
53
53
  background-color: #FFF;
54
54
  border: $component-border-color;
@@ -58,17 +58,17 @@
58
58
  height: auto;
59
59
  overflow-y: auto;
60
60
  overflow-x: hidden;
61
+ position: absolute;
61
62
  margin-top: 2px;
63
+ z-index: 99999999999;
62
64
  > .filtercontainer {
63
65
  display: grid;
64
66
  grid-template-columns: 1fr 20px;
65
- align-items: center;
66
67
  border: 1px solid $component-border-color;
67
68
  margin: 4px;
68
69
  }
69
70
  > .filtercontainer > .filterinput {
70
71
  border: 0;
71
- width: 100%;
72
72
  font-size: 13px;
73
73
  text-indent: 4px;
74
74
  padding: 10px 5px;
@@ -12,6 +12,10 @@ que utilizam. Em caso de mudança, ficar atento para os refatores.
12
12
  overflow: hidden;
13
13
  background-color: transparent;
14
14
  border: 1px solid #eee;
15
+ &.-blocked {
16
+ opacity: 0.4;
17
+ pointer-events: none;
18
+ }
15
19
  > .expandedmenu,
16
20
  > .collapsedmenu {
17
21
  height: auto;
@@ -26,10 +30,16 @@ que utilizam. Em caso de mudança, ficar atento para os refatores.
26
30
  align-items: center;
27
31
  justify-content: center;
28
32
  padding-left: 0px;
33
+ > .searchmenubutton {
34
+ width: 100%;
35
+ height: 100%;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ }
29
40
  }
30
41
  &.-customsidenavitem:hover {
31
42
  background-color: white;
32
- cursor: text;
33
43
  }
34
44
  &.-disabled {
35
45
  @extend %component-disabled;
@@ -46,9 +46,6 @@
46
46
  vertical-align: middle;
47
47
  border-bottom: 1px solid $component-border-color-soft;
48
48
  line-height: 18px;
49
- > .rowskeleton {
50
- margin: 10px 0;
51
- }
52
49
  > .hidden,
53
50
  > .rowhover {
54
51
  display: none;
@@ -45,8 +45,6 @@
45
45
  display: flex;
46
46
  justify-content: flex-start;
47
47
  align-items: center;
48
- min-height: 25px;
49
- color: $font-color-soft;
50
48
  >.node-menu {
51
49
  animation: revealelement 0.3s forwards ease-in-out;
52
50
  margin-left: 10px;
@@ -64,9 +62,7 @@
64
62
  margin-left: 10px;
65
63
  }
66
64
  &:hover {
67
- cursor: pointer;
68
65
  background-color: rgb(209, 209, 209);
69
- text-decoration: underline;
70
66
  }
71
67
  }
72
68
  > .nodelist {
@@ -18,9 +18,8 @@ var getCalendarDropdownStyle = function getCalendarDropdownStyle(_ref) {
18
18
  leftPosition = _ref.leftPosition,
19
19
  rightPosition = _ref.rightPosition,
20
20
  align = _ref.align,
21
- isFloatMenu = _ref.isFloatMenu,
22
- minWidth = _ref.minWidth;
23
- var style = "top: ".concat(topPosition + (isFloatMenu ? 6 : 2), "px; min-width: ").concat(minWidth, "px;");
21
+ isFloatMenu = _ref.isFloatMenu;
22
+ var style = "top: ".concat(topPosition + (isFloatMenu ? 6 : 2), "px;");
24
23
 
25
24
  if (align === 'left') {
26
25
  style += "left: ".concat(leftPosition, "px;");
@@ -189,14 +189,6 @@ describe('Form', function () {
189
189
  }));
190
190
  expect(mockHandlerReset).toHaveBeenCalled();
191
191
  });
192
- it('should apply disabled', function () {
193
- var mockHandlerReset = jest.fn();
194
- (0, _react2.render)(mockForm({
195
- disabled: true,
196
- handlerReset: mockHandlerReset
197
- }));
198
- expect(mockHandlerReset).not.toHaveBeenCalled();
199
- });
200
192
  });
201
193
  describe('Field', function () {
202
194
  describe('Default & Number', function () {
package/lib/form/index.js CHANGED
@@ -91,8 +91,7 @@ var Form = function Form(_ref) {
91
91
  onValidateForm = _ref.onValidateForm,
92
92
  externalFieldErrors = _ref.externalFieldErrors,
93
93
  onSubmit = _ref.onSubmit,
94
- skeletonize = _ref.skeletonize,
95
- disabled = _ref.disabled;
94
+ skeletonize = _ref.skeletonize;
96
95
 
97
96
  var _useState = (0, _react.useState)(dataSource),
98
97
  _useState2 = _slicedToArray(_useState, 2),
@@ -232,29 +231,10 @@ var Form = function Form(_ref) {
232
231
  };
233
232
  };
234
233
 
235
- var formProps = function formProps() {
236
- var propsForm = null;
237
-
238
- if (!disabled) {
239
- propsForm = {
240
- onSubmit: function onSubmit(e) {
241
- return e.preventDefault();
242
- },
243
- onKeyPress: function onKeyPress(e) {
244
- return submitOnEnter(e);
245
- }
246
- };
247
- }
248
-
249
- return propsForm;
250
- };
251
-
252
234
  (0, _react.useEffect)(function () {
253
- if (!disabled) {
254
- handlerSubmit(onFormSubmit);
255
- if (handlerReset) handlerReset(onReset);
256
- if (handlerValidates) handlerValidates(checkIsValid);
257
- }
235
+ handlerSubmit(onFormSubmit);
236
+ if (handlerReset) handlerReset(onReset);
237
+ if (handlerValidates) handlerValidates(checkIsValid);
258
238
  }, [data]);
259
239
  (0, _react.useEffect)(function () {
260
240
  if (securityBeforeUnload) {
@@ -267,24 +247,27 @@ var Form = function Form(_ref) {
267
247
  };
268
248
  }, [securityBeforeUnload, onBeforeUnload]);
269
249
  (0, _react.useEffect)(function () {
270
- if (!disabled) {
271
- if (submitOnPressEnterKey !== submitFormOnEnter || dataSource !== originalData) {
272
- setData(dataSource);
273
- setOriginalData(function (prevState) {
274
- return prevState || dataSource;
275
- });
276
- setSubmitFormOnEnter(submitOnPressEnterKey);
277
- }
250
+ if (submitOnPressEnterKey !== submitFormOnEnter || dataSource !== originalData) {
251
+ setData(dataSource);
252
+ setOriginalData(function (prevState) {
253
+ return prevState || dataSource;
254
+ });
255
+ setSubmitFormOnEnter(submitOnPressEnterKey);
278
256
  }
279
257
  }, [submitOnPressEnterKey, dataSource]);
280
258
  return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement(_helpers.FormContext.Provider, {
281
259
  value: getContextValue()
282
- }, /*#__PURE__*/_react["default"].createElement("form", _extends({
283
- style: style
284
- }, formProps(), {
260
+ }, /*#__PURE__*/_react["default"].createElement("form", {
261
+ style: style,
262
+ onSubmit: function onSubmit(e) {
263
+ return e.preventDefault();
264
+ },
265
+ onKeyPress: function onKeyPress(e) {
266
+ return submitOnEnter(e);
267
+ },
285
268
  role: "presentation",
286
269
  className: "form-component ".concat(customClass)
287
- }), children)), /*#__PURE__*/_react["default"].createElement(_dialog.DialogQuestion, {
270
+ }, children)), /*#__PURE__*/_react["default"].createElement(_dialog.DialogQuestion, {
288
271
  zIndex: "99999999",
289
272
  title: securityTitle || 'Dados Alterados',
290
273
  text: securityText || 'Você possui dados alterados, confirma o fechamento?',
@@ -310,8 +293,7 @@ Form.propTypes = {
310
293
  securityTitle: _propTypes["default"].string,
311
294
  securityText: _propTypes["default"].string,
312
295
  externalFieldErrors: _propTypes["default"].object,
313
- skeletonize: _propTypes["default"].bool,
314
- disabled: _propTypes["default"].bool
296
+ skeletonize: _propTypes["default"].bool
315
297
  };
316
298
  Form.defaultProps = {
317
299
  onValidateForm: undefined,
@@ -325,8 +307,7 @@ Form.defaultProps = {
325
307
  securityTitle: null,
326
308
  securityText: null,
327
309
  externalFieldErrors: {},
328
- skeletonize: false,
329
- disabled: false
310
+ skeletonize: false
330
311
  };
331
312
  var _default = Form;
332
313
  exports["default"] = _default;
@@ -558,10 +558,6 @@ function getIcons() {
558
558
  tools: {
559
559
  viewbox: '0 0 20 16',
560
560
  paths: ['M7.696 11.009l2.295 2.295-1.823 2.341c-0.334 0.437-0.926 0.476-1.315 0.087l-1.586-1.586c-0.389-0.389-0.35-0.98 0.087-1.315l2.341-1.823zM19.899 4.101l-2.399 2.399-3-3 2.399-2.399c-0.289-0.066-0.59-0.101-0.899-0.101-2.209 0-4 1.791-4 4 0 0.797 0.233 1.539 0.635 2.163l-2.233 1.739-3.402-3.402 4.5-4.5h-5l-2.22 2.22-0.22-0.22h-1.061v1.061l0.22 0.22-3.22 3.22 2.5 2.5 3-3 9 9 1.5-1.5-3.902-3.902 1.739-2.233c0.624 0.402 1.366 0.635 2.163 0.635 2.209 0 4-1.791 4-4 0-0.309-0.035-0.61-0.101-0.899z']
561
- },
562
- checkmarkCircle: {
563
- viewbox: '0 0 16 16',
564
- paths: ['M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM6.5 12.031l-2.813-3.344 1.031-1.031 1.781 1.75 5.156-4.5 0.719 0.719-5.875 6.406z']
565
561
  }
566
562
  };
567
563
  return icons;
@@ -7,8 +7,6 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
10
  var _BaseMask = _interopRequireDefault(require("./BaseMask"));
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -16,17 +14,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
16
14
  function _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); }
17
15
 
18
16
  var PhoneField = function PhoneField(props) {
19
- var cellNumber = props.cellNumber;
20
17
  return /*#__PURE__*/_react["default"].createElement(_BaseMask["default"], _extends({}, props, {
21
- mask: cellNumber ? '(00) 00000-0000' : '(00) 0000-0000'
18
+ mask: "(00) 0000-0000"
22
19
  }));
23
20
  };
24
21
 
25
- PhoneField.propTypes = {
26
- cellNumber: _propTypes["default"].bool
27
- };
28
- PhoneField.defaultProps = {
29
- cellNumber: false
30
- };
31
22
  var _default = PhoneField;
32
23
  exports["default"] = _default;
@@ -562,35 +562,18 @@ describe('Input Masked', function () {
562
562
 
563
563
  expect(input).toHaveValue('(11) 1111-1111');
564
564
  });
565
- it('should apply cellNumber', function () {
566
- var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.PhoneField, {
567
- cellNumber: true
568
- })),
569
- container = _render38.container;
570
-
571
- var input = container.querySelector('.input-base-component .inputwrapper .inputcontent input.textinput');
572
- expect(input).toHaveValue('(__) _____-____');
573
-
574
- _react2.fireEvent.change(input, {
575
- target: {
576
- value: '11111111111'
577
- }
578
- });
579
-
580
- expect(input).toHaveValue('(11) 11111-1111');
581
- });
582
565
  });
583
566
  describe('Zip Code', function () {
584
567
  it('should render correctly', function () {
585
- var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
586
- container = _render39.container;
568
+ var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
569
+ container = _render38.container;
587
570
 
588
571
  expect(container.firstChild).toBeTruthy();
589
572
  expect(container.firstChild).toHaveClass('input-base-component');
590
573
  });
591
574
  it('should apply zipcode mask', function () {
592
- var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
593
- container = _render40.container;
575
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
576
+ container = _render39.container;
594
577
 
595
578
  var input = container.querySelector('.input-base-component .inputwrapper .inputcontent input.textinput');
596
579
  expect(input).toHaveValue('_____-___');
@@ -301,6 +301,7 @@ SearchField.propTypes = {
301
301
  disabled: _propTypes["default"].bool,
302
302
  readOnly: _propTypes["default"].bool,
303
303
  value: _propTypes["default"].string,
304
+ placeHolder: _propTypes["default"].string,
304
305
  permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
305
306
  };
306
307
  SearchField.defaultProps = {
@@ -312,6 +313,7 @@ SearchField.defaultProps = {
312
313
  disabled: false,
313
314
  readOnly: false,
314
315
  value: undefined,
316
+ placeHolder: '',
315
317
  permissionAttr: undefined
316
318
  };
317
319
  var _default = SearchField;
@@ -17,8 +17,6 @@ var _avatar = _interopRequireDefault(require("../../avatar"));
17
17
 
18
18
  var helper = _interopRequireWildcard(require("./helper"));
19
19
 
20
- var _Popup = _interopRequireDefault(require("../../dropdown/Popup"));
21
-
22
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
21
 
24
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -39,50 +37,67 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
39
37
 
40
38
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
39
 
42
- var Dropdown = function Dropdown(props) {
43
- var dataCombo = props.dataCombo,
44
- dropdownWidth = props.dropdownWidth,
45
- selected = props.selected,
46
- handleOnSelect = props.handleOnSelect,
47
- handleOnFilter = props.handleOnFilter,
48
- searchOnDropdown = props.searchOnDropdown,
49
- handleOnKeydown = props.handleOnKeydown,
50
- searchNotFoundText = props.searchNotFoundText,
51
- handleOnBlur = props.handleOnBlur,
52
- handleOnFocus = props.handleOnFocus,
53
- opened = props.opened,
54
- idKey = props.idKey,
55
- descriptionKey = props.descriptionKey,
56
- currents = props.currents,
57
- imageAlign = props.imageAlign,
58
- striped = props.striped,
59
- imgSrcKey = props.imgSrcKey,
60
- gridWrapperStyle = props.gridWrapperStyle,
61
- inputValue = props.inputValue,
62
- dropdownRef = props.dropdownRef;
63
-
64
- var _useState = (0, _react.useState)(helper.returnDropdownDynamicStyles(_extends({}, props))),
65
- _useState2 = _slicedToArray(_useState, 2),
66
- dropdownDynamicStyles = _useState2[0],
67
- setDropdownDynamicStyles = _useState2[1];
68
-
69
- (0, _react.useEffect)(function () {
70
- if (dropdownRef.current) {
71
- setDropdownDynamicStyles(helper.returnDropdownDynamicStyles(_extends({}, props)));
40
+ var returnDropdownDynamicStyles = function returnDropdownDynamicStyles(selectFieldRef, dropdownMaxHeight) {
41
+ var selectFieldRects = selectFieldRef.current.getBoundingClientRect();
42
+ var dropdownBottomDistance = window.innerHeight - selectFieldRects.bottom;
43
+ var maxDropdownBottomDistance = 200;
44
+ var height = dropdownMaxHeight;
45
+ var dropdownPosition;
46
+
47
+ if (!height || height <= 0) {
48
+ if (dropdownBottomDistance < maxDropdownBottomDistance) {
49
+ height = selectFieldRects.top;
50
+ dropdownPosition = window.innerHeight - selectFieldRef.current.offsetTop + 10;
51
+ } else {
52
+ height = dropdownBottomDistance;
72
53
  }
73
- }, [dropdownRef.current, dataCombo]);
74
- return /*#__PURE__*/_react["default"].createElement(_Popup["default"], {
75
- leftPosition: dropdownDynamicStyles.left,
76
- topPosition: dropdownDynamicStyles.top,
77
- minWidth: dropdownWidth
78
- }, /*#__PURE__*/_react["default"].createElement("div", {
79
- className: "select-dropdown",
80
- ref: dropdownRef,
81
- style: {
82
- width: dropdownWidth,
83
- marginLeft: gridWrapperStyle ? gridWrapperStyle.paddingLeft : '0',
84
- maxHeight: dropdownDynamicStyles.maxHeight
54
+ } else {
55
+ maxDropdownBottomDistance = height;
56
+
57
+ if (dropdownBottomDistance < maxDropdownBottomDistance) {
58
+ dropdownPosition = window.innerHeight - selectFieldRef.current.offsetTop + 10;
85
59
  }
60
+ }
61
+
62
+ return {
63
+ maxHeight: "".concat(height - 30, "px"),
64
+ bottom: dropdownBottomDistance < maxDropdownBottomDistance && "".concat(dropdownPosition, "px")
65
+ };
66
+ };
67
+
68
+ var Dropdown = function Dropdown(_ref) {
69
+ var dataCombo = _ref.dataCombo,
70
+ dropdownWidth = _ref.dropdownWidth,
71
+ selected = _ref.selected,
72
+ handleOnSelect = _ref.handleOnSelect,
73
+ handleOnFilter = _ref.handleOnFilter,
74
+ searchOnDropdown = _ref.searchOnDropdown,
75
+ handleOnKeydown = _ref.handleOnKeydown,
76
+ searchNotFoundText = _ref.searchNotFoundText,
77
+ handleOnBlur = _ref.handleOnBlur,
78
+ handleOnFocus = _ref.handleOnFocus,
79
+ opened = _ref.opened,
80
+ idKey = _ref.idKey,
81
+ descriptionKey = _ref.descriptionKey,
82
+ currents = _ref.currents,
83
+ imageAlign = _ref.imageAlign,
84
+ striped = _ref.striped,
85
+ imgSrcKey = _ref.imgSrcKey,
86
+ gridWrapperStyle = _ref.gridWrapperStyle,
87
+ selectFieldRef = _ref.selectFieldRef,
88
+ dropdownMaxHeight = _ref.dropdownMaxHeight,
89
+ inputValue = _ref.inputValue;
90
+
91
+ var _useState = (0, _react.useState)(returnDropdownDynamicStyles(selectFieldRef, dropdownMaxHeight)),
92
+ _useState2 = _slicedToArray(_useState, 1),
93
+ dropdownDynamicStyles = _useState2[0];
94
+
95
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
+ className: "dropdown",
97
+ style: _extends({
98
+ width: dropdownWidth,
99
+ marginLeft: gridWrapperStyle ? gridWrapperStyle.paddingLeft : '0'
100
+ }, dropdownDynamicStyles)
86
101
  }, searchOnDropdown && /*#__PURE__*/_react["default"].createElement("div", {
87
102
  className: "filtercontainer"
88
103
  }, /*#__PURE__*/_react["default"].createElement("input", {
@@ -138,7 +153,7 @@ var Dropdown = function Dropdown(props) {
138
153
  }, item[descriptionKey])));
139
154
  }), dataCombo.length === 0 && /*#__PURE__*/_react["default"].createElement("div", {
140
155
  className: "notfound"
141
- }, searchNotFoundText)));
156
+ }, searchNotFoundText));
142
157
  };
143
158
 
144
159
  Dropdown.propTypes = {
@@ -156,14 +171,13 @@ Dropdown.propTypes = {
156
171
  handleOnBlur: _propTypes["default"].func.isRequired,
157
172
  handleOnFocus: _propTypes["default"].func.isRequired,
158
173
  opened: _propTypes["default"].bool.isRequired,
159
- dropdownRef: _propTypes["default"].object.isRequired,
160
174
  currents: _propTypes["default"].arrayOf(_propTypes["default"].object),
161
175
  imageAlign: _propTypes["default"].oneOf(['left', 'right']),
162
176
  striped: _propTypes["default"].bool,
163
177
  gridWrapperStyle: _propTypes["default"].object,
164
178
  selectFieldRef: _propTypes["default"].object,
165
179
  dropdownMaxHeight: _propTypes["default"].number,
166
- inputValue: _propTypes["default"].string
180
+ inputValue: _propTypes["default"].string.isRequired
167
181
  };
168
182
  Dropdown.defaultProps = {
169
183
  selected: null,
@@ -173,8 +187,7 @@ Dropdown.defaultProps = {
173
187
  imgSrcKey: undefined,
174
188
  gridWrapperStyle: undefined,
175
189
  selectFieldRef: undefined,
176
- dropdownMaxHeight: undefined,
177
- inputValue: undefined
190
+ dropdownMaxHeight: undefined
178
191
  };
179
192
  var _default = Dropdown;
180
193
  exports["default"] = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.returnDropdownDynamicStyles = exports.getFilteredMultipleDataCombo = exports.getFilteredSimpleDataCombo = exports.getDropdownItemCssClass = exports.contentClass = void 0;
6
+ exports.getFilteredMultipleDataCombo = exports.getFilteredSimpleDataCombo = exports.getDropdownItemCssClass = exports.contentClass = void 0;
7
7
 
8
8
  var contentClass = function contentClass(props) {
9
9
  return "content ".concat(props.showClearButton ? '' : 'noclear');
@@ -42,67 +42,4 @@ var getFilteredMultipleDataCombo = function getFilteredMultipleDataCombo(_ref2)
42
42
  });
43
43
  };
44
44
 
45
- exports.getFilteredMultipleDataCombo = getFilteredMultipleDataCombo;
46
-
47
- var returnDropdownPosition = function returnDropdownPosition(_ref3) {
48
- var selectFieldRects = _ref3.selectFieldRects,
49
- dropdownRef = _ref3.dropdownRef,
50
- dropdownRects = _ref3.dropdownRects;
51
- var aboveDropdown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
52
- var DEFAULT_MARGIN_BOTTOM = 10;
53
-
54
- if (aboveDropdown) {
55
- return selectFieldRects.top + window.scrollY - (dropdownRef.current && dropdownRects.height) - DEFAULT_MARGIN_BOTTOM;
56
- }
57
-
58
- return selectFieldRects.top + window.scrollY + selectFieldRects.height;
59
- };
60
-
61
- var returnDropdownDynamicStyles = function returnDropdownDynamicStyles(_ref4) {
62
- var selectFieldRef = _ref4.selectFieldRef,
63
- dropdownMaxHeight = _ref4.dropdownMaxHeight,
64
- dropdownRef = _ref4.dropdownRef;
65
- var selectFieldRects = selectFieldRef.current.getBoundingClientRect();
66
- var dropdownRects = dropdownRef.current && dropdownRef.current.getBoundingClientRect();
67
- var dropdownBottomDistance = window.innerHeight - selectFieldRects.bottom;
68
- var bottomOffset = 30;
69
- var maxDropdownBottomDistance = 200;
70
- var height = dropdownMaxHeight;
71
- var dropdownPosition;
72
-
73
- if (!height || height <= 0) {
74
- if (dropdownBottomDistance < maxDropdownBottomDistance) {
75
- height = selectFieldRects.top;
76
- dropdownPosition = returnDropdownPosition({
77
- selectFieldRects: selectFieldRects,
78
- dropdownRef: dropdownRef,
79
- dropdownRects: dropdownRects
80
- }, true);
81
- } else {
82
- height = dropdownBottomDistance;
83
- dropdownPosition = returnDropdownPosition({
84
- selectFieldRects: selectFieldRects
85
- });
86
- }
87
- } else {
88
- maxDropdownBottomDistance = height;
89
-
90
- if (dropdownBottomDistance < maxDropdownBottomDistance) {
91
- dropdownPosition = returnDropdownPosition({
92
- selectFieldRects: selectFieldRects,
93
- dropdownRef: dropdownRef,
94
- dropdownRects: dropdownRects
95
- }, true);
96
- } else {
97
- dropdownPosition = returnDropdownPosition(selectFieldRects);
98
- }
99
- }
100
-
101
- return {
102
- maxHeight: height - bottomOffset,
103
- top: dropdownPosition,
104
- left: selectFieldRects.left
105
- };
106
- };
107
-
108
- exports.returnDropdownDynamicStyles = returnDropdownDynamicStyles;
45
+ exports.getFilteredMultipleDataCombo = getFilteredMultipleDataCombo;
@@ -83,7 +83,6 @@ var MultipleSelect = /*#__PURE__*/function (_Component) {
83
83
 
84
84
  _this.componentId = "select-component".concat(_uuid["default"].v1());
85
85
  _this.componentRef = /*#__PURE__*/_react["default"].createRef();
86
- _this.dropdownRef = /*#__PURE__*/_react["default"].createRef();
87
86
  _this.state = {
88
87
  valueFromProps: null,
89
88
  dataCombo: props.dataSource,
@@ -143,11 +142,10 @@ var MultipleSelect = /*#__PURE__*/function (_Component) {
143
142
  }, {
144
143
  key: "onClickOutside",
145
144
  value: function onClickOutside(event) {
146
- var selectWrapper = this.selectWrapper,
147
- dropdownRef = this.dropdownRef;
145
+ var selectWrapper = this.selectWrapper;
148
146
  var target = event.target;
149
147
 
150
- if (target !== selectWrapper && !selectWrapper.contains(target) && dropdownRef.current && !dropdownRef.current.contains(target)) {
148
+ if (target !== selectWrapper && !selectWrapper.contains(target)) {
151
149
  this.setState({
152
150
  opened: false
153
151
  });
@@ -272,12 +270,12 @@ var MultipleSelect = /*#__PURE__*/function (_Component) {
272
270
 
273
271
  if (e.keyCode === constants.keyCodes.ENTER) {
274
272
  this.onSelect(selected);
275
- } else if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode)) {
273
+ } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
276
274
  var index = dataSource.findIndex(function (d) {
277
275
  return d === selected;
278
276
  });
279
277
 
280
- if (e.keyCode === constants.keyCodes.ARROW_UP) {
278
+ if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
281
279
  index = index === dataSource.length - 1 ? 0 : index + 1;
282
280
  } else {
283
281
  index = index === 0 ? dataSource.length - 1 : index - 1;
@@ -365,7 +363,6 @@ var MultipleSelect = /*#__PURE__*/function (_Component) {
365
363
  handleOnUnselect: this.onUnselect
366
364
  }))), opened && /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], _extends({}, this.state, this.props, {
367
365
  selectFieldRef: this.componentRef,
368
- dropdownRef: this.dropdownRef,
369
366
  gridWrapperStyle: gridLayout ? window.getComputedStyle(this.gridEl) : undefined,
370
367
  handleOnSelect: this.onSelect,
371
368
  handleOnFilter: this.onFilter,