@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
70 lines • 3.59 kB
JavaScript
;
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 __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2020 GoodData Corporation
var React = require("react");
var noop = require("lodash/noop");
var MeasureValueFilterDropdown_1 = require("./MeasureValueFilterDropdown");
var MeasureValueFilterButton_1 = require("./MeasureValueFilterButton");
var MeasureValueFilter = /** @class */ (function (_super) {
__extends(MeasureValueFilter, _super);
function MeasureValueFilter() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {
displayDropdown: false,
};
_this.buttonRef = React.createRef();
_this.onApply = function (filter) {
_this.closeDropdown();
_this.props.onApply(filter);
};
_this.onCancel = function () {
_this.closeDropdown();
_this.props.onCancel();
};
_this.closeDropdown = function () {
_this.setState({ displayDropdown: false });
};
_this.toggleDropdown = function () {
_this.setState(function (state) { return (__assign({}, state, { displayDropdown: !state.displayDropdown })); });
};
return _this;
}
MeasureValueFilter.prototype.render = function () {
var displayDropdown = this.state.displayDropdown;
var _a = this.props, filter = _a.filter, buttonTitle = _a.buttonTitle, usePercentage = _a.usePercentage, warningMessage = _a.warningMessage, locale = _a.locale, separators = _a.separators, displayTreatNullAsZeroOption = _a.displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue = _a.treatNullAsZeroDefaultValue;
return (React.createElement(React.Fragment, null,
React.createElement("div", { ref: this.buttonRef },
React.createElement(MeasureValueFilterButton_1.default, { onClick: this.toggleDropdown, isActive: displayDropdown, buttonTitle: buttonTitle })),
displayDropdown ? (React.createElement(MeasureValueFilterDropdown_1.MeasureValueFilterDropdown, { onApply: this.onApply, onCancel: this.onCancel, filter: filter, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, separators: separators, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue: treatNullAsZeroDefaultValue, anchorEl: this.buttonRef.current })) : null));
};
MeasureValueFilter.defaultProps = {
onCancel: noop,
};
return MeasureValueFilter;
}(React.PureComponent));
exports.MeasureValueFilter = MeasureValueFilter;
//# sourceMappingURL=MeasureValueFilter.js.map