]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /**\r |
2 | * @class Ext.chart.Legend\r | |
3 | */\r | |
4 | Ext.define('Ext.chart.Legend', {\r | |
5 | xtype: 'legend',\r | |
6 | extend: 'Ext.chart.LegendBase',\r | |
7 | config: {\r | |
8 | baseCls: Ext.baseCSSPrefix + 'legend',\r | |
9 | // TODO: not used.\r | |
10 | padding: 5,\r | |
11 | \r | |
12 | /**\r | |
13 | * @cfg {Array}\r | |
14 | * The rect of the legend related to its container.\r | |
15 | */\r | |
16 | rect: null,\r | |
17 | \r | |
18 | // TODO: not used.\r | |
19 | disableSelection: true,\r | |
20 | \r | |
21 | /**\r | |
22 | * @cfg {Boolean} toggleable\r | |
23 | * `true` to allow series items to have their visibility\r | |
24 | * toggled by interaction with the legend items.\r | |
25 | */\r | |
26 | toggleable: true\r | |
27 | },\r | |
28 | \r | |
29 | toggleItem: function (index) {\r | |
30 | if (!this.getToggleable()) {\r | |
31 | return;\r | |
32 | }\r | |
33 | var store = this.getStore(),\r | |
34 | disabledCount = 0, disabled,\r | |
35 | canToggle = true,\r | |
36 | i, count, record;\r | |
37 | \r | |
38 | if (store) {\r | |
39 | count = store.getCount();\r | |
40 | for (i = 0; i < count; i++) {\r | |
41 | record = store.getAt(i);\r | |
42 | if (record.get('disabled')) {\r | |
43 | disabledCount++;\r | |
44 | }\r | |
45 | }\r | |
46 | canToggle = count - disabledCount > 1;\r | |
47 | \r | |
48 | record = store.getAt(index);\r | |
49 | if (record) {\r | |
50 | disabled = record.get('disabled');\r | |
51 | if (disabled || canToggle) {\r | |
52 | // This will trigger AbstractChart.onUpdateLegendStore.\r | |
53 | record.set('disabled', !disabled);\r | |
54 | }\r | |
55 | }\r | |
56 | }\r | |
57 | }\r | |
58 | \r | |
59 | });\r |