Ссылки на разные вкладки в Tab Panel
Имеется ExtJS Tab Panel Панель с вкладками. Нужно сделать ссылки с разных мест на разные вкладки в этой панели.
Не очень понимаю как это делается. Вроде нужно передавать параметр. Но как это делается и что там откуда берется тоже плохо понимаю. Буду рада всем комментариям. Изучаю ExtJs около месяца. |
Цитата:
вот официальная документация http://docs.sencha.com/extjs/4.2.1/#.../tabs-adv.html |
Ext.define('Application.components.RequestTabPanel', { extend: 'Ext.TabPanel', initComponent: function() { var component = this; var RequestPanel = { xtype: 'Application.components.RequestGrid', parent: component, title: 'Запросы на разъяснение', optype: 'request', closable: false }; var ResponsePanel = { xtype: 'Application.components.RequestGrid', parent: component, title: 'Ответы на запросы', optype: 'response', closable: false }; var RejectPanel = { xtype: 'Application.components.RequestGrid', parent: component, title: 'Отклоненные запросы', optype: 'rejected', closable: false }; Ext.apply(RequestPanel, component.requestGridParams); Ext.apply(ResponsePanel, component.requestGridParams); Ext.apply(RejectPanel, component.requestGridParams); Ext.apply(this, { activeTab: 0, enableTabScroll:false, border: false, items: [ RequestPanel, ResponsePanel, RejectPanel ] }); Application.components.RequestTabPanel.superclass.initComponent.call(this); } }); вкладки сделаны по шаблону одному и тому же Application.components.RequestGrid, его надо приводить или нет? а то сильно длинный. Вот как открыть ссылкой вкладку №2. У них у все url одинаковый. Проект сделан на Zend Framwork 1.12.3 и ExtJs точно не знаю какой но больше 4 ) |
хочу сразу огорчить, что такого быть не может:
var ResponsePanel = { xtype: 'Application.components.RequestGrid', parent: component, title: 'Ответы на запросы', optype: 'response', closable: false }; var RejectPanel = { xtype: 'Application.components.RequestGrid', parent: component, title: 'Отклоненные запросы', optype: 'rejected', closable: false }; вы 3 раза инициализируйте одну переменную. сделайте функцию и вызывайте ее сколько вам надо: function getItemTab() { return { xtype: 'Application.components.RequestGrid', parent: component, title: 'Отклоненные запросы', optype: 'rejected', closable: false }; } var RejectPanel1 = getItemTab(); var RejectPanel2 = getItemTab(); var RejectPanel3 = getItemTab(); |
Цитата:
|
оно???:
<!DOCTYPE html> <html> <head> </head> <body> <script type="text/javascript" src="js/ext-4.2.1.883/ext-all.js"></script> <link rel="stylesheet" type="text/css" href="ext-4.2.1.883/resources/css/ext-all.css"> <script type="text/javascript"> Ext.onReady(function() { var tabs = Ext.widget('tabpanel', { renderTo: Ext.getBody(), resizeTabs: true, enableTabScroll: true, width: 300, height: 250, items: [ { title: 'Tab 1', iconCls: 'tabs', items: [ { xtype: 'button', text: 'click me', handler: function() { tabs.setActiveTab(1); } }] }, { title: 'Tab 2', iconCls: 'tabs', html: 'Tab Body2222<br/><br/>' }, { title: 'Tab 3', iconCls: 'tabs', html: 'Tab Body3333<br/><br/>' }] }); }); </script> </body> </html> |
Тут на вкладке 1 кнопка при нажатии которой становится активной вкладка 2? я правильно понимаю?
У меня другая задача, у меня есть форма и при нажатии например, "количество ответов" должна открываться вкладка № 2 на панели. Вроде можно передать параметр по ссылке, например ".../tab/2". Но что дальше делать? |
так?
<!DOCTYPE html> <html> <head> </head> <body> <script type="text/javascript" src="js/ext-4.2.1.883/ext-all.js"></script> <link rel="stylesheet" type="text/css" href="ext-4.2.1.883/resources/css/ext-all.css"> <script type="text/javascript"> var openTab; Ext.onReady(function() { openTab = function (number) { tabs.setActiveTab(number); } var tabs = Ext.widget('tabpanel', { renderTo: Ext.getBody(), resizeTabs: true, enableTabScroll: true, width: 300, height: 250, items: [ { title: 'Tab 1', iconCls: 'tabs', html: '<a href="#" onclick="openTab(1);">открыть вторую вкладку, епта!!</a><br/><br/>' }, { title: 'Tab 2', iconCls: 'tabs', html: 'Tab Body2222<br/><br/>' }, { title: 'Tab 3', iconCls: 'tabs', html: 'Tab Body3333<br/><br/>' }] }); }); </script> </body> </html> |
я наверное не понятно объяснила задачу.
у меня есть форма http://gyazo.com/a67a5159032da950087bd84d7c907c28 скриншот части формы. При нажатии на "Получено ответов от поставщика" должна открываться панель http://gyazo.com/3c732aba27ceec42cee675fa57745e36 вторая вкладка "Ответы на запросы" А url у всех трех вкладок одинаковый #com/procedure/requestappliclist |
ии?? суть та осталась.
есть форма. там есть "Получено ответов от поставщика", оборачивайте в тэг <a> навешивайте событие клик. при клике показывается ваша панель: name_tabpanel.show(); и открывается нужная вкладка как я уже показывал: name_tabpanel.setActiveTab(number); |
Часовой пояс GMT +3, время: 20:21. |