Skip to content
Snippets Groups Projects
Commit 91bae3bf authored by Dewita Sonya Tarabunga's avatar Dewita Sonya Tarabunga
Browse files

Add chat room

parent 74842f17
Branches
1 merge request!2Message System
<?php
namespace Magento\Messaging\Block;
class Room extends \Magento\Framework\View\Element\Template
{
}
\ No newline at end of file
<?php
namespace Magento\Messaging\Controller\Room;
use Magento\Framework\App\Action\Context;
class Index extends \Magento\Framework\App\Action\Action
{
protected $_resultPageFactory;
public function __construct(Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory)
{
$this->_resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute()
{
$resultPage = $this->_resultPageFactory->create();
return $resultPage;
}
}
\ No newline at end of file
......@@ -3,7 +3,7 @@
<title>Messaging</title>
<css src="Magento_Messaging::css/chat.css" />
<script src="Magento_Messaging::js/chat.js" />
<script src="Magento_Messaging::js/firebaselib.js"></script>
<script src="Magento_Messaging::js/firebaselib.js" />
<script src="Magento_Messaging::js/firebase.js" />
</head>
<body>
......
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd" layout="1column">
<head>
<title>Messaging</title>
<css src="Magento_Messaging::css/chat.css" />
<script src="Magento_Messaging::js/chat.js" />
<script src="Magento_Messaging::js/firebaselib.js" />
<script src="Magento_Messaging::js/firebase.js" />
</head>
<body>
<referenceContainer name="content">
<block class="Magento\Messaging\Block\Room" name="room" template="room.phtml" />
</referenceContainer>
</body>
</page>
\ No newline at end of file
......@@ -17,7 +17,6 @@
var myFirebase = new Firebase('https://magentochat.firebaseio.com/');
require(['jquery'], function($) {
$(document).ready(function() {
function init() {
console.log("startListening");
myFirebase.on("child_added", function(snapshot) {
var chatrooms = snapshot.val();
......@@ -60,9 +59,6 @@
chatlist.insertBefore(chatroom_item, chatlist.childNodes[0]);
}
});
}
setTimeout(init, 2000);
});
});
......
<div class="box">
<div class = "chat-title">
<span class="name">Person 1 Name</span>
</div>
<div class="chat-form" >
<div id="chatbox" class="chat-box">
</div>
<div class="chat-input">
<div>
<input id="sender" type="hidden" value="person1">
<input id="receiver" type="hidden" value="person2">
<input id="message" type="text" name="chattext" class="message-content">
<input id="send" type="submit" class="send-button" onclick="send()">
</div>
</div>
</div>
</div>
<script>
var myFirebase = new Firebase('https://magentochat.firebaseio.com/');
require(['jquery'], function($) {
$(document).ready(function() {
myFirebase.on('child_added', function(snapshot) {
var msg = snapshot.val();
if (((msg.sender=="person1")&&(msg.receiver=="person2"))||((msg.sender=="person2")&&(msg.receiver=="person1"))) {
var msgTextElement = document.createElement("p");
msgTextElement.textContent = msg.message;
if (msg.sender=="person1"){
msgTextElement.classList.add('sendermessage');
} else if (msg.sender=="person2") {
msgTextElement.classList.add('receivemessage');
} else {
}
var chatbox = document.getElementById("chatbox");
chatbox.appendChild(msgTextElement);
chatbox.scrollTop=chatbox.scrollHeight;
}
});
});
});
function send() {
console.log("masuk");
var sender = document.getElementById("sender").value;
var receiver = document.getElementById("receiver").value;
var message = document.getElementById("message").value;
myFirebase.push({
sender: sender,
receiver: receiver,
message: message
});
document.getElementById("message").value = "";
}
</script>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment