react-application-core
Version:
A react-based application core for the business applications.
253 lines • 11.7 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.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