/*
 *  Copyright 2015 Anyware Services
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

/**
 * This class is a menu item to hold a gallery
 */
Ext.define(
	"Ametys.ui.fluent.ribbon.controls.gallery.MenuPanel",
	{
		extend: "Ext.panel.Panel",
		alias: 'widget.ametys.ribbon-menupanel',
		
        layout: {
            type: 'auto'
        },
        
		/**
		 * @property {Boolean} isMenuItem Property of all Ext.menu.Item
		 */
		isMenuItem: true,
        
        focusable: true,

        constructor: function (config)
        {
            config = config || {};
            config.defaults = config.defaults || {};
            config.defaults.ui = 'ribbon-menu';

            this.callParent(arguments);
        },
        
        /**
         * On click listener
         * @private
         */
        onClick: function() 
        {
            for (var menu = this.getRefOwner(); menu && ((menu.isMenu && menu.floating) || menu.isMenuItem); menu = menu.getRefOwner()) {
                if (menu.isMenu) {
                    menu.hide();
                }
            }          
        }
	}		
);