]> git.proxmox.com Git - extjs.git/blame - extjs/packages/core/src/util/sizemonitor/Scroll.js
add extjs 6.0.1 sources
[extjs.git] / extjs / packages / core / src / util / sizemonitor / Scroll.js
CommitLineData
6527f429
DM
1/**\r
2 * @private\r
3 */\r
4Ext.define('Ext.util.sizemonitor.Scroll', {\r
5\r
6 extend: 'Ext.util.sizemonitor.Abstract',\r
7\r
8 getElementConfig: function() {\r
9 return {\r
10 reference: 'detectorsContainer',\r
11 classList: [Ext.baseCSSPrefix + 'size-monitors', 'scroll'],\r
12 children: [\r
13 {\r
14 reference: 'expandMonitor',\r
15 className: 'expand'\r
16 },\r
17 {\r
18 reference: 'shrinkMonitor',\r
19 className: 'shrink'\r
20 }\r
21 ]\r
22 };\r
23 },\r
24\r
25 constructor: function(config) {\r
26 this.onScroll = Ext.Function.bind(this.onScroll, this);\r
27\r
28 this.callParent(arguments);\r
29 },\r
30\r
31 bindListeners: function(bind) {\r
32 var method = bind ? 'addEventListener' : 'removeEventListener';\r
33\r
34 this.expandMonitor[method]('scroll', this.onScroll, true);\r
35 this.shrinkMonitor[method]('scroll', this.onScroll, true);\r
36 },\r
37\r
38 forceRefresh: function() {\r
39 Ext.TaskQueue.requestRead('refresh', this, [true]);\r
40 },\r
41\r
42 onScroll: function() {\r
43 Ext.TaskQueue.requestRead('refresh', this);\r
44 },\r
45\r
46 refreshMonitors: function() {\r
47 var expandMonitor = this.expandMonitor,\r
48 shrinkMonitor = this.shrinkMonitor,\r
49 end = 1000000;\r
50\r
51 if (expandMonitor && !expandMonitor.destroyed) {\r
52 expandMonitor.scrollLeft = end;\r
53 expandMonitor.scrollTop = end;\r
54 }\r
55\r
56 if (shrinkMonitor && !shrinkMonitor.destroyed) {\r
57 shrinkMonitor.scrollLeft = end;\r
58 shrinkMonitor.scrollTop = end;\r
59 }\r
60 }\r
61});\r