| Index: third_party/WebKit/Source/devtools/front_end/ui_lazy/PieChart.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui_lazy/PieChart.js b/third_party/WebKit/Source/devtools/front_end/ui_lazy/PieChart.js
|
| index 3dfa0cf77bf3313c890ae65ac06b93fdf57498d4..ddf1ce13d62aef2f7284852a7b1b658cae18c687 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/ui_lazy/PieChart.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/ui_lazy/PieChart.js
|
| @@ -27,93 +27,89 @@
|
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
| -
|
| /**
|
| - * @constructor
|
| - * @param {number} size
|
| - * @param {function(number):string=} formatter
|
| - * @param {boolean=} showTotal
|
| + * @unrestricted
|
| */
|
| -WebInspector.PieChart = function(size, formatter, showTotal)
|
| -{
|
| - this.element = createElement("div");
|
| - this._shadowRoot = WebInspector.createShadowRootWithCoreStyles(this.element, "ui_lazy/pieChart.css");
|
| - var root = this._shadowRoot.createChild("div", "root");
|
| - var svg = this._createSVGChild(root, "svg");
|
| - this._group = this._createSVGChild(svg, "g");
|
| - var background = this._createSVGChild(this._group, "circle");
|
| - background.setAttribute("r", 1.01);
|
| - background.setAttribute("fill", "hsl(0, 0%, 90%)");
|
| - this._foregroundElement = root.createChild("div", "pie-chart-foreground");
|
| +WebInspector.PieChart = class {
|
| + /**
|
| + * @param {number} size
|
| + * @param {function(number):string=} formatter
|
| + * @param {boolean=} showTotal
|
| + */
|
| + constructor(size, formatter, showTotal) {
|
| + this.element = createElement('div');
|
| + this._shadowRoot = WebInspector.createShadowRootWithCoreStyles(this.element, 'ui_lazy/pieChart.css');
|
| + var root = this._shadowRoot.createChild('div', 'root');
|
| + var svg = this._createSVGChild(root, 'svg');
|
| + this._group = this._createSVGChild(svg, 'g');
|
| + var background = this._createSVGChild(this._group, 'circle');
|
| + background.setAttribute('r', 1.01);
|
| + background.setAttribute('fill', 'hsl(0, 0%, 90%)');
|
| + this._foregroundElement = root.createChild('div', 'pie-chart-foreground');
|
| if (showTotal)
|
| - this._totalElement = this._foregroundElement.createChild("div", "pie-chart-total");
|
| + this._totalElement = this._foregroundElement.createChild('div', 'pie-chart-total');
|
| this._formatter = formatter;
|
| this._slices = [];
|
| this._lastAngle = -Math.PI / 2;
|
| this._setSize(size);
|
| -};
|
| + }
|
|
|
| -WebInspector.PieChart.prototype = {
|
| - /**
|
| - * @param {number} totalValue
|
| - */
|
| - setTotal: function(totalValue)
|
| - {
|
| - for (var i = 0; i < this._slices.length; ++i)
|
| - this._slices[i].remove();
|
| - this._slices = [];
|
| - this._totalValue = totalValue;
|
| - var totalString;
|
| - if (totalValue)
|
| - totalString = this._formatter ? this._formatter(totalValue) : totalValue;
|
| - else
|
| - totalString = "";
|
| - if (this._totalElement)
|
| - this._totalElement.textContent = totalString;
|
| - },
|
| + /**
|
| + * @param {number} totalValue
|
| + */
|
| + setTotal(totalValue) {
|
| + for (var i = 0; i < this._slices.length; ++i)
|
| + this._slices[i].remove();
|
| + this._slices = [];
|
| + this._totalValue = totalValue;
|
| + var totalString;
|
| + if (totalValue)
|
| + totalString = this._formatter ? this._formatter(totalValue) : totalValue;
|
| + else
|
| + totalString = '';
|
| + if (this._totalElement)
|
| + this._totalElement.textContent = totalString;
|
| + }
|
|
|
| - /**
|
| - * @param {number} value
|
| - */
|
| - _setSize: function(value)
|
| - {
|
| - this._group.setAttribute("transform", "scale(" + (value / 2) + ") translate(1, 1) scale(0.99, 0.99)");
|
| - var size = value + "px";
|
| - this.element.style.width = size;
|
| - this.element.style.height = size;
|
| - },
|
| + /**
|
| + * @param {number} value
|
| + */
|
| + _setSize(value) {
|
| + this._group.setAttribute('transform', 'scale(' + (value / 2) + ') translate(1, 1) scale(0.99, 0.99)');
|
| + var size = value + 'px';
|
| + this.element.style.width = size;
|
| + this.element.style.height = size;
|
| + }
|
|
|
| - /**
|
| - * @param {number} value
|
| - * @param {string} color
|
| - */
|
| - addSlice: function(value, color)
|
| - {
|
| - var sliceAngle = value / this._totalValue * 2 * Math.PI;
|
| - if (!isFinite(sliceAngle))
|
| - return;
|
| - sliceAngle = Math.min(sliceAngle, 2 * Math.PI * 0.9999);
|
| - var path = this._createSVGChild(this._group, "path");
|
| - var x1 = Math.cos(this._lastAngle);
|
| - var y1 = Math.sin(this._lastAngle);
|
| - this._lastAngle += sliceAngle;
|
| - var x2 = Math.cos(this._lastAngle);
|
| - var y2 = Math.sin(this._lastAngle);
|
| - var largeArc = sliceAngle > Math.PI ? 1 : 0;
|
| - path.setAttribute("d", "M0,0 L" + x1 + "," + y1 + " A1,1,0," + largeArc + ",1," + x2 + "," + y2 + " Z");
|
| - path.setAttribute("fill", color);
|
| - this._slices.push(path);
|
| - },
|
| + /**
|
| + * @param {number} value
|
| + * @param {string} color
|
| + */
|
| + addSlice(value, color) {
|
| + var sliceAngle = value / this._totalValue * 2 * Math.PI;
|
| + if (!isFinite(sliceAngle))
|
| + return;
|
| + sliceAngle = Math.min(sliceAngle, 2 * Math.PI * 0.9999);
|
| + var path = this._createSVGChild(this._group, 'path');
|
| + var x1 = Math.cos(this._lastAngle);
|
| + var y1 = Math.sin(this._lastAngle);
|
| + this._lastAngle += sliceAngle;
|
| + var x2 = Math.cos(this._lastAngle);
|
| + var y2 = Math.sin(this._lastAngle);
|
| + var largeArc = sliceAngle > Math.PI ? 1 : 0;
|
| + path.setAttribute('d', 'M0,0 L' + x1 + ',' + y1 + ' A1,1,0,' + largeArc + ',1,' + x2 + ',' + y2 + ' Z');
|
| + path.setAttribute('fill', color);
|
| + this._slices.push(path);
|
| + }
|
|
|
| - /**
|
| - * @param {!Element} parent
|
| - * @param {string} childType
|
| - * @return {!Element}
|
| - */
|
| - _createSVGChild: function(parent, childType)
|
| - {
|
| - var child = parent.ownerDocument.createElementNS("http://www.w3.org/2000/svg", childType);
|
| - parent.appendChild(child);
|
| - return child;
|
| - }
|
| + /**
|
| + * @param {!Element} parent
|
| + * @param {string} childType
|
| + * @return {!Element}
|
| + */
|
| + _createSVGChild(parent, childType) {
|
| + var child = parent.ownerDocument.createElementNS('http://www.w3.org/2000/svg', childType);
|
| + parent.appendChild(child);
|
| + return child;
|
| + }
|
| };
|
|
|