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

/**
 * @private
 * The model for the {@link Ametys.plugins.web.administration.CacheStatisticsServersTool} tool. 
 */
Ext.define('Ametys.plugins.web.administration.CacheStatisticsServersTool.CacheStatisticsServersEntry', { 
    extend: 'Ext.data.TreeModel', 
    fields: [ 
        { name: 'id', type: 'string', mapping: 'id'}, 
        { name: 'type', type: 'string', mapping: 'type'}, 
        { name: 'computedLabel', type: 'string', mapping: 'computedLabel'}, 
        { name: 'label', type: 'string', calculate: function(data) {
	    		if (data.type == 'pages')
				{
	    			return "{{i18n PLUGINS_WEB_ADMINISTRATOR_CACHE_SERVERS_STATISTICS_TREE_PAGENODE}}";
				}
	    		else if (data.type == 'site')
				{
	    			return "{{i18n PLUGINS_WEB_ADMINISTRATOR_CACHE_SERVERS_STATISTICS_TREE_SITENODE}}";
				}
	    		else if (data.type == 'orphans')
				{
	    			return "{{i18n PLUGINS_WEB_ADMINISTRATOR_CACHE_SERVERS_STATISTICS_TREE_ORPHEAN}}";
				}
	    		else
				{
	    			return data.computedLabel || '';
				} 
	        }
        },
        { name: 'computedQtip', type: 'string', mapping: 'computedQtip'},
        { name: 'tooltipText', type: 'string', calculate: function(data){
        		if (data.type == 'pages')
    			{
        			return "{{i18n PLUGINS_WEB_ADMINISTRATOR_CACHE_SERVERS_STATISTICS_TREE_PAGENODE_DESC}}";
    			}
	    		else if (data.type == 'orphans')
				{
	    			return "{{i18n PLUGINS_WEB_ADMINISTRATOR_CACHE_SERVERS_STATISTICS_TREE_ORPHEAN_DESC}}";
				}
	    		else
    			{
	    			return data.computedQtip || '';
    			}
        	}
        }, 
        { name: 'icon', type: 'string', mapping: 'icon'},
        { name: 'pageHits', type: 'string', mapping: 'pageHits'},
        { name: 'cacheable', type: 'string', mapping: 'cacheable'},
        { name: 'hits', type: 'string', mapping: 'hits'},
        { name: 'hitsA', type: 'string', mapping: 'hitsA'},
        { name: 'hitsF', type: 'string', mapping: 'hitsF'},
        { name: 'hitsB', type: 'string', mapping: 'hitsB'},
        { name: 'eff', type: 'string', mapping: 'eff'},
        { name: 'effA', type: 'string', mapping: 'effA'},
        { name: 'effF', type: 'string', mapping: 'effF'},
        { name: 'cacheHits', type: 'string', mapping: 'cacheHits'},
        { name: 'cacheHitsA', type: 'string', mapping: 'cacheHitsA'},
        { name: 'cacheHitsF', type: 'string', mapping: 'cacheHitsF'}
    ]
});