UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

135 lines 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const group_1 = require("../scene/group"); const text_1 = require("../scene/shape/text"); const square_1 = require("./marker/square"); const hdpiCanvas_1 = require("../canvas/hdpiCanvas"); class MarkerLabel extends group_1.Group { constructor() { super(); this.label = new text_1.Text(); this._marker = new square_1.Square(); this._markerSize = 15; this._spacing = 8; const label = this.label; label.textBaseline = 'middle'; label.fontSize = 12; label.fontFamily = 'Verdana, sans-serif'; label.fill = 'black'; // For better looking vertical alignment of labels to markers. label.y = hdpiCanvas_1.HdpiCanvas.has.textMetrics ? 1 : 0; this.append([this.marker, label]); this.update(); } set text(value) { this.label.text = value; } get text() { return this.label.text; } set fontStyle(value) { this.label.fontStyle = value; } get fontStyle() { return this.label.fontStyle; } set fontWeight(value) { this.label.fontWeight = value; } get fontWeight() { return this.label.fontWeight; } set fontSize(value) { this.label.fontSize = value; } get fontSize() { return this.label.fontSize; } set fontFamily(value) { this.label.fontFamily = value; } get fontFamily() { return this.label.fontFamily; } set color(value) { this.label.fill = value; } get color() { return this.label.fill; } set marker(value) { if (this._marker !== value) { this.removeChild(this._marker); this._marker = value; this.appendChild(value); this.update(); } } get marker() { return this._marker; } set markerSize(value) { if (this._markerSize !== value) { this._markerSize = value; this.update(); } } get markerSize() { return this._markerSize; } set markerFill(value) { this.marker.fill = value; } get markerFill() { return this.marker.fill; } set markerStroke(value) { this.marker.stroke = value; } get markerStroke() { return this.marker.stroke; } set markerStrokeWidth(value) { this.marker.strokeWidth = value; } get markerStrokeWidth() { return this.marker.strokeWidth; } set markerFillOpacity(value) { this.marker.fillOpacity = value; } get markerFillOpacity() { return this.marker.fillOpacity; } set markerStrokeOpacity(value) { this.marker.strokeOpacity = value; } get markerStrokeOpacity() { return this.marker.strokeOpacity; } set opacity(value) { this.marker.opacity = value; this.label.opacity = value; } get opacity() { return this.marker.opacity; } set spacing(value) { if (this._spacing !== value) { this._spacing = value; this.update(); } } get spacing() { return this._spacing; } update() { const marker = this.marker; const markerSize = this.markerSize; marker.size = markerSize; this.label.x = markerSize / 2 + this.spacing; } } exports.MarkerLabel = MarkerLabel; MarkerLabel.className = 'MarkerLabel'; //# sourceMappingURL=markerLabel.js.map