diff --git a/plugins/plugins/core/messaging/q-chat/q-chat.src.js b/plugins/plugins/core/messaging/q-chat/q-chat.src.js index 6f4bd9a4..676063f0 100644 --- a/plugins/plugins/core/messaging/q-chat/q-chat.src.js +++ b/plugins/plugins/core/messaging/q-chat/q-chat.src.js @@ -1,38 +1,38 @@ -import { LitElement, html, css } from 'lit'; -import { render } from 'lit/html.js'; +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { passiveSupport } from 'passive-events-support/src/utils' -passiveSupport({ - events: ['touchstart'] - }) -import { Epml } from '../../../../epml.js'; -import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'; +import { Epml } from '../../../../epml.js' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' import { qchatStyles } from './q-chat-css.src.js' -import WebWorker from 'web-worker:./computePowWorker.src.js'; -import {repeat} from 'lit/directives/repeat.js'; +import { repeat } from 'lit/directives/repeat.js' +import { Editor, Extension } from '@tiptap/core' import isElectron from 'is-electron' +import WebWorker from 'web-worker:./computePowWorker.src.js' +import StarterKit from '@tiptap/starter-kit' +import Underline from '@tiptap/extension-underline'; +import Placeholder from '@tiptap/extension-placeholder' +import Highlight from '@tiptap/extension-highlight' +import snackbar from '../../components/snackbar.js' + +import '../../components/ChatWelcomePage.js' +import '../../components/ChatHead.js' +import '../../components/ChatPage.js' +import '../../components/WrapperModal.js' +import '../../components/ChatSeachResults.js' + +import '@material/mwc-button' +import '@material/mwc-dialog' +import '@material/mwc-icon' +import '@material/mwc-snackbar' +import '@polymer/paper-spinner/paper-spinner-lite.js' +import '@vaadin/grid' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) -import '../../components/ChatWelcomePage.js' -import '../../components/ChatHead.js' -import '../../components/ChatPage.js' -import '../../components/WrapperModal.js'; -import '../../components/ChatSeachResults.js'; -import snackbar from '../../components/snackbar.js' -import '@polymer/paper-spinner/paper-spinner-lite.js' -import '@material/mwc-button' -import '@material/mwc-dialog' -import '@material/mwc-icon' -import '@material/mwc-snackbar' -import '@vaadin/grid' -import StarterKit from '@tiptap/starter-kit' -import Underline from '@tiptap/extension-underline'; -import Placeholder from '@tiptap/extension-placeholder' -import Highlight from '@tiptap/extension-highlight' +passiveSupport({ events: ['touchstart'] }) -import { Editor, Extension } from '@tiptap/core' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) class Chat extends LitElement { @@ -58,11 +58,11 @@ class Chat extends LitElement { userFoundModalOpen: { type: Boolean }, userSelected: { type: Object }, editor: {type: Object}, - groupInvites: { type: Array }, + groupInvites: { type: Array } } } - static styles = [qchatStyles] + static styles = [qchatStyles] constructor() { super() @@ -70,7 +70,6 @@ class Chat extends LitElement { this.config = { user: { node: { - } } } @@ -100,30 +99,28 @@ class Chat extends LitElement { this.groupInvites = [] } - async setActiveChatHeadUrl(url) { + async setActiveChatHeadUrl(url) { this.activeChatHeadUrl = '' await this.updateComplete; this.activeChatHeadUrl = url } resetChatEditor(){ - - this.editor.commands.setContent('') - + this.editor.commands.setContent('') } + async getUpdateCompleteTextEditor() { - await super.getUpdateComplete(); - const marginElements = Array.from(this.shadowRoot.querySelectorAll('chat-text-editor')); - await Promise.all(marginElements.map(el => el.updateComplete)); - const marginElements2 = Array.from(this.shadowRoot.querySelectorAll('wrapper-modal')); - await Promise.all(marginElements2.map(el => el.updateComplete)); - return true; + await super.getUpdateComplete() + const marginElements = Array.from(this.shadowRoot.querySelectorAll('chat-text-editor')) + await Promise.all(marginElements.map(el => el.updateComplete)) + const marginElements2 = Array.from(this.shadowRoot.querySelectorAll('wrapper-modal')) + await Promise.all(marginElements2.map(el => el.updateComplete)) + return true } async connectedCallback() { - - super.connectedCallback(); - await this.getUpdateCompleteTextEditor(); + super.connectedCallback() + await this.getUpdateCompleteTextEditor() const elementChatId = this.shadowRoot.getElementById('messageBox').shadowRoot.getElementById('privateMessage') this.editor = new Editor({ @@ -155,40 +152,36 @@ class Chat extends LitElement { this.unsubscribeStore = window.parent.reduxStore.subscribe(() => { try { - - if(window.parent.location && window.parent.location.search){ - const queryString = window.parent.location.search; - const params = new URLSearchParams(queryString); + if(window.parent.location && window.parent.location.search) { + const queryString = window.parent.location.search + const params = new URLSearchParams(queryString) const chat = params.get("chat") if(chat && chat !== this.activeChatHeadUrl){ - let url = window.parent.location.href; - let newUrl = url.split("?")[0]; - window.parent.history.pushState({}, "", newUrl); + let url = window.parent.location.href + let newUrl = url.split("?")[0] + window.parent.history.pushState({}, "", newUrl) this.setActiveChatHeadUrl(chat) } } } catch (error) { - console.error(error) } - - }); + }) } disconnectedCallback() { - super.disconnectedCallback(); - this.editor.destroy(); - this.unsubscribeStore(); - } + super.disconnectedCallback() + this.editor.destroy() + this.unsubscribeStore() + } - - updatePlaceholder(editor, text){ + updatePlaceholder(editor, text) { editor.extensionManager.extensions.forEach((extension) => { if (extension.name === "placeholder") { extension.options["placeholder"] = text editor.commands.focus('end') } - }) + }) } render() { @@ -196,9 +189,8 @@ class Chat extends LitElement {