UNPKG

react-application-core

Version:

A react-based application core for the business applications.

253 lines 11.7 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.PageToolbar = void 0; var React = require("react"); var util_1 = require("../../../util"); var definition_1 = require("../../../definition"); var generic_component_1 = require("../../base/generic.component"); var button_component_1 = require("../../button/button.component"); /** * @component-impl * @stable [10.06.2020] * * Please use the "Mappers.pageToolbarProps" */ var PageToolbar = /** @class */ (function (_super) { __extends(PageToolbar, _super); function PageToolbar() { return _super !== null && _super.apply(this, arguments) || this; } /** * @stable [10.06.2020] * @returns {JSX.Element} */ PageToolbar.prototype.render = function () { if (!this.isToolbarVisible) { return null; } var originalProps = this.originalProps; var className = originalProps.className, style = originalProps.style; return (React.createElement("div", { ref: this.actualRef, style: style, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarClassesEnum.PAGE_TOOLBAR, util_1.WrapperUtils.isFull(originalProps) && definition_1.ToolbarClassesEnum.FULL_TOOLBAR, util_1.CalcUtils.calc(className)) }, this.bodyElement)); }; Object.defineProperty(PageToolbar.prototype, "pagesElement", { /** * @stable [10.06.2020] * @returns {JSX.Element} */ get: function () { return (React.createElement("div", { className: definition_1.ToolbarClassesEnum.TOOLBAR_PAGES }, this.pagesInfo)); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "bodyElement", { /** * @stable [10.06.2020] * @returns {JSX.Element} */ get: function () { var _this = this; var originalProps = this.originalProps; return util_1.ConditionUtils.orNull(this.totalCount > 0 && !util_1.WrapperUtils.inProgress(originalProps), function () { return (React.createElement("div", { className: definition_1.ToolbarClassesEnum.TOOLBAR_CONTENT }, _this.actionsElement)); }); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "actionsElement", { /** * @stable [10.06.2020] * @returns {JSX.Element} */ get: function () { var _a = this.mergedProps, actionConfiguration = _a.actionConfiguration, firstAllowed = _a.firstAllowed, lastAllowed = _a.lastAllowed, nextIcon = _a.nextIcon, onFirst = _a.onFirst, onLast = _a.onLast, onNext = _a.onNext, onPrevious = _a.onPrevious, previousIcon = _a.previousIcon, useActions = _a.useActions, useShortDigitFormat = _a.useShortDigitFormat; var page = this.originalProps.page; var _b = this.settings.messages, FIRST = _b.FIRST, LAST = _b.LAST, NEXT = _b.NEXT, PREVIOUS = _b.PREVIOUS; var isNextActionDisabled = this.isNextActionDisabled; var isPreviousActionDisabled = this.isPreviousActionDisabled; var nextPageNumber = page + 1; var previousPageNumber = page - 1; var pagesCount = this.pagesCount; var isNextActionRendered = nextPageNumber < pagesCount; var isPreviousActionRendered = previousPageNumber > 0; return (React.createElement(React.Fragment, null, firstAllowed && (useActions ? (React.createElement(button_component_1.Button, __assign({ raised: true }, actionConfiguration, { text: FIRST, disabled: isPreviousActionDisabled, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarClassesEnum.TOOLBAR_ACTION, definition_1.ToolbarClassesEnum.TOOLBAR_ACTION_FIRST), onClick: onFirst }))) : (this.uiFactory.makeIcon({ type: definition_1.IconsEnum.ANGLE_DOUBLE_LEFT, className: definition_1.ToolbarClassesEnum.TOOLBAR_ICON, disabled: isPreviousActionDisabled, onClick: onFirst, }))), useActions ? (isPreviousActionRendered && (React.createElement(button_component_1.Button, __assign({ raised: true }, actionConfiguration, { text: useShortDigitFormat ? String(previousPageNumber) : PREVIOUS, disabled: isPreviousActionDisabled, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarClassesEnum.TOOLBAR_ACTION, useShortDigitFormat && definition_1.ToolbarClassesEnum.TOOLBAR_ACTION_WITH_SHORT_DIGIT_FORMAT), onClick: onPrevious })))) : (this.uiFactory.makeIcon({ type: previousIcon || definition_1.IconsEnum.ANGLE_LEFT, className: definition_1.ToolbarClassesEnum.TOOLBAR_ICON, disabled: isPreviousActionDisabled, onClick: onPrevious, })), this.pagesElement, useActions ? (isNextActionRendered && (React.createElement(button_component_1.Button, __assign({ raised: true }, actionConfiguration, { text: useShortDigitFormat ? String(nextPageNumber) : NEXT, disabled: isNextActionDisabled, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarClassesEnum.TOOLBAR_ACTION, useShortDigitFormat && definition_1.ToolbarClassesEnum.TOOLBAR_ACTION_WITH_SHORT_DIGIT_FORMAT), onClick: onNext })))) : (this.uiFactory.makeIcon({ type: nextIcon || definition_1.IconsEnum.ANGLE_RIGHT, className: definition_1.ToolbarClassesEnum.TOOLBAR_ICON, disabled: isNextActionDisabled, onClick: onNext, })), lastAllowed && (useActions ? (React.createElement(button_component_1.Button, __assign({ raised: true }, actionConfiguration, { text: LAST, disabled: isNextActionDisabled, className: util_1.ClsUtils.joinClassName(definition_1.ToolbarClassesEnum.TOOLBAR_ACTION, definition_1.ToolbarClassesEnum.TOOLBAR_ACTION_LAST), onClick: onLast }))) : (this.uiFactory.makeIcon({ type: definition_1.IconsEnum.ANGLE_DOUBLE_RIGHT, className: definition_1.ToolbarClassesEnum.TOOLBAR_ICON, disabled: isNextActionDisabled, onClick: onLast, }))))); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "pagesInfo", { /** * @stable [10.06.2020] * @returns {string} */ get: function () { var _a = this.mergedProps, useShortDigitFormat = _a.useShortDigitFormat, useShortFormat = _a.useShortFormat; var page = this.originalProps.page; var _b = this.settings.messages, PAGES_INFO = _b.PAGES_INFO, SHORT_PAGES_INFO = _b.SHORT_PAGES_INFO; return useShortDigitFormat ? String(page) : (this.t(useShortFormat ? SHORT_PAGES_INFO : PAGES_INFO, { page: page, count: useShortFormat ? this.pagesCount : this.totalCount, from: this.fromNumber, to: this.toNumber, })); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "isToolbarVisible", { /** * @stable [10.06.2020] * @returns {boolean} */ get: function () { return util_1.PageUtils.isPageable(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "isPreviousActionDisabled", { /** * @stable [10.06.2020] * @returns {boolean} */ get: function () { return util_1.PageUtils.isPageCursorInStartPosition(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "isNextActionDisabled", { /** * @stable [10.06.2020] * @returns {boolean} */ get: function () { return util_1.PageUtils.isPageCursorInEndPosition(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "toNumber", { /** * @stable [10.06.2020] * @returns {number} */ get: function () { return util_1.PageUtils.pageCursorTo(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "fromNumber", { /** * @stable [10.06.2020] * @returns {number} */ get: function () { return util_1.PageUtils.pageCursorFrom(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "pagesCount", { /** * @stable [10.06.2020] * @returns {number} */ get: function () { return util_1.PageUtils.pagesCount(this.originalProps); }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "totalCount", { /** * @stable [10.06.2020] * @returns {number} */ get: function () { return this.originalProps.totalCount; }, enumerable: false, configurable: true }); Object.defineProperty(PageToolbar.prototype, "componentsSettingsProps", { /** * @stable [10.06.2020] * @returns {IPageToolbarProps} */ get: function () { return this.componentsSettings.pageToolbar; }, enumerable: false, configurable: true }); PageToolbar.defaultProps = { firstAllowed: true, full: false, lastAllowed: true, }; return PageToolbar; }(generic_component_1.GenericComponent)); exports.PageToolbar = PageToolbar; //# sourceMappingURL=page-toolbar.component.js.map