2 * Copyright 2010-2013 Ben Birch
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this software except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 var ui = app.ns("ui");
20 ui.SplitButton = ui.AbstractWidget.extend({
25 _baseCls: "uiSplitButton",
26 init: function( parent ) {
27 this._super( parent );
29 this.button = new ui.Button({
30 label: this.config.label,
31 onclick: this._click_handler
33 this.menu = new ui.SelectMenuPanel({
34 value: this.config.value,
35 items: this._getItems(),
36 onSelect: this._select_handler
38 this.menuButton = new ui.MenuButton({
42 this.el = $.joey(this._main_template());
48 this.button.disable();
53 _click_handler: function() {
54 this.fire("click", this, { value: this.value } );
56 _select_handler: function( panel, event ) {
57 this.fire( "select", this, event );
59 _getItems: function() {
60 return this.config.items;
62 _main_template: function() {
63 return { tag: "DIV", cls: this._baseCls, children: [
64 this.button, this.menuButton
69 })( this.jQuery, this.app );