@reltio/components 1.4.1765 → 1.4.1766

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.
@@ -12,7 +12,7 @@ var CommentButton = react_1.default.forwardRef(function (_a, ref) {
12
12
  var children = _a.children, onClick = _a.onClick;
13
13
  var styles = (0, styles_1.useStyles)();
14
14
  return (react_1.default.createElement(Tooltip_1.default, { title: ui_i18n_1.default.text('Show comment') },
15
- react_1.default.createElement("div", { ref: ref, className: styles.root, onClick: onClick },
15
+ react_1.default.createElement("div", { ref: ref, className: styles.root, onClick: onClick, "data-reltio-id": "reltio-comment-button" },
16
16
  react_1.default.createElement(CommentBubble_1.default, { className: styles.icon }),
17
17
  react_1.default.createElement("div", { className: styles.childrenWrapper }, children))));
18
18
  });
@@ -1,6 +1,9 @@
1
1
  export declare const useEntityDetails: (entityUri: string) => {
2
2
  isLoading: boolean;
3
3
  entityDetails: any;
4
- showEntityDetails: () => void;
4
+ showEntityDetails: {
5
+ (): void;
6
+ cancel: () => void;
7
+ };
5
8
  hideEntityDetails: () => void;
6
9
  };
@@ -7,25 +7,22 @@ var useSafePromise_1 = require("../../../hooks/useSafePromise");
7
7
  var useEntityDetails = function (entityUri) {
8
8
  var _a = (0, react_1.useState)(null), entityDetails = _a[0], setEntityDetails = _a[1];
9
9
  var _b = (0, react_1.useState)(false), isLoading = _b[0], setIsLoading = _b[1];
10
- var timerId = (0, react_1.useRef)(null);
11
10
  var safePromise = (0, useSafePromise_1.useSafePromise)();
12
11
  var cancelRequest = (0, react_1.useCallback)(function () { return safePromise(Promise.resolve()); }, [safePromise]);
13
- var showEntityDetails = (0, react_1.useCallback)(function () {
14
- timerId.current = setTimeout(function () {
15
- setIsLoading(true);
16
- safePromise((0, mdm_sdk_1.getEntity)(entityUri))
17
- .then(setEntityDetails)
18
- .finally(function () { return setIsLoading(false); });
19
- }, 1000);
20
- }, [entityUri, safePromise]);
12
+ var showEntityDetails = (0, react_1.useCallback)((0, mdm_sdk_1.debounce)(function () {
13
+ setIsLoading(true);
14
+ safePromise((0, mdm_sdk_1.getEntity)(entityUri))
15
+ .then(setEntityDetails)
16
+ .finally(function () { return setIsLoading(false); });
17
+ }, 1000), [entityUri, safePromise]);
21
18
  var hideEntityDetails = (0, react_1.useCallback)(function () {
22
19
  cancelRequest();
23
- clearTimeout(timerId.current);
20
+ showEntityDetails.cancel();
24
21
  setIsLoading(false);
25
22
  setEntityDetails(null);
26
- }, [cancelRequest]);
23
+ }, [showEntityDetails, cancelRequest]);
27
24
  (0, react_1.useEffect)(function () {
28
- return function () { return clearTimeout(timerId.current); };
25
+ return function () { return showEntityDetails.cancel(); };
29
26
  }, []);
30
27
  return {
31
28
  isLoading: isLoading,
@@ -7,7 +7,7 @@ var CommentButton = React.forwardRef(function (_a, ref) {
7
7
  var children = _a.children, onClick = _a.onClick;
8
8
  var styles = useStyles();
9
9
  return (React.createElement(Tooltip, { title: i18n.text('Show comment') },
10
- React.createElement("div", { ref: ref, className: styles.root, onClick: onClick },
10
+ React.createElement("div", { ref: ref, className: styles.root, onClick: onClick, "data-reltio-id": "reltio-comment-button" },
11
11
  React.createElement(CommentIcon, { className: styles.icon }),
12
12
  React.createElement("div", { className: styles.childrenWrapper }, children))));
13
13
  });
@@ -1,6 +1,9 @@
1
1
  export declare const useEntityDetails: (entityUri: string) => {
2
2
  isLoading: boolean;
3
3
  entityDetails: any;
4
- showEntityDetails: () => void;
4
+ showEntityDetails: {
5
+ (): void;
6
+ cancel: () => void;
7
+ };
5
8
  hideEntityDetails: () => void;
6
9
  };
@@ -1,28 +1,25 @@
1
- import { useState, useCallback, useRef, useEffect } from 'react';
2
- import { getEntity } from '@reltio/mdm-sdk';
1
+ import { useState, useCallback, useEffect } from 'react';
2
+ import { getEntity, debounce } from '@reltio/mdm-sdk';
3
3
  import { useSafePromise } from '../../../hooks/useSafePromise';
4
4
  export var useEntityDetails = function (entityUri) {
5
5
  var _a = useState(null), entityDetails = _a[0], setEntityDetails = _a[1];
6
6
  var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
7
- var timerId = useRef(null);
8
7
  var safePromise = useSafePromise();
9
8
  var cancelRequest = useCallback(function () { return safePromise(Promise.resolve()); }, [safePromise]);
10
- var showEntityDetails = useCallback(function () {
11
- timerId.current = setTimeout(function () {
12
- setIsLoading(true);
13
- safePromise(getEntity(entityUri))
14
- .then(setEntityDetails)
15
- .finally(function () { return setIsLoading(false); });
16
- }, 1000);
17
- }, [entityUri, safePromise]);
9
+ var showEntityDetails = useCallback(debounce(function () {
10
+ setIsLoading(true);
11
+ safePromise(getEntity(entityUri))
12
+ .then(setEntityDetails)
13
+ .finally(function () { return setIsLoading(false); });
14
+ }, 1000), [entityUri, safePromise]);
18
15
  var hideEntityDetails = useCallback(function () {
19
16
  cancelRequest();
20
- clearTimeout(timerId.current);
17
+ showEntityDetails.cancel();
21
18
  setIsLoading(false);
22
19
  setEntityDetails(null);
23
- }, [cancelRequest]);
20
+ }, [showEntityDetails, cancelRequest]);
24
21
  useEffect(function () {
25
- return function () { return clearTimeout(timerId.current); };
22
+ return function () { return showEntityDetails.cancel(); };
26
23
  }, []);
27
24
  return {
28
25
  isLoading: isLoading,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1765",
3
+ "version": "1.4.1766",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",