a5c18ff235f79463bf14c6eb8b45a52a4262bfa2
[ccsdk/features.git] /
1 /**
2  * Copyright 2010-2013 Ben Birch
3  *
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
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 (function( $, app ) {
17
18         var ui = app.ns("ui");
19
20         ui.MenuButton = app.ui.Button.extend({
21                 defaults: {
22                         menu: null
23                 },
24                 _baseCls: "uiButton uiMenuButton",
25                 init: function(parent) {
26                         this._super(parent);
27                         this.menu = this.config.menu;
28                         this.on("click", this.openMenu_handler);
29                         this.menu.on("open", function() { this.el.addClass("active"); }.bind(this));
30                         this.menu.on("close", function() { this.el.removeClass("active"); }.bind(this));
31                 },
32                 openMenu_handler: function(jEv) {
33                         this.menu && this.menu.open(jEv);
34                 }
35         });
36
37 })( this.jQuery, this.app );