dtable-ui-component 6.0.115 → 6.0.116-beta.jh1

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.
@@ -28,7 +28,8 @@ class DTableSelect extends _react.default.Component {
28
28
  form,
29
29
  customFilterOption,
30
30
  autoFocus,
31
- className
31
+ className,
32
+ closeMenuOnSelect
32
33
  } = this.props;
33
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.default, {
34
35
  value: value,
@@ -52,6 +53,7 @@ class DTableSelect extends _react.default.Component {
52
53
  menuShouldScrollIntoView: true,
53
54
  menuPortalTarget: document.querySelector(this.props.menuPortalTarget),
54
55
  captureMenuScroll: false,
56
+ closeMenuOnSelect: closeMenuOnSelect,
55
57
  hideSelectedOptions: false,
56
58
  noOptionsMessage: noOptionsMessage,
57
59
  isDisabled: isDisabled,
@@ -72,6 +74,7 @@ DTableSelect.defaultProps = {
72
74
  placeholder: '',
73
75
  isMulti: false,
74
76
  autoFocus: false,
77
+ closeMenuOnSelect: true,
75
78
  menuPortalTarget: '.modal',
76
79
  noOptionsMessage: () => {
77
80
  return null;
@@ -85,6 +85,14 @@ function ImagePreviewerLightbox(props) {
85
85
  children: ["(", currentImageIndex + 1, "/", imagesLength, ")"]
86
86
  })]
87
87
  });
88
+ const moveToPrevRowImage = () => {
89
+ setCurrentImageIndex(0);
90
+ props.moveToPrevRowImage && props.moveToPrevRowImage();
91
+ };
92
+ const moveToNextRowImage = () => {
93
+ setCurrentImageIndex(0);
94
+ props.moveToNextRowImage && props.moveToNextRowImage();
95
+ };
88
96
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactImageLightbox.default, {
89
97
  imageItems: imageSrcList,
90
98
  currentIndex: currentImageIndex,
@@ -100,8 +108,8 @@ function ImagePreviewerLightbox(props) {
100
108
  onCloseRequest: props.closeImagePopup,
101
109
  onMovePrevRequest: props.moveToPrevImage,
102
110
  onMoveNextRequest: props.moveToNextImage,
103
- onClickMoveUp: props.moveToPrevRowImage,
104
- onClickMoveDown: props.moveToNextRowImage,
111
+ onClickMoveUp: moveToPrevRowImage,
112
+ onClickMoveDown: moveToNextRowImage,
105
113
  onViewOriginal: props.onViewOriginal,
106
114
  onRotateImage: canRotateImage ? deg => {
107
115
  onRotateImage(currentImageIndex, deg);
@@ -21,6 +21,7 @@
21
21
 
22
22
  .role-status-editor .dropdown-menu {
23
23
  max-width: 200px;
24
+ overflow-y: auto;
24
25
  }
25
26
 
26
27
  .role-status-editor .dropdown-menu .dropdown-item {
@@ -20,6 +20,18 @@ const RoleStatusEditor = _ref => {
20
20
  closeShowDropdownIcon
21
21
  } = _ref;
22
22
  const [isOpen, setIsOpen] = (0, _react.useState)(false);
23
+ // set max height to 320px
24
+ const [menuMaxHeight, setMenuMaxHeight] = (0, _react.useState)(320);
25
+ const toggleRef = (0, _react.useRef)(null);
26
+ (0, _react.useEffect)(() => {
27
+ if (isOpen && toggleRef.current) {
28
+ const rect = toggleRef.current.getBoundingClientRect();
29
+ const spaceBelow = window.innerHeight - rect.bottom - 8;
30
+ const spaceAbove = rect.top - 8;
31
+ const maxAvailable = Math.max(spaceBelow, spaceAbove);
32
+ setMenuMaxHeight(Math.min(maxAvailable, 320));
33
+ }
34
+ }, [isOpen]);
23
35
  const handleClickMenuOption = menuOption => {
24
36
  const {
25
37
  value
@@ -33,6 +45,7 @@ const RoleStatusEditor = _ref => {
33
45
  className: "role-status-editor",
34
46
  toggle: () => setIsOpen(!isOpen),
35
47
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactstrap.DropdownToggle, {
48
+ innerRef: toggleRef,
36
49
  className: "dropdown-toggle-button d-flex align-items-center",
37
50
  tag: "div",
38
51
  children: [currentOption.label, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -45,6 +58,9 @@ const RoleStatusEditor = _ref => {
45
58
  })]
46
59
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactstrap.DropdownMenu, {
47
60
  className: "position-fixed",
61
+ style: {
62
+ maxHeight: menuMaxHeight
63
+ },
48
64
  modifiers: [{
49
65
  name: 'preventOverflow',
50
66
  options: {
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "6.0.115",
3
+ "version": "6.0.116-beta.jh1",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
- "@seafile/react-image-lightbox": "^5.0.7",
6
+ "@seafile/react-image-lightbox": "^5.0.8",
7
7
  "@seafile/seafile-calendar": "^1.0.10",
8
- "@seafile/seafile-editor": "^3.0.32",
8
+ "@seafile/seafile-editor": "^3.0.34",
9
9
  "classnames": "~2.5.*",
10
10
  "dayjs": "1.10.7",
11
11
  "dtable-utils": "~5.0.27",
@@ -136,7 +136,7 @@
136
136
  "terser-webpack-plugin": "^5.2.5",
137
137
  "url-loader": "^4.1.1",
138
138
  "webpack": "^5.105.4",
139
- "webpack-dev-server": "^5.2.3",
139
+ "webpack-dev-server": "^5.2.4",
140
140
  "worker-loader": "3.0.8"
141
141
  }
142
142
  }