diff --git a/app/code/Magento/Messaging/Block/Room.php b/app/code/Magento/Messaging/Block/Room.php new file mode 100644 index 0000000000000000000000000000000000000000..f6472a4262a1b56efd923cdf4705ae26d996ba26 --- /dev/null +++ b/app/code/Magento/Messaging/Block/Room.php @@ -0,0 +1,7 @@ +<?php +namespace Magento\Messaging\Block; + +class Room extends \Magento\Framework\View\Element\Template +{ + +} \ No newline at end of file diff --git a/app/code/Magento/Messaging/Controller/Room/Index.php b/app/code/Magento/Messaging/Controller/Room/Index.php new file mode 100644 index 0000000000000000000000000000000000000000..d0182fc94216bde043111bcd794f0fd3ea5e466d --- /dev/null +++ b/app/code/Magento/Messaging/Controller/Room/Index.php @@ -0,0 +1,22 @@ +<?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 diff --git a/app/code/Magento/Messaging/view/frontend/layout/messaging_index_index.xml b/app/code/Magento/Messaging/view/frontend/layout/messaging_index_index.xml index 323932d2fcba5bcbf8a3a9e8cb268f893c1237cc..09125c78958aff897cd789ce41919c01e2bd1592 100644 --- a/app/code/Magento/Messaging/view/frontend/layout/messaging_index_index.xml +++ b/app/code/Magento/Messaging/view/frontend/layout/messaging_index_index.xml @@ -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> diff --git a/app/code/Magento/Messaging/view/frontend/layout/messaging_room_index.xml b/app/code/Magento/Messaging/view/frontend/layout/messaging_room_index.xml new file mode 100644 index 0000000000000000000000000000000000000000..5e80f411234d80be87d8d9dffbd77961c7188b4f --- /dev/null +++ b/app/code/Magento/Messaging/view/frontend/layout/messaging_room_index.xml @@ -0,0 +1,14 @@ +<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 diff --git a/app/code/Magento/Messaging/view/frontend/templates/messaging.phtml b/app/code/Magento/Messaging/view/frontend/templates/messaging.phtml index 322023aedfe2b2240f0a72b9f8e5a125b74e0c14..d3afc5ee12d2518037a2217559485ac5769b0011 100644 --- a/app/code/Magento/Messaging/view/frontend/templates/messaging.phtml +++ b/app/code/Magento/Messaging/view/frontend/templates/messaging.phtml @@ -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); }); }); diff --git a/app/code/Magento/Messaging/view/frontend/templates/room.phtml b/app/code/Magento/Messaging/view/frontend/templates/room.phtml new file mode 100644 index 0000000000000000000000000000000000000000..de70868946340c54a8a40f949f6438b772ead053 --- /dev/null +++ b/app/code/Magento/Messaging/view/frontend/templates/room.phtml @@ -0,0 +1,55 @@ +<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