@reaqtive/components
Version:
A react library to speed up the development of Qlik mash ups and data visualization apps
93 lines (80 loc) • 2.98 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread"));
var _react = _interopRequireDefault(require("react"));
var _q = require("@reaqtive/q");
var _layout = require("@reaqtive/layout");
var _jsxFileName = "/Users/paolo_d/Projects/React/reaqtive/packages/components/src/lib/filters/rqtv-button-bar/body.js";
const Body = props => {
const rqtvListObject = props.rqtvListObject,
qSize = props.qSize,
qDataPages = props.qDataPages,
goToFirstPageAfterSelection = props.goToFirstPageAfterSelection,
buttonSize = props.buttonSize,
buttonsClassName = props.buttonsClassName,
buttonsStyle = props.buttonsStyle;
const selectValue = rqtvListObject.selectValue;
const getScrollData = qDisplayArea => {
rqtvListObject.getDataPage(qDisplayArea);
};
const qArea = qDataPages && qDataPages && qDataPages.length > 0 && (0, _objectSpread2.default)({}, qDataPages[0].qArea, {
qHeight: props.qDataPageHeight
});
const pagination = (0, _q.usePagination)(qArea, qSize, getScrollData);
const selectionCallback = () => {
goToFirstPageAfterSelection && pagination.setCurrentPage(1);
};
const className = "rqtv-btn ".concat(buttonSize, " ").concat(buttonsClassName);
return _react.default.createElement(_layout.ButtonGroup, {
className: "rqtv-button-bar",
__source: {
fileName: _jsxFileName,
lineNumber: 22
},
__self: void 0
}, pagination.currentPage !== 1 && _react.default.createElement(_layout.Button, {
type: "button",
className: className,
onClick: () => pagination.setCurrentPage(pagination.currentPage - 1),
style: buttonsStyle,
__source: {
fileName: _jsxFileName,
lineNumber: 24
},
__self: void 0
}, "<"), qDataPages && qDataPages[0].qMatrix.map(item => _react.default.createElement(_layout.Button, {
key: item[0].qElemNumber,
type: "button",
className: "".concat(className, " ").concat(item[0].qState, " "),
onClick: () => selectValue(item[0].qElemNumber, selectionCallback),
style: buttonsStyle,
__source: {
fileName: _jsxFileName,
lineNumber: 29
},
__self: void 0
}, _react.default.createElement("span", {
title: item[0].qText,
__source: {
fileName: _jsxFileName,
lineNumber: 36
},
__self: void 0
}, item[0].qText))), pagination.currentPage < pagination.lastPage && _react.default.createElement(_layout.Button, {
type: "button",
className: className,
onClick: () => pagination.setCurrentPage(pagination.currentPage + 1),
style: buttonsStyle,
__source: {
fileName: _jsxFileName,
lineNumber: 41
},
__self: void 0
}, ">"));
};
var _default = Body;
exports.default = _default;