react-application-core
Version:
A react-based application core for the business applications.
95 lines • 4.16 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.InlineOption = void 0;
var React = require("react");
var generic_component_1 = require("../base/generic.component");
var definition_1 = require("../../definition");
var util_1 = require("../../util");
/**
* @component-impl
* @stable [16.06.2020]
*/
var InlineOption = /** @class */ (function (_super) {
__extends(InlineOption, _super);
/**
* @stable [08.07.2020]
* @param {IInlineOptionProps} originalProps
*/
function InlineOption(originalProps) {
var _this = _super.call(this, originalProps) || this;
_this.onClick = _this.onClick.bind(_this);
_this.onClose = _this.onClose.bind(_this);
return _this;
}
/**
* @stable [16.06.2020]
* @returns {JSX.Element}
*/
InlineOption.prototype.render = function () {
var _a = this.originalProps, className = _a.className, closable = _a.closable, disabled = _a.disabled, onClick = _a.onClick, onClose = _a.onClose, option = _a.option, selected = _a.selected;
var displayValue = this.fieldConverter.fromSelectValueToDisplayValue(option);
return (React.createElement("div", __assign({ ref: this.actualRef, className: util_1.ClsUtils.joinClassName(definition_1.InlineOptionClassesEnum.INLINE_OPTION, util_1.CalcUtils.calc(className), disabled && definition_1.InlineOptionClassesEnum.INLINE_OPTION_DISABLED, selected && definition_1.InlineOptionClassesEnum.INLINE_OPTION_SELECTED) }, util_1.PropsUtils.buildClickHandlerProps(this.onClick, !disabled && util_1.TypeUtils.isFn(onClick), false)),
React.createElement("span", { className: definition_1.InlineOptionClassesEnum.INLINE_OPTION_CONTENT, title: String(displayValue) }, displayValue),
closable && util_1.TypeUtils.isFn(onClose) && this.uiFactory.makeIcon({
className: definition_1.InlineOptionClassesEnum.INLINE_OPTION_CLOSE,
disabled: disabled,
onClick: this.onClose,
type: definition_1.IconsEnum.TIMES,
})));
};
Object.defineProperty(InlineOption.prototype, "componentsSettingsProps", {
/**
* @stable [16.06.2020]
* @returns {IInlineOptionProps}
*/
get: function () {
return this.componentsSettings.inlineOption;
},
enumerable: false,
configurable: true
});
/**
* @stable [08.07.2020]
*/
InlineOption.prototype.onClose = function () {
var _a = this.originalProps, onClose = _a.onClose, option = _a.option;
onClose(option);
};
/**
* @stable [08.07.2020]
*/
InlineOption.prototype.onClick = function () {
var _a = this.originalProps, onClick = _a.onClick, option = _a.option;
onClick(option);
};
InlineOption.defaultProps = {
closable: true,
};
return InlineOption;
}(generic_component_1.GenericComponent));
exports.InlineOption = InlineOption;
//# sourceMappingURL=inline-option.component.js.map