/*
 *  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.
 */

/**
 * Back cache statistics related actions
 */
Ext.define('Ametys.plugins.web.administration.CacheStatisticsBackActions', {
	singleton: true,
	
	/**
	 * Change the context and send a modified message
	 * @param {Ametys.ribbon.element.ui.ButtonController} controller the controller calling this function
	 */
	changeContext: function(controller)
	{
		var context = controller.getInitialConfig('context');
		if (!controller.isPressed())
		{
			Ametys.plugins.web.administration.CacheStatisticsBackContext.activateContexts([context]);
		}
		else
		{
			Ametys.plugins.web.administration.CacheStatisticsBackContext.deactivateContext(context);
		}
        controller.toggle();
		
		// inform the tool that the context has been modified
		var target = Ext.create ('Ametys.message.MessageTarget', {
			id: Ametys.message.MessageTarget.CACHE_CONTEXT,
			parameters: {
			}
		});
		
		Ext.create('Ametys.message.Message', {
			type: Ametys.message.Message.MODIFIED,
			targets: [target]
		});
	}
});