Block
The Block control is used for grouping related controls.

Creating a Block
This is the basic syntax of a block with two buttons in a row:
{
    type: "block",
    title: "Action",        
    items: [
        { id: "copy", icon: "mdi mdi-content-copy", value: "Copy" },
        { id: "cut", icon: "mdi mdi-content-cut", value: "Cut" }
    ]
}
Properties
You can provide the following properties in the configuration object of a Block control.
Adding a Block
A block can be added to a ribbon with the help of the add() method of TreeCollection:
ribbon.data.add({
    title:"File",
    type:"block",
    id:"files",
    direction:"row"
});
Controls for this block can be added afterwards with the same method:
ribbon.data.add({
    type:"button",
    icon:"dxi dxi-plus",
    value:"New"
},-1,"files");
ribbon.data.add({
    type:"iconButton",
    icon:"dxi dxi-file"
},-1,"files");
add() in this case receives three parameters:
| item | the configuration of the added item | 
| index | defines the position of the item in the block (-1 will place it after the last control) | 
| blockId | the ID of the block | 
Adding HTML content
You can add any custom HTML content to an item of the block with the help of the html property:
{
    type: "block",
    title: "Progress",
    items: [
        {
            html: "<div id='preloader'><div id='loader'></div></div >",
            size: "auto"
        }
    ]
};
Related sample: Ribbon. Item HTML content
Nesting blocks
You can add blocks inside blocks to create complex blocks with several rows and columns, e.g.:
{
    title:"File",
    type:"block",
    direction:"col", 
    items:[
        {
            type:"block", direction:"row",
            items:[
                { type:"button", icon:"dxi dxi-plus", value:"New" },
                { type:"button", icon:"dxi dxi-file", value:"File" }
            ]
        },
        {
            type:"block", direction:"row",
            items:[
                {
                    type:"imageButton", count:10,
                    src:"../img/avatar4.png"
                },
                {
                    type:"imageButton", value:"Torch",
                    src:"../img/avatar3.png"
                }
            ]
        }
    ]
}
Hiding/showing blocks
To hide/show a block, you should pass its ID to the hide() / show() methods:
ribbon.show(id);
ribbon.hide(id);
Disabling/enabling blocks
A block can be enabled/disabled:
ribbon.enable(id);
ribbon.disable(id);