50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
/*import { ChatElement } from './chat';
|
|
import chatCss from '../../../public/style/chat.css?raw';
|
|
import Services from '../../services/service.js';
|
|
|
|
class ChatComponent extends HTMLElement {
|
|
_callback: any;
|
|
chatElement: ChatElement | null = null;
|
|
|
|
constructor() {
|
|
super();
|
|
console.log('INIT');
|
|
this.attachShadow({ mode: 'open' });
|
|
|
|
this.chatElement = this.shadowRoot?.querySelector('chat-element') || null;
|
|
}
|
|
|
|
connectedCallback() {
|
|
console.log('CALLBACKs');
|
|
this.render();
|
|
|
|
if (!customElements.get('chat-element')) {
|
|
customElements.define('chat-element', ChatElement);
|
|
}
|
|
}
|
|
|
|
set callback(fn) {
|
|
if (typeof fn === 'function') {
|
|
this._callback = fn;
|
|
} else {
|
|
console.error('Callback is not a function');
|
|
}
|
|
}
|
|
|
|
get callback() {
|
|
return this._callback;
|
|
}
|
|
|
|
render() {
|
|
if (this.shadowRoot) {
|
|
// Créer l'élément chat-element
|
|
const chatElement = document.createElement('chat-element');
|
|
this.shadowRoot.innerHTML = `<style>${chatCss}</style>`;
|
|
this.shadowRoot.appendChild(chatElement);
|
|
}
|
|
}
|
|
}
|
|
|
|
export { ChatComponent };
|
|
customElements.define('chat-component', ChatComponent);*/
|