react-application-core
Version:
A react-based application core for the business applications.
99 lines • 4.09 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 (Object.prototype.hasOwnProperty.call(b, 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 });
exports.Chart = void 0;
var React = require("react");
var chart_js_1 = require("chart.js");
var generic_component_1 = require("../base/generic.component");
var util_1 = require("../../util");
var definition_1 = require("../../definition");
/**
* @component-impl
* @stable [18.12.2020]
*/
var Chart = /** @class */ (function (_super) {
__extends(Chart, _super);
function Chart() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.canvasRef = React.createRef();
return _this;
}
/**
* @stable [18.12.2020]
*/
Chart.prototype.componentDidMount = function () {
this.refresh();
};
/**
* @stable [18.12.2020]
*/
Chart.prototype.componentDidUpdate = function () {
this.refresh();
};
/**
* @stable [18.12.2020]
*/
Chart.prototype.render = function () {
var _a = this.originalProps, className = _a.className, east = _a.east, full = _a.full, rendered = _a.rendered, west = _a.west;
var items = util_1.FilterUtils.objectValuesArrayFilter(west, rendered && React.createElement(React.Fragment, null), east);
return (React.createElement("div", { ref: this.actualRef, className: util_1.ClsUtils.joinClassName(definition_1.ChartClassesEnum.CHART, full && definition_1.ChartClassesEnum.FULL_CHART, "" + definition_1.ChartClassesEnum.CHART_WITH_ITEMS_COUNT + items.length, util_1.CalcUtils.calc(className)) },
west && (React.createElement("div", { className: definition_1.ChartClassesEnum.CHART_WEST }, west)),
rendered && (React.createElement("div", { className: definition_1.ChartClassesEnum.CHART_CANVAS_WRAPPER },
React.createElement("canvas", { ref: this.canvasRef }))),
east && (React.createElement("div", { className: definition_1.ChartClassesEnum.CHART_EAST }, east))));
};
/**
* @stable [18.12.2020]
* @private
*/
Chart.prototype.refresh = function () {
var _this = this;
if (this.chartJs) {
this.chartJs.destroy(); // It's too heavy to call an update() and update partially
}
util_1.ConditionUtils.ifNotNilThanValue(this.canvasRef.current, function (elId) {
_this.chartJs = new chart_js_1.Chart(elId.getContext('2d'), __assign({ responsive: true, maintainAspectRatio: false }, _this.mergedProps.options));
});
};
Object.defineProperty(Chart.prototype, "componentsSettingsProps", {
/**
* @stable [18.12.2020]
* @protected
*/
get: function () {
return this.componentsSettings.chart;
},
enumerable: false,
configurable: true
});
Chart.defaultProps = {
full: true,
rendered: true,
};
return Chart;
}(generic_component_1.GenericComponent));
exports.Chart = Chart;
//# sourceMappingURL=chart.component.js.map