react-application-core
Version:
A react-based application core for the business applications.
100 lines • 4.79 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);
};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GridRow = void 0;
var React = require("react");
var generic_component_1 = require("../../base/generic.component");
var util_1 = require("../../../util");
var definition_1 = require("../../../definition");
var GridRow = /** @class */ (function (_super) {
__extends(GridRow, _super);
/**
* @stable [17.08.2020]
* @param originalProps
*/
function GridRow(originalProps) {
var _this = _super.call(this, originalProps) || this;
_this.onClick = _this.onClick.bind(_this);
return _this;
}
/**
* @stable [23.10.2019]
* @returns {JSX.Element}
*/
GridRow.prototype.render = function () {
var _this = this;
var originalProps = this.originalProps;
var mergedProps = this.mergedProps;
var entity = originalProps.entity, filter = originalProps.filter, group = originalProps.group, partOfGroup = originalProps.partOfGroup, selected = originalProps.selected;
var isHovered = util_1.RowUtils.isHovered(mergedProps);
var isOddHighlighted = util_1.RowUtils.isOddHighlighted(mergedProps);
var isSelectable = util_1.RowUtils.isSelectable(originalProps);
var isIndexed = util_1.RowUtils.isIndexed(originalProps);
return (React.createElement(definition_1.UniversalScrollableContext.Consumer, null, function (selectedElementClassName) { return (React.createElement("tr", __assign({ ref: _this.actualRef, className: util_1.ClsUtils.joinClassName.apply(util_1.ClsUtils, __spreadArrays([definition_1.GridClassesEnum.ROW,
_this.getOriginalClassName(mergedProps),
filter && definition_1.GridClassesEnum.ROW_FILTER,
group && definition_1.GridClassesEnum.ROW_GROUP,
isHovered && definition_1.GridClassesEnum.ROW_HOVERED, isIndexed && definition_1.GridClassesEnum.ROW + "-" + entity.id, isOddHighlighted && definition_1.GridClassesEnum.ROW_ODD,
isSelectable && definition_1.GridClassesEnum.ROW_SELECTABLE,
originalProps.groupExpanded && 'rac-grid-row-group-expanded',
originalProps.total && definition_1.GridClassesEnum.ROW_TOTAL,
partOfGroup && definition_1.GridClassesEnum.ROW_PART_OF_GROUP], isSelectable && (selected
? [definition_1.GridClassesEnum.ROW_SELECTED, selectedElementClassName]
: [definition_1.GridClassesEnum.ROW_UNSELECTED]) || [])) }, util_1.PropsUtils.buildClickHandlerProps(_this.onClick, isSelectable, false)), _this.originalChildren)); }));
};
/**
* @stable [19.07.2020]
*/
GridRow.prototype.onClick = function () {
var _a = this.originalProps, entity = _a.entity, onClick = _a.onClick;
if (util_1.TypeUtils.isFn(onClick)) {
onClick(entity);
}
};
Object.defineProperty(GridRow.prototype, "componentsSettingsProps", {
/**
* @stable [17.08.2020]
*/
get: function () {
return this.componentsSettings.gridRow;
},
enumerable: false,
configurable: true
});
GridRow.defaultProps = {
hovered: true,
};
return GridRow;
}(generic_component_1.GenericComponent));
exports.GridRow = GridRow;
//# sourceMappingURL=grid-row.component.js.map