Commit 83ad4e8e authored by Astor Bizard's avatar Astor Bizard
Browse files

Fixed theme bug for plugins using VPL.

parent 0add8925
define(["jquery","jqueryui","mod_vpl/vplutil"],function(a,b,c){return function(b,d,e,f,g,h){var i=a("#"+b),j=i.find(".vpl_clipboard_label1"),k=i.find(".vpl_clipboard_label2"),l=i.find(".vpl_clipboard_entry1"),m=i.find(".vpl_clipboard_entry2");j.html(d),k.html(f),e&&j.button().click(e),g&&k.button().click(g),i.dialog({title:c.str("clipboard"),closeOnEscape:!0,autoOpen:!1,width:"auto",height:"auto",resizable:!0,dialogClass:"vpl_clipboard vpl_ide "+a("#vplide").attr("class").match(/(^| )(vpl_theme_[^ ]*)/)[2]}),h&&i.on("click",h),this.show=function(){i.dialog("open")},this.hide=function(){i.dialog("close")},this.setEntry1=function(a){l.val(a),l.select()},this.getEntry1=function(){return l.val()},this.setEntry2=function(a){m.val(a)},this.getEntry2=function(){return m.val()};var n=i.siblings().find(".ui-dialog-title"),o=c.genIcon("clipboard","sw");o+=" "+c.str("clipboard"),n.html(o),i.parent().css("overflow","")}});
\ No newline at end of file
define(["jquery","jqueryui","mod_vpl/vplutil"],function(a,b,c){return function(b,d,e,f,g,h){var i=a("#"+b),j=i.find(".vpl_clipboard_label1"),k=i.find(".vpl_clipboard_label2"),l=i.find(".vpl_clipboard_entry1"),m=i.find(".vpl_clipboard_entry2");j.html(d),k.html(f),e&&j.button().click(e),g&&k.button().click(g),i.dialog({title:c.str("clipboard"),closeOnEscape:!0,autoOpen:!1,width:"auto",height:"auto",resizable:!0,dialogClass:"vpl_clipboard vpl_ide "+c.getThemeClass()}),h&&i.on("click",h),this.show=function(){i.dialog("open")},this.hide=function(){i.dialog("close")},this.setEntry1=function(a){l.val(a),l.select()},this.getEntry1=function(){return l.val()},this.setEntry2=function(a){m.val(a)},this.getEntry2=function(){return m.val()};var n=i.siblings().find(".ui-dialog-title"),o=c.genIcon("clipboard","sw");o+=" "+c.str("clipboard"),n.html(o),i.parent().css("overflow","")}});
\ No newline at end of file
define(["jquery","jqueryui","mod_vpl/vplutil","mod_vpl/vplclipboard"],function(a,b,c,d){if("undefined"!=typeof e)return e;var e=function(b,e,f){var g,h=this,i=null,j=function(){},k="",l="",m=a("#"+b),n="",o=null,p=64e3,q="",r=a("#"+e);function s(a){if((q+=a).length>p){var b=q.length-p/2;q=q.substr(b)}}function t(){o.setEntry1(q)}function u(){t(),o.show()}this.updateTitle=function(){var a=k;""!==l&&(a+=" ("+l+")"),n.text(f("console")+": "+a)},this.setTitle=function(a){k=a,this.updateTitle()},this.setMessage=function(a){l=a,this.updateTitle()},this.write=function(a){return g.write(a),a},this.connect=function(a,b){j=b,"WebSocket"in window?(g.reset(),g.startBlink(),h.show(),i&&i.close(),q="",h.setMessage(""),h.setTitle(f("connecting")),(i=new WebSocket(a)).writeBuffer="",i.writeIt=function(){g.write(i.writeBuffer),s(i.writeBuffer),i.writeBuffer=""},i.onmessage=function(a){i.writeBuffer.length>0?i.writeBuffer+=a.data:(i.writeBuffer=a.data,setTimeout(i.writeIt,0))},i.onopen=function(){h.setMessage(""),h.setTitle(f("connected"))},i.onclose=function(){h.setTitle(f("connection_closed")),g.blur(),g.stopBlink(),b(),i.stopOutput=!0}):g.write("WebSocket not available: Upgrade your browser")},this.writeLocal=function(a){return i.onmessage({data:a}),a},this.setDataCallback=function(a){i.onData=a},this.closeLocal=function(){i&&(i.writeIt(),i.close(),g.stopBlink(),h.setTitle(f("connection_closed")))},this.connectLocal=function(a,b){j=a,g.reset(),g.startBlink(),h.show(),i&&i.close(),q="",h.setMessage(""),h.setTitle(f("running")),(i={}).onData=b,i.writeBuffer="",i.readBuffer="",i.readyState=1,i.OPEN=1,i.close=function(){i=!1},i.onmessage=function(a){i.writeBuffer=a.data,i.writeIt()},i.writeIt=function(){i&&(g.write(i.writeBuffer),s(i.writeBuffer),i.writeBuffer="")},i.send=function(a){""==a?i.readBuffer.length>0&&(h.writeLocal("\b \b"),i.readBuffer=i.readBuffer.substr(0,i.readBuffer.length-1)):(h.writeLocal(a),i.readBuffer+=a);var b=i.readBuffer.indexOf("\r");if(-1!=b){var c=i.readBuffer.substr(0,b);i.readBuffer=i.readBuffer.substr(b+1),i.onData(c)}}},this.isOpen=function(){return!0===m.dialog("isOpen")},this.isConnected=function(){return i&&i.readyState!=i.CLOSED},this.disconnect=function(){i&&i.readyState==i.OPEN&&(j(),i&&i.close(),g.stopBlink())};var v=c.genIcon("copy","sw")+" "+f("copy"),w=c.genIcon("paste","sw")+" "+f("paste");o=new d("vpl_dialog_terminal_clipboard",v,function(){t(),document.execCommand("copy")},w,function(){i&&i.readyState==i.OPEN&&i.send(o.getEntry2())}),this.closeDialog=function(){o.hide(),h.disconnect()},m.dialog({closeOnEscape:!1,autoOpen:!1,width:"auto",height:"auto",resizable:!0,focus:function(){g.focus()},dialogClass:"vpl_ide vpl_vnc "+a("#vplide").attr("class").match(/(^| )(vpl_theme_[^ ]*)/)[2],create:function(){n=c.setTitleBar(m,"console","console",["clipboard","keyboard"],[u,function(){g.focus()}])},close:function(){h.closeDialog()},resizeStart:function(){var a=m.find("pre").width(),b=m.find("pre div").width();a<=b&&m.find("pre").width(b)}}),m.css("padding","1px"),this.show=function(){m.dialog("open"),g.focus()},this.init=function(){"undefined"!=typeof Terminal?((g=new Terminal({cols:80,rows:24,useStyle:!0,screenKeys:!0})).on("data",function(a){i&&i.readyState==i.OPEN&&i.send(a)}),g.open(r[0]),g.reset(),g.stopBlink()):c.loadScript(["../../vpl/editor/xterm/term.js"],function(){h.init()})},this.init()};return window.VPLTerminal=e,e});
\ No newline at end of file
define(["jquery","jqueryui","mod_vpl/vplutil","mod_vpl/vplclipboard"],function(a,b,c,d){if("undefined"!=typeof e)return e;var e=function(b,e,f){var g,h=this,i=null,j=function(){},k="",l="",m=a("#"+b),n="",o=null,p=64e3,q="",r=a("#"+e);function s(a){if((q+=a).length>p){var b=q.length-p/2;q=q.substr(b)}}function t(){o.setEntry1(q)}function u(){t(),o.show()}this.updateTitle=function(){var a=k;""!==l&&(a+=" ("+l+")"),n.text(f("console")+": "+a)},this.setTitle=function(a){k=a,this.updateTitle()},this.setMessage=function(a){l=a,this.updateTitle()},this.write=function(a){return g.write(a),a},this.connect=function(a,b){j=b,"WebSocket"in window?(g.reset(),g.startBlink(),h.show(),i&&i.close(),q="",h.setMessage(""),h.setTitle(f("connecting")),(i=new WebSocket(a)).writeBuffer="",i.writeIt=function(){g.write(i.writeBuffer),s(i.writeBuffer),i.writeBuffer=""},i.onmessage=function(a){i.writeBuffer.length>0?i.writeBuffer+=a.data:(i.writeBuffer=a.data,setTimeout(i.writeIt,0))},i.onopen=function(){h.setMessage(""),h.setTitle(f("connected"))},i.onclose=function(){h.setTitle(f("connection_closed")),g.blur(),g.stopBlink(),b(),i.stopOutput=!0}):g.write("WebSocket not available: Upgrade your browser")},this.writeLocal=function(a){return i.onmessage({data:a}),a},this.setDataCallback=function(a){i.onData=a},this.closeLocal=function(){i&&(i.writeIt(),i.close(),g.stopBlink(),h.setTitle(f("connection_closed")))},this.connectLocal=function(a,b){j=a,g.reset(),g.startBlink(),h.show(),i&&i.close(),q="",h.setMessage(""),h.setTitle(f("running")),(i={}).onData=b,i.writeBuffer="",i.readBuffer="",i.readyState=1,i.OPEN=1,i.close=function(){i=!1},i.onmessage=function(a){i.writeBuffer=a.data,i.writeIt()},i.writeIt=function(){i&&(g.write(i.writeBuffer),s(i.writeBuffer),i.writeBuffer="")},i.send=function(a){""==a?i.readBuffer.length>0&&(h.writeLocal("\b \b"),i.readBuffer=i.readBuffer.substr(0,i.readBuffer.length-1)):(h.writeLocal(a),i.readBuffer+=a);var b=i.readBuffer.indexOf("\r");if(-1!=b){var c=i.readBuffer.substr(0,b);i.readBuffer=i.readBuffer.substr(b+1),i.onData(c)}}},this.isOpen=function(){return!0===m.dialog("isOpen")},this.isConnected=function(){return i&&i.readyState!=i.CLOSED},this.disconnect=function(){i&&i.readyState==i.OPEN&&(j(),i&&i.close(),g.stopBlink())};var v=c.genIcon("copy","sw")+" "+f("copy"),w=c.genIcon("paste","sw")+" "+f("paste");o=new d("vpl_dialog_terminal_clipboard",v,function(){t(),document.execCommand("copy")},w,function(){i&&i.readyState==i.OPEN&&i.send(o.getEntry2())}),this.closeDialog=function(){o.hide(),h.disconnect()},m.dialog({closeOnEscape:!1,autoOpen:!1,width:"auto",height:"auto",resizable:!0,focus:function(){g.focus()},dialogClass:"vpl_ide vpl_vnc "+c.getThemeClass(),create:function(){n=c.setTitleBar(m,"console","console",["clipboard","keyboard"],[u,function(){g.focus()}])},close:function(){h.closeDialog()},resizeStart:function(){var a=m.find("pre").width(),b=m.find("pre div").width();a<=b&&m.find("pre").width(b)}}),m.css("padding","1px"),this.show=function(){m.dialog("open"),g.focus()},this.init=function(){"undefined"!=typeof Terminal?((g=new Terminal({cols:80,rows:24,useStyle:!0,screenKeys:!0})).on("data",function(a){i&&i.readyState==i.OPEN&&i.send(a)}),g.open(r[0]),g.reset(),g.stopBlink()):c.loadScript(["../../vpl/editor/xterm/term.js"],function(){h.init()})},this.init()};return window.VPLTerminal=e,e});
\ No newline at end of file
This diff is collapsed.
define(["jquery","jqueryui","mod_vpl/vplutil","mod_vpl/vplclipboard","core/log"],function(a,b,c,d,e){"undefined"==typeof c.get_absolute_path()?window.INCLUDE_URI="../editor/noVNC/include/":window.INCLUDE_URI=c.get_absolute_path()+"/editor/noVNC/include/",Util.load_scripts(["webutil.js","base64.js","websock.js","des.js","keysymdef.js","keyboard.js","input.js","display.js","jsunzip.js","rfb.js","keysym.js"]);return function(b,f){var g,h,i,j=this,k="",l="",m="",n=a("#"+b),o=a("#"+b+" canvas"),p=function(){},q=!0,r=window.document.createElement("input");r.style.position="absolute",r.style.left="0px",r.style.top="-10000px",r.style.width="1em",r.style.height="1ex",r.style.opacity="0",r.style.backgroundColor="transparent",r.style.borderStyle="none",r.style.outlineStyle="none",r.autocapitalize="off",r.autocomplete="off",r.autocorrect="off",r.wrap="off",r.spellcheck="false",n.append(r);var s="_________________________________________________________",t=s;function u(){var a=r.value;if(a!=t||a!=s){var b=Math.min(a.length,t.length),c=0;for(c=0;c<b&&a.charAt(c)==t.charAt(c);c++);for(var d=t.length-1;d>=a.length;d--)j.sendBackspace();c<a.length&&j.send(a.substr(c)),t=a,(a.length>500||0===a.length)&&(r.blur(),setTimeout(function(){r.focus(),r.value=s,t=s;try{r.setSelectionRange(s.length,s.length)}catch(a){}},10))}}if(c.isAndroid()&&c.isFirefox()){this.send=function(a){for(var b=0;b<a.length;b++)g.sendKey(a.charCodeAt(b))},this.sendBackspace=function(){g.sendKey(65288)},r.value=s,r.focus();try{r.setSelectionRange(s.length,s.length)}catch(a){}a(r).on("change",function(){u(),j.send("\r")}),a(r).on("input",function(){u()}),a(r).on("keypress",function(a){a.stopImmediatePropagation()}),a(r).on("focus",function(){r.value=s,t=s;try{r.setSelectionRange(s.length,s.length)}catch(a){}})}function v(){a(r).is(":focus")?r.blur():r.focus()}function w(a,b){h.setEntry1(b)}function x(){h.show()}function y(){j.isConnected()&&g.get_keyboard().set_focused(!0)}function z(){j.isConnected()&&g.get_keyboard().set_focused(!1)}var A=c.genIcon("copy","sw")+" "+f("copy"),B=c.genIcon("paste","sw")+" "+f("paste");function C(a,b,c,d){switch(m=b,b){case"normal":j.setMessage(""),j.setTitle(f("connected"));break;case"disconnect":case"disconnected":j.setTitle(f("connection_closed"));break;case"failed":j.setTitle(f("connection_fail")),e.log("VNC client: "+d);break;default:j.setMessage(""),j.setTitle(f("connecting"))}}function D(a){return a<100&&(a=100),2*Math.floor(a/2)}h=new d("vpl_dialog_vnc_clipboard",A,function(){h.setEntry1(h.getEntry1()),document.execCommand("copy")},B,function(){j.isConnected()&&g.clipboardPasteFrom(h.getEntry2())},z),o.on("click",function(a){a.target==o[0]?y():z()}),this.displayResize=function(){if(j.isConnected()){var a=n.width(),b=n.height();j.setCanvasSize(a,b),g.get_display().viewportChange(0,0,a,b)}},n.dialog({closeOnEscape:!1,autoOpen:!1,modal:!0,width:"auto",height:"auto",dialogClass:"vpl_ide vpl_vnc "+a("#vplide").attr("class").match(/(^| )(vpl_theme_[^ ]*)/)[2],create:function(){i=c.setTitleBar(n,"vnc","graphic",["clipboard","keyboard"],[x,v])},focus:y,beforeClose:function(){if(q){var a=n.width(),b=n.height();q=!1,j.setCanvasSize(a,b)}},close:function(){j.disconnect()},resizeStop:function(){q=!0}}),n.css("padding","1px"),this.updateTitle=function(){var a=k;""!==l&&(a+=" ("+l+")"),i.text(f("console")+": "+a)},this.setTitle=function(a){k=a,this.updateTitle()},this.setMessage=function(a){l=a,this.updateTitle()},this.connect=function(c,d,e,f,i,k){h.setEntry1(""),p=k,j.show();var l=a("#"+b+" canvas")[0];g||(g=new RFB({target:l,encrypt:c,repeaterID:"",true_color:!0,local_cursor:!0,shared:!1,view_only:!1,onUpdateState:C,onPasswordRequired:null,onClipboard:w})).set_local_cursor(g.get_display().get_cursor_uri()),e||(e=c?443:80),g.connect(d,e,f,i)},this.isOpen=function(){return n.dialog("isOpen")},this.isConnected=function(){return g&&"disconnected"!=m},this.disconnect=function(){g&&"normal"==m&&g.disconnect(),p(),h.hide()},this.getCanvasSize=function(){return o.width()+"x"+o.height()},this.setCanvasSize=function(a,b){o.width(D(a)),o.height(D(b))},this.show=function(){n.dialog("open"),n.width("auto"),n.height("auto")},j.setCanvasSize(a(window).width()-150,a(window).height()-150)}});
\ No newline at end of file
define(["jquery","jqueryui","mod_vpl/vplutil","mod_vpl/vplclipboard","core/log"],function(a,b,c,d,e){"undefined"==typeof c.get_absolute_path()?window.INCLUDE_URI="../editor/noVNC/include/":window.INCLUDE_URI=c.get_absolute_path()+"/editor/noVNC/include/",Util.load_scripts(["webutil.js","base64.js","websock.js","des.js","keysymdef.js","keyboard.js","input.js","display.js","jsunzip.js","rfb.js","keysym.js"]);return function(b,f){var g,h,i,j=this,k="",l="",m="",n=a("#"+b),o=a("#"+b+" canvas"),p=function(){},q=!0,r=window.document.createElement("input");r.style.position="absolute",r.style.left="0px",r.style.top="-10000px",r.style.width="1em",r.style.height="1ex",r.style.opacity="0",r.style.backgroundColor="transparent",r.style.borderStyle="none",r.style.outlineStyle="none",r.autocapitalize="off",r.autocomplete="off",r.autocorrect="off",r.wrap="off",r.spellcheck="false",n.append(r);var s="_________________________________________________________",t=s;function u(){var a=r.value;if(a!=t||a!=s){var b=Math.min(a.length,t.length),c=0;for(c=0;c<b&&a.charAt(c)==t.charAt(c);c++);for(var d=t.length-1;d>=a.length;d--)j.sendBackspace();c<a.length&&j.send(a.substr(c)),t=a,(a.length>500||0===a.length)&&(r.blur(),setTimeout(function(){r.focus(),r.value=s,t=s;try{r.setSelectionRange(s.length,s.length)}catch(a){}},10))}}if(c.isAndroid()&&c.isFirefox()){this.send=function(a){for(var b=0;b<a.length;b++)g.sendKey(a.charCodeAt(b))},this.sendBackspace=function(){g.sendKey(65288)},r.value=s,r.focus();try{r.setSelectionRange(s.length,s.length)}catch(a){}a(r).on("change",function(){u(),j.send("\r")}),a(r).on("input",function(){u()}),a(r).on("keypress",function(a){a.stopImmediatePropagation()}),a(r).on("focus",function(){r.value=s,t=s;try{r.setSelectionRange(s.length,s.length)}catch(a){}})}function v(){a(r).is(":focus")?r.blur():r.focus()}function w(a,b){h.setEntry1(b)}function x(){h.show()}function y(){j.isConnected()&&g.get_keyboard().set_focused(!0)}function z(){j.isConnected()&&g.get_keyboard().set_focused(!1)}var A=c.genIcon("copy","sw")+" "+f("copy"),B=c.genIcon("paste","sw")+" "+f("paste");function C(a,b,c,d){switch(m=b,b){case"normal":j.setMessage(""),j.setTitle(f("connected"));break;case"disconnect":case"disconnected":j.setTitle(f("connection_closed"));break;case"failed":j.setTitle(f("connection_fail")),e.log("VNC client: "+d);break;default:j.setMessage(""),j.setTitle(f("connecting"))}}function D(a){return a<100&&(a=100),2*Math.floor(a/2)}h=new d("vpl_dialog_vnc_clipboard",A,function(){h.setEntry1(h.getEntry1()),document.execCommand("copy")},B,function(){j.isConnected()&&g.clipboardPasteFrom(h.getEntry2())},z),o.on("click",function(a){a.target==o[0]?y():z()}),this.displayResize=function(){if(j.isConnected()){var a=n.width(),b=n.height();j.setCanvasSize(a,b),g.get_display().viewportChange(0,0,a,b)}},n.dialog({closeOnEscape:!1,autoOpen:!1,modal:!0,width:"auto",height:"auto",dialogClass:"vpl_ide vpl_vnc "+c.getThemeClass(),create:function(){i=c.setTitleBar(n,"vnc","graphic",["clipboard","keyboard"],[x,v])},focus:y,beforeClose:function(){if(q){var a=n.width(),b=n.height();q=!1,j.setCanvasSize(a,b)}},close:function(){j.disconnect()},resizeStop:function(){q=!0}}),n.css("padding","1px"),this.updateTitle=function(){var a=k;""!==l&&(a+=" ("+l+")"),i.text(f("console")+": "+a)},this.setTitle=function(a){k=a,this.updateTitle()},this.setMessage=function(a){l=a,this.updateTitle()},this.connect=function(c,d,e,f,i,k){h.setEntry1(""),p=k,j.show();var l=a("#"+b+" canvas")[0];g||(g=new RFB({target:l,encrypt:c,repeaterID:"",true_color:!0,local_cursor:!0,shared:!1,view_only:!1,onUpdateState:C,onPasswordRequired:null,onClipboard:w})).set_local_cursor(g.get_display().get_cursor_uri()),e||(e=c?443:80),g.connect(d,e,f,i)},this.isOpen=function(){return n.dialog("isOpen")},this.isConnected=function(){return g&&"disconnected"!=m},this.disconnect=function(){g&&"normal"==m&&g.disconnect(),p(),h.hide()},this.getCanvasSize=function(){return o.width()+"x"+o.height()},this.setCanvasSize=function(a,b){o.width(D(a)),o.height(D(b))},this.show=function(){n.dialog("open"),n.width("auto"),n.height("auto")},j.setCanvasSize(a(window).width()-150,a(window).height()-150)}});
\ No newline at end of file
......@@ -45,7 +45,7 @@ define(['jquery', 'jqueryui', 'mod_vpl/vplutil'],
width : 'auto',
height : 'auto',
resizable : true,
dialogClass : 'vpl_clipboard vpl_ide ' + $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2],
dialogClass : 'vpl_clipboard vpl_ide ' + VPLUtil.getThemeClass()
});
if (onFocus) {
tdialog.on("click", onFocus);
......
......@@ -226,7 +226,7 @@ define([ 'jquery', 'jqueryui', 'mod_vpl/vplutil', 'mod_vpl/vplclipboard' ],
focus : function() {
terminal.focus();
},
dialogClass : 'vpl_ide vpl_vnc ' + $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2],
dialogClass : 'vpl_ide vpl_vnc ' + VPLUtil.getThemeClass(),
create : function() {
titleText = VPLUtil.setTitleBar(tdialog, 'console', 'console', [ 'clipboard', 'keyboard' ], [ openClipboard,
function() {
......
......@@ -427,6 +427,13 @@ define(['jquery',
return 'plain_text';
};
})();
VPLUtil.getThemeClass = function() {
if ($('#vplide').length) {
return $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2] || '';
} else {
return '';
}
};
(function() {
var i18n = {};
VPLUtil.str = function(key) {
......@@ -446,7 +453,7 @@ define(['jquery',
width :'auto',
closeText :VPLUtil.str('cancel'),
modal :true,
dialogClass :'vpl_ide vpl_ide_dialog ' + $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2]
dialogClass :'vpl_ide vpl_ide_dialog ' + VPLUtil.getThemeClass()
};
};
......@@ -609,7 +616,7 @@ define(['jquery',
height :20,
minHeight :20,
modal :true,
dialogClass :'vpl_ide vpl_ide_dialog ' + $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2],
dialogClass :'vpl_ide vpl_ide_dialog ' + VPLUtil.getThemeClass(),
close :function( event ) {
if (dialog) {
if (onUserClose && event.originalEvent ) {
......
......@@ -192,7 +192,7 @@ define([ 'jquery', 'jqueryui', 'mod_vpl/vplutil', 'mod_vpl/vplclipboard', 'core/
modal : true,
width : 'auto',
height : 'auto',
dialogClass : 'vpl_ide vpl_vnc ' + $('#vplide').attr('class').match(/(^| )(vpl_theme_[^ ]*)/)[2],
dialogClass : 'vpl_ide vpl_vnc ' + VPLUtil.getThemeClass(),
create : function() {
titleText = VPLUtil.setTitleBar(VNCDialog, 'vnc', 'graphic', [ 'clipboard', 'keyboard' ], [ openClipboard,
keyboardButton ]);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment