- $('#panels > *.panel-wrap').each(function() {
- var panelWrap = $(this);
- $.log('wrap: ', panelWrap);
- var panel = new Panel(panelWrap);
- panelWrap.data('ctrl', panel); // attach controllers to wraps
- panel.load($('.panel-toolbar select', panelWrap).val());
+ // check if there is a one
+ var toolbar = $("div.toolbar", this.contentDiv);
+ // $.log('Connecting toolbar', toolbar);
+ if(toolbar.length === 0) return;
+
+ // move the extra
+ var extra_buttons = $('span.panel-toolbar-extra button', toolbar);
+ var placeholder = $('div.panel-toolbar span.panel-toolbar-extra > span', this.wrap);
+ placeholder.replaceWith(extra_buttons);
+
+ // connect group-switch buttons
+ var group_buttons = $('*.toolbar-tabs-container button', toolbar);
+
+ // $.log('Found groups:', group_buttons);
+
+ group_buttons.each(function() {
+ var group = $(this);
+ var group_name = group.attr('ui:group');
+ // $.log('Connecting group: ' + group_name);
+
+ group.click(function() {
+ // change the active group
+ var active = $("*.toolbar-tabs-container button.active", toolbar);
+ if (active != group) {
+ active.removeClass('active');
+ group.addClass('active');
+ $(".toolbar-button-groups-container p", toolbar).each(function() {
+ if ( $(this).attr('ui:group') != group_name) {
+ $(this).hide();
+ } else {
+ $(this).show();
+ }
+ });
+ self.callHook('toolbarResized');
+ }
+ });
+ });
+
+ // connect action buttons
+ var allbuttons = $.makeArray(extra_buttons);
+ $.merge(allbuttons,
+ $.makeArray($('*.toolbar-button-groups-container button', toolbar)) );