removeItemByIndex(value: Number, withDispose: Boolean);
value. Index of the tab to be deleted.
withDispose. Indicates whether a tab is deleted.
The removeItemByIndex method deletes a tab by its index.
Available values of the withDispose parameter:
true. A tab is deleted.
false. A tab is removed but not deleted.
To execute the example, the HTML page must contain links to PP.js script file and to PP.css styles file, in the <body> tag of the HTML page of two <div> items with the tabControl1 and tabControl2 identifiers. In the onload event of the <body> tag it is necessary to specify the call of the createTabControl() function. Add two controls on the page and implement handlers of following events for one of them:
var tabControl1, tabControl2;
// Create a control
function createTabControl() {
tabControl1 = new PP.Ui.TabControl({
// Set parent component
ParentNode: document.getElementById("tabControl1"),
// Set path to icons folder
ImagePath: "../build/img/",
// Set size
Width: 500,
Height: 40,
// Set tab template on adding a panel
AddTabButtonTemplate: PP.Templates.TabItem,
// Set whether it is possible to insert tabs from other controls
EnableDropFromOutside: true,
// Set whether a tab can be dragged from a control
EnableDragOutside: true,
// Set automatic contents alignment
ContentAutoFit: true,
// Set left padding
PaddingLeft: 5,
// Set tab panel height
HeaderHeight: 23,
// Set handler for event of dragging a tab to a control
TabDragIn: function (sender, args) {
console.log("The tab is dragged from a control with the identifier: " + args.TabControl.getId())
},
// Set a handler for event of dragging a tab from a control
TabDragOut: function (sender, args) {
console.log("The tab is dragged from a control")
},
});
// Create a menu
var menu = new PP.Ui.Menu({
Items: [new PP.Ui.MenuItem({ Content: "Submenu" })]
});
tabControl2 = new PP.Ui.TabControl({
// Set parent element
ParentNode: document.getElementById("tabControl2"),
// Set path to icons folder
ImagePath: "../build/img/",
// Set size
Width: 500,
Height: 40,
// Set array of tabs
Items: [{
Caption: "Tab 1",
Position: PP.LTRB.Top,
// Set menu for the tab 1
Menu: menu
},
{
Caption: "Tab 2",
Position: PP.LTRB.Top
},
{
Caption: "Tab 3",
Position: PP.LTRB.Top
},
{
Caption: "Tab 4",
Position: PP.LTRB.Top
},
],
// Set handler of tab drag to control event
TabDragIn: function (sender, args) {
console.log("Tab is dragged from control with the identifier: " + args.TabControl.getId());
},
// Set handler of tab drag from control
TabDragOut: function (sender, args) {
console.log("Tab is dragged from control");
},
// Set handler of mouse button click on tab event
SelectableSelected: function (sender, args) {
console.log("Tab with the contents is clicked: " + args.Control.getCaption());
},
// Set handler of tab menu open event
TabMenuShowing: function (sender, args) {
console.log("Menu is opened for the tab with the contents: " + args.TabItem.getContent());
}
});
}
Add tabs to the first control:
// Add items
tabControl1.beginUpdate();
for (var i = 1; i < 11; i++) {
tabControl1.insertItem({ Caption: "Tab " + i }, i);
}
tabControl1.endUpdate();
Call the menu of the first tab of the second control:

As a result, the console displays the message about menu calling:
The menu with the contents is called: Tab 1
Click the mouse button on the second tab of the second control. As a result, the console displays the result of clicking:
The tab with the contents is clicked: Tab 2
Scroll the tab panel to the ninth tab:
// Scroll tab panel to the ninth tab tabControl1.scrollToItem(tabControl1.getItems()[8]);
As a result, tab panel of the first control is scrolled to the ninth tab:

Select the ninth tab:
// Select the ninth tab tabControl1.setSelectedIndex(8);
As a result, the ninth tab is selected:

Remove the eighth tab:
// Remove the eighth tab: tabControl1.removeItemByIndex(7);
As a result the eighth tab is removed from the tab panel:

Take the second tab out of the second control and take it in before the ninth tab of the first control. As a result, the second tab is before the ninth tab of the first control:

The console displays information about events occurred on dragging of tabs:
Tab is dragged from the control
Tab is dragged from the control with the identifier: "TabControl783"
Set style of tabs which is the same as for the toolbar and get contents of the first tab button:
// Set style of tabs as for the tool bar
tabControl1.setUseToolBarSwitch(true);
// Get contents of the first tab button
console.log("Contents of the first tab button: " + tabControl1.getToolBarButtonByTabItem(tabControl.getItems()[0]));
As a result, tab panel will look as the toolbar:

The console displays the contents of the first tab button:
First tab button contents: Tab 1
Add a new button to the control and get its contents:
// Insert a new button in the control
tabControl1.insertButton(new PP.Ui.Button({ Content: "Button" }), "Top");
// Get contents of added button
console.log("Contents of added button: " + tabControl1.getButtons().Top[0].getContent());
As a result, the button is added to the control:

The console displays contents of added button:
Contents of added button: Button
Get the number of the top panel visible tabs:
// Get the number of the top panel visible tabs
console.log("Number of top panel visible tabs: " + tabControl1.getVisibleItems().length);
As a result, the console displays the number of top panel tabs:
Number of the top panel visible tabs: 10
See also: