inline-print
Version:
Inline Print için kullanılır.
294 lines (245 loc) • 12 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _ButtonGroup = _interopRequireDefault(require("@material-ui/core/ButtonGroup"));
var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
var _Grow = _interopRequireDefault(require("@material-ui/core/Grow"));
var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList"));
var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
var _JSPMStatus = _interopRequireDefault(require("./JSPMStatus"));
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
// import SettingsIcon from "@material-ui/icons/Settings";
// import LoopIcon from "@material-ui/icons/Loop";
// import GetAppIcon from "@material-ui/icons/GetApp";
// import PrintIcon from "@material-ui/icons/Print";
//find index in data
function getIndexFromData(value, arr, prop) {
if (arr) {
for (var i = 0; i < arr.length; i++) {
if (arr[i][prop] == value) {
return i;
}
}
}
return 0; //to handle the case where the value doesn't exist
}
var PrintInlineComponent = function PrintInlineComponent(_ref) {
var options = _ref.options,
selected = _ref.selected,
onHandlePrintChange = _ref.onHandlePrintChange,
onHandleDownload = _ref.onHandleDownload,
onHandlePrint = _ref.onHandlePrint,
onHandlePrinterRefresh = _ref.onHandlePrinterRefresh,
reportName = _ref.reportName,
status = _ref.status,
locale = _ref.locale;
var strings = {};
if (locale === "tr") {
strings = {
TARA: "Tara",
INDIR: "İndir",
YAZDIR: "Yazdır",
SECILI_INDIRME_SECENEGI: "Seçili İndirme Seçeneği",
INDIRME_SECENEKLERI: "İndirme Seçenekleri"
};
} else {
strings = {
TARA: "Tara",
INDIR: "İndir",
YAZDIR: "Yazdır",
SECILI_INDIRME_SECENEGI: "Seçili İndirme Seçeneği",
INDIRME_SECENEKLERI: "İndirme Seçenekleri"
};
}
_react["default"].useEffect(function () {
var index = getIndexFromData(selected, options, 3);
var show = options[index][1] == "file";
setSelectedIndex(index);
setShowFileDownload(show);
}, [selected, options]);
var _React$useState = _react["default"].useState(false),
_React$useState2 = _slicedToArray(_React$useState, 2),
open = _React$useState2[0],
setOpen = _React$useState2[1];
var anchorRef = _react["default"].useRef(undefined);
var initialSelectedIndex = getIndexFromData(selected, options, 3);
var _React$useState3 = _react["default"].useState(initialSelectedIndex),
_React$useState4 = _slicedToArray(_React$useState3, 2),
selectedIndex = _React$useState4[0],
setSelectedIndex = _React$useState4[1];
var _React$useState5 = _react["default"].useState(options[selectedIndex][1] == "file"),
_React$useState6 = _slicedToArray(_React$useState5, 2),
showFileDownload = _React$useState6[0],
setShowFileDownload = _React$useState6[1];
var _React$useState7 = _react["default"].useState(false),
_React$useState8 = _slicedToArray(_React$useState7, 2),
loading = _React$useState8[0],
setLoading = _React$useState8[1];
var _React$useState9 = _react["default"].useState(""),
_React$useState10 = _slicedToArray(_React$useState9, 2),
type = _React$useState10[0],
setType = _React$useState10[1];
var printTypeSelectOnClick = function printTypeSelectOnClick(event, index) {
setSelectedIndex(index);
setOpen(false);
onHandlePrintChange(options[index]);
if (options[index][1] == "file") {
setShowFileDownload(true);
} else {
setShowFileDownload(false);
} //09.06.2021 Türkan - type diye bir hook tanımlanmamış
//setType(options[index][3]);
};
var handleToggle = function handleToggle() {
setOpen(function (prevOpen) {
return !prevOpen;
});
};
var handleClose = function handleClose(event) {
if (anchorRef.current && anchorRef.current.contains(event.target)) {
return;
}
setOpen(false);
};
var setLoadingExternal = function setLoadingExternal(val) {
setLoading(false);
};
var printerRefresh = function printerRefresh(event) {
setLoading(true);
onHandlePrinterRefresh(event, setLoadingExternal);
};
var handleDownload = function handleDownload() {
onHandleDownload(options[selectedIndex]);
};
var handlePrint = function handlePrint() {
onHandlePrint(options[selectedIndex]);
};
var printSelected = function printSelected() {
var index = getIndexFromData(selected, options, 3);
return /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, options[index][1] == "file" ? options[index][2] : options[index][2].substring(0, 9) + ".."), /*#__PURE__*/_react["default"].createElement("td", null, "\xA0\xA0"), /*#__PURE__*/_react["default"].createElement("td", null, " ", options[index][1] == "file" ? options[index][3] : null))));
};
var buttonStyle = {
padding: "9.5px"
};
return /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
container: true,
spacing: 2
}, /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
container: true,
item: true,
xs: 12
}, status && /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
container: true,
item: true,
xs: 3,
alignContent: "center"
}, /*#__PURE__*/_react["default"].createElement("strong", null, reportName, "\xA0"), /*#__PURE__*/_react["default"].createElement(_JSPMStatus["default"], {
JSPM_WS_Status: status
}), "\xA0"), /*#__PURE__*/_react["default"].createElement(_ButtonGroup["default"], {
name: "print-button-group" // variant="contained"
,
color: "primary",
"aria-label": " primary group",
ref: anchorRef
}, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
title: strings["INDIRME_SECENEKLERI"],
"aria-label": "INDIRME_SECENEKLERI"
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
color: "primary",
variant: "contained",
size: "small",
name: "button-settings",
style: buttonStyle,
"aria-controls": open ? "split-button-menu" : undefined,
"aria-expanded": open ? "true" : undefined,
"aria-label": "select merge strategy" // startIcon={<PrintIcon />}
,
"aria-haspopup": "menu",
onClick: handleToggle
}, printSelected())), showFileDownload ? /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
title: strings["INDIR"],
"aria-label": "INDIR"
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
color: "primary",
variant: "contained",
name: "button-download",
onClick: handleDownload,
style: buttonStyle // startIcon={<GetAppIcon />}
}, /*#__PURE__*/_react["default"].createElement("i", {
className: "fas fa-download"
}))) : /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
title: strings["YAZDIR"],
"aria-label": "YAZDIR"
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
color: "primary",
variant: "contained",
name: "button-print" // startIcon={<PrintIcon />}
,
style: buttonStyle,
onClick: handlePrint
}, /*#__PURE__*/_react["default"].createElement("i", {
className: "fas fa-print"
})))), /*#__PURE__*/_react["default"].createElement(_Popper["default"], {
open: open,
anchorEl: anchorRef.current,
role: undefined,
transition: true,
style: {
zIndex: 1500
}
}, function (_ref2) {
var TransitionProps = _ref2.TransitionProps,
placement = _ref2.placement;
return /*#__PURE__*/_react["default"].createElement(_Grow["default"], _extends({}, TransitionProps, {
style: {
transformOrigin: placement === "bottom" ? "center top" : "center bottom"
}
}), /*#__PURE__*/_react["default"].createElement(_Paper["default"], {
name: "print-popover-button-group"
}, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
onClickAway: handleClose
}, /*#__PURE__*/_react["default"].createElement(_MenuList["default"], {
id: "split-button-menu",
name: "print-slit-button-menu"
}, options.map(function (option, index) {
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
name: "print-menu-item-" + option[0],
key: option[0],
disabled: option[0] === 7,
selected: index == selectedIndex,
onClick: function onClick(event) {
return printTypeSelectOnClick(event, index);
}
}, option[2], "\xA0", option[1] == "file" ? option[3] : null);
}), loading ? /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], null, /*#__PURE__*/_react["default"].createElement(_CircularProgress["default"], null)) : /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
style: {
color: "red"
},
key: 999,
onClick: function onClick(event) {
return printerRefresh(event);
}
}, /*#__PURE__*/_react["default"].createElement("i", {
className: "fas fa-recycle"
}), "\xA0Yaz\u0131c\u0131lar\u0131 Tekrar Y\xFCkle")))));
})));
};
var _default = PrintInlineComponent;
exports["default"] = _default;