forked from Bremen/ESG
1
0
Fork 0
ESG/wwwroot/BackEnd/assets/javascript/pages/conversations-demo.js

54 lines
1.9 KiB
JavaScript

"use strict";
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
// Conversation Demo
// =============================================================
var ConversationDemo = /*#__PURE__*/function () {
function ConversationDemo() {
_classCallCheck(this, ConversationDemo);
this.init();
}
_createClass(ConversationDemo, [{
key: "init",
value: function init() {
// event handlers
this.handleScroll();
this.handleFakeTyping();
}
}, {
key: "handleScroll",
value: function handleScroll() {
// scroll to bottom
var msgBody = document.querySelector('.message-body');
msgBody.scrollTop = msgBody.scrollHeight;
}
}, {
key: "handleFakeTyping",
value: function handleFakeTyping() {
// remove typing indicator demo after 10s
setTimeout(function () {
$('.conversation-list > li').last().fadeOut('slow', function () {
$(this).remove();
});
}, 10000);
}
}]);
return ConversationDemo;
}();
/**
* Keep in mind that your scripts may not always be executed after the theme is completely ready,
* you might need to observe the `theme:load` event to make sure your scripts are executed after the theme is ready.
*/
$(document).on('theme:init', function () {
new ConversationDemo();
});