react-application-core
Version:
A react-based application core for the business applications.
88 lines • 4.03 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.ToolbarTools = void 0;
var React = require("react");
var util_1 = require("../../util");
var generic_component_1 = require("../base/generic.component");
var definition_1 = require("../../definition");
var button_1 = require("../button");
/**
* @component-impl
* @stable [01.08.2020]
*
* Please use the "Mappers.toolbarToolsProps"
*/
var ToolbarTools = /** @class */ (function (_super) {
__extends(ToolbarTools, _super);
function ToolbarTools() {
var _a;
var _this = _super !== null && _super.apply(this, arguments) || this;
/**
* @stable [01.08.2020]
*/
_this.defaultActions = (_a = {},
_a[definition_1.ToolbarToolsEnum.FILTER] = {
icon: definition_1.IconsEnum.FILTER,
onClick: _this.originalProps.onFilterClick,
},
_a[definition_1.ToolbarToolsEnum.DOWNLOAD_FILE] = {
icon: definition_1.IconsEnum.FILE_DOWNLOAD,
onClick: _this.originalProps.onDownloadFileClick,
},
_a[definition_1.ToolbarToolsEnum.REFRESH] = {
icon: definition_1.IconsEnum.SYNC,
onClick: _this.originalProps.onRefreshClick,
},
_a);
return _this;
}
/**
* @stable [01.08.2020]
*/
ToolbarTools.prototype.render = function () {
var _this = this;
var originalProps = this.originalProps;
var actions = originalProps.actions, activeTools = originalProps.activeTools, className = originalProps.className, disabled = originalProps.disabled, leftContent = originalProps.leftContent, rightContent = originalProps.rightContent;
return (React.createElement("div", { ref: this.actualRef, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarToolsClassesEnum.TOOLBAR_TOOLS, util_1.CalcUtils.calc(className), util_1.WrapperUtils.isFull(originalProps) && definition_1.ToolbarToolsClassesEnum.FULL_TOOLBAR_TOOLS) },
leftContent,
actions.map(function (cfg, index) {
var cfgAsPrimitive = cfg;
var actionProps = util_1.TypeUtils.isPrimitive(cfg)
? _this.defaultActions[cfgAsPrimitive]
: cfg;
return (React.createElement(button_1.Button, __assign({ key: "action-" + index + "-key", disabled: disabled, className: util_1.ClsUtils.joinClassName((activeTools || []).includes(cfgAsPrimitive) && definition_1.ToolbarToolsClassesEnum.TOOLBAR_TOOLS_ACTIVE_TOOL) }, actionProps)));
}),
rightContent));
};
ToolbarTools.defaultProps = {
actions: [definition_1.ToolbarToolsEnum.REFRESH],
full: false,
};
return ToolbarTools;
}(generic_component_1.GenericComponent));
exports.ToolbarTools = ToolbarTools;
//# sourceMappingURL=toolbar-tools.component.js.map