UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

86 lines 7 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2019-2020 GoodData Corporation var React = require("react"); var get = require("lodash/get"); var react_intl_1 = require("react-intl"); var Bubble_1 = require("@gooddata/goodstrap/lib/Bubble/Bubble"); var BubbleHoverTrigger_1 = require("@gooddata/goodstrap/lib/Bubble/BubbleHoverTrigger"); var classNames = require("classnames"); var ConfigurationPanelContent_1 = require("./ConfigurationPanelContent"); var LabelSubsection_1 = require("../configurationControls/axis/LabelSubsection"); var NameSubsection_1 = require("../configurationControls/axis/NameSubsection"); var ConfigSection_1 = require("../configurationControls/ConfigSection"); var DataLabelsControl_1 = require("../configurationControls/DataLabelsControl"); var CheckboxControl_1 = require("../configurationControls/CheckboxControl"); var MinMaxControl_1 = require("../configurationControls//MinMaxControl"); var mdObjectHelper_1 = require("../../utils/mdObjectHelper"); var bubble_1 = require("../../constants/bubble"); var BubbleChartConfigurationPanel = /** @class */ (function (_super) { __extends(BubbleChartConfigurationPanel, _super); function BubbleChartConfigurationPanel() { return _super !== null && _super.apply(this, arguments) || this; } BubbleChartConfigurationPanel.prototype.renderConfigurationPanel = function () { var _a = this.props, featureFlags = _a.featureFlags, propertiesMeta = _a.propertiesMeta, properties = _a.properties, pushData = _a.pushData, type = _a.type, mdObject = _a.mdObject; var controls = properties && properties.controls; var xAxisVisible = get(controls, "xaxis.visible", true); var yAxisVisible = get(controls, "yaxis.visible", true); var gridEnabled = get(controls, "grid.enabled", true); var controlsDisabled = this.isControlDisabled(); var _b = mdObjectHelper_1.countItemsOnAxes(type, controls, mdObject), itemsOnXAxis = _b.xaxis, itemsOnYAxis = _b.yaxis; var xAxisNameSectionDisabled = controlsDisabled || itemsOnXAxis !== 1; var yAxisNameSectionDisabled = controlsDisabled || itemsOnYAxis !== 1; var isNameSubsectionVisible = featureFlags.enableAxisNameConfiguration; return (React.createElement(BubbleHoverTrigger_1.default, { showDelay: bubble_1.SHOW_DELAY_DEFAULT, hideDelay: bubble_1.HIDE_DELAY_DEFAULT }, React.createElement("div", null, this.renderColorSection(), React.createElement(ConfigSection_1.default, { id: "xaxis_section", title: "properties.xaxis.title", valuePath: "xaxis.visible", canBeToggled: true, toggledOn: xAxisVisible, toggleDisabled: controlsDisabled, propertiesMeta: propertiesMeta, properties: properties, pushData: pushData }, isNameSubsectionVisible && (React.createElement(NameSubsection_1.default, { disabled: xAxisNameSectionDisabled, configPanelDisabled: controlsDisabled, axis: "xaxis", properties: properties, pushData: pushData })), React.createElement(LabelSubsection_1.default, { disabled: controlsDisabled, configPanelDisabled: controlsDisabled, axis: "xaxis", properties: properties, pushData: pushData }), this.renderMinMax("xaxis")), React.createElement(ConfigSection_1.default, { id: "yaxis_section", title: "properties.yaxis.title", valuePath: "yaxis.visible", canBeToggled: true, toggledOn: yAxisVisible, toggleDisabled: controlsDisabled, propertiesMeta: propertiesMeta, properties: properties, pushData: pushData }, isNameSubsectionVisible && (React.createElement(NameSubsection_1.default, { disabled: yAxisNameSectionDisabled, configPanelDisabled: controlsDisabled, axis: "yaxis", properties: properties, pushData: pushData })), React.createElement(LabelSubsection_1.default, { disabled: controlsDisabled, configPanelDisabled: controlsDisabled, axis: "yaxis", properties: properties, pushData: pushData }), this.renderMinMax("yaxis")), this.renderLegendSection(), React.createElement(ConfigSection_1.default, { id: "canvas_section", title: "properties.canvas.title", propertiesMeta: propertiesMeta, properties: properties, pushData: pushData }, React.createElement(DataLabelsControl_1.default, { pushData: pushData, properties: properties, isDisabled: this.areDataLabelsDisabled(), defaultValue: false, showDisabledMessage: this.isDataLabelsWarningShown() }), React.createElement(CheckboxControl_1.default, { valuePath: "grid.enabled", labelText: "properties.canvas.gridline", properties: properties, checked: gridEnabled, disabled: controlsDisabled, pushData: pushData }))), React.createElement(Bubble_1.default, { className: this.getBubbleClassNames(), arrowOffsets: { "tc bc": [bubble_1.BUBBLE_ARROW_OFFSET_X, bubble_1.BUBBLE_ARROW_OFFSET_Y] }, alignPoints: [{ align: "tc bc" }] }, React.createElement(react_intl_1.FormattedMessage, { id: "properties.config.not_applicable" })))); }; BubbleChartConfigurationPanel.prototype.renderMinMax = function (basePath) { var _a = this.props, pushData = _a.pushData, properties = _a.properties, propertiesMeta = _a.propertiesMeta; return (React.createElement(MinMaxControl_1.default, { isDisabled: this.isControlDisabled(), basePath: basePath, pushData: pushData, properties: properties, propertiesMeta: propertiesMeta })); }; BubbleChartConfigurationPanel.prototype.areDataLabelsDisabled = function () { var isDisabled = _super.prototype.isControlDisabled.call(this); return isDisabled || !mdObjectHelper_1.hasTertiaryMeasures(this.props.mdObject); }; BubbleChartConfigurationPanel.prototype.isDataLabelsWarningShown = function () { var isDisabled = _super.prototype.isControlDisabled.call(this); return !isDisabled && !mdObjectHelper_1.hasTertiaryMeasures(this.props.mdObject); }; BubbleChartConfigurationPanel.prototype.getBubbleClassNames = function () { return classNames("bubble-primary", { invisible: !this.isControlDisabled(), }); }; return BubbleChartConfigurationPanel; }(ConfigurationPanelContent_1.default)); exports.default = BubbleChartConfigurationPanel; //# sourceMappingURL=BubbleChartConfigurationPanel.js.map