/*
* Copyright 2013 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 controls a ribbon controller that is able to test if test target
* (which should be a target) is modifiable.
* @private
*/
Ext.define('Ametys.plugins.cms.content.controller.ModifiableContentController', {
extend: 'Ametys.ribbon.element.ui.button.OpenToolButtonController',
/**
* @cfg {Boolean} [enabled-on-modifiable-only=true] If true the controller will be disabled the selection is not modifiable
*/
/**
* @cfg {String} no-modifiable-description The description text used for tooltip when the selection is not modifiable
*/
additionalErrorDescriptionOnSelectionChanged: function(targets)
{
var enabledOnModifiableOnly = String(this.getInitialConfig("enabled-on-modifiable-only") || 'false') == 'true';
var target = targets[0];
if (enabledOnModifiableOnly && !target.getParameters().isModifiable)
{
return this.getInitialConfig('no-modifiable-description') || '';
}
return null;
}
});