react-application-core
Version:
A react-based application core for the business applications.
180 lines • 7.51 kB
JavaScript
"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