45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
import formatTime from './utils/formatTime.js'
|
|
|
|
import MessageComponent from './components/message.js'
|
|
customElements.define('c-message', MessageComponent)
|
|
|
|
import InfoComponent from './components/info.js'
|
|
customElements.define('c-info', InfoComponent)
|
|
|
|
class Messages {
|
|
constructor () {
|
|
this.parent = document.getElementById('messages')
|
|
}
|
|
|
|
add (content,user) {
|
|
console.log(content)
|
|
let time = formatTime(new Date())
|
|
const element = document.createElement('c-message')
|
|
element.setAttribute('content', content)
|
|
element.setAttribute('user', user)
|
|
element.setAttribute('time', time)
|
|
this.insertElement(element)
|
|
|
|
}
|
|
|
|
addInfo(content) {
|
|
const element = document.createElement('c-info')
|
|
element.setAttribute('content', content)
|
|
this.insertElement(element)
|
|
}
|
|
|
|
insertElement(element) {
|
|
if(this.parent.firstChild)
|
|
{
|
|
this.parent.insertBefore(element,this.parent.firstChild);
|
|
}
|
|
else
|
|
{
|
|
this.parent.appendChild(element)
|
|
}
|
|
}
|
|
}
|
|
|
|
const messages = new Messages()
|
|
export default messages
|