Hi,
I have a multi-level hierarchical tabset where each tab is a VLayout with a first member which shows some content (form) and a second member which is again a tabset (which again has tabs with a form and a tabset, etc.).
When resizing the browser to a smaller size I would like to always shrink the top section in the tab (or let it get a scrollbar), before the tabset below, so that when resizing the browser to a small size the user always sees all visible tab headers (of all levels).
I tried different settings (height as percentage, *, fixed, overflow) but I can't get it working. Below is the code which creates a hierarchical structure, when resizing the browser to a smaller size it is (hopefully) visible what I mean.
Do you have any ideas/tips in which direction I should be looking?
I have a multi-level hierarchical tabset where each tab is a VLayout with a first member which shows some content (form) and a second member which is again a tabset (which again has tabs with a form and a tabset, etc.).
When resizing the browser to a smaller size I would like to always shrink the top section in the tab (or let it get a scrollbar), before the tabset below, so that when resizing the browser to a small size the user always sees all visible tab headers (of all levels).
I tried different settings (height as percentage, *, fixed, overflow) but I can't get it working. Below is the code which creates a hierarchical structure, when resizing the browser to a smaller size it is (hopefully) visible what I mean.
Do you have any ideas/tips in which direction I should be looking?
Code:
var MAX_LEVELS = 4;
createTab = function(name, index, level) {
var tab = {};
var newName = name + '.' + level;
tab.title = newName;
// create the toplayout with some labels
var vLayout = isc.VLayout.create({minHeight: 0, overflow: 'auto', showResizeBar: false});
for (var i = 0; i < 5 ; i++) {
vLayout.addMember(isc.Label.create({contents: newName, height: 10}));
}
// and the pane itself
tab.pane = isc.VLayout.create({height: '50%', width: '100%'});
tab.pane.addMember(vLayout);
if (level < MAX_LEVELS) {
var tabSet = isc.TabSet.create({
tabBarPosition: "top",
width: "100%",
height: "50%",
useSimpleTabs: true});
for (var j = 0; j < 3; j++) {
tabSet.addTab(createTab(newName + '.' + j, j, level + 1));
}
tab.pane.addMember(tabSet);
}
return tab;
}
var tabSet = isc.TabSet.create({
tabBarPosition: "top",
width: "100%",
height: "100%",
useSimpleTabs: true});
for (var j = 0; j < 3; j++) {
tabSet.addTab(createTab('tab', j, 1));
}
tabSet.draw();
Comment