UNPKG

monaca-lib

Version:

Monaca cloud API bindings for JavaScript

74 lines (65 loc) 1.77 kB
// Copyright (c) 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /** * @constructor * @extends {WebInspector.SidebarPane} * @param {string} title */ WebInspector.ElementsSidebarPane = function(title) { WebInspector.SidebarPane.call(this, title); this._updateThrottler = new WebInspector.Throttler(100); this._node = null; this._updateWhenVisible = false; } WebInspector.ElementsSidebarPane.prototype = { /** * @return {?WebInspector.DOMNode} */ node: function() { return this._node; }, /** * @param {?WebInspector.DOMNode} node */ setNode: function(node) { this._node = node; this.update(); }, /** * @param {!WebInspector.Throttler.FinishCallback} finishedCallback * @protected */ doUpdate: function(finishedCallback) { finishedCallback(); }, update: function() { this._updateWhenVisible = !this.isShowing(); if (this._updateWhenVisible) return; this._updateThrottler.schedule(innerUpdate.bind(this)); /** * @param {!WebInspector.Throttler.FinishCallback} finishedCallback * @this {WebInspector.ElementsSidebarPane} */ function innerUpdate(finishedCallback) { if (this.isShowing()) this.doUpdate(finishedCallback); else finishedCallback(); } }, wasShown: function() { WebInspector.SidebarPane.prototype.wasShown.call(this); if (this._updateWhenVisible) this.update(); }, __proto__: WebInspector.SidebarPane.prototype }