botframework-webchat-component
Version:
React component of botframework-webchat
30 lines (23 loc) • 2.82 kB
JavaScript
;
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 the end.
function useRegisterScrollTo(callback) {
var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(),
scrollToEndCallbacksRef = _useWebChatUIContext.scrollToEndCallbacksRef;
(0, _react.useEffect)(function () {
var scrollToEndCallbacks = scrollToEndCallbacksRef.current;
scrollToEndCallbacks.push(callback);
return function () {
return (0, _removeInline.default)(scrollToEndCallbacks, callback);
};
}, [callback, scrollToEndCallbacksRef]);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvRW5kLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9FbmRDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUFBLDZCQUNoQixvQ0FEZ0I7QUFBQSxNQUM1Q0MsdUJBRDRDLHdCQUM1Q0EsdUJBRDRDOztBQUdwRCx3QkFBVSxZQUFNO0FBQUEsUUFDR0Msb0JBREgsR0FDNEJELHVCQUQ1QixDQUNORSxPQURNO0FBR2RELElBQUFBLG9CQUFvQixDQUFDRSxJQUFyQixDQUEwQkosUUFBMUI7QUFFQSxXQUFPO0FBQUEsYUFBTSwyQkFBYUUsb0JBQWIsRUFBbUNGLFFBQW5DLENBQU47QUFBQSxLQUFQO0FBQ0QsR0FORCxFQU1HLENBQUNBLFFBQUQsRUFBV0MsdUJBQVgsQ0FOSDtBQU9EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNUcmFuc2NyaXB0Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIHNjcm9sbCB0aGUgdHJhbnNjcmlwdCB0byB0aGUgZW5kLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZWdpc3RlclNjcm9sbFRvKGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogc2Nyb2xsVG9FbmRDYWxsYmFja3MgfSA9IHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmO1xuXG4gICAgc2Nyb2xsVG9FbmRDYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICByZXR1cm4gKCkgPT4gcmVtb3ZlSW5saW5lKHNjcm9sbFRvRW5kQ2FsbGJhY2tzLCBjYWxsYmFjayk7XG4gIH0sIFtjYWxsYmFjaywgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==