diff --git a/qortal-ui-plugins/build.js b/qortal-ui-plugins/build.js index 5c8bc3f8..00213241 100644 --- a/qortal-ui-plugins/build.js +++ b/qortal-ui-plugins/build.js @@ -10,7 +10,6 @@ const build = () => { for (const chunkOrAsset of output) { if (chunkOrAsset.type === 'asset') { - // console.log('Asset', chunkOrAsset); } else { // .. } diff --git a/qortal-ui-plugins/default-plugins.js b/qortal-ui-plugins/default-plugins.js index 9531c199..46e9ca4f 100644 --- a/qortal-ui-plugins/default-plugins.js +++ b/qortal-ui-plugins/default-plugins.js @@ -1,4 +1,3 @@ - const PLUGINS = 'plugins' const BUILD = 'build' const WATCH = 'watch' diff --git a/qortal-ui-plugins/epml.js b/qortal-ui-plugins/epml.js index 188f8def..0a0489a5 100644 --- a/qortal-ui-plugins/epml.js +++ b/qortal-ui-plugins/epml.js @@ -1,6 +1,5 @@ import { Epml, EpmlReadyPlugin, RequestPlugin, ContentWindow as EpmlContentWindowPlugin, EpmlStreamPlugin, EpmlProxyPlugin, EpmlStream } from 'epml' -// Epml.registerPlugin(contentWindowsPlugin) Epml.registerPlugin(RequestPlugin) Epml.registerPlugin(EpmlReadyPlugin) Epml.registerPlugin(EpmlContentWindowPlugin) diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json index 5b46ee73..f644f996 100644 --- a/qortal-ui-plugins/package.json +++ b/qortal-ui-plugins/package.json @@ -34,16 +34,16 @@ "@material/mwc-textfield": "^0.25.3", "@polymer/paper-progress": "^3.0.1", "@polymer/paper-spinner": "^3.0.2", - "@rollup/plugin-alias": "^3.1.8", + "@rollup/plugin-alias": "^3.1.9", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.0.6", + "@rollup/plugin-node-resolve": "^13.1.3", "@rollup/plugin-replace": "^3.0.0", "@vaadin/vaadin-grid": "^5.9.3", "epml": "^0.3.3", "html-escaper": "^3.0.3", - "lit-html": "^1.4.1", - "rollup": "^2.67.0", + "lit": "^2.1.2", + "rollup": "^2.67.1", "rollup-plugin-node-globals": "^1.4.0", "rollup-plugin-progress": "^1.1.2", "rollup-plugin-terser": "^7.0.2" diff --git a/qortal-ui-plugins/plugins/core/components/ButtonIconCopy.js b/qortal-ui-plugins/plugins/core/components/ButtonIconCopy.js index 43e09a15..a92e8b15 100644 --- a/qortal-ui-plugins/plugins/core/components/ButtonIconCopy.js +++ b/qortal-ui-plugins/plugins/core/components/ButtonIconCopy.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' import '@material/mwc-icon-button' diff --git a/qortal-ui-plugins/plugins/core/components/ChatHead.js b/qortal-ui-plugins/plugins/core/components/ChatHead.js index d50cec1a..47885831 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatHead.js +++ b/qortal-ui-plugins/plugins/core/components/ChatHead.js @@ -1,5 +1,4 @@ -import { LitElement, html, css } from 'lit-element' -// import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' import '@material/mwc-icon' @@ -19,48 +18,39 @@ class ChatHead extends LitElement { static get styles() { return css` - - li { - padding: 10px 2px 20px 5px; - cursor: pointer; - width: 100%; - } - - li:hover { - background-color: #eee; - } - - .active { - background: #ebebeb; - border-left: 4px solid #3498db; - } - - .img-icon { - float: left; - font-size:40px; - } - - .about { - margin-top: 8px; - } - - .about { - padding-left: 8px; - } - - .status { - color: #92959e; - } - - .clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } - + li { + padding: 10px 2px 20px 5px; + cursor: pointer; + width: 100%; + } + li:hover { + background-color: #eee; + } + .active { + background: #ebebeb; + border-left: 4px solid #3498db; + } + .img-icon { + float: left; + font-size:40px; + } + .about { + margin-top: 8px; + } + .about { + padding-left: 8px; + } + .status { + color: #92959e; + } + .clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } ` } @@ -80,7 +70,6 @@ class ChatHead extends LitElement { } render() { - return html`
  • this.getUrl(this.chatInfo.url)} class="clearfix ${this.activeChatHeadUrl === this.chatInfo.url ? 'active' : ''}"> account_circle @@ -91,46 +80,8 @@ class ChatHead extends LitElement { ` } - - // renderEncryptedIcon(chatInfo) { - - // if (chatInfo.groupId !== undefined) { - // this.iconName = 'lock_open' - // } else { - - // parentEpml.request('apiCall', { - // type: 'api', - // url: `/addresses/publickey/${chatInfo.address}` - // }).then(res => { - - // if (res.error === 102) { - // // Do something here... - // } else if (res !== false) { - // this.iconName = 'lock' - // } else { - // this.iconName = 'lock' - // } - // }) - - // } - - // } - - getUrl(chatUrl) { - - this.onPageNavigation(`/app/q-chat/${chatUrl}`) - } - - onPageNavigation(pageUrl) { - - parentEpml.request('setPageUrl', pageUrl) - } - firstUpdated() { let configLoaded = false - - // this.renderEncryptedIcon(this.chatInfo) - parentEpml.ready().then(() => { parentEpml.subscribe('selected_address', async selectedAddress => { this.selectedAddress = {} @@ -145,12 +96,16 @@ class ChatHead extends LitElement { this.config = JSON.parse(c) }) }) - - parentEpml.imReady() } + getUrl(chatUrl) { + this.onPageNavigation(`/app/q-chat/${chatUrl}`) + } + onPageNavigation(pageUrl) { + parentEpml.request('setPageUrl', pageUrl) + } } window.customElements.define('chat-head', ChatHead) diff --git a/qortal-ui-plugins/plugins/core/components/ChatMessage.js b/qortal-ui-plugins/plugins/core/components/ChatMessage.js index 0e0eb73b..774daade 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatMessage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatMessage.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' @@ -16,85 +16,69 @@ class ChatMessage extends LitElement { static get styles() { return css` - - .message-data { - margin-bottom: 15px; - } - - .message-data-time { - color: #a8aab1; - font-size: 13px; - padding-left: 6px; - } - - .message { - color: black; - padding: 12px 10px; - line-height: 19px; - font-size: 16px; - border-radius: 7px; - margin-bottom: 20px; - width: 90%; - position: relative; - } - - .message:after { - bottom: 100%; - left: 93%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border-bottom-color: #ddd; - border-width: 10px; - margin-left: -10px; - } - - .my-message { - background: #ddd; - border: 2px #ccc solid; - } - - .other-message { - background: #f1f1f1; - border: 2px solid #dedede; - } - - .other-message:after { - border-bottom-color: #f1f1f1; - left: 7%; - } - - .align-left { - text-align: left; - } - - .align-right { - text-align: right; - } - - .float-right { - float: right; - } - - .clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } + .message-data { + margin-bottom: 15px; + } + .message-data-time { + color: #a8aab1; + font-size: 13px; + padding-left: 6px; + } + .message { + color: black; + padding: 12px 10px; + line-height: 19px; + font-size: 16px; + border-radius: 7px; + margin-bottom: 20px; + width: 90%; + position: relative; + } + .message:after { + bottom: 100%; + left: 93%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-bottom-color: #ddd; + border-width: 10px; + margin-left: -10px; + } + .my-message { + background: #ddd; + border: 2px #ccc solid; + } + .other-message { + background: #f1f1f1; + border: 2px solid #dedede; + } + .other-message:after { + border-bottom-color: #f1f1f1; + left: 7%; + } + .align-left { + text-align: left; + } + .align-right { + text-align: right; + } + .float-right { + float: right; + } + .clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } ` } - // attributeChangedCallback(name, oldVal, newVal) { - // console.log('attribute change: ', name, newVal.address); - // super.attributeChangedCallback(name, oldVal, newVal); - // } - constructor() { super() this.selectedAddress = {} @@ -109,13 +93,11 @@ class ChatMessage extends LitElement { } render() { - return html`
  • ${this.message.sender}   10:10 AM, Today -
    ${this.message.decodedMessage} @@ -142,10 +124,8 @@ class ChatMessage extends LitElement { this.config = JSON.parse(c) }) }) - parentEpml.imReady() } - } window.customElements.define('chat-message', ChatMessage) diff --git a/qortal-ui-plugins/plugins/core/components/ChatPage.js b/qortal-ui-plugins/plugins/core/components/ChatPage.js index 49cfc239..107b40c2 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatPage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatPage.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' import { escape, unescape } from 'html-escaper'; @@ -91,15 +91,6 @@ class ChatPage extends LitElement { } updated(changedProps) { - // changedProps.forEach((OldProp, name) => { - // if (name === 'messages') { - // this.scrollDownPage() - // } - - // // if (name === 'newMessages') { - // // this.updateChatHistory(this.newMessages) - // // } - // }); } constructor() { diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js index 5408884b..4ebd6d8b 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' class ChatScroller extends LitElement { static get properties() { diff --git a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js index 9cd92435..4c03d6e9 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/components/TimeAgo.js b/qortal-ui-plugins/plugins/core/components/TimeAgo.js index b5231e29..b2bc5648 100644 --- a/qortal-ui-plugins/plugins/core/components/TimeAgo.js +++ b/qortal-ui-plugins/plugins/core/components/TimeAgo.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' import '@github/time-elements' diff --git a/qortal-ui-plugins/plugins/core/components/ToolTip.js b/qortal-ui-plugins/plugins/core/components/ToolTip.js index 14afe03b..e558c452 100644 --- a/qortal-ui-plugins/plugins/core/components/ToolTip.js +++ b/qortal-ui-plugins/plugins/core/components/ToolTip.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' @@ -60,11 +60,6 @@ class ToolTip extends LitElement { ` } - // attributeChangedCallback(name, oldVal, newVal) { - // console.log('attribute change: ', name, newVal.address); - // super.attributeChangedCallback(name, oldVal, newVal); - // } - constructor() { super() this.selectedAddress = {} @@ -80,32 +75,11 @@ class ToolTip extends LitElement { } render() { - - console.log(this.toolTipMessage, "tool"); - return html` ${this.toolTipMessage} ` } - - // { - // "type": "CHAT", - // "timestamp": 1589189772000, - // "reference": "1111111111111111111111111111111111111111111111111111111111111111", - // "fee": "0.00000000", - // "signature": "7gXr4sZ3W6Lq7sRHwoxQ6nEq4LvV7aiVkhfi2xtsf6v1P4M2v4oYptMowRXvbtEhJQfg2wfr3BMDmhCEcrAENRn", - // "txGroupId": 0, - // "approvalStatus": "NOT_REQUIRED", - // "creatorAddress": "QdevPHFK86KNuzoYKLqFz7DPkr2x4juzvi", - // "senderPublicKey": "31J8KD24kFbNtdrQg5iUEHXGxGSxKC9jxLDakE1QChyG", - // "sender": "QdevPHFK86KNuzoYKLqFz7DPkr2x4juzvi", - // "nonce": 89955, - // "data": "35sYULUFnjz7SCRSb", - // "isText": false, - // "isEncrypted": false - // } - firstUpdated() { let configLoaded = false @@ -124,12 +98,8 @@ class ToolTip extends LitElement { this.config = JSON.parse(c) }) }) - - parentEpml.imReady() } - - } window.customElements.define('tool-tip', ToolTip) diff --git a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js index 8380590c..64ed8ce0 100644 --- a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js +++ b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js b/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js index 20fcd01d..71fd44ab 100644 --- a/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js +++ b/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -// import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +// import { render } from 'lit/html.js' // import { Epml } from '../../../src/epml.js' import { Epml } from '../../../../epml.js' diff --git a/qortal-ui-plugins/plugins/core/main.js b/qortal-ui-plugins/plugins/core/main.js new file mode 100644 index 00000000..976896c8 --- /dev/null +++ b/qortal-ui-plugins/plugins/core/main.js @@ -0,0 +1 @@ +!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";const e=new Epml({type:"WINDOW",source:window.parent});let t,n;new Epml({type:"PROXY",source:{proxy:e,target:"visible-plugin",id:"core-plugin"}});let o,a,s,r=0,d=!1,i=!1,l=!1,c=!0,p=!1,u=0,m=!1,g=!1,w=!1;e.subscribe("logged_in",(e=>{w="true"===e}));const S=async()=>{const t=await e.request("apiCall",{url:"/admin/info"});e.request("updateNodeInfo",t)};let h,C=0;const T=()=>{t.close(),d=!0,o.close(),p=!0},f=t=>{e.request("updateBlockInfo",t)},O=async t=>{e.request("updateNodeStatus",t)},b=e=>{0==e.node||1==e.node?k():void 0!==o&&(o.close(),p=!0)},x=()=>{let o,a=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],i=a.domain+":"+a.port;o="https:"===window.parent.location.protocol?`wss://${i}/websockets/blocks`:`ws://${i}/websockets/blocks`;const p=new WebSocket(o);p.onopen=e=>{console.log("[SOCKET-BLOCKS]: Connected."),d=!1,t=p,r+=1},p.onmessage=t=>{f(JSON.parse(t.data)),w&&(async t=>{let n={names:await e.request("apiCall",{url:`/names/address/${t}`}),addressInfo:await e.request("apiCall",{url:`/addresses/${t}`})};!0!==window.parent._.isEqual(s,n)&&(e.request("setAccountInfo",n),s=n)})(window.parent.reduxStore.getState().app.selectedAddress.address)},p.onclose=()=>{console.log("[SOCKET-BLOCKS]: CLOSED"),f({}),c=!0,clearInterval(n),!1===d&&r<=52&&(r<=52?(l=!0,setTimeout(N,1e4),r+=1):l=!1)},p.onerror=e=>{console.log(`[SOCKET-BLOCKS]: ${e.type}`),c=!0,f({})},c&&e.request("apiCall",{url:"/blocks/last"}).then((e=>{f(e),c=!1}))},N=()=>{i?(i=!1,x(),n=setTimeout(N,295e3)):l?(l=!1,clearTimeout(n),x(),i=!0,n=setTimeout(N,295e3)):(t.send("non-integer ping"),n=setTimeout(N,295e3))},q=()=>{let e,t=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],n=t.domain+":"+t.port;e="https:"===window.parent.location.protocol?`wss://${n}/websockets/admin/status`:`ws://${n}/websockets/admin/status`;const s=new WebSocket(e);s.onopen=e=>{console.log("[SOCKET-NODE-STATUS]: Connected."),p=!1,o=s,u+=1},s.onmessage=e=>{O(JSON.parse(e.data))},s.onclose=()=>{console.log("[SOCKET-NODE-STATUS]: CLOSED"),O({}),clearInterval(a),!1===p&&u<=52&&(u<=52?(m=!0,setTimeout(k,1e4),u+=1):m=!1)},s.onerror=e=>{console.log(`[SOCKET-NODE-STATUS]: ${e.type}`),O({})}},k=()=>{g?(clearTimeout(a),q(),g=!1,a=setTimeout(k,295e3)):m?(m=!1,clearTimeout(a),q(),a=setTimeout(k,295e3)):(o.send("non-integer ping"),a=setTimeout(k,295e3))},E=e=>[...e.groups.map((e=>0===e.groupId?{groupId:e.groupId,url:`group/${e.groupId}`,groupName:"Qortal General Chat",sender:e.sender,senderName:e.senderName,timestamp:void 0===e.timestamp?1:e.timestamp}:{...e,url:`group/${e.groupId}`})),...e.direct.map((e=>({...e,url:`direct/${e.address}`})))];let y=0;const $=t=>{let n=`${window.parent.reduxStore.getState().app.selectedAddress.address.substr(0,10)}_chat-heads`;try{let o=localStorage.getItem(n);null===o?e.request("setLocalStorage",{key:n,dataObj:t}).then((n=>{e.request("setChatHeads",t).then((e=>{}))})):(e.request("setLocalStorage",{key:n,dataObj:t}).then((n=>{e.request("setChatHeads",t).then((e=>{}))})),y>=1?((t,n)=>{let o=JSON.parse(n);if(!0!==window.parent._.isEqual(o,t)){let n=E(o);E(t).filter((e=>!n.some((t=>e.timestamp===t.timestamp)))).forEach((t=>{t.sender!==window.parent.reduxStore.getState().app.selectedAddress.address&&void 0!==t.sender&&e.request("showNotification",t)}))}})(t,o):y+=1)}catch(e){console.error(e)}};let I,v,K=0,A=!1,_=!1,D=!1,L=!1;e.subscribe("logged_in",(async t=>{const n=()=>{let t,n=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],a=n.domain+":"+n.port;t="https:"===window.parent.location.protocol?`wss://${a}/websockets/chat/active/${window.parent.reduxStore.getState().app.selectedAddress.address}`:`ws://${a}/websockets/chat/active/${window.parent.reduxStore.getState().app.selectedAddress.address}`;const s=new WebSocket(t);s.onopen=()=>{console.log("[SOCKET]: Connected."),I=s,K+=1,L=!0},s.onmessage=e=>{$(JSON.parse(e.data))},s.onclose=()=>{console.log("[SOCKET]: CLOSED"),clearInterval(v),!1===A&&K<=52&&(K<=52?(e.request("showSnackBar","Connection to the Qortal Core was lost, is your Core running ?"),D=!0,setTimeout(o,1e4),K+=1):e.request("showSnackBar","Cannot connect to the Qortal Core, restart UI and Core!"))},s.onerror=e=>{console.log(`[SOCKET]: ${e.type}`)}},o=()=>{!0===window.parent.reduxStore.getState().app.loggedIn?_?D?(D=!1,clearTimeout(v),n(),_=!0,v=setTimeout(o,295e3)):L&&(I.send("ping"),v=setTimeout(o,295e3)):(n(),_=!0,v=setTimeout(o,295e3)):_&&!A&&(A=!0,I.close(),clearTimeout(v),_=!1,L=!1)};"true"===t?((async t=>{let n={names:await e.request("apiCall",{url:`/names/address/${t}`}),addressInfo:await e.request("apiCall",{url:`/addresses/${t}`})};e.request("setAccountInfo",n)})(window.parent.reduxStore.getState().app.selectedAddress.address),o()):(_&&(A=!0,I.close(),clearTimeout(v),_=!1,L=!1),y=0)})),e.ready().then((()=>{e.subscribe("node_config",(e=>{if(0===C){let n=JSON.parse(e);h={node:n.node,knownNodes:n.knownNodes},C+=1,g=!0,i=!0,void 0!==t&&T(),void 0!==o&&T(),b(h),N(),S()}let n=JSON.parse(e),a={node:n.node,knownNodes:n.knownNodes};!0!==window.parent._.isEqual(h,a)&&(h=a,g=!0,i=!0,void 0!==t&&T(),void 0!==o&&T(),b(a),N(),S())}))})),e.imReady();let J={},W=!1;e.ready().then((()=>{let t=[{url:"minting",domain:"core",page:"minting/index.html",title:"Minting Details",icon:"info",menus:[],parent:!1},{url:"wallet",domain:"core",page:"wallet/index.html",title:"Wallet",icon:"account_balance_wallet",menus:[],parent:!1},{url:"send-coin",domain:"core",page:"send-coin/index.html",title:"Send Coin",icon:"send",menus:[],parent:!1},{url:"trade-portal",domain:"core",page:"trade-portal/index.html",title:"Trade Portal",icon:"toc",menus:[],parent:!1},{url:"reward-share",domain:"core",page:"reward-share/index.html",title:"Reward Share",icon:"call_split",menus:[],parent:!1},{url:"name-registration",domain:"core",page:"name-registration/index.html",title:"Name Registration",icon:"assignment_ind",menus:[],parent:!1},{url:"websites",domain:"core",page:"qdn/index.html",title:"Websites",icon:"computer",menus:[],parent:!1},{url:"data-management",domain:"core",page:"qdn/data-management/index.html",title:"Data Management",icon:"dns",menus:[],parent:!1},{url:"q-chat",domain:"core",page:"messaging/q-chat/index.html",title:"Q-Chat",icon:"message",menus:[],parent:!1},{url:"group-management",domain:"core",page:"group-management/index.html",title:"Group Management",icon:"group",menus:[],parent:!1},{url:"puzzles",domain:"core",page:"puzzles/index.html",title:"Puzzles",icon:"extension",menus:[],parent:!1}];const n=t=>{e.request("registerUrl",t)};e.subscribe("config",(e=>{if(J=JSON.parse(e),!W&&J.user.knownNodes[J.user.node].enableManagement){W=!0;let e={url:"node-management",domain:"core",page:"node-management/index.html",title:"Node Management",icon:"cloud",menus:[],parent:!1},o=[...t,e];n(o)}else n(t)}))}))})); diff --git a/qortal-ui-plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js b/qortal-ui-plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js index 4ae3b611..31580ce6 100644 --- a/qortal-ui-plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js +++ b/qortal-ui-plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' class ChainMessaging extends LitElement { static get properties() { @@ -42,55 +42,21 @@ class ChainMessaging extends LitElement { ` } - firstUpdated() { window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - // this._textMenu(event) }); window.addEventListener("click", () => { - - // parentEpml.request('closeCopyTextMenu', null) }); window.onkeyup = (e) => { if (e.keyCode === 27) { - - // parentEpml.request('closeCopyTextMenu', null) } } } - // _textMenu(event) { - - // const getSelectedText = () => { - // var text = ""; - // if (typeof window.getSelection != "undefined") { - // text = window.getSelection().toString(); - // } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - // text = this.shadowRoot.selection.createRange().text; - // } - // return text; - // } - - // const checkSelectedTextAndShowMenu = () => { - // let selectedText = getSelectedText(); - // if (selectedText && typeof selectedText === 'string') { - - // let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - // let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - // parentEpml.request('openCopyTextMenu', textMenuObject) - // } - // } - - // checkSelectedTextAndShowMenu() - // } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/qortal-ui-plugins/plugins/core/messaging/messaging.src.js b/qortal-ui-plugins/plugins/core/messaging/messaging.src.js index 079b6bc0..fc6ee01e 100644 --- a/qortal-ui-plugins/plugins/core/messaging/messaging.src.js +++ b/qortal-ui-plugins/plugins/core/messaging/messaging.src.js @@ -1,4 +1,4 @@ -import { LitElement, html, css } from 'lit-element' +import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) diff --git a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js index 175e02f4..5fe0664c 100644 --- a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js +++ b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../../epml.js' // Components diff --git a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js index 15e76a34..c4301c50 100644 --- a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js +++ b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from "lit-element"; -import { render } from "lit-html"; +import { LitElement, html, css } from "lit"; +import { render } from "lit/html.js"; import { Epml } from "../../../epml.js"; import "@material/mwc-icon"; diff --git a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js index 644acfcb..1be248f7 100644 --- a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js +++ b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/node-management/node-management.src.js b/qortal-ui-plugins/plugins/core/node-management/node-management.src.js index bf5aae81..6a2a54f1 100644 --- a/qortal-ui-plugins/plugins/core/node-management/node-management.src.js +++ b/qortal-ui-plugins/plugins/core/node-management/node-management.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from "lit-element"; -import { render } from 'lit-html' +import { LitElement, html, css } from "lit"; +import { render } from 'lit/html.js' import { Epml } from "../../../epml.js"; import "@polymer/paper-spinner/paper-spinner-lite.js"; diff --git a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js index 8e00ec59..19d59a30 100644 --- a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js +++ b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' // Not sure if these are imported in the proper way: diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js index 5ed74d94..630d8b38 100644 --- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../../epml' import '@material/mwc-button' diff --git a/qortal-ui-plugins/plugins/core/qdn/data-management/data-management.src.js b/qortal-ui-plugins/plugins/core/qdn/data-management/data-management.src.js index 02a823f2..8e16adb4 100644 --- a/qortal-ui-plugins/plugins/core/qdn/data-management/data-management.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/data-management/data-management.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../../epml' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js index bb51dda3..337a4ba5 100644 --- a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../../epml' import '@material/mwc-button' diff --git a/qortal-ui-plugins/plugins/core/qdn/websites.src.js b/qortal-ui-plugins/plugins/core/qdn/websites.src.js index d4a440d4..60dc9502 100644 --- a/qortal-ui-plugins/plugins/core/qdn/websites.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/websites.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js b/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js index f6acac4c..276e5221 100644 --- a/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js +++ b/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '@material/mwc-icon' diff --git a/qortal-ui-plugins/plugins/core/send-coin/send-coin.src.js b/qortal-ui-plugins/plugins/core/send-coin/send-coin.src.js index 05e153d8..d8daff12 100644 --- a/qortal-ui-plugins/plugins/core/send-coin/send-coin.src.js +++ b/qortal-ui-plugins/plugins/core/send-coin/send-coin.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml' import '@material/mwc-button' diff --git a/qortal-ui-plugins/plugins/core/streams/AddressWatcher.js b/qortal-ui-plugins/plugins/core/streams/AddressWatcher.js index c214373a..6859acd0 100644 --- a/qortal-ui-plugins/plugins/core/streams/AddressWatcher.js +++ b/qortal-ui-plugins/plugins/core/streams/AddressWatcher.js @@ -38,24 +38,11 @@ export class AddressWatcher { } async testBlock (block) { - // console.log('TESTING BLOCK') const pendingUpdateAddresses = [] - - // blockTests.forEach(fn => { - - // }) - // transactionTests.forEach(fn => { - // const transactions = await parentEpml.request('apiCall', { url: `/transactions/block/${block.signature}` }) transactions.forEach(transaction => { - // console.log(this) - // fn(transaction, Object.keys(this._addresses)) // Guess the block needs transactions for (const addr of Object.keys(this._addresses)) { - // const addrChanged = transactionTests.some(fn => { - // return fn(transaction, addr) - // }) - // console.log('checking ' + addr) const addrChanged = true // Just update it every block...for now if (!addrChanged) return @@ -71,7 +58,6 @@ export class AddressWatcher { } async updateAddress (addr) { - // console.log('UPPPDDAAATTTINGGG AADDDRRR', addr) let addressRequest = await parentEpml.request('apiCall', { type: 'explorer', data: { @@ -79,23 +65,15 @@ export class AddressWatcher { txOnPage: 10 } }) - // addressRequest = JSON.parse(addressRequest) - // console.log(addressRequest, 'AAADDDREESS REQQUEESTT') - // console.log('response: ', addressRequest) - const addressInfo = addressRequest.success ? addressRequest.data : DEFAULT_ADDRESS_INFO - // const addressInfo = addressRequest.success ? addressRequest.data : DEFAULT_ADDRESS_INFO addressInfo.transactions = [] for (let i = addressInfo.start; i >= addressInfo.end; i--) { addressInfo.transactions.push(addressInfo[i]) delete addressInfo[i] } - // console.log('ADDRESS INFO', addressInfo) if (!(addr in this._addresses)) return - this._addresses[addr] = addressInfo - // console.log('---------------------------Emitting-----------------------------', this._addresses[addr], this._addressStreams[addr]) this._addressStreams[addr].emit(addressInfo) } } diff --git a/qortal-ui-plugins/plugins/core/streams/UnconfirmedTransactionWatcher.js b/qortal-ui-plugins/plugins/core/streams/UnconfirmedTransactionWatcher.js index e4f02f44..82590548 100644 --- a/qortal-ui-plugins/plugins/core/streams/UnconfirmedTransactionWatcher.js +++ b/qortal-ui-plugins/plugins/core/streams/UnconfirmedTransactionWatcher.js @@ -1,5 +1,4 @@ import { parentEpml } from '../connect.js' -// import { EpmlStream } from 'epml' maybe not needed...loaded for me export class UnconfirmedTransactionWatcher { constructor () { @@ -18,47 +17,29 @@ export class UnconfirmedTransactionWatcher { // Adds an address to watch addAddress (address) { - // console.log("Added address", address) const addr = address.address this._addresses[addr] = address this._addressesUnconfirmedTransactions[addr] = [] - if (this._unconfirmedTransactionStreams[addr]) return - // console.log("CREATING A STRTRREEAAAMMMM") this._unconfirmedTransactionStreams[addr] = new EpmlStream(`unconfirmedOfAddress/${addr}`, () => this._addressesUnconfirmedTransactions[addr]) - - // this.updateAddress(address.address) } check () { - // console.log("checkin for unconfirmed") const c = this._addressTransactionCheck() .then(() => setTimeout(() => this.check(), 5000)) .catch(() => setTimeout(() => this.check(), 5000)) - // console.log(c) } async _addressTransactionCheck () { - // console.log("Checking for unconfirmed transactions") - // console.log(this._addresses, Object.keys(this._addresses)) return Promise.all(Object.keys(this._addresses).map(addr => { - // console.log(`checking ${addr}`) return parentEpml.request('apiCall', { type: 'api', - // url: `transactions/unconfirmedof/${addr}` url: `/transactions/unconfirmed` }).then(unconfirmedTransactions => { - // unconfirmedTransactions = JSON.parse(unconfirmedTransactions) - // console.log(unconfirmedTransactions) unconfirmedTransactions.filter(tx => { tx.creatorAddress === addr || tx.recipient === addr }) - // console.log(unconfirmedTransactions, unconfirmedTransactions.length) - // if(unconfirmedTransactions.length === 0) { - // return - // } this._unconfirmedTransactionStreams[addr].emit(unconfirmedTransactions) - // console.log(this._unconfirmedTransactionStreams[addr]) }) })) } diff --git a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js index ffdd0fa3..398356f5 100644 --- a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element'; -import { render } from 'lit-html'; +import { LitElement, html, css } from 'lit'; +import { render } from 'lit/html.js'; import { Epml } from '../../../epml.js'; import '@material/mwc-button'; diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 71585d42..d261be55 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -1,5 +1,5 @@ -import { LitElement, html, css } from 'lit-element' -import { render } from 'lit-html' +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import '../components/ButtonIconCopy' diff --git a/qortal-ui-plugins/rollup.config.js b/qortal-ui-plugins/rollup.config.js index fd333d2d..f4f5939e 100644 --- a/qortal-ui-plugins/rollup.config.js +++ b/qortal-ui-plugins/rollup.config.js @@ -1,5 +1,3 @@ -// From original frag-ui build - import babel from '@rollup/plugin-babel' import { nodeResolve } from '@rollup/plugin-node-resolve' import builtins from 'rollup-plugin-node-builtins' @@ -9,8 +7,6 @@ import commonjs from '@rollup/plugin-commonjs' import sass from 'rollup-plugin-sass' import autoprefixer from 'autoprefixer' import postcss from 'postcss' - -// import minifyHTML from 'rollup-plugin-minify-html-literals' import { terser } from 'rollup-plugin-terser' const sassOptions = { @@ -22,22 +18,13 @@ const sassOptions = { const babelOptions = { babelHelpers: 'bundled', - // exclude: 'node_modules/**', exclude: ['node_modules/babel-runtime/**', /[\/\\]core-js/, 'node_modules/@babel/runtime-corejs3/**', 'node_modules/@webcomponentsjs/**'], - // exclude: 'node_modules/core-js/**', ignore: [/[\/\\]core-js/, 'node_modules/@babel/runtime-corejs3/**', 'node_modules/@webcomponentsjs/**'], runtimeHelpers: true, presets: [ [ '@babel/preset-env', { - // 'targets': 'Chrome 60, Firefox 66', - // debug: true, - // modules: 'false', - // targets: { - // browsers: 'Edge 16, Firefox 60, Chrome 61, Safari 11, Android 67, ChromeAndroid 73, FirefoxAndroid 66' - // }, - // useBuiltIns: 'usage', useBuiltIns: 'entry', corejs: '3' } @@ -65,7 +52,6 @@ const plugins = [ if (process.env.NODE_ENV === 'production') { plugins.push( - // minifyHTML(), terser() ) } @@ -121,16 +107,6 @@ export default [ ], plugins: plugins.concat([babel({ ...babelOptions//, - // presets: [ - // [ - // '@babel/preset-env', - // { - // useBuiltIns: 'usage', - // targets: 'IE 10', - // corejs: '3' - // } - // ] - // ] })]) }, {