UNPKG

react-application-core

Version:

A react-based application core for the business applications.

180 lines 7.51 kB
"use strict"; 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.BaseTextField = void 0; var React = require("react"); var R = require("ramda"); var react_text_mask_1 = require("react-text-mask"); var util_1 = require("../../../util"); var definitions_interface_1 = require("../../../definitions.interface"); var field_component_1 = require("../field/field.component"); var definition_1 = require("../../../definition"); var BaseTextField = /** @class */ (function (_super) { __extends(BaseTextField, _super); /** * @stable [14.10.2020] * @param originalProps */ function BaseTextField(originalProps) { var _this = _super.call(this, originalProps) || this; _this.defaultActions = []; if (originalProps.clearActionRendered) { _this.defaultActions.push({ type: definition_1.FieldActionTypesEnum.CLOSE, onClick: _this.clearValue, }); } return _this; } /** * @stable [30.11.2020] * @protected */ BaseTextField.prototype.getInputElement = function () { return R.isNil(this.getFieldMask()) ? _super.prototype.getInputElement.call(this) : this.maskedInputElement; }; /** * @stable [22.12.2020] * @protected */ BaseTextField.prototype.getFieldClassName = function () { return util_1.ClsUtils.joinClassName(_super.prototype.getFieldClassName.call(this), this.baseTextFieldClassName); }; Object.defineProperty(BaseTextField.prototype, "baseTextFieldClassName", { /** * @stable [22.12.2020] * @protected */ get: function () { var prefixLabel = this.originalProps.prefixLabel; return util_1.ClsUtils.joinClassName(definition_1.TextFieldClassesEnum.BASE_TEXT_FIELD, this.isActioned && definition_1.TextFieldClassesEnum.BASE_TEXT_FIELD_ACTIONED, prefixLabel ? definition_1.TextFieldClassesEnum.BASE_TEXT_FIELD_LABEL_PREFIXED : definition_1.TextFieldClassesEnum.BASE_TEXT_FIELD_LABEL_NOT_PREFIXED); }, enumerable: false, configurable: true }); Object.defineProperty(BaseTextField.prototype, "mirrorInputElement", { /** * @stable [12.09.2018] * @returns {JSX.Element} */ get: function () { if (!this.isKeyboardAndCursorUsed || this.isValueNotPresent) { return null; } // TODO Move to support var value = this.value; var content = String((this.props.type === 'password' ? String(value).replace(/./g, this.environment.passwordPlaceholder) : value)).replace(/ /g, definitions_interface_1.UniCodesEnum.NO_BREAK_SPACE); return (React.createElement("span", { ref: this.inputMirrorRef, className: util_1.ClsUtils.joinClassName(this.getInputElementProps().className, definition_1.FieldClassesEnum.INPUT_MIRROR, definition_1.ComponentClassesEnum.INVISIBLE) }, content)); }, enumerable: false, configurable: true }); /** * @stable [09.11.2020] * @param action * @protected */ BaseTextField.prototype.isFieldActionDisabled = function (action) { return util_1.CalcUtils.calc(action.disabled) || this.isInactive; }; Object.defineProperty(BaseTextField.prototype, "maskedInputElement", { /** * @stable [30.11.2020] * @private */ get: function () { var mask = this.getFieldMask(); var maskGuide = this.originalProps.maskGuide; return (React.createElement(react_text_mask_1.default, __assign({ guide: util_1.NvlUtils.nvl(maskGuide, BaseTextField.DEFAULT_MASK_GUIDE), mask: mask }, this.getInputElementProps()))); }, enumerable: false, configurable: true }); Object.defineProperty(BaseTextField.prototype, "actionsElement", { /** * @stable [17.12.2020] * @protected */ get: function () { var _this = this; return (React.createElement(React.Fragment, null, this.fieldActions.map(function (action, index) { return (React.createElement(React.Fragment, { key: "field-action-key-" + index }, _this.uiFactory.makeIcon(action))); }))); }, enumerable: false, configurable: true }); Object.defineProperty(BaseTextField.prototype, "fieldActions", { /** * @stable [17.12.2020] * @private */ get: function () { var _a = this.originalProps, _b = _a.actions, actions = _b === void 0 ? [] : _b, actionsPosition = _a.actionsPosition; var defaultActions = this.defaultActions || []; var fieldActions = actionsPosition === definition_1.FieldActionPositionsEnum.LEFT ? defaultActions.concat(actions) : actions.concat(defaultActions); var isBusy = this.isBusy; var isValuePresent = this.isValuePresent; var isInactive = this.isInactive; return fieldActions .filter(function (action) { switch (action.type) { case definition_1.FieldActionTypesEnum.CLOSE: return isValuePresent && !isInactive; case definition_1.FieldActionTypesEnum.DOWNLOAD: return isValuePresent && !isBusy; } return !isInactive; }); }, enumerable: false, configurable: true }); Object.defineProperty(BaseTextField.prototype, "isActioned", { /** * @stable [21.06.2020] * @returns {boolean} */ get: function () { return util_1.ObjectUtils.isObjectNotEmpty(this.fieldActions); }, enumerable: false, configurable: true }); BaseTextField.defaultProps = util_1.PropsUtils.mergeWithParentDefaultProps({ clearActionRendered: true, }, field_component_1.Field); BaseTextField.DEFAULT_MASK_GUIDE = false; return BaseTextField; }(field_component_1.Field)); exports.BaseTextField = BaseTextField; //# sourceMappingURL=base-text-field.component.js.map