@redhat-cloud-services/frontend-components-utilities 3.7.0 → 3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,10 +9,10 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- export var buildInsightsPath = function (chrome, app, toProp) {
12
+ export var buildInsightsPath = function (chrome, app, toProp, forcePreview) {
13
13
  var inAppPath = (typeof toProp === 'object' ? toProp.pathname : toProp) || '';
14
14
  var isAbsolutePath = /^\//.test(inAppPath);
15
- var environmentPath = chrome.isBeta() ? '/preview' : '';
15
+ var environmentPath = forcePreview ? '/preview' : '';
16
16
  var appPath = app || chrome.getApp();
17
17
  var pathname = isAbsolutePath ? [environmentPath, chrome.getBundle(), appPath, inAppPath.replace(/^\//, '')].join('/') : inAppPath;
18
18
  return typeof toProp === 'object'
@@ -1 +1 @@
1
- {"version":3,"file":"urlPathHelpers.js","sourceRoot":"","sources":["../../src/helpers/urlPathHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAiB,EAAE,GAAW,EAAE,MAAW;IAC3E,IAAM,SAAS,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChF,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErI,OAAO,OAAO,MAAM,KAAK,QAAQ;QAC/B,CAAC,uBACM,MAAM,KACT,QAAQ,UAAA,IAEZ,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"urlPathHelpers.js","sourceRoot":"","sources":["../../src/helpers/urlPathHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAiB,EAAE,GAAW,EAAE,MAAuB,EAAE,YAAsB;IAC/G,IAAM,SAAS,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChF,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;IACvD,IAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAG,SAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAGjJ,OAAO,OAAO,MAAM,KAAK,QAAQ;QAC/B,CAAC,uBACM,MAAM,KACT,QAAQ,UAAA,IAEZ,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC,CAAC"}
package/esm/index.js CHANGED
@@ -20,4 +20,5 @@ export { default as RowLoader } from './RowLoader';
20
20
  export { useInventory } from './useInventory';
21
21
  export * from './CypressUtils';
22
22
  export * from './useInsightsNavigate';
23
+ export * from './useExportPDF';
23
24
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;2BAChC,WAAW;sBAAxB,OAAO;AACnB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;gCAC5B,gBAAgB;2BAAlC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;wBACvC,QAAQ;mBAAlB,IAAI;4BACU,YAAY;uBAA1B,QAAQ;AACpB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;gCACjC,mBAAmB;2BAArC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;2BAChC,WAAW;sBAAxB,OAAO;AACnB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;gCAC5B,gBAAgB;2BAAlC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;wBACvC,QAAQ;mBAAlB,IAAI;4BACU,YAAY;uBAA1B,QAAQ;AACpB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;gCACjC,mBAAmB;2BAArC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './useExportPDF';
2
+ export * from './useExportPDF';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/useExportPDF/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,101 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { addNotification } from '@redhat-cloud-services/frontend-components-notifications/redux';
38
+ var CRC_PDF_GENERATE_API = '/api/crc-pdf-generator/v1/generate';
39
+ export var pdfGeneratorURL = new URL(CRC_PDF_GENERATE_API, window.location.origin);
40
+ var fetchPDF = function (service, template, params) {
41
+ return fetch(pdfGeneratorURL, {
42
+ method: 'POST',
43
+ headers: {
44
+ 'Content-Type': 'application/json',
45
+ },
46
+ body: JSON.stringify({
47
+ service: service,
48
+ template: template,
49
+ params: params,
50
+ }),
51
+ }).then(function (response) { return response.blob(); });
52
+ };
53
+ var renderPDF = function (pdfBlob, fileName) {
54
+ if (fileName === void 0) { fileName = 'new-report'; }
55
+ var url = window.URL.createObjectURL(pdfBlob);
56
+ var a = document.createElement('a');
57
+ a.href = url;
58
+ a.download = fileName;
59
+ document.body.appendChild(a);
60
+ a.click();
61
+ a.remove();
62
+ };
63
+ var usePDFExport = function (service) {
64
+ var exportPDF = function (template, filename, exportSettings) { return __awaiter(void 0, void 0, void 0, function () {
65
+ var pdfBlob, e_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ addNotification({
70
+ variant: 'info',
71
+ title: 'Preparing export',
72
+ description: 'Once complete, your download will start automatically.',
73
+ });
74
+ _a.label = 1;
75
+ case 1:
76
+ _a.trys.push([1, 3, , 4]);
77
+ return [4, fetchPDF(service, template, exportSettings)];
78
+ case 2:
79
+ pdfBlob = _a.sent();
80
+ renderPDF(pdfBlob, filename);
81
+ addNotification({
82
+ variant: 'success',
83
+ title: 'Downloading export',
84
+ });
85
+ return [3, 4];
86
+ case 3:
87
+ e_1 = _a.sent();
88
+ addNotification({
89
+ variant: 'danger',
90
+ title: 'Couldn’t download export',
91
+ description: 'Reinitiate this export to try again.',
92
+ });
93
+ return [3, 4];
94
+ case 4: return [2];
95
+ }
96
+ });
97
+ }); };
98
+ return exportPDF;
99
+ };
100
+ export default usePDFExport;
101
+ //# sourceMappingURL=useExportPDF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExportPDF.js","sourceRoot":"","sources":["../../src/useExportPDF/useExportPDF.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gEAAgE,CAAC;AAEjG,IAAM,oBAAoB,GAAG,oCAAoC,CAAC;AAClE,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrF,IAAM,QAAQ,GAAG,UAAC,OAAe,EAAE,QAAgB,EAAE,MAA+B;IAClF,OAAO,KAAK,CAAC,eAAe,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QAED,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,SAAA;YACP,QAAQ,UAAA;YACR,MAAM,QAAA;SACP,CAAC;KACH,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAE,EAAf,CAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,OAAa,EAAE,QAAuB;IAAvB,yBAAA,EAAA,uBAAuB;IACvD,IAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,IAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,CAAC,CAAC;AAIF,IAAM,YAAY,GAAG,UAAC,OAAe;IACnC,IAAM,SAAS,GAAG,UAAO,QAAgB,EAAE,QAAgB,EAAE,cAAuC;;;;;oBAClG,eAAe,CAAC;wBACd,OAAO,EAAE,MAAM;wBACf,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,wDAAwD;qBACtE,CAAC,CAAC;;;;oBAEe,WAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAA;;oBAA3D,OAAO,GAAG,SAAiD;oBACjE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7B,eAAe,CAAC;wBACd,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,oBAAoB;qBAC5B,CAAC,CAAC;;;;oBAEH,eAAe,CAAC;wBACd,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,sCAAsC;qBACpD,CAAC,CAAC;;;;;SAEN,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { useNavigate } from 'react-router-dom';
2
2
  import useChrome from '@redhat-cloud-services/frontend-components/useChrome';
3
3
  import { buildInsightsPath } from '../helpers/urlPathHelpers';
4
- var useInsightsNavigate = function (app) {
4
+ var useInsightsNavigate = function (app, forcePreview) {
5
5
  var navigate = useNavigate();
6
6
  var chrome = useChrome();
7
- return function (to) { return navigate(buildInsightsPath(chrome, app, to)); };
7
+ return function (to, preview) { return navigate(buildInsightsPath(chrome, app, to, preview || forcePreview)); };
8
8
  };
9
9
  export default useInsightsNavigate;
10
10
  //# sourceMappingURL=useInsightsNavigate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInsightsNavigate.js","sourceRoot":"","sources":["../../src/useInsightsNavigate/useInsightsNavigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,IAAM,mBAAmB,GAAG,UAAC,GAAW;IACtC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,UAAC,EAAO,IAAK,OAAA,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAA5C,CAA4C,CAAC;AACnE,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"useInsightsNavigate.js","sourceRoot":"","sources":["../../src/useInsightsNavigate/useInsightsNavigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,IAAM,mBAAmB,GAAG,UAAC,GAAW,EAAE,YAAsB;IAC9D,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,UAAC,EAAmB,EAAE,OAAiB,IAAK,OAAA,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,IAAI,YAAY,CAAC,CAAC,EAArE,CAAqE,CAAC;AAC3H,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,2 +1,3 @@
1
+ import { LinkProps } from 'react-router-dom';
1
2
  import { ChromeAPI } from '@redhat-cloud-services/types';
2
- export declare const buildInsightsPath: (chrome: ChromeAPI, app: string, toProp: any) => any;
3
+ export declare const buildInsightsPath: (chrome: ChromeAPI, app: string, toProp: LinkProps['to'], forcePreview?: boolean) => LinkProps['to'];
@@ -12,10 +12,10 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.buildInsightsPath = void 0;
15
- var buildInsightsPath = function (chrome, app, toProp) {
15
+ var buildInsightsPath = function (chrome, app, toProp, forcePreview) {
16
16
  var inAppPath = (typeof toProp === 'object' ? toProp.pathname : toProp) || '';
17
17
  var isAbsolutePath = /^\//.test(inAppPath);
18
- var environmentPath = chrome.isBeta() ? '/preview' : '';
18
+ var environmentPath = forcePreview ? '/preview' : '';
19
19
  var appPath = app || chrome.getApp();
20
20
  var pathname = isAbsolutePath ? [environmentPath, chrome.getBundle(), appPath, inAppPath.replace(/^\//, '')].join('/') : inAppPath;
21
21
  return typeof toProp === 'object'
@@ -1 +1 @@
1
- {"version":3,"file":"urlPathHelpers.js","sourceRoot":"","sources":["../src/helpers/urlPathHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGO,IAAM,iBAAiB,GAAG,UAAC,MAAiB,EAAE,GAAW,EAAE,MAAW;IAC3E,IAAM,SAAS,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChF,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErI,OAAO,OAAO,MAAM,KAAK,QAAQ;QAC/B,CAAC,uBACM,MAAM,KACT,QAAQ,UAAA,IAEZ,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B"}
1
+ {"version":3,"file":"urlPathHelpers.js","sourceRoot":"","sources":["../src/helpers/urlPathHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIO,IAAM,iBAAiB,GAAG,UAAC,MAAiB,EAAE,GAAW,EAAE,MAAuB,EAAE,YAAsB;IAC/G,IAAM,SAAS,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChF,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;IACvD,IAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IACvC,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAG,SAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAGjJ,OAAO,OAAO,MAAM,KAAK,QAAQ;QAC/B,CAAC,uBACM,MAAM,KACT,QAAQ,UAAA,IAEZ,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,iBAAiB,qBAc5B"}
package/index.d.ts CHANGED
@@ -15,3 +15,4 @@ export { default as RowLoader } from './RowLoader';
15
15
  export { useInventory } from './useInventory';
16
16
  export * from './CypressUtils';
17
17
  export * from './useInsightsNavigate';
18
+ export * from './useExportPDF';
package/index.js CHANGED
@@ -56,4 +56,5 @@ var useInventory_1 = require("./useInventory");
56
56
  Object.defineProperty(exports, "useInventory", { enumerable: true, get: function () { return useInventory_1.useInventory; } });
57
57
  __exportStar(require("./CypressUtils"), exports);
58
58
  __exportStar(require("./useInsightsNavigate"), exports);
59
+ __exportStar(require("./useExportPDF"), exports);
59
60
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyD;AAAhD,6HAAA,OAAO,OAAoB;AACpC,qDAAqC;AACrC,+CAA0D;AAAjD,8HAAA,OAAO,OAAiB;AACjC,+DAA+C;AAC/C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,+CAA+B;AAC/B,uDAAuC;AACvC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,kEAAkD;AAClD,uCAA0D;AAAjD,8HAAA,OAAO,OAAqB;AACrC,6CAA2B;AAC3B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAA+B;AAC/B,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyD;AAAhD,6HAAA,OAAO,OAAoB;AACpC,qDAAqC;AACrC,+CAA0D;AAAjD,8HAAA,OAAO,OAAiB;AACjC,+DAA+C;AAC/C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,+CAA+B;AAC/B,uDAAuC;AACvC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,kEAAkD;AAClD,uCAA0D;AAAjD,8HAAA,OAAO,OAAqB;AACrC,6CAA2B;AAC3B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAA+B;AAC/B,wDAAsC;AACtC,iDAA+B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redhat-cloud-services/frontend-components-utilities",
3
- "version": "3.7.0",
3
+ "version": "3.7.2",
4
4
  "description": "Util functions for RedHat Cloud Services project.",
5
5
  "main": "index.js",
6
6
  "module": "esm/index.js",
@@ -0,0 +1,2 @@
1
+ export { default } from './useExportPDF';
2
+ export * from './useExportPDF';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ var useExportPDF_1 = require("./useExportPDF");
22
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(useExportPDF_1).default; } });
23
+ __exportStar(require("./useExportPDF"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/useExportPDF/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAAhC,wHAAA,OAAO,OAAA;AAChB,iDAA+B"}
@@ -0,0 +1 @@
1
+ {"main":"index.js","module":"../esm/useExportPDF/index.js","typings":"index.d.ts"}
@@ -0,0 +1,3 @@
1
+ export declare const pdfGeneratorURL: URL;
2
+ declare const usePDFExport: (service: string) => (template: string, filename: string, exportSettings: Record<string, unknown>) => Promise<void>;
3
+ export default usePDFExport;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pdfGeneratorURL = void 0;
40
+ var redux_1 = require("@redhat-cloud-services/frontend-components-notifications/redux");
41
+ var CRC_PDF_GENERATE_API = '/api/crc-pdf-generator/v1/generate';
42
+ exports.pdfGeneratorURL = new URL(CRC_PDF_GENERATE_API, window.location.origin);
43
+ var fetchPDF = function (service, template, params) {
44
+ return fetch(exports.pdfGeneratorURL, {
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ },
49
+ body: JSON.stringify({
50
+ service: service,
51
+ template: template,
52
+ params: params,
53
+ }),
54
+ }).then(function (response) { return response.blob(); });
55
+ };
56
+ var renderPDF = function (pdfBlob, fileName) {
57
+ if (fileName === void 0) { fileName = 'new-report'; }
58
+ var url = window.URL.createObjectURL(pdfBlob);
59
+ var a = document.createElement('a');
60
+ a.href = url;
61
+ a.download = fileName;
62
+ document.body.appendChild(a);
63
+ a.click();
64
+ a.remove();
65
+ };
66
+ var usePDFExport = function (service) {
67
+ var exportPDF = function (template, filename, exportSettings) { return __awaiter(void 0, void 0, void 0, function () {
68
+ var pdfBlob, e_1;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ (0, redux_1.addNotification)({
73
+ variant: 'info',
74
+ title: 'Preparing export',
75
+ description: 'Once complete, your download will start automatically.',
76
+ });
77
+ _a.label = 1;
78
+ case 1:
79
+ _a.trys.push([1, 3, , 4]);
80
+ return [4, fetchPDF(service, template, exportSettings)];
81
+ case 2:
82
+ pdfBlob = _a.sent();
83
+ renderPDF(pdfBlob, filename);
84
+ (0, redux_1.addNotification)({
85
+ variant: 'success',
86
+ title: 'Downloading export',
87
+ });
88
+ return [3, 4];
89
+ case 3:
90
+ e_1 = _a.sent();
91
+ (0, redux_1.addNotification)({
92
+ variant: 'danger',
93
+ title: 'Couldn’t download export',
94
+ description: 'Reinitiate this export to try again.',
95
+ });
96
+ return [3, 4];
97
+ case 4: return [2];
98
+ }
99
+ });
100
+ }); };
101
+ return exportPDF;
102
+ };
103
+ exports.default = usePDFExport;
104
+ //# sourceMappingURL=useExportPDF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExportPDF.js","sourceRoot":"","sources":["../src/useExportPDF/useExportPDF.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wFAAiG;AAEjG,IAAM,oBAAoB,GAAG,oCAAoC,CAAC;AACrD,QAAA,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrF,IAAM,QAAQ,GAAG,UAAC,OAAe,EAAE,QAAgB,EAAE,MAA+B;IAClF,OAAO,KAAK,CAAC,uBAAe,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QAED,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,SAAA;YACP,QAAQ,UAAA;YACR,MAAM,QAAA;SACP,CAAC;KACH,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAE,EAAf,CAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,OAAa,EAAE,QAAuB;IAAvB,yBAAA,EAAA,uBAAuB;IACvD,IAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,IAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,CAAC,CAAC;AAIF,IAAM,YAAY,GAAG,UAAC,OAAe;IACnC,IAAM,SAAS,GAAG,UAAO,QAAgB,EAAE,QAAgB,EAAE,cAAuC;;;;;oBAClG,IAAA,uBAAe,EAAC;wBACd,OAAO,EAAE,MAAM;wBACf,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,wDAAwD;qBACtE,CAAC,CAAC;;;;oBAEe,WAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAA;;oBAA3D,OAAO,GAAG,SAAiD;oBACjE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7B,IAAA,uBAAe,EAAC;wBACd,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,oBAAoB;qBAC5B,CAAC,CAAC;;;;oBAEH,IAAA,uBAAe,EAAC;wBACd,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,sCAAsC;qBACpD,CAAC,CAAC;;;;;SAEN,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
- declare const useInsightsNavigate: (app: string) => (to: any) => any;
1
+ import { LinkProps } from 'react-router-dom';
2
+ declare const useInsightsNavigate: (app: string, forcePreview?: boolean) => (to: LinkProps['to'], preview?: boolean) => any;
2
3
  export default useInsightsNavigate;
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_router_dom_1 = require("react-router-dom");
7
7
  var useChrome_1 = __importDefault(require("@redhat-cloud-services/frontend-components/useChrome"));
8
8
  var urlPathHelpers_1 = require("../helpers/urlPathHelpers");
9
- var useInsightsNavigate = function (app) {
9
+ var useInsightsNavigate = function (app, forcePreview) {
10
10
  var navigate = (0, react_router_dom_1.useNavigate)();
11
11
  var chrome = (0, useChrome_1.default)();
12
- return function (to) { return navigate((0, urlPathHelpers_1.buildInsightsPath)(chrome, app, to)); };
12
+ return function (to, preview) { return navigate((0, urlPathHelpers_1.buildInsightsPath)(chrome, app, to, preview || forcePreview)); };
13
13
  };
14
14
  exports.default = useInsightsNavigate;
15
15
  //# sourceMappingURL=useInsightsNavigate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInsightsNavigate.js","sourceRoot":"","sources":["../src/useInsightsNavigate/useInsightsNavigate.ts"],"names":[],"mappings":";;;;;AACA,qDAA+C;AAE/C,mGAA6E;AAC7E,4DAA8D;AAE9D,IAAM,mBAAmB,GAAG,UAAC,GAAW;IACtC,IAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAE3B,OAAO,UAAC,EAAO,IAAK,OAAA,QAAQ,CAAC,IAAA,kCAAiB,EAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAA5C,CAA4C,CAAC;AACnE,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"useInsightsNavigate.js","sourceRoot":"","sources":["../src/useInsightsNavigate/useInsightsNavigate.ts"],"names":[],"mappings":";;;;;AACA,qDAA0D;AAE1D,mGAA6E;AAC7E,4DAA8D;AAE9D,IAAM,mBAAmB,GAAG,UAAC,GAAW,EAAE,YAAsB;IAC9D,IAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAE3B,OAAO,UAAC,EAAmB,EAAE,OAAiB,IAAK,OAAA,QAAQ,CAAC,IAAA,kCAAiB,EAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,IAAI,YAAY,CAAC,CAAC,EAArE,CAAqE,CAAC;AAC3H,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}