]>
git.proxmox.com Git - extjs.git/blob - extjs/packages/core/src/event/publisher/ElementPaint.js
4 Ext
.define('Ext.event.publisher.ElementPaint', {
6 extend
: 'Ext.event.publisher.Publisher',
9 'Ext.util.PaintMonitor',
15 handledEvents
: ['painted'],
17 constructor: function() {
19 this.subscribers
= {};
21 this.callParent(arguments
);
24 subscribe: function(element
) {
27 subscribers
= me
.subscribers
;
29 if (subscribers
[id
]) {
34 me
.monitors
[id
] = new Ext
.util
.PaintMonitor({
36 callback
: me
.onElementPainted
,
43 unsubscribe: function(element
) {
45 subscribers
= this.subscribers
,
46 monitors
= this.monitors
;
48 if (subscribers
[id
] && !--subscribers
[id
]) {
49 delete subscribers
[id
];
50 monitors
[id
].destroy();
55 onElementPainted: function(element
) {
56 Ext
.TaskQueue
.requestRead('fire', this, [element
, 'painted', [element
]]);
58 }, function(ElementPaint
) {
59 ElementPaint
.instance
= new ElementPaint();