42 const TYPE_BAR_2D =
'Bar2D';
44 const TYPE_BAR_3D =
'Bar3D';
46 const TYPE_COLUMN_2D =
'Column2D';
48 const TYPE_COLUMN_3D =
'Column3D';
50 const TYPE_DONUT_2D =
'Donut2D';
52 const TYPE_DONUT_3D =
'Donut3D';
54 const TYPE_PIE_2D =
'Pie2D';
56 const TYPE_PIE_3D =
'Pie3D';
58 const TYPE_STACKED_BAR_2D =
'StackedBar2D';
60 const TYPE_STACKED_BAR_3D =
'StackedBar3D';
62 const TYPE_STACKED_COLUMN_2D =
'StackedColumn2D';
64 const TYPE_STACKED_COLUMN_3D =
'StackedColumn3D';
66 const TYPE_STACKED_AREA =
'StackedArea';
68 const TYPE_LINE =
'Line';
70 const TYPE_DONUT_PROGRESSION =
'DonutProgression';
72 const TYPE_FUNNEL =
'Funnel';
74 const TYPE_PYRAMID =
'Pyramid';
76 const TYPE_RADAR =
'Radar';
83 return array(self::TYPE_STACKED_BAR_2D,
84 self::TYPE_STACKED_BAR_3D,
85 self::TYPE_STACKED_COLUMN_2D,
86 self::TYPE_STACKED_COLUMN_3D,
87 self::TYPE_STACKED_AREA,
91 public static function isStacked($type)
93 assert(
'is_string($type)');
94 if (in_array($type, self::getChartTypesRequiringSecondInputs()))
101 public static function getTranslatedTypeLabel($type)
103 assert(
'is_string($type)');
104 $labels = self::translatedTypeLabels();
105 if (isset($labels[$type]))
107 return $labels[$type];
112 public static function translatedTypeLabels()
114 return array(ChartRules::TYPE_BAR_2D => Zurmo::t(
'Core',
'2D Horizontal Bar Graph'),
115 ChartRules::TYPE_BAR_3D => Zurmo::t(
'Core',
'3D Horizontal Bar Graph'),
116 ChartRules::TYPE_COLUMN_2D => Zurmo::t(
'Core',
'2D Vertical Bar Graph'),
117 ChartRules::TYPE_COLUMN_3D => Zurmo::t(
'Core',
'3D Vertical Bar Graph'),
118 ChartRules::TYPE_DONUT_2D => Zurmo::t(
'Core',
'Donut 2D'),
119 ChartRules::TYPE_DONUT_3D => Zurmo::t(
'Core',
'Donut 3D'),
120 ChartRules::TYPE_PIE_2D => Zurmo::t(
'Core',
'Pie 2D'),
121 ChartRules::TYPE_PIE_3D => Zurmo::t(
'Core',
'Pie 3D'),
122 ChartRules::TYPE_STACKED_BAR_2D => Zurmo::t(
'Core',
'Stacked Bar 2D'),
123 ChartRules::TYPE_STACKED_BAR_3D => Zurmo::t(
'Core',
'Stacked Bar 3D'),
124 ChartRules::TYPE_STACKED_COLUMN_2D => Zurmo::t(
'Core',
'Stacked Column 2D'),
125 ChartRules::TYPE_STACKED_COLUMN_3D => Zurmo::t(
'Core',
'Stacked Column 3D'),
126 ChartRules::TYPE_STACKED_AREA => Zurmo::t(
'Core',
'Stacked Area'),
127 ChartRules::TYPE_DONUT_PROGRESSION => Zurmo::t(
'Core',
'Donut Progression'),
128 ChartRules::TYPE_FUNNEL => Zurmo::t(
'Core',
'Funnel'),
129 ChartRules::TYPE_PYRAMID => Zurmo::t(
'Core',
'Pyramid'),
130 ChartRules::TYPE_RADAR => Zurmo::t(
'Core',
'Radar')
134 public static function availableTypes()
136 return array(ChartRules::TYPE_BAR_2D,
137 ChartRules::TYPE_BAR_3D,
138 ChartRules::TYPE_COLUMN_2D,
139 ChartRules::TYPE_COLUMN_3D,
140 ChartRules::TYPE_DONUT_2D,
141 ChartRules::TYPE_DONUT_3D,
142 ChartRules::TYPE_PIE_2D,
143 ChartRules::TYPE_PIE_3D,
144 ChartRules::TYPE_STACKED_BAR_2D,
145 ChartRules::TYPE_STACKED_BAR_3D,
146 ChartRules::TYPE_STACKED_COLUMN_2D,
147 ChartRules::TYPE_STACKED_COLUMN_3D,
148 ChartRules::TYPE_STACKED_AREA,
149 ChartRules::TYPE_FUNNEL,
150 ChartRules::TYPE_PYRAMID,
154 public static function getSingleSeriesDataAndLabels()
156 $translatedLabels = static::translatedTypeLabels();
158 ChartRules::TYPE_COLUMN_2D => $translatedLabels[ChartRules::TYPE_COLUMN_2D],
159 ChartRules::TYPE_COLUMN_3D => $translatedLabels[ChartRules::TYPE_COLUMN_3D],
160 ChartRules::TYPE_BAR_2D => $translatedLabels[ChartRules::TYPE_BAR_2D],
161 ChartRules::TYPE_BAR_3D => $translatedLabels[ChartRules::TYPE_BAR_3D],
162 ChartRules::TYPE_DONUT_2D => $translatedLabels[ChartRules::TYPE_DONUT_2D],
163 ChartRules::TYPE_DONUT_3D => $translatedLabels[ChartRules::TYPE_DONUT_3D],
164 ChartRules::TYPE_PIE_2D => $translatedLabels[ChartRules::TYPE_PIE_2D],
165 ChartRules::TYPE_PIE_3D => $translatedLabels[ChartRules::TYPE_PIE_3D],
166 ChartRules::TYPE_FUNNEL => $translatedLabels[ChartRules::TYPE_FUNNEL],
167 ChartRules::TYPE_PYRAMID => $translatedLabels[ChartRules::TYPE_PYRAMID],
static getChartTypesRequiringSecondInputs()