@redhat-cloud-services/frontend-components-advisor-components 1.0.1 → 1.0.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.
- package/.eslintrc +3 -0
- package/README.md +14 -1
- package/ReportDetails/ReportDetails.css +47 -0
- package/ReportDetails/ReportDetails.d.ts +18 -0
- package/ReportDetails/ReportDetails.js +77 -0
- package/ReportDetails/ReportDetails.js.map +1 -0
- package/ReportDetails/ReportDetails.scss +53 -0
- package/ReportDetails/index.d.ts +2 -0
- package/ReportDetails/index.js +20 -0
- package/ReportDetails/index.js.map +1 -0
- package/ReportDetails/package.json +1 -0
- package/RuleDescription/RuleDescription.js.map +1 -1
- package/RuleDetails/RuleDetails.d.ts +19 -18
- package/RuleDetails/RuleDetails.js +14 -13
- package/RuleDetails/RuleDetails.js.map +1 -1
- package/RuleRating/RuleRating.d.ts +1 -0
- package/RuleRating/RuleRating.js +3 -1
- package/RuleRating/RuleRating.js.map +1 -1
- package/TemplateProcessor/TemplateProcessor.d.ts +8 -0
- package/TemplateProcessor/TemplateProcessor.js +66 -0
- package/TemplateProcessor/TemplateProcessor.js.map +1 -0
- package/TemplateProcessor/index.d.ts +2 -0
- package/TemplateProcessor/index.js +20 -0
- package/TemplateProcessor/index.js.map +1 -0
- package/TemplateProcessor/package.json +1 -0
- package/common.d.ts +4 -0
- package/common.js +9 -1
- package/common.js.map +1 -1
- package/cypress/cypress.webpack.config.js +32 -0
- package/cypress/fixtures/messages.json +16 -0
- package/cypress/fixtures/report.json +39 -0
- package/cypress/fixtures/rule.json +18 -0
- package/cypress/plugins/index.js +32 -0
- package/cypress/support/commands.js +25 -0
- package/cypress/support/index.js +21 -0
- package/cypress.json +9 -0
- package/esm/ReportDetails/ReportDetails.css +47 -0
- package/esm/ReportDetails/ReportDetails.js +56 -0
- package/esm/ReportDetails/ReportDetails.js.map +1 -0
- package/esm/ReportDetails/ReportDetails.scss +53 -0
- package/esm/ReportDetails/index.js +3 -0
- package/esm/ReportDetails/index.js.map +1 -0
- package/esm/RuleDescription/RuleDescription.js.map +1 -1
- package/esm/RuleDetails/RuleDetails.js +14 -13
- package/esm/RuleDetails/RuleDetails.js.map +1 -1
- package/esm/RuleRating/RuleRating.js +2 -1
- package/esm/RuleRating/RuleRating.js.map +1 -1
- package/esm/TemplateProcessor/TemplateProcessor.js +42 -0
- package/esm/TemplateProcessor/TemplateProcessor.js.map +1 -0
- package/esm/TemplateProcessor/index.js +3 -0
- package/esm/TemplateProcessor/index.js.map +1 -0
- package/esm/common.js +7 -0
- package/esm/common.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +14 -1
- package/types.d.ts +3 -3
package/.eslintrc
ADDED
package/README.md
CHANGED
|
@@ -16,7 +16,20 @@ yarn add @redhat-cloud-services/frontend-components
|
|
|
16
16
|
|
|
17
17
|
This package is dependent on [@redhat-cloud-services/frontend-components](https://www.npmjs.com/package/@redhat-cloud-services/frontend-components) and it will automatically install it trough direct dependencies.
|
|
18
18
|
|
|
19
|
+
## Testing
|
|
20
|
+
|
|
21
|
+
Run cypress component tests in terminal:
|
|
22
|
+
```bash
|
|
23
|
+
npx cypress run-ct
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Run cypress components tests in the interactive (window) mode:
|
|
27
|
+
```bash
|
|
28
|
+
npx cypress open-ct
|
|
29
|
+
```
|
|
30
|
+
|
|
19
31
|
## Documentation Links
|
|
20
32
|
|
|
21
33
|
* Components
|
|
22
|
-
* [RuleDetails](doc/ruleDetails.md)
|
|
34
|
+
* [RuleDetails](doc/ruleDetails.md)
|
|
35
|
+
* [ReportDetails](doc/reportDetails.md)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.ins-c-report-details__cards-stack pre {
|
|
2
|
+
display: block;
|
|
3
|
+
color: var(--pf-global--Color--100);
|
|
4
|
+
word-break: break-all;
|
|
5
|
+
word-wrap: break-word;
|
|
6
|
+
background-color: var(--pf-global--BackgroundColor--light-200);
|
|
7
|
+
border: 1px solid var(--pf-global--BorderColor--100);
|
|
8
|
+
border-radius: 4px;
|
|
9
|
+
padding: 10px;
|
|
10
|
+
padding: 0.625rem;
|
|
11
|
+
margin: 10px 0px;
|
|
12
|
+
margin: 0.625rem 0rem;
|
|
13
|
+
}
|
|
14
|
+
.ins-c-report-details__cards-stack pre code {
|
|
15
|
+
white-space: pre-wrap;
|
|
16
|
+
}
|
|
17
|
+
.ins-c-report-details__cards-stack ol {
|
|
18
|
+
margin-top: 10px;
|
|
19
|
+
margin-top: 0.625rem;
|
|
20
|
+
margin-left: 15px;
|
|
21
|
+
margin-left: 0.9375rem;
|
|
22
|
+
}
|
|
23
|
+
.ins-c-report-details__cards-stack pre + p,
|
|
24
|
+
.ins-c-report-details__cards-stack pre + ul {
|
|
25
|
+
margin-top: 10px;
|
|
26
|
+
margin-top: 0.625rem;
|
|
27
|
+
}
|
|
28
|
+
.ins-c-report-details__cards-stack .pf-c-list {
|
|
29
|
+
margin: 5px 0px;
|
|
30
|
+
margin: 0.3125rem 0rem;
|
|
31
|
+
}
|
|
32
|
+
.ins-c-report-details__cards-stack table {
|
|
33
|
+
width: 100%;
|
|
34
|
+
margin-top: 10px;
|
|
35
|
+
margin-top: 0.625rem;
|
|
36
|
+
}
|
|
37
|
+
.ins-c-report-details__cards-stack table tr {
|
|
38
|
+
border-bottom: 1px solid var(--pf-global--BorderColor--300);
|
|
39
|
+
}
|
|
40
|
+
.ins-c-report-details__cards-stack table th,
|
|
41
|
+
.ins-c-report-details__cards-stack table td {
|
|
42
|
+
padding: 8px;
|
|
43
|
+
padding: 0.5rem;
|
|
44
|
+
}
|
|
45
|
+
.ins-c-report-details__icon {
|
|
46
|
+
margin-right: var(--pf-global--spacer--sm);
|
|
47
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import './ReportDetails.scss';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { RuleContentOcp, RuleContentRhel } from '../types';
|
|
4
|
+
interface Report {
|
|
5
|
+
rule: RuleContentRhel | RuleContentOcp;
|
|
6
|
+
details: Record<string, string | number>;
|
|
7
|
+
resolution: string;
|
|
8
|
+
}
|
|
9
|
+
interface ReportDetailsProps {
|
|
10
|
+
report: Report;
|
|
11
|
+
kbaDetail: {
|
|
12
|
+
publishedTitle: string;
|
|
13
|
+
view_uri: string;
|
|
14
|
+
};
|
|
15
|
+
kbaLoading: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const ReportDetails: React.FC<ReportDetailsProps>;
|
|
18
|
+
export default ReportDetails;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
require("./ReportDetails.scss");
|
|
23
|
+
var react_1 = __importStar(require("react"));
|
|
24
|
+
var react_core_1 = require("@patternfly/react-core");
|
|
25
|
+
var react_icons_1 = require("@patternfly/react-icons");
|
|
26
|
+
var Skeleton_1 = require("@redhat-cloud-services/frontend-components/Skeleton");
|
|
27
|
+
var TemplateProcessor_1 = require("../TemplateProcessor");
|
|
28
|
+
var common_1 = require("../common");
|
|
29
|
+
var ReportDetails = function (_a) {
|
|
30
|
+
var report = _a.report, kbaDetail = _a.kbaDetail, kbaLoading = _a.kbaLoading;
|
|
31
|
+
var rule = report.rule, details = report.details, resolution = report.resolution;
|
|
32
|
+
var _b = (0, react_1.useState)(null), error = _b[0], setError = _b[1];
|
|
33
|
+
var handleError = function (e) {
|
|
34
|
+
if (error === null) {
|
|
35
|
+
setError(e);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return (react_1.default.createElement(react_core_1.Card, { className: "ins-c-report-details", style: { boxShadow: 'none' } },
|
|
39
|
+
react_1.default.createElement(react_core_1.CardBody, null,
|
|
40
|
+
error && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
41
|
+
react_1.default.createElement(react_core_1.Alert, { variant: "danger", title: "Sorry, there was an error rendering the content correctly.", isInline: true }),
|
|
42
|
+
react_1.default.createElement("br", null))),
|
|
43
|
+
react_1.default.createElement(react_core_1.Stack, { className: "ins-c-report-details__cards-stack", "widget-type": "InsightsRulesCard", hasGutter: true },
|
|
44
|
+
react_1.default.createElement(react_core_1.StackItem, null,
|
|
45
|
+
react_1.default.createElement(react_core_1.Card, { isCompact: true, isPlain: true },
|
|
46
|
+
react_1.default.createElement(react_core_1.CardHeader, null,
|
|
47
|
+
react_1.default.createElement(react_icons_1.BullseyeIcon, { className: "ins-c-report-details__icon" }),
|
|
48
|
+
react_1.default.createElement("strong", null, "Detected issues")),
|
|
49
|
+
react_1.default.createElement(react_core_1.CardBody, null, rule.reason && react_1.default.createElement(TemplateProcessor_1.TemplateProcessor, { template: rule.reason, definitions: details, onError: handleError })))),
|
|
50
|
+
react_1.default.createElement(react_core_1.Divider, null),
|
|
51
|
+
react_1.default.createElement(react_core_1.StackItem, null,
|
|
52
|
+
react_1.default.createElement(react_core_1.Card, { isCompact: true, isPlain: true },
|
|
53
|
+
react_1.default.createElement(react_core_1.CardHeader, null,
|
|
54
|
+
react_1.default.createElement(react_icons_1.ThumbsUpIcon, { className: "ins-c-report-details__icon" }),
|
|
55
|
+
react_1.default.createElement("strong", null, "Steps to resolve")),
|
|
56
|
+
react_1.default.createElement(react_core_1.CardBody, null, resolution && react_1.default.createElement(TemplateProcessor_1.TemplateProcessor, { template: resolution, definitions: details, onError: handleError })))),
|
|
57
|
+
rule.node_id && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
58
|
+
react_1.default.createElement(react_core_1.Divider, null),
|
|
59
|
+
react_1.default.createElement(react_core_1.StackItem, null,
|
|
60
|
+
react_1.default.createElement(react_core_1.Card, { className: "ins-c-report-details__kba", isCompact: true, isPlain: true },
|
|
61
|
+
react_1.default.createElement(react_core_1.CardHeader, null,
|
|
62
|
+
react_1.default.createElement(react_icons_1.LightbulbIcon, { className: "ins-c-report-details__icon" }),
|
|
63
|
+
react_1.default.createElement("strong", null, "Related Knowledgebase article")),
|
|
64
|
+
react_1.default.createElement(react_core_1.CardBody, null, kbaLoading ? (react_1.default.createElement(Skeleton_1.Skeleton, { size: Skeleton_1.SkeletonSize.sm })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
65
|
+
react_1.default.createElement(common_1.ExternalLink, { href: "".concat(kbaDetail.view_uri), content: kbaDetail.publishedTitle ? kbaDetail.publishedTitle : "Knowledgebase article" }),
|
|
66
|
+
"."))))))),
|
|
67
|
+
rule.more_info && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
68
|
+
react_1.default.createElement(react_core_1.Divider, null),
|
|
69
|
+
react_1.default.createElement(react_core_1.StackItem, null,
|
|
70
|
+
react_1.default.createElement(react_core_1.Card, { isCompact: true, isPlain: true },
|
|
71
|
+
react_1.default.createElement(react_core_1.CardHeader, null,
|
|
72
|
+
react_1.default.createElement(react_icons_1.InfoCircleIcon, { className: "ins-c-report-details__icon" }),
|
|
73
|
+
react_1.default.createElement("strong", null, "Additional info")),
|
|
74
|
+
react_1.default.createElement(react_core_1.CardBody, null, react_1.default.createElement(TemplateProcessor_1.TemplateProcessor, { template: rule.more_info, definitions: details, onError: handleError }))))))))));
|
|
75
|
+
};
|
|
76
|
+
exports.default = ReportDetails;
|
|
77
|
+
//# sourceMappingURL=ReportDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportDetails.js","sourceRoot":"","sources":["../src/ReportDetails/ReportDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
@import '~@redhat-cloud-services/frontend-components-utilities/styles/_mixins';
|
|
2
|
+
|
|
3
|
+
.ins-c-report-details {
|
|
4
|
+
&__cards-stack {
|
|
5
|
+
pre {
|
|
6
|
+
display: block;
|
|
7
|
+
color: var(--pf-global--Color--100);
|
|
8
|
+
word-break: break-all;
|
|
9
|
+
word-wrap: break-word;
|
|
10
|
+
background-color: var(--pf-global--BackgroundColor--light-200);
|
|
11
|
+
border: 1px solid var(--pf-global--BorderColor--100);
|
|
12
|
+
border-radius: 4px;
|
|
13
|
+
@include rem('padding', 10px);
|
|
14
|
+
@include rem('margin', (10px, 0));
|
|
15
|
+
|
|
16
|
+
code {
|
|
17
|
+
white-space: pre-wrap;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ol {
|
|
22
|
+
@include rem('margin-top', 10px);
|
|
23
|
+
@include rem('margin-left', 15px);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
pre + p,
|
|
27
|
+
pre + ul {
|
|
28
|
+
@include rem('margin-top', 10px);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.pf-c-list {
|
|
32
|
+
@include rem('margin', 5px 0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
table {
|
|
36
|
+
width: 100%;
|
|
37
|
+
@include rem('margin-top', 10px);
|
|
38
|
+
|
|
39
|
+
tr {
|
|
40
|
+
border-bottom: 1px solid var(--pf-global--BorderColor--300);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
th,
|
|
44
|
+
td {
|
|
45
|
+
@include rem('padding', 8px);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&__icon {
|
|
51
|
+
margin-right: var(--pf-global--spacer--sm);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ReportDetails = void 0;
|
|
17
|
+
__exportStar(require("./ReportDetails"), exports);
|
|
18
|
+
var ReportDetails_1 = require("./ReportDetails");
|
|
19
|
+
Object.defineProperty(exports, "ReportDetails", { enumerable: true, get: function () { return __importDefault(ReportDetails_1).default; } });
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ReportDetails/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/ReportDetails/index.js","typings":"index.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleDescription.js","sourceRoot":"","sources":["../src/RuleDescription/RuleDescription.tsx"],"names":[],"mappings":";;;;;AAAA,kCAAgC;AAEhC,gDAA0B;AAC1B,kEAAsC;AACtC,0DAAmC;AACnC,oEAA6C;AAE7C,kCAA2E;AAQ3E,IAAM,eAAe,GAAmC,UAAC,EAAgC;QAA9B,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,aAAa,mBAAA;IAAO,OAAA,CAC5F,8BAAC,eAAK,CAAC,QAAQ,QACZ,CAAC,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"RuleDescription.js","sourceRoot":"","sources":["../src/RuleDescription/RuleDescription.tsx"],"names":[],"mappings":";;;;;AAAA,kCAAgC;AAEhC,gDAA0B;AAC1B,kEAAsC;AACtC,0DAAmC;AACnC,oEAA6C;AAE7C,kCAA2E;AAQ3E,IAAM,eAAe,GAAmC,UAAC,EAAgC;QAA9B,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,aAAa,mBAAA;IAAO,OAAA,CAC5F,8BAAC,eAAK,CAAC,QAAQ,QACZ,CAAC,IAAI,CAAC,OAAO,IAAK,IAAwB,CAAC,OAAO,CAAC,IAAI,CACtD,wCAAM,SAAS,EAAE,OAAO,KAAK,sBAAc,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE;QAC/F,8BAAC,wBAAQ,IAAC,aAAa,EAAE,CAAC,oBAAS,EAAE,yBAAc,CAAC,IACjD,OAAO,KAAK,sBAAc,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,IAAwB,CAAC,OAAO,CAC1F,CACN,CACR,CACc,CAClB;AAV6F,CAU7F,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import './RuleDetails.scss';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { AdvisorProduct, Rating, RuleContentOcp, RuleContentRhel, TopicRhel } from '../types';
|
|
4
|
+
export declare type Message = React.ReactNode;
|
|
4
5
|
export declare type RuleDetailsMessages = {
|
|
5
|
-
systemReboot:
|
|
6
|
-
viewAffectedSystems?:
|
|
7
|
-
viewAffectedClusters?:
|
|
8
|
-
knowledgebaseArticle:
|
|
9
|
-
topicRelatedToRule:
|
|
10
|
-
totalRisk:
|
|
11
|
-
rulesDetailsTotalRiskBody:
|
|
12
|
-
likelihoodLevel:
|
|
13
|
-
likelihoodDescription:
|
|
14
|
-
impactLevel:
|
|
15
|
-
impactDescription:
|
|
16
|
-
riskOfChange:
|
|
17
|
-
riskOfChangeText:
|
|
18
|
-
riskOfChangeLabel:
|
|
19
|
-
ruleHelpful:
|
|
20
|
-
feedbackThankYou:
|
|
6
|
+
systemReboot: Message;
|
|
7
|
+
viewAffectedSystems?: Message;
|
|
8
|
+
viewAffectedClusters?: Message;
|
|
9
|
+
knowledgebaseArticle: Message;
|
|
10
|
+
topicRelatedToRule: Message;
|
|
11
|
+
totalRisk: Message;
|
|
12
|
+
rulesDetailsTotalRiskBody: Message;
|
|
13
|
+
likelihoodLevel: Message;
|
|
14
|
+
likelihoodDescription: Message;
|
|
15
|
+
impactLevel: Message;
|
|
16
|
+
impactDescription: Message;
|
|
17
|
+
riskOfChange: Message;
|
|
18
|
+
riskOfChangeText: Message;
|
|
19
|
+
riskOfChangeLabel: Message;
|
|
20
|
+
ruleHelpful: Message;
|
|
21
|
+
feedbackThankYou: Message;
|
|
21
22
|
};
|
|
22
|
-
interface RuleDetailsProps {
|
|
23
|
+
export interface RuleDetailsProps {
|
|
23
24
|
messages: RuleDetailsMessages;
|
|
24
25
|
product: AdvisorProduct;
|
|
25
26
|
rule: RuleContentOcp | RuleContentRhel;
|
|
@@ -27,7 +28,7 @@ interface RuleDetailsProps {
|
|
|
27
28
|
resolutionRiskDesc?: string;
|
|
28
29
|
header?: React.ReactNode;
|
|
29
30
|
isDetailsPage: boolean;
|
|
30
|
-
topics
|
|
31
|
+
topics?: TopicRhel[];
|
|
31
32
|
onVoteClick?: (ruleId: string, calculatedRating: Rating) => unknown;
|
|
32
33
|
showViewAffected?: boolean;
|
|
33
34
|
linkComponent?: any;
|
|
@@ -17,23 +17,24 @@ var ViewAffectedLink_1 = require("../ViewAffectedLink");
|
|
|
17
17
|
var RuleDescription_1 = require("../RuleDescription");
|
|
18
18
|
var RuleDetails = function (_a) {
|
|
19
19
|
var messages = _a.messages, product = _a.product, header = _a.header, rule = _a.rule, isDetailsPage = _a.isDetailsPage, topics = _a.topics, onVoteClick = _a.onVoteClick, showViewAffected = _a.showViewAffected, resolutionRisk = _a.resolutionRisk, resolutionRiskDesc = _a.resolutionRiskDesc, children = _a.children, Link = _a.linkComponent, knowledgebaseUrl = _a.knowledgebaseUrl;
|
|
20
|
-
return (react_1.default.createElement(react_core_1.Flex, { flexWrap: { default: 'nowrap' }, direction: { default: isDetailsPage ? 'column' : 'columnReverse', lg: 'row' } },
|
|
20
|
+
return (react_1.default.createElement(react_core_1.Flex, { className: "ins-c-rule-details", flexWrap: { default: 'nowrap' }, direction: { default: isDetailsPage ? 'column' : 'columnReverse', lg: 'row' } },
|
|
21
21
|
react_1.default.createElement(react_core_1.FlexItem, null,
|
|
22
22
|
react_1.default.createElement(react_core_1.Stack, { hasGutter: true },
|
|
23
|
-
header && react_1.default.createElement(react_core_1.StackItem,
|
|
24
|
-
react_1.default.createElement(react_core_1.StackItem,
|
|
23
|
+
header && react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__header" }, header),
|
|
24
|
+
react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__description" },
|
|
25
25
|
react_1.default.createElement(RuleDescription_1.RuleDescription, { product: product, rule: rule, isDetailsPage: isDetailsPage })),
|
|
26
|
-
knowledgebaseUrl && (react_1.default.createElement(react_core_1.StackItem,
|
|
26
|
+
knowledgebaseUrl && (react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__kbs" },
|
|
27
27
|
react_1.default.createElement("a", { rel: "noopener noreferrer", target: "_blank", href: knowledgebaseUrl },
|
|
28
28
|
messages.knowledgebaseArticle,
|
|
29
29
|
"\u00A0",
|
|
30
30
|
react_1.default.createElement(react_icons_1.ExternalLinkAltIcon, { size: "sm" })))),
|
|
31
|
-
topics && rule.tags && (0, common_1.topicLinks)(rule, topics, Link).length > 0 && (react_1.default.createElement(react_core_1.StackItem,
|
|
31
|
+
topics && rule.tags && (0, common_1.topicLinks)(rule, topics, Link).length > 0 && (react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__topics" },
|
|
32
32
|
react_1.default.createElement("strong", null, messages.topicRelatedToRule),
|
|
33
33
|
react_1.default.createElement("br", null),
|
|
34
34
|
(0, common_1.barDividedList)((0, common_1.topicLinks)(rule, topics, Link)))),
|
|
35
|
-
isDetailsPage && onVoteClick && react_1.default.createElement(
|
|
36
|
-
|
|
35
|
+
isDetailsPage && onVoteClick && (react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__vote" },
|
|
36
|
+
react_1.default.createElement(RuleRating_1.default, { messages: messages, ruleId: rule.rule_id, ruleRating: rule.rating, onVoteClick: onVoteClick }))),
|
|
37
|
+
!isDetailsPage && showViewAffected && Link && (react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__view-affected" },
|
|
37
38
|
react_1.default.createElement(ViewAffectedLink_1.ViewAffectedLink, { messages: messages, rule: rule, product: product, linkComponent: Link }))))),
|
|
38
39
|
react_1.default.createElement(react_core_1.FlexItem, { align: { lg: 'alignRight' } },
|
|
39
40
|
react_1.default.createElement(react_core_1.Stack, null,
|
|
@@ -44,11 +45,11 @@ var RuleDetails = function (_a) {
|
|
|
44
45
|
react_1.default.createElement("strong", null, messages.totalRisk)),
|
|
45
46
|
react_1.default.createElement(react_core_1.FlexItem, null,
|
|
46
47
|
react_1.default.createElement(react_core_1.Flex, { flexWrap: { default: 'nowrap' } },
|
|
47
|
-
react_1.default.createElement(react_core_1.FlexItem,
|
|
48
|
+
react_1.default.createElement(react_core_1.FlexItem, { className: "ins-c-rule-details__total-risk" },
|
|
48
49
|
react_1.default.createElement(InsightsLabel_1.default, { value: rule.total_risk, isCompact: true, className: "pf-m-compact", rest: {} })),
|
|
49
|
-
react_1.default.createElement(react_core_1.FlexItem,
|
|
50
|
+
react_1.default.createElement(react_core_1.FlexItem, null,
|
|
50
51
|
react_1.default.createElement(react_core_1.Stack, { hasGutter: true },
|
|
51
|
-
react_1.default.createElement(react_core_1.StackItem,
|
|
52
|
+
react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__total-risk-body" },
|
|
52
53
|
react_1.default.createElement(react_core_1.TextContent, null,
|
|
53
54
|
react_1.default.createElement(react_core_1.Text, { component: react_core_1.TextVariants.p }, messages.rulesDetailsTotalRiskBody))),
|
|
54
55
|
react_1.default.createElement(react_core_1.Stack, null,
|
|
@@ -63,13 +64,13 @@ var RuleDetails = function (_a) {
|
|
|
63
64
|
react_1.default.createElement(react_core_1.FlexItem, { className: "pf-u-display-inline-flex alignCenterOverride pf-u-pb-sm pf-u-pt-sm" },
|
|
64
65
|
react_1.default.createElement(react_core_1.Flex, { flexWrap: { default: 'nowrap' } },
|
|
65
66
|
react_1.default.createElement(react_core_1.FlexItem, null,
|
|
66
|
-
react_1.default.createElement(InsightsLabel_1.default, { text: messages.riskOfChangeLabel, value: resolutionRisk, hideIcon: true, className: "pf-m-compact", rest: {} })),
|
|
67
|
-
react_1.default.createElement(react_core_1.FlexItem, { className: "ins-c-
|
|
67
|
+
react_1.default.createElement(InsightsLabel_1.default, { text: messages.riskOfChangeLabel, value: resolutionRisk, hideIcon: true, className: "ins-c-rule-details__risk-of-ch-label pf-m-compact", rest: {} })),
|
|
68
|
+
react_1.default.createElement(react_core_1.FlexItem, { className: "ins-c-rule-details__risk-of-ch-desc" },
|
|
68
69
|
react_1.default.createElement(react_core_1.Stack, { hasGutter: true },
|
|
69
70
|
react_1.default.createElement(react_core_1.StackItem, null,
|
|
70
71
|
react_1.default.createElement(react_core_1.TextContent, null,
|
|
71
72
|
react_1.default.createElement(react_core_1.Text, { component: react_core_1.TextVariants.p }, resolutionRiskDesc))),
|
|
72
|
-
product === types_1.AdvisorProduct.rhel && (react_1.default.createElement(react_core_1.StackItem,
|
|
73
|
+
product === types_1.AdvisorProduct.rhel && (react_1.default.createElement(react_core_1.StackItem, { className: "ins-c-rule-details__reboot" },
|
|
73
74
|
react_1.default.createElement(RebootRequired_1.default, { messages: messages, rebootRequired: rule.reboot_required })))))))))))))));
|
|
74
75
|
};
|
|
75
76
|
exports.default = RuleDetails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleDetails.js","sourceRoot":"","sources":["../src/RuleDetails/RuleDetails.tsx"],"names":[],"mappings":";;;;;AAAA,8BAA4B;AAE5B,gDAA0B;AAE1B,qDAA2G;AAC3G,uDAA8D;AAE9D,2GAAqF;AACrF,+FAA8F;AAE9F,oFAA8D;AAC9D,wEAAkD;AAClD,oCAAuD;AACvD,kCAA8F;AAC9F,wDAAuD;AACvD,sDAAqD;
|
|
1
|
+
{"version":3,"file":"RuleDetails.js","sourceRoot":"","sources":["../src/RuleDetails/RuleDetails.tsx"],"names":[],"mappings":";;;;;AAAA,8BAA4B;AAE5B,gDAA0B;AAE1B,qDAA2G;AAC3G,uDAA8D;AAE9D,2GAAqF;AACrF,+FAA8F;AAE9F,oFAA8D;AAC9D,wEAAkD;AAClD,oCAAuD;AACvD,kCAA8F;AAC9F,wDAAuD;AACvD,sDAAqD;AA4CrD,IAAM,WAAW,GAA+B,UAAC,EAchD;QAbC,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,EACd,kBAAkB,wBAAA,EAClB,QAAQ,cAAA,EACO,IAAI,mBAAA,EACnB,gBAAgB,sBAAA;IACZ,OAAA,CACJ,8BAAC,iBAAI,IACH,SAAS,EAAC,oBAAoB,EAC9B,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC/B,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE;QAE7E,8BAAC,qBAAQ;YACP,8BAAC,kBAAK,IAAC,SAAS;gBACb,MAAM,IAAI,8BAAC,sBAAS,IAAC,SAAS,EAAC,4BAA4B,IAAE,MAAM,CAAa;gBACjF,8BAAC,sBAAS,IAAC,SAAS,EAAC,iCAAiC;oBACpD,8BAAC,iCAAe,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAI,CACrE;gBACX,gBAAgB,IAAI,CACnB,8BAAC,sBAAS,IAAC,SAAS,EAAC,yBAAyB;oBAC5C,qCAAG,GAAG,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAE,gBAAgB;wBAChE,QAAQ,CAAC,oBAAoB;;wBAC9B,8BAAC,iCAAmB,IAAC,IAAI,EAAC,IAAI,GAAG,CAC/B,CACM,CACb;gBACA,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAA,mBAAU,EAAC,IAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACtF,8BAAC,sBAAS,IAAC,SAAS,EAAC,4BAA4B;oBAC/C,8CAAS,QAAQ,CAAC,kBAAkB,CAAU;oBAC9C,yCAAM;oBACL,IAAA,uBAAc,EAAC,IAAA,mBAAU,EAAC,IAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CACxD,CACb;gBACA,aAAa,IAAI,WAAW,IAAI,CAC/B,8BAAC,sBAAS,IAAC,SAAS,EAAC,0BAA0B;oBAC7C,8BAAC,oBAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,CACjG,CACb;gBACA,CAAC,aAAa,IAAI,gBAAgB,IAAI,IAAI,IAAI,CAC7C,8BAAC,sBAAS,IAAC,SAAS,EAAC,mCAAmC;oBACtD,8BAAC,mCAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,GAAI,CACjF,CACb,CACK,CACC;QACX,8BAAC,qBAAQ,IAAC,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;YACnC,8BAAC,kBAAK;gBACH,QAAQ,IAAI,8BAAC,sBAAS,QAAE,QAAQ,CAAa;gBAC9C,8BAAC,sBAAS;oBACR,8BAAC,iBAAI,IAAC,SAAS,EAAC,2BAA2B,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;wBAC1E,8BAAC,qBAAQ,IAAC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;4BACvC,8CAAS,QAAQ,CAAC,SAAS,CAAU,CAC5B;wBACX,8BAAC,qBAAQ;4BACP,8BAAC,iBAAI,IAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;gCACnC,8BAAC,qBAAQ,IAAC,SAAS,EAAC,gCAAgC;oCAElD,8BAAC,uBAAa,IAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,QAAC,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,EAAE,GAAI,CAC7E;gCACX,8BAAC,qBAAQ;oCACP,8BAAC,kBAAK,IAAC,SAAS;wCACd,8BAAC,sBAAS,IAAC,SAAS,EAAC,qCAAqC;4CACxD,8BAAC,wBAAW;gDACV,8BAAC,iBAAI,IAAC,SAAS,EAAE,yBAAY,CAAC,CAAC,IAAG,QAAQ,CAAC,yBAAyB,CAAQ,CAChE,CACJ;wCACZ,8BAAC,kBAAK;4CACJ,8BAAC,sBAAS;gDACR,8BAAC,2BAAY,IACX,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,CAAC,eAAe,EAC/B,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,cAAc,EAAE,QAAQ,CAAC,qBAAqB,GAC9C,CACQ;4CACZ,8BAAC,sBAAS;gDACR,8BAAC,2BAAY,IACX,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,CAAC,WAAW,EAC3B,KAAK,EAAG,IAAwB,CAAC,MAAM,CAAC,MAAM,EAC9C,cAAc,EAAE,QAAQ,CAAC,iBAAiB,GAC1C,CACQ,CACN,CACF,CACC,CACN,CACE;wBACV,cAAc,IAAI,kBAAkB,IAAI,CACvC,8BAAC,eAAK,CAAC,QAAQ;4BACb,wCAAM,SAAS,EAAC,YAAY,GAAG;4BAC/B,8BAAC,qBAAQ,IAAC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;gCACvC,8CAAS,QAAQ,CAAC,YAAY,CAAU,CAC/B;4BACX,8BAAC,qBAAQ,IAAC,SAAS,EAAE,oEAAoE;gCACvF,8BAAC,iBAAI,IAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;oCACnC,8BAAC,qBAAQ;wCAEP,8BAAC,uBAAa,IACZ,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAChC,KAAK,EAAE,cAAc,EACrB,QAAQ,QACR,SAAS,EAAC,mDAAmD,EAC7D,IAAI,EAAE,EAAE,GACR,CACO;oCACX,8BAAC,qBAAQ,IAAC,SAAS,EAAC,qCAAqC;wCACvD,8BAAC,kBAAK,IAAC,SAAS;4CACd,8BAAC,sBAAS;gDACR,8BAAC,wBAAW;oDACV,8BAAC,iBAAI,IAAC,SAAS,EAAE,yBAAY,CAAC,CAAC,IAAG,kBAAkB,CAAQ,CAChD,CACJ;4CACX,OAAO,KAAK,sBAAc,CAAC,IAAI,IAAI,CAClC,8BAAC,sBAAS,IAAC,SAAS,EAAC,4BAA4B;gDAC/C,8BAAC,wBAAc,IAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAG,IAAwB,CAAC,eAAe,GAAI,CACvF,CACb,CACK,CACC,CACN,CACE,CACI,CAClB,CACI,CACG,CACN,CACC,CACN,CACR;AA3HK,CA2HL,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -2,6 +2,7 @@ import './RuleRating.scss';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Rating } from '../types';
|
|
4
4
|
import { RuleDetailsMessages } from '../RuleDetails/RuleDetails';
|
|
5
|
+
export declare const DEBOUNCE_TIMEOUT = 2000;
|
|
5
6
|
interface RuleRatingProps {
|
|
6
7
|
ruleId: string;
|
|
7
8
|
ruleRating: Rating;
|
package/RuleRating/RuleRating.js
CHANGED
|
@@ -22,11 +22,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.DEBOUNCE_TIMEOUT = void 0;
|
|
25
26
|
require("./RuleRating.scss");
|
|
26
27
|
var react_1 = __importStar(require("react"));
|
|
27
28
|
var debounce_1 = __importDefault(require("lodash/debounce"));
|
|
28
29
|
var react_core_1 = require("@patternfly/react-core");
|
|
29
30
|
var react_icons_1 = require("@patternfly/react-icons");
|
|
31
|
+
exports.DEBOUNCE_TIMEOUT = 2000;
|
|
30
32
|
var RuleRating = function (_a) {
|
|
31
33
|
var messages = _a.messages, ruleId = _a.ruleId, ruleRating = _a.ruleRating, onVoteClick = _a.onVoteClick;
|
|
32
34
|
var _b = (0, react_1.useState)(ruleRating), rating = _b[0], setRating = _b[1];
|
|
@@ -34,7 +36,7 @@ var RuleRating = function (_a) {
|
|
|
34
36
|
var triggerCallback = (0, react_1.useCallback)((0, debounce_1.default)(function (calculatedRating) {
|
|
35
37
|
onVoteClick(ruleId, calculatedRating);
|
|
36
38
|
setSubmitted(false);
|
|
37
|
-
},
|
|
39
|
+
}, exports.DEBOUNCE_TIMEOUT), []);
|
|
38
40
|
var updateRuleRating = function (newRating) {
|
|
39
41
|
var calculatedRating = rating === newRating ? 0 : newRating;
|
|
40
42
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleRating.js","sourceRoot":"","sources":["../src/RuleRating/RuleRating.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuleRating.js","sourceRoot":"","sources":["../src/RuleRating/RuleRating.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA2B;AAE3B,6CAAqD;AACrD,6DAAuC;AAEvC,qDAAgD;AAChD,uDAAqH;AAKxG,QAAA,gBAAgB,GAAG,IAAI,CAAC;AASrC,IAAM,UAAU,GAA8B,UAAC,EAA6C;QAA3C,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA,EAAE,WAAW,iBAAA;IAClF,IAAA,KAAsB,IAAA,gBAAQ,EAAC,UAAU,CAAC,EAAzC,MAAM,QAAA,EAAE,SAAS,QAAwB,CAAC;IAC3C,IAAA,KAA4B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAElD,IAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,IAAA,kBAAQ,EAAC,UAAC,gBAAgB;QACxB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACtC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,wBAAgB,CAAC,EACpB,EAAE,CACH,CAAC;IAEF,IAAM,gBAAgB,GAAG,UAAC,SAAiB;QACzC,IAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9D,IAAI;YACF,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wCAAM,SAAS,EAAC,oBAAoB;QACjC,QAAQ,CAAC,WAAW;QACrB,8BAAC,mBAAM,IAAC,OAAO,EAAC,OAAO,gBAAY,WAAW,EAAC,OAAO,EAAE,cAAM,OAAA,gBAAgB,CAAC,CAAC,CAAC,EAAnB,CAAmB,EAAE,MAAM,EAAC,UAAU,IACjG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,8BAAC,0BAAY,IAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,8BAAC,kCAAoB,IAAC,IAAI,EAAC,IAAI,GAAG,CAC/F;QACT,8BAAC,mBAAM,IAAC,OAAO,EAAC,OAAO,gBAAY,aAAa,EAAC,OAAO,EAAE,cAAM,OAAA,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAApB,CAAoB,EAAE,MAAM,EAAC,YAAY,IACtG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,8BAAC,4BAAc,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,8BAAC,oCAAsB,IAAC,IAAI,EAAC,IAAI,GAAG,CACvG;QACR,SAAS,IAAI,QAAQ,CAAC,gBAAgB,CAClC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface TemplateProcessorProps {
|
|
3
|
+
template: string;
|
|
4
|
+
definitions: Record<string, string | number>;
|
|
5
|
+
onError?: (e: Error) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const TemplateProcessor: React.FC<TemplateProcessorProps>;
|
|
8
|
+
export default TemplateProcessor;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
var react_1 = __importDefault(require("react"));
|
|
37
|
+
var dot_1 = __importDefault(require("dot"));
|
|
38
|
+
var marked_1 = require("marked");
|
|
39
|
+
var sanitize_html_1 = __importStar(require("sanitize-html"));
|
|
40
|
+
var DOT_SETTINGS = __assign(__assign({}, dot_1.default.templateSettings), { varname: 'pydata', strip: false });
|
|
41
|
+
var TemplateProcessor = function (_a) {
|
|
42
|
+
var template = _a.template, definitions = _a.definitions, onError = _a.onError;
|
|
43
|
+
try {
|
|
44
|
+
var compiledDot = definitions ? dot_1.default.template(template, DOT_SETTINGS)(definitions) : template;
|
|
45
|
+
var compiledMd = (0, marked_1.marked)(compiledDot);
|
|
46
|
+
var sanitized = (0, sanitize_html_1.default)(compiledMd, {
|
|
47
|
+
allowedAttributes: { '*': ['href', 'target', 'class', 'style', 'rel'] },
|
|
48
|
+
allowedSchemes: ['https'],
|
|
49
|
+
transformTags: {
|
|
50
|
+
ul: (0, sanitize_html_1.simpleTransform)('ul', { class: 'pf-c-list', style: 'font-size: inherit' }),
|
|
51
|
+
a: (0, sanitize_html_1.simpleTransform)('a', { rel: 'noopener noreferrer', target: '_blank' }),
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return (react_1.default.createElement("div", { dangerouslySetInnerHTML: {
|
|
55
|
+
__html: sanitized.replace(/<\/a>/gim, " <i class=\"fas fa-external-link-alt\"></i></a>"),
|
|
56
|
+
} }));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
console.warn(error, definitions, template);
|
|
60
|
+
onError && onError(error);
|
|
61
|
+
return (react_1.default.createElement("pre", null,
|
|
62
|
+
react_1.default.createElement("code", null, template)));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.default = TemplateProcessor;
|
|
66
|
+
//# sourceMappingURL=TemplateProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateProcessor.js","sourceRoot":"","sources":["../src/TemplateProcessor/TemplateProcessor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,4CAAsB;AACtB,iCAAgC;AAChC,6DAA0D;AAQ1D,IAAM,YAAY,yBACb,aAAG,CAAC,gBAAgB,KACvB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,KAAK,GACb,CAAC;AAEF,IAAM,iBAAiB,GAAqC,UAAC,EAAkC;QAAhC,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,OAAO,aAAA;IAC3F,IAAI;QACF,IAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,aAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/F,IAAM,UAAU,GAAG,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC;QACvC,IAAM,SAAS,GAAG,IAAA,uBAAQ,EAAC,UAAU,EAAE;YACrC,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACvE,cAAc,EAAE,CAAC,OAAO,CAAC;YACzB,aAAa,EAAE;gBACb,EAAE,EAAE,IAAA,+BAAe,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;gBAC9E,CAAC,EAAE,IAAA,+BAAe,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;aAC1E;SACF,CAAC,CAAC;QAEH,OAAO,CACL,uCACE,uBAAuB,EAAE;gBACvB,MAAM,EAAE,SAAS,CAAC,OAAO,CACvB,UAAU,EACV,iDAA+C,CAChD;aACF,GACD,CACH,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,KAAc,CAAC,CAAC;QACnC,OAAO,CACL;YACE,4CAAO,QAAQ,CAAQ,CACnB,CACP,CAAC;KACH;AACH,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.TemplateProcessor = void 0;
|
|
17
|
+
__exportStar(require("./TemplateProcessor"), exports);
|
|
18
|
+
var TemplateProcessor_1 = require("./TemplateProcessor");
|
|
19
|
+
Object.defineProperty(exports, "TemplateProcessor", { enumerable: true, get: function () { return __importDefault(TemplateProcessor_1).default; } });
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/TemplateProcessor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/TemplateProcessor/index.js","typings":"index.d.ts"}
|
package/common.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { RuleContentRhel, TopicRhel } from './types';
|
|
2
2
|
export declare const barDividedList: (list: JSX.Element[]) => JSX.Element[];
|
|
3
3
|
export declare const topicLinks: (rule: RuleContentRhel, topics: TopicRhel[], Link: any) => JSX.Element[];
|
|
4
|
+
export declare const ExternalLink: ({ href, content }: {
|
|
5
|
+
href: string;
|
|
6
|
+
content: string;
|
|
7
|
+
}) => JSX.Element;
|
package/common.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.topicLinks = exports.barDividedList = void 0;
|
|
6
|
+
exports.ExternalLink = exports.topicLinks = exports.barDividedList = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var compact_1 = __importDefault(require("lodash/compact"));
|
|
9
9
|
var intersection_1 = __importDefault(require("lodash/intersection"));
|
|
@@ -21,4 +21,12 @@ var topicLinks = function (rule, topics, Link) {
|
|
|
21
21
|
: [];
|
|
22
22
|
};
|
|
23
23
|
exports.topicLinks = topicLinks;
|
|
24
|
+
var ExternalLink = function (_a) {
|
|
25
|
+
var href = _a.href, content = _a.content;
|
|
26
|
+
return (react_1.default.createElement("a", { rel: "noopener noreferrer", target: "_blank", href: href },
|
|
27
|
+
content,
|
|
28
|
+
" ",
|
|
29
|
+
react_1.default.createElement("i", { className: "fas fa-external-link-alt" })));
|
|
30
|
+
};
|
|
31
|
+
exports.ExternalLink = ExternalLink;
|
|
24
32
|
//# sourceMappingURL=common.js.map
|
package/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["src/common.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,2DAAqC;AACrC,qEAA+C;AAKxC,IAAM,cAAc,GAAG,UAAC,IAAmB;IAChD,OAAA,IAAI,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK,IAAK,OAAA,CAC3B,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK;QACvB,OAAO;QACP,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,0CAAQ,SAAS,EAAC,iBAAiB,oBAA4B,CAC9E,CAClB,EAL4B,CAK5B,CAAC;AALF,CAKE,CAAC;AANQ,QAAA,cAAc,kBAMtB;AAEE,IAAM,UAAU,GAAG,UAAC,IAAqB,EAAE,MAAmB,EAAE,IAAS;IAC9E,OAAA,MAAM;QACJ,CAAC,CAAC,IAAA,iBAAO,EACL,MAAM,CAAC,GAAG,CACR,UAAC,KAAK;YACJ,OAAA,IAAA,sBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CACjE,8BAAC,IAAI,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAW,KAAK,CAAC,IAAI,CAAE,IAAG,UAAG,KAAK,CAAC,IAAI,CAAE,CAAQ,CAC7E;QAFD,CAEC,CACJ,CACF;QACH,CAAC,CAAC,EAAE;AATN,CASM,CAAC;AAVI,QAAA,UAAU,cAUd"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["src/common.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,2DAAqC;AACrC,qEAA+C;AAKxC,IAAM,cAAc,GAAG,UAAC,IAAmB;IAChD,OAAA,IAAI,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK,IAAK,OAAA,CAC3B,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK;QACvB,OAAO;QACP,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,0CAAQ,SAAS,EAAC,iBAAiB,oBAA4B,CAC9E,CAClB,EAL4B,CAK5B,CAAC;AALF,CAKE,CAAC;AANQ,QAAA,cAAc,kBAMtB;AAEE,IAAM,UAAU,GAAG,UAAC,IAAqB,EAAE,MAAmB,EAAE,IAAS;IAC9E,OAAA,MAAM;QACJ,CAAC,CAAC,IAAA,iBAAO,EACL,MAAM,CAAC,GAAG,CACR,UAAC,KAAK;YACJ,OAAA,IAAA,sBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CACjE,8BAAC,IAAI,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAW,KAAK,CAAC,IAAI,CAAE,IAAG,UAAG,KAAK,CAAC,IAAI,CAAE,CAAQ,CAC7E;QAFD,CAEC,CACJ,CACF;QACH,CAAC,CAAC,EAAE;AATN,CASM,CAAC;AAVI,QAAA,UAAU,cAUd;AAEF,IAAM,YAAY,GAAG,UAAC,EAAoD;QAAlD,IAAI,UAAA,EAAE,OAAO,aAAA;IAA0C,OAAA,CACpF,qCAAG,GAAG,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI;QACpD,OAAO;;QAAE,qCAAG,SAAS,EAAC,0BAA0B,GAAG,CAClD,CACL;AAJqF,CAIrF,CAAC;AAJW,QAAA,YAAY,gBAIvB"}
|