UNPKG

botframework-webchat-component

Version:
32 lines (25 loc) 3.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useRegisterScrollRelative; 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 in a relative motion, for example, page up and down. function useRegisterScrollRelative(callback) { var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(), scrollRelativeCallbacksRef = _useWebChatUIContext.scrollRelativeCallbacksRef; (0, _react.useEffect)(function () { if (callback) { var scrollRelativeCallbacks = scrollRelativeCallbacksRef.current; scrollRelativeCallbacks.push(callback); return function () { return (0, _removeInline.default)(scrollRelativeCallbacks, callback); }; } }, [callback, scrollRelativeCallbacksRef]); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFJlbGF0aXZlLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsUmVsYXRpdmUiLCJjYWxsYmFjayIsInNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIiwic2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLHlCQUFULENBQW1DQyxRQUFuQyxFQUE2QztBQUFBLDZCQUNuQixvQ0FEbUI7QUFBQSxNQUNsREMsMEJBRGtELHdCQUNsREEsMEJBRGtEOztBQUcxRCx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQUEsVUFDS0UsdUJBREwsR0FDaUNELDBCQURqQyxDQUNKRSxPQURJO0FBR1pELE1BQUFBLHVCQUF1QixDQUFDRSxJQUF4QixDQUE2QkosUUFBN0I7QUFFQSxhQUFPO0FBQUEsZUFBTSwyQkFBYUUsdUJBQWIsRUFBc0NGLFFBQXRDLENBQU47QUFBQSxPQUFQO0FBQ0Q7QUFDRixHQVJELEVBUUcsQ0FBQ0EsUUFBRCxFQUFXQywwQkFBWCxDQVJIO0FBU0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHJlbW92ZUlubGluZSBmcm9tICcuLi8uLi9VdGlscy9yZW1vdmVJbmxpbmUnO1xuaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuLy8gVGhpcyBob29rIGlzIGZvciByZWdpc3RlcmluZyBhbmQgdW5yZWdpc3RlciBhIGNhbGxiYWNrLCB1c2VkIGJ5IDxCYXNpY1RyYW5zY3JpcHQ+LlxuLy8gV2hlbiBjYWxsZWQsIHRoZSBjYWxsYmFjayBzaG91bGQgc2Nyb2xsIHRoZSB0cmFuc2NyaXB0IGluIGEgcmVsYXRpdmUgbW90aW9uLCBmb3IgZXhhbXBsZSwgcGFnZSB1cCBhbmQgZG93bi5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJTY3JvbGxSZWxhdGl2ZShjYWxsYmFjaykge1xuICBjb25zdCB7IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudDogc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MgfSA9IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmO1xuXG4gICAgICBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrcywgY2FsbGJhY2spO1xuICAgIH1cbiAgfSwgW2NhbGxiYWNrLCBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZl0pO1xufVxuIl19