UNPKG

kwikid-components-react

Version:

KwikID's Component Library in React

75 lines (74 loc) 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _kwikidToolkit = require("kwikid-toolkit"); var _react = _interopRequireDefault(require("react")); var _Button = _interopRequireDefault(require("../../button/Button")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const KwikUITableLink = _ref => { var _item$default$value, _item$default; let { id, item, value, tableMeta, updateValue } = _ref; if ((0, _kwikidToolkit.isNotEmptyValue)(value)) { return /*#__PURE__*/_react.default.createElement(_Button.default, { id: id, size: "xs", customStyles: { background: "var(--primary)", borderColor: "var(--primary)", color: "white" }, onClick: e => { var _item$props; if (item !== null && item !== void 0 && (_item$props = item.props) !== null && _item$props !== void 0 && _item$props.download) { const downloadFileFallback = file_url => { var _item$props2; const a = document.createElement("a"); a.href = file_url; if (item !== null && item !== void 0 && (_item$props2 = item.props) !== null && _item$props2 !== void 0 && _item$props2.downloadFileName) { var _item$props3; a.download = item === null || item === void 0 ? void 0 : (_item$props3 = item.props) === null || _item$props3 === void 0 ? void 0 : _item$props3.downloadFileName; } document.body.appendChild(a); a.click(); document.body.removeChild(a); }; const downloadFile = async file_url => { try { var _item$props4; const response = await fetch(file_url); const blob = await response.blob(); const url = window.URL.createObjectURL(blob); const a = document.createElement("a"); a.href = url; if (item !== null && item !== void 0 && (_item$props4 = item.props) !== null && _item$props4 !== void 0 && _item$props4.downloadFileName) { a.download = item.props.downloadFileName; } document.body.appendChild(a); a.click(); document.body.removeChild(a); window.URL.revokeObjectURL(url); } catch (error) { console.error("Error downloading file", error); downloadFileFallback(value); } }; downloadFile(value); } else { window.open(value, "_blank"); } } }, item.label); } return /*#__PURE__*/_react.default.createElement("div", { id: id }, /*#__PURE__*/_react.default.createElement("i", null, (_item$default$value = item === null || item === void 0 ? void 0 : (_item$default = item.default) === null || _item$default === void 0 ? void 0 : _item$default.value) !== null && _item$default$value !== void 0 ? _item$default$value : "No Link")); }; var _default = exports.default = KwikUITableLink;