JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://dev.sencha.com/deploy/dev/resources/css/ext-all.css">
<script src="http://dev.sencha.com/deploy/dev/adapter/ext/ext-base.js"></script>
<script src="http://dev.sencha.com/deploy/dev/ext-all.js"></script>
JavaScript
Ext.BLANK_IMAGE_URL = 'http://dev.sencha.com/deploy/dev/resources/images/default/s.gif';
Ext.example = function(){
var msgCt;
function createBox(t, s){
return ['<div class="msg">',
'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
'<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>', t, '</h3>', s, '</div></div></div>',
'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
'</div>'].join('');
}
return {
msg : function(title, format){
if(!msgCt){
msgCt = Ext.DomHelper.insertFirst(document.body, {id:'msg-div'}, true);
}
msgCt.alignTo(document, 't-t');
var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1));
var m = Ext.DomHelper.append(msgCt, {html:createBox(title, s)}, true);
m.slideIn('t').pause(1).ghost("t", {remove:true});
}
};
}();
var handleAction = function(action){
Ext.example.msg('<b>Action</b>', 'You clicked "'+action+'"');
};
var p = new Ext.Window({
title: 'Standard',
closable: false,
height:250,
width: 200,
bodyStyle: 'padding:10px',
autoScroll: true,
tbar: new Ext.Toolbar({
enableOverflow: true,
items: [{
text: 'Enable format',
handler: function () {
this.ownerCt.getComponent('btnFormat').enable();
}
},'-',{
xtype:'splitbutton',
text: 'Cut',
handler: handleAction.createCallback('Cut'),
menu: [{text: 'Cut menu', handler: handleAction.createCallback('Cut menu')}]
},{
text: 'Copy',
handler: handleAction.createCallback('Copy')
},{
...