@synerise/ds-operators 0.7.9 → 0.9.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,45 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.9.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-operators@0.8.1...@synerise/ds-operators@0.9.0) (2022-04-29)
7
+
8
+
9
+ ### Features
10
+
11
+ * **operators:** adds onDeactivate prop, update Readme.md ([07f6446](https://github.com/Synerise/synerise-design/commit/07f6446ded7253ab994b4df5c0b5da1c2727aa10))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.8.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-operators@0.8.0...@synerise/ds-operators@0.8.1) (2022-04-12)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * fix filter dropdowns ([eaab107](https://github.com/Synerise/synerise-design/commit/eaab107b6dca7401a17c2e36806febd11edc677b))
23
+
24
+
25
+
26
+
27
+
28
+ # [0.8.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-operators@0.7.9...@synerise/ds-operators@0.8.0) (2022-04-05)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **operators:** fixes scrolling operator dropdown with page ([78fd630](https://github.com/Synerise/synerise-design/commit/78fd63003cc4aa7a651b4a4e766bc4d1b5b292d3))
34
+ * fix eslint errors ([7cce9b9](https://github.com/Synerise/synerise-design/commit/7cce9b94f8dea533b3c36a0f0cfd5145d4737166))
35
+
36
+
37
+ ### Features
38
+
39
+ * **filter:** fixes bugs ([b862ddd](https://github.com/Synerise/synerise-design/commit/b862dddbce1293c2a5381663fc903bb574edd135))
40
+
41
+
42
+
43
+
44
+
6
45
  ## [0.7.9](https://github.com/Synerise/synerise-design/compare/@synerise/ds-operators@0.7.8...@synerise/ds-operators@0.7.9) (2022-03-30)
7
46
 
8
47
  **Note:** Version bump only for package @synerise/ds-operators
package/README.md CHANGED
@@ -76,15 +76,17 @@ import Operators from '@synerise/ds-operators'
76
76
 
77
77
  ## API
78
78
 
79
- | Property | Description | Type | Default |
80
- | --- | --- | --- | --- |
81
- | groups | Groups of operators | OperatorsGroup[] | [] |
82
- | items | Array of operators | OperatorsItem[] | [] |
83
- | onChange | Callback called when user selects operator | (item: OperatorsItem \ OperatorsGroup \ undefined) => void | - |
84
- | opened | Whether if dropdown should opens from outside of component | boolean | false |
85
- | texts | Translations object | OperatorTexts | - |
86
- | value | Selected operator | OperatorsItem \ undefined | undefined |
87
- | getPopupContainerOverride | Popup container function for child tooltips and dropdowns | (trigger: HTMLElement | null) => HTMLElement; | - |
79
+ | Property | Description | Type | Default |
80
+ | --- | --- | --- | --- |
81
+ | getPopupContainerOverride | Popup container function for child tooltips and dropdowns | (trigger: HTMLElement \ null) => HTMLElement; | - |
82
+ | groups | Groups of operators | OperatorsGroup[] | [] |
83
+ | items | Array of operators | OperatorsItem[] | [] |
84
+ | onActivate | Callback called when user opens dropdown | (fieldType: string) => void | - |
85
+ | onChange | Callback called when user selects operator | (item: OperatorsItem \ OperatorsGroup \ undefined) => void | - |
86
+ | onDeactivate | Callback called when user closes dropdown | () => void | - |
87
+ | opened | Whether if dropdown should opens from outside of component | boolean | false |
88
+ | texts | Translations object | OperatorTexts | - |
89
+ | value | Selected operator | OperatorsItem \ undefined | undefined |
88
90
 
89
91
  ### OperatorsGroup
90
92
 
@@ -27,6 +27,7 @@ export declare type OperatorsGroup = {
27
27
  export declare type OperatorsProps = {
28
28
  value?: OperatorsItem | undefined;
29
29
  onActivate?: () => void;
30
+ onDeactivate?: () => void;
30
31
  onChange: (item: OperatorsItem | undefined) => void;
31
32
  groups: OperatorsGroup[];
32
33
  items: OperatorsItem[];
package/dist/Operators.js CHANGED
@@ -22,7 +22,8 @@ var Operators = function Operators(_ref) {
22
22
  texts = _ref.texts,
23
23
  opened = _ref.opened,
24
24
  getPopupContainerOverride = _ref.getPopupContainerOverride,
25
- onActivate = _ref.onActivate;
25
+ onActivate = _ref.onActivate,
26
+ onDeactivate = _ref.onDeactivate;
26
27
 
27
28
  var _useIntl = useIntl(),
28
29
  formatMessage = _useIntl.formatMessage;
@@ -51,23 +52,26 @@ var Operators = function Operators(_ref) {
51
52
  onChange(val);
52
53
  }, [onChange]);
53
54
  React.useEffect(function () {
55
+ setDropdownVisible(Boolean(opened));
56
+
54
57
  if (opened) {
55
- setDropdownVisible(true);
58
+ onActivate && onActivate();
56
59
  }
57
- }, [opened]);
60
+ }, [onActivate, opened]);
58
61
  var handleClick = React.useCallback(function () {
59
- setDropdownVisible(true);
60
62
  onActivate && onActivate();
61
- }, [setDropdownVisible, onActivate]);
62
- var onDropdownVisibilityChange = React.useCallback(function (newValue) {
63
- return newValue && onActivate && onActivate();
63
+ setDropdownVisible(true);
64
64
  }, [onActivate]);
65
+ var onDropdownVisibilityChange = React.useCallback(function (newValue) {
66
+ newValue && onActivate && onActivate();
67
+ !newValue && onDeactivate && onDeactivate();
68
+ }, [onActivate, onDeactivate]);
65
69
  return /*#__PURE__*/React.createElement("div", {
66
70
  "data-popup-container": true
67
71
  }, /*#__PURE__*/React.createElement(Dropdown, {
68
72
  visible: dropdownVisible,
69
73
  onVisibleChange: onDropdownVisibilityChange,
70
- getPopupContainer: getPopupContainerOverride,
74
+ getPopupContainer: getPopupContainerOverride || getPopupContainer,
71
75
  overlay: /*#__PURE__*/React.createElement(OperatorsDropdown, {
72
76
  value: value,
73
77
  setDropdownVisible: setDropdownVisible,
@@ -18,19 +18,13 @@ var OperatorsDropdown = function OperatorsDropdown(_ref) {
18
18
  items = _ref.items,
19
19
  setDropdownVisible = _ref.setDropdownVisible,
20
20
  value = _ref.value;
21
- var defaultTab = React.useMemo(function () {
22
- var defaultIndex = groups == null ? void 0 : groups.findIndex(function (group) {
23
- return group.defaultGroup;
24
- });
25
- return defaultIndex || 0;
26
- }, [groups]);
27
21
  var overlayRef = React.useRef(null);
28
22
 
29
23
  var _React$useState = React.useState(''),
30
24
  searchQuery = _React$useState[0],
31
25
  setSearchQuery = _React$useState[1];
32
26
 
33
- var _React$useState2 = React.useState(defaultTab),
27
+ var _React$useState2 = React.useState(0),
34
28
  activeTab = _React$useState2[0],
35
29
  setActiveTab = _React$useState2[1];
36
30
 
@@ -42,6 +36,12 @@ var OperatorsDropdown = function OperatorsDropdown(_ref) {
42
36
  searchInputCanBeFocused = _React$useState4[0],
43
37
  setSearchInputFocus = _React$useState4[1];
44
38
 
39
+ React.useEffect(function () {
40
+ var defaultIndex = groups == null ? void 0 : groups.findIndex(function (group) {
41
+ return group.defaultGroup || value && group.id === value.groupId;
42
+ });
43
+ setActiveTab(defaultIndex === -1 ? 0 : defaultIndex);
44
+ }, [groups, value]);
45
45
  var classNames = React.useMemo(function () {
46
46
  return "ds-operator-item ds-operator-item-" + uuid();
47
47
  }, []);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-operators",
3
- "version": "0.7.9",
3
+ "version": "0.9.0",
4
4
  "description": "Operators UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -33,17 +33,17 @@
33
33
  "types": "dist/index.d.ts",
34
34
  "dependencies": {
35
35
  "@synerise/ds-button": "^0.17.2",
36
- "@synerise/ds-dropdown": "^0.17.15",
36
+ "@synerise/ds-dropdown": "^0.17.17",
37
37
  "@synerise/ds-icon": "^0.49.0",
38
38
  "@synerise/ds-menu": "^0.13.2",
39
39
  "@synerise/ds-result": "^0.6.9",
40
40
  "@synerise/ds-scrollbar": "^0.4.7",
41
- "@synerise/ds-tabs": "^0.13.9",
41
+ "@synerise/ds-tabs": "^0.13.11",
42
42
  "@synerise/ds-utils": "^0.19.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@synerise/ds-core": "*",
46
46
  "react": ">=16.9.0 < 17.0.0"
47
47
  },
48
- "gitHead": "93d7c60a7fe73188d715fd52b9701f81fcb4e60a"
48
+ "gitHead": "4a658911645846d1e329609ba9db06a7bc64962b"
49
49
  }