/*
* 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 the data model for skins
* @private
*/
Ext.define('Ametys.plugins.web.skin.Skin', {
extend : 'Ext.data.Model',
fields : [
{
name: "type",
defaultValue: "skin"
},
"id",
"label",
{
name: "fullLabel",
convert: function (value, node)
{
return node.data.label + " (" + node.data.id + ")";
}
},
"description",
"iconLarge",
"iconSmall",
"nbSites",
{
name: "group",
depends: ["nbSites", "extendedIntoSkins"],
calculate: function (data)
{
return data.nbSites > 0 || data.extendedIntoSkins.length > 0 ? "{{i18n PLUGINS_WEB_ADMINISTRATOR_SKINS_USED_SKINS_TITLE}}" : "{{i18n PLUGINS_WEB_ADMINISTRATOR_SKINS_UNUSED_SKINS_TITLE}}";
}
},
"extendedIntoSkins",
"sites",
{
name: "model",
defaultValue: null
},
{
name: "shortDescription",
convert: function (value, node)
{
return Ext.util.Format.ellipsis(node.data.description, 80, false);
}
}
]
});