/**
* The TabView module
*
* @module tabview
*/
DOT = '.',
/**
* Provides a tabbed widget interface
* @param config {Object} Object literal specifying tabview configuration properties.
*
* @class TabView
* @constructor
* @extends Widget
* @uses WidgetParent
*/
_afterChildAdded: function(e) {
},
_defListNodeValueFn: function() {
},
_defPanelNodeValueFn: function() {
},
_afterChildRemoved: function(e) { // update the selected tab when removed
var i = e.index,
if (!selection) { // select previous item if selection removed
if (selection) {
}
}
},
_initAria: function() {
if (tablist) {
//'aria-labelledby':
role: 'tablist'
});
}
},
bindUI: function() {
// Use the Node Focus Manager to add keyboard support:
// Pressing the left and right arrow keys will move focus
// among each of the tabs.
circular: true
});
},
renderUI: function() {
this._renderListBox(contentBox);
this._renderPanelBox(contentBox);
this._renderTabs(contentBox);
},
_setDefSelection: function(contentBox) {
// If no tab is selected, select the first tab.
return true;
}
});
if (selection) {
// TODO: why both needed? (via widgetParent/Child)?
}
},
_renderListBox: function(contentBox) {
}
},
_renderPanelBox: function(contentBox) {
}
},
_renderTabs: function(contentBox) {
tabview = this;
if (tabs) { // add classNames and fill in Tab fields from markup when possible
});
});
}
}
}, {
ATTRS: {
value: 'Tab'
},
listNode: {
if (node) {
}
return node;
},
valueFn: '_defListNodeValueFn'
},
panelNode: {
if (node) {
}
return node;
},
valueFn: '_defPanelNodeValueFn'
},
tabIndex: {
value: null
//validator: '_validTabIndex'
}
},
HTML_PARSER: {
}
});