UNPKG

botframework-webchat-component

Version:
32 lines (25 loc) 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useRegisterScrollTo; var _react = require("react"); var _removeInline = _interopRequireDefault(require("../../Utils/removeInline")); var _useWebChatUIContext2 = _interopRequireDefault(require("./useWebChatUIContext")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // This hook is for registering and unregister a callback, used by <BasicTranscript>. // When called, the callback should scroll the transcript to a specific position, for example, to an activity of specified ID. function useRegisterScrollTo(callback) { var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(), scrollToCallbacksRef = _useWebChatUIContext.scrollToCallbacksRef; (0, _react.useEffect)(function () { if (callback) { var scrollToCallbacks = scrollToCallbacksRef.current; scrollToCallbacks.push(callback); return function () { return (0, _removeInline.default)(scrollToCallbacks, callback); }; } }, [callback, scrollToCallbacksRef]); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9DYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUFBLDZCQUNuQixvQ0FEbUI7QUFBQSxNQUM1Q0Msb0JBRDRDLHdCQUM1Q0Esb0JBRDRDOztBQUdwRCx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQUEsVUFDS0UsaUJBREwsR0FDMkJELG9CQUQzQixDQUNKRSxPQURJO0FBR1pELE1BQUFBLGlCQUFpQixDQUFDRSxJQUFsQixDQUF1QkosUUFBdkI7QUFFQSxhQUFPO0FBQUEsZUFBTSwyQkFBYUUsaUJBQWIsRUFBZ0NGLFFBQWhDLENBQU47QUFBQSxPQUFQO0FBQ0Q7QUFDRixHQVJELEVBUUcsQ0FBQ0EsUUFBRCxFQUFXQyxvQkFBWCxDQVJIO0FBU0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHJlbW92ZUlubGluZSBmcm9tICcuLi8uLi9VdGlscy9yZW1vdmVJbmxpbmUnO1xuaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuLy8gVGhpcyBob29rIGlzIGZvciByZWdpc3RlcmluZyBhbmQgdW5yZWdpc3RlciBhIGNhbGxiYWNrLCB1c2VkIGJ5IDxCYXNpY1RyYW5zY3JpcHQ+LlxuLy8gV2hlbiBjYWxsZWQsIHRoZSBjYWxsYmFjayBzaG91bGQgc2Nyb2xsIHRoZSB0cmFuc2NyaXB0IHRvIGEgc3BlY2lmaWMgcG9zaXRpb24sIGZvciBleGFtcGxlLCB0byBhbiBhY3Rpdml0eSBvZiBzcGVjaWZpZWQgSUQuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlZ2lzdGVyU2Nyb2xsVG8oY2FsbGJhY2spIHtcbiAgY29uc3QgeyBzY3JvbGxUb0NhbGxiYWNrc1JlZiB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IHNjcm9sbFRvQ2FsbGJhY2tzIH0gPSBzY3JvbGxUb0NhbGxiYWNrc1JlZjtcblxuICAgICAgc2Nyb2xsVG9DYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICAgIHJldHVybiAoKSA9PiByZW1vdmVJbmxpbmUoc2Nyb2xsVG9DYWxsYmFja3MsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0sIFtjYWxsYmFjaywgc2Nyb2xsVG9DYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==