removeItemByIndex(value: Number, withDispose: Boolean);
value. Индекс вкладки, которую необходимо удалить;
withDispose. Признак полного уничтожения вкладки.
Метод removeItemByIndex удаляет вкладку по индексу.
Допустимые значения параметра withDispose:
true. Вкладка полностью уничтожается;
false. Удаление вкладки происходит без её уничтожения.
Для выполнения примера необходимо наличие на html-странице ссылок на файлы сценария PP.js и файл стилей PP.css, в теге <body> html-страницы двух элементов <div> с идентификаторами tabControl1 и tabControl2. В событии onload тега <body> необходимо указать вызов функции createTabControl(). Добавим на страницу два элемента управления и реализуем обработчики следующих событий у одного из них:
var tabControl1, tabControl2; // Создаем элемент управления function createTabControl() { tabControl1 = new PP.Ui.TabControl({ // Устанавливаем родительский компонент ParentNode: document.getElementById("tabControl1"), // Устанавливаем путь к папке с картинками ImagePath: "../build/img/", // Устанавливаем размеры Width: 500, Height: 40, // Устанавливаем шаблон вкладок при добавлении в панель AddTabButtonTemplate: PP.Templates.TabItem, // Устанавливаем возможность вставки вкладок из других элементов управления EnableDropFromOutside: true,
// Устанавливаем возможность выноса вкладки из элемента управления EnableDragOutside: true, // Устанавливаем автоматическое выравнивание содержимого ContentAutoFit: true, // Устанавливаем отступ слева PaddingLeft: 5, // Устанавливаем высоту панели вкладок HeaderHeight: 23, // Устанавливаем обработчик события вноса вкладки в элемент управления TabDragIn: function (sender, args) { console.log("Внесена вкладка из элемента управления с идентификатором: " + args.TabControl.getId()) }, // Устанавливаем обработчик события выноса вкладки из элемента управления TabDragOut: function (sender, args) { console.log("Вынесена вкладка за пределы элемента управления") }, }); // Создаем меню var menu = new PP.Ui.Menu({
Items: [new PP.Ui.MenuItem({ Content: "Подменю" })] }); tabControl2 = new PP.Ui.TabControl({ // Устанавливаемп родительский компонент ParentNode: document.getElementById("tabControl2"), // Устанавливаем путь к папке с картинками ImagePath: "../build/img/", // Устанавливаем размеры Width: 500, Height: 40, // Устанавливаем массив вкладок Items: [{ Caption: "Вкладка 1", Position: PP.LTRB.Top,
// Устанавливаем меню 1 вкладке Menu: menu }, { Caption: "Вкладка 2", Position: PP.LTRB.Top }, { Caption: "Вкладка 3", Position: PP.LTRB.Top }, { Caption: "Вкладка 4", Position: PP.LTRB.Top },
], // Устанавливаем обработчик события вноса вкладки в элемент управления TabDragIn: function (sender, args) { console.log("Внесена вкладка из элемента управления с идентификатором: " + args.TabControl.getId()); }, // Устанавливаем обработчик события выноса вкладки из элемента управления TabDragOut: function (sender, args) { console.log("Вынесена вкладка за пределы элемента управления"); }, // Устанавливаем обработчик события нажатия кнопки мыши на вкладке SelectableSelected: function (sender, args) { console.log("Произошло нажатие на вкладке с содержимым: " + args.Control.getCaption()); }, // Устанавливаем обработчик события вызова меню у вкладки TabMenuShowing: function (sender, args) { console.log("Вызвано меню у вкладки с содержимым: " + args.TabItem.getContent()); } }); }
Добавляем вкладки в первый элемент управления:
// Добавляем элементы tabControl1.beginUpdate(); for (var i = 1; i < 11; i++) { tabControl1.insertItem({ Caption: "Вкладка " + i }, i); } tabControl1.endUpdate();
Вызываем меню у первой вкладки второго элемента управления:
В результате в консоль будет выведено сообщение о вызове меню:
Вызвано меню у вкладки с содержимым: Вкладка 1
Нажимаем кнопкой мыши на вторую вкладку второго элемента управления. В результате в консоль будет выведен результат нажатия:
Произошло нажатие на вкладке с содержимым: Вкладка 2
Прокручиваем панель вкладок до девятой вкладки:
// Прокручиваем панель вкладок до девятой вкладки tabControl1.scrollToItem(tabControl1.getItems()[8]);
В результате панель вкладок первого элемента управления будет прокручена до девятой вкладки:
Устанавливаем выделение на девятую вкладку:
// Устанавливаем выделение на девятую вкладку tabControl1.setSelectedIndex(8);
В результате будет выделена девятая вкладка:
Удаляем восьмую вкладку:
// Удаляем восьмую вкладку: tabControl1.removeItemByIndex(7);
В результате из панели вкладок будет удалена восьмая вкладка:
Перенесем из второго элемента управления вторую вкладку и вставим ее перед девятой вкладкой первого элемента управления. В результате вторая вкладка будет перед девятой вкладкой первого элемента управления:
В консоль будет выведена информация о событиях, возникающих при переносе вкладок:
Вынесена вкладка за пределы элемента управления
Внесена вкладка из элемента управления с идентификатором: "TabControl783"
Устанавливаем стиль вкладок, как у панели инструментов, и получаем содержимое кнопки первой вкладки:
// Устанавливаем стиль вкладок, как у панели инструментов tabControl1.setUseToolBarSwitch(true); // Получаем содержимое кнопки первой вкладки console.log("Содержимое кнопки первой вкладки: " + tabControl1.getToolBarButtonByTabItem(tabControl.getItems()[0]));
В результате панель вкладок будет иметь вид панели инструментов:
В консоль будет выведено содержимое кнопки первой вкладки:
Содержимое кнопки первой вкладки: Вкладка 1
Вставляем новую кнопку в элемент управления и получаем ее содержимое:
// Вставляем новую кнопку в элемент управления tabControl1.insertButton(new PP.Ui.Button({ Content: "Кнопка" }), "Top"); // Получаем содержимое добавленной кнопки console.log("Содержимое добавленной кнопки: " + tabControl1.getButtons().Top[0].getContent());
В результате в элемент управления будет добавлена кнопка:
В консоль будет выведено содержимое добавленной кнопки:
Содержимое добавленной кнопки: Кнопка
Получаем количество видимых вкладок верхней панели:
// Получаем количество видимых вкладок верхней панели console.log("Количество видимых вкладок верхней панели: " + tabControl1.getVisibleItems().length);
В результате в консоль будет выведено количество вкладок верхней панели:
Количество видимых вкладок верхней панели: 10
См. также: