@patternfly/quickstarts 2.0.1 → 2.1.0
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/README.md +12 -33
- package/dist/ConsoleInternal/module/k8s/types.d.ts +5 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/admonition-extension.d.ts +7 -0
- package/dist/ConsoleShared/src/components/markdown-extensions/index.d.ts +1 -0
- package/dist/QuickStartCatalogPage.d.ts +1 -2
- package/dist/controller/QuickStartTaskHeader.d.ts +1 -0
- package/dist/index.es.js +101 -33
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +102 -32
- package/dist/index.js.map +1 -1
- package/dist/quickstarts-base.css +27 -4
- package/dist/quickstarts-full.es.js +130 -32
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.css +14 -4
- package/dist/quickstarts-standalone.min.css +1 -1
- package/dist/quickstarts.css +27 -4
- package/dist/quickstarts.min.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ var tslib = require('tslib');
|
|
|
11
11
|
var ReactDOM = require('react-dom');
|
|
12
12
|
var server = require('react-dom/server');
|
|
13
13
|
var CopyIcon = require('@patternfly/react-icons/dist/js/icons/copy-icon');
|
|
14
|
+
var LightbulbIcon = require('@patternfly/react-icons/dist/js/icons/lightbulb-icon');
|
|
15
|
+
var FireIcon = require('@patternfly/react-icons/dist/js/icons/fire-icon');
|
|
14
16
|
var SyncAltIcon = require('@patternfly/react-icons/dist/js/icons/sync-alt-icon');
|
|
15
17
|
var CheckCircleIcon = require('@patternfly/react-icons/dist/js/icons/check-circle-icon');
|
|
16
18
|
var ExclamationCircleIcon = require('@patternfly/react-icons/dist/js/icons/exclamation-circle-icon');
|
|
@@ -51,6 +53,8 @@ var SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
|
|
|
51
53
|
var RocketIcon__default = /*#__PURE__*/_interopDefaultLegacy(RocketIcon);
|
|
52
54
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
|
|
53
55
|
var CopyIcon__default = /*#__PURE__*/_interopDefaultLegacy(CopyIcon);
|
|
56
|
+
var LightbulbIcon__default = /*#__PURE__*/_interopDefaultLegacy(LightbulbIcon);
|
|
57
|
+
var FireIcon__default = /*#__PURE__*/_interopDefaultLegacy(FireIcon);
|
|
54
58
|
var SyncAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(SyncAltIcon);
|
|
55
59
|
var CheckCircleIcon__default = /*#__PURE__*/_interopDefaultLegacy(CheckCircleIcon);
|
|
56
60
|
var ExclamationCircleIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExclamationCircleIcon);
|
|
@@ -164,6 +168,7 @@ var Yes = "Yes";
|
|
|
164
168
|
var No = "No";
|
|
165
169
|
var Cancel = "Cancel";
|
|
166
170
|
var Leave = "Leave";
|
|
171
|
+
var Type = "Quick start";
|
|
167
172
|
var en = {
|
|
168
173
|
"No results found": "No results found",
|
|
169
174
|
"No results match the filter criteria. Remove filters or clear all filters to show results.": "No results match the filter criteria. Remove filters or clear all filters to show results.",
|
|
@@ -207,7 +212,8 @@ var en = {
|
|
|
207
212
|
"Not available": "Not available",
|
|
208
213
|
"Copy to clipboard": "Copy to clipboard",
|
|
209
214
|
"Successfully copied to clipboard!": "Successfully copied to clipboard!",
|
|
210
|
-
|
|
215
|
+
Type: Type,
|
|
216
|
+
"{{type}} • {{duration, number}} minutes": "{{type}} • {{duration, number}} minutes"
|
|
211
217
|
};
|
|
212
218
|
|
|
213
219
|
/* eslint-disable */
|
|
@@ -620,7 +626,7 @@ const QuickStartContextDefaults = {
|
|
|
620
626
|
useLegacyHeaderColors: false,
|
|
621
627
|
markdown: null,
|
|
622
628
|
loading: false,
|
|
623
|
-
alwaysShowTaskReview:
|
|
629
|
+
alwaysShowTaskReview: true,
|
|
624
630
|
};
|
|
625
631
|
const QuickStartContext = React.createContext(QuickStartContextDefaults);
|
|
626
632
|
const getResource = (resource, options, resourceBundle, lng) => {
|
|
@@ -717,7 +723,7 @@ const useValuesForQuickStartContext = (value = {}) => {
|
|
|
717
723
|
useQueryParams && setQueryArgument(QUICKSTART_ID_FILTER_KEY, id);
|
|
718
724
|
return id;
|
|
719
725
|
});
|
|
720
|
-
setAllQuickStartStates((qs) => (Object.assign(Object.assign({}, qs), { [quickStartId]: getDefaultQuickStartState(totalTasks, exports.QuickStartStatus.
|
|
726
|
+
setAllQuickStartStates((qs) => (Object.assign(Object.assign({}, qs), { [quickStartId]: getDefaultQuickStartState(totalTasks, exports.QuickStartStatus.NOT_STARTED) })));
|
|
721
727
|
}, [setActiveQuickStartID, setAllQuickStartStates, useQueryParams]);
|
|
722
728
|
// When alwaysShowTaskReview preference is enabled, skip visited step and go directly to review
|
|
723
729
|
const stepAfterInitial = alwaysShowTaskReview
|
|
@@ -1315,6 +1321,39 @@ const useMultilineCopyClipboardShowdownExtension = () => {
|
|
|
1315
1321
|
}), [getResource]);
|
|
1316
1322
|
};
|
|
1317
1323
|
|
|
1324
|
+
var AdmonitionType;
|
|
1325
|
+
(function (AdmonitionType) {
|
|
1326
|
+
AdmonitionType["TIP"] = "TIP";
|
|
1327
|
+
AdmonitionType["NOTE"] = "NOTE";
|
|
1328
|
+
AdmonitionType["IMPORTANT"] = "IMPORTANT";
|
|
1329
|
+
AdmonitionType["WARNING"] = "WARNING";
|
|
1330
|
+
AdmonitionType["CAUTION"] = "CAUTION";
|
|
1331
|
+
})(AdmonitionType || (AdmonitionType = {}));
|
|
1332
|
+
const admonitionToAlertVariantMap = {
|
|
1333
|
+
[AdmonitionType.NOTE]: { variant: 'info' },
|
|
1334
|
+
[AdmonitionType.TIP]: { variant: 'default', customIcon: React__namespace.createElement(LightbulbIcon__default['default'], null) },
|
|
1335
|
+
[AdmonitionType.IMPORTANT]: { variant: 'danger' },
|
|
1336
|
+
[AdmonitionType.CAUTION]: { variant: 'warning', customIcon: React__namespace.createElement(FireIcon__default['default'], null) },
|
|
1337
|
+
[AdmonitionType.WARNING]: { variant: 'warning' },
|
|
1338
|
+
};
|
|
1339
|
+
const useAdmonitionShowdownExtension = () => {
|
|
1340
|
+
// const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
|
|
1341
|
+
return React__namespace.useMemo(() => ({
|
|
1342
|
+
type: 'lang',
|
|
1343
|
+
regex: /\[([\d\w\s-()$!]+)]{{(admonition) ([\w-]+)}}/g,
|
|
1344
|
+
replace: (text, content, admonitionLabel, admonitionType, groupId) => {
|
|
1345
|
+
if (!content || !admonitionLabel || !admonitionType || !groupId) {
|
|
1346
|
+
return text;
|
|
1347
|
+
}
|
|
1348
|
+
admonitionType = admonitionType.toUpperCase();
|
|
1349
|
+
const { variant, customIcon } = admonitionToAlertVariantMap[admonitionType];
|
|
1350
|
+
const style = admonitionType === AdmonitionType.CAUTION ? { backgroundColor: '#ec7a0915' } : {};
|
|
1351
|
+
const pfAlert = (React__namespace.createElement(reactCore.Alert, { variant: variant, customIcon: customIcon && customIcon, isInline: true, title: admonitionType, className: "pfext-markdown-admonition", style: style }, content));
|
|
1352
|
+
return removeTemplateWhitespace(server.renderToStaticMarkup(pfAlert));
|
|
1353
|
+
},
|
|
1354
|
+
}), []);
|
|
1355
|
+
};
|
|
1356
|
+
|
|
1318
1357
|
const FallbackImg = ({ src, alt, className, fallback }) => {
|
|
1319
1358
|
const [isSrcValid, setIsSrcValid] = React__namespace.useState(true);
|
|
1320
1359
|
if (src && isSrcValid) {
|
|
@@ -1392,13 +1431,31 @@ const markdownConvert = (markdown, extensions) => {
|
|
|
1392
1431
|
if (extensions) {
|
|
1393
1432
|
converter.addExtension(extensions);
|
|
1394
1433
|
}
|
|
1395
|
-
// add hook to transform anchor tags
|
|
1396
1434
|
DOMPurify.addHook('beforeSanitizeElements', function (node) {
|
|
1397
1435
|
// nodeType 1 = element type
|
|
1436
|
+
// transform anchor tags
|
|
1398
1437
|
if (node.nodeType === 1 && node.nodeName.toLowerCase() === 'a') {
|
|
1399
1438
|
node.setAttribute('rel', 'noopener noreferrer');
|
|
1400
1439
|
return node;
|
|
1401
1440
|
}
|
|
1441
|
+
// add PF class to ul and ol lists
|
|
1442
|
+
if (node.nodeType === 1 &&
|
|
1443
|
+
(node.nodeName.toLowerCase() === 'ul' || node.nodeName.toLowerCase() === 'ol')) {
|
|
1444
|
+
node.setAttribute('class', 'pf-c-list');
|
|
1445
|
+
return node;
|
|
1446
|
+
}
|
|
1447
|
+
});
|
|
1448
|
+
// Add a hook to make all links open a new window
|
|
1449
|
+
DOMPurify.addHook('afterSanitizeAttributes', function (node) {
|
|
1450
|
+
// set all elements owning target to target=_blank
|
|
1451
|
+
if ('target' in node) {
|
|
1452
|
+
node.setAttribute('target', '_blank');
|
|
1453
|
+
}
|
|
1454
|
+
// set non-HTML/MathML links to xlink:show=new
|
|
1455
|
+
if (!node.hasAttribute('target') &&
|
|
1456
|
+
(node.hasAttribute('xlink:href') || node.hasAttribute('href'))) {
|
|
1457
|
+
node.setAttribute('xlink:show', 'new');
|
|
1458
|
+
}
|
|
1402
1459
|
});
|
|
1403
1460
|
return DOMPurify.sanitize(converter.makeHtml(markdown), {
|
|
1404
1461
|
USE_PROFILES: {
|
|
@@ -1536,6 +1593,7 @@ const QuickStartMarkdownView = ({ content, exactHeight, className, }) => {
|
|
|
1536
1593
|
const { markdown } = React__namespace.useContext(QuickStartContext);
|
|
1537
1594
|
const inlineCopyClipboardShowdownExtension = useInlineCopyClipboardShowdownExtension();
|
|
1538
1595
|
const multilineCopyClipboardShowdownExtension = useMultilineCopyClipboardShowdownExtension();
|
|
1596
|
+
const admonitionShowdownExtension = useAdmonitionShowdownExtension();
|
|
1539
1597
|
return (React__namespace.createElement(SyncMarkdownView, { inline: true, content: content, exactHeight: exactHeight, extensions: [
|
|
1540
1598
|
{
|
|
1541
1599
|
type: 'lang',
|
|
@@ -1557,6 +1615,7 @@ const QuickStartMarkdownView = ({ content, exactHeight, className, }) => {
|
|
|
1557
1615
|
},
|
|
1558
1616
|
inlineCopyClipboardShowdownExtension,
|
|
1559
1617
|
multilineCopyClipboardShowdownExtension,
|
|
1618
|
+
admonitionShowdownExtension,
|
|
1560
1619
|
...(markdown ? markdown.extensions : []),
|
|
1561
1620
|
], renderExtension: (docContext, rootSelector) => (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1562
1621
|
React__namespace.createElement(MarkdownHighlightExtension, { docContext: docContext, rootSelector: rootSelector }),
|
|
@@ -1667,7 +1726,9 @@ const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, })
|
|
|
1667
1726
|
// @ts-ignore
|
|
1668
1727
|
component: "div", style: {
|
|
1669
1728
|
cursor: 'pointer',
|
|
1670
|
-
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React__namespace.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type, quickStartId: id }), onClick: handleClick,
|
|
1729
|
+
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React__namespace.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type, quickStartId: id }), onClick: handleClick,
|
|
1730
|
+
// https://github.com/patternfly/patternfly-react/issues/7039
|
|
1731
|
+
href: "#", "data-test": `tile ${id}`, description: React__namespace.createElement(QuickStartTileDescription, { description: description, prerequisites: prerequisites }), footer: footerComponent })));
|
|
1671
1732
|
};
|
|
1672
1733
|
|
|
1673
1734
|
const QuickStartCatalog = ({ quickStarts }) => {
|
|
@@ -1818,7 +1879,9 @@ const QuickStartCatalogPage = ({ quickStarts, showFilter, sortFnc = (q1, q2) =>
|
|
|
1818
1879
|
const filteredQs = showFilter
|
|
1819
1880
|
? filterQuickStarts(allQuickStarts, filter.keyword, filter.status.statusFilters, allQuickStartStates).sort(sortFncCallback)
|
|
1820
1881
|
: allQuickStarts;
|
|
1821
|
-
|
|
1882
|
+
// also needs a check whether the content of the QS changed
|
|
1883
|
+
if (filteredQs.length !== filteredQuickStarts.length ||
|
|
1884
|
+
JSON.stringify(filteredQs) !== JSON.stringify(filteredQuickStarts)) {
|
|
1822
1885
|
setFilteredQuickStarts(filteredQs);
|
|
1823
1886
|
}
|
|
1824
1887
|
}, [
|
|
@@ -1907,14 +1970,17 @@ const TaskIcon = ({ taskIndex, taskStatus }) => {
|
|
|
1907
1970
|
}
|
|
1908
1971
|
return React__namespace.createElement("span", { className: classNames }, content);
|
|
1909
1972
|
};
|
|
1910
|
-
const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, isActiveTask, onTaskSelect, }) => {
|
|
1973
|
+
const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, isActiveTask, onTaskSelect, children, }) => {
|
|
1911
1974
|
const classNames = reactStyles.css('pfext-quick-start-task-header__title', {
|
|
1912
1975
|
'pfext-quick-start-task-header__title-success': taskStatus === exports.QuickStartTaskStatus.SUCCESS,
|
|
1913
1976
|
'pfext-quick-start-task-header__title-failed': taskStatus === (exports.QuickStartTaskStatus.FAILED || exports.QuickStartTaskStatus.VISITED),
|
|
1914
1977
|
});
|
|
1915
|
-
const notCompleted = taskStatus ===
|
|
1916
|
-
const
|
|
1917
|
-
const
|
|
1978
|
+
// const notCompleted = taskStatus === QuickStartTaskStatus.VISITED;
|
|
1979
|
+
// const skippedReview = taskStatus === QuickStartTaskStatus.REVIEW;
|
|
1980
|
+
const failedReview = taskStatus === exports.QuickStartTaskStatus.FAILED;
|
|
1981
|
+
// TODO: toned down when this is shown, investigate further when we should display it
|
|
1982
|
+
// related: https://github.com/patternfly/patternfly-quickstarts/issues/104
|
|
1983
|
+
const tryAgain = failedReview && (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1918
1984
|
React__namespace.createElement("div", null),
|
|
1919
1985
|
React__namespace.createElement("div", { className: "pfext-quick-start-task-header__tryagain" }, "Try the steps again.")));
|
|
1920
1986
|
const content = (React__namespace.createElement("div", { className: "pfext-quick-start-task-header" },
|
|
@@ -1925,7 +1991,7 @@ const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, is
|
|
|
1925
1991
|
' ',
|
|
1926
1992
|
subtitle))),
|
|
1927
1993
|
tryAgain));
|
|
1928
|
-
return (React__namespace.createElement(reactCore.WizardNavItem, { content: content, step: taskIndex, onNavItemClick: () => onTaskSelect(taskIndex - 1), navItemComponent: "button", isCurrent: isActiveTask }));
|
|
1994
|
+
return (React__namespace.createElement(reactCore.WizardNavItem, { content: content, step: taskIndex, onNavItemClick: () => onTaskSelect(taskIndex - 1), navItemComponent: "button", isCurrent: isActiveTask }, children));
|
|
1929
1995
|
};
|
|
1930
1996
|
|
|
1931
1997
|
const QuickStartTaskHeaderList = ({ tasks, allTaskStatuses, onTaskSelect, }) => {
|
|
@@ -1959,7 +2025,8 @@ const QuickStartIntroduction = ({ tasks, introduction, allTaskStatuses, prerequi
|
|
|
1959
2025
|
const prereqList = (prereqs === null || prereqs === void 0 ? void 0 : prereqs.length) > 0 && (React__namespace.createElement(reactCore.ExpandableSection, { toggleText: getResource('View Prerequisites ({{totalPrereqs}})').replace('{{totalPrereqs}}', prereqs.length), onToggle: () => setIsPrereqsExpanded(!isPrereqsExpanded), className: "pfext-quick-start-intro__prereq" },
|
|
1960
2026
|
React__namespace.createElement(reactCore.List, { className: "pfext-quick-start-intro__prereq-list" }, prereqs.map((pr) => {
|
|
1961
2027
|
return (React__namespace.createElement(reactCore.ListItem, { key: pr, className: "pfext-quick-start-intro__prereq-list__item" },
|
|
1962
|
-
React__namespace.createElement("span", { className: "pfext-quick-start-intro__prereq-list__item-content" },
|
|
2028
|
+
React__namespace.createElement("span", { className: "pfext-quick-start-intro__prereq-list__item-content" },
|
|
2029
|
+
React__namespace.createElement(QuickStartMarkdownView, { content: pr }))));
|
|
1963
2030
|
}))));
|
|
1964
2031
|
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1965
2032
|
React__namespace.createElement(QuickStartMarkdownView, { content: introduction }),
|
|
@@ -1988,7 +2055,7 @@ const QuickStartTaskReview = ({ review, taskStatus, onTaskReview, }) => {
|
|
|
1988
2055
|
'pfext-quick-start-task-review--failed': taskStatus === exports.QuickStartTaskStatus.FAILED,
|
|
1989
2056
|
});
|
|
1990
2057
|
const title = React__namespace.createElement("span", { className: alertClassNames }, getResource('Check your work'));
|
|
1991
|
-
return (React__namespace.createElement(reactCore.Alert, { className: "pfext-quick-start-task-review-alert", variant: getAlertVariant(taskStatus), title: title, isInline: true },
|
|
2058
|
+
return (React__namespace.createElement(reactCore.Alert, { className: "pfext-quick-start-task-review-alert", variant: getAlertVariant(taskStatus), title: title, isInline: true, role: "alert" },
|
|
1992
2059
|
React__namespace.createElement(QuickStartMarkdownView, { content: instructions }),
|
|
1993
2060
|
React__namespace.createElement("span", { className: "pfext-quick-start-task-review__actions" },
|
|
1994
2061
|
React__namespace.createElement(reactCore.Radio, { id: "review-success", name: "review-success", "data-testid": "qs-drawer-check-yes", label: getResource('Yes'), className: "pfext-quick-start-task-review__radio", isChecked: taskStatus === exports.QuickStartTaskStatus.SUCCESS, onChange: () => onTaskReview(exports.QuickStartTaskStatus.SUCCESS) }),
|
|
@@ -1998,22 +2065,22 @@ const QuickStartTaskReview = ({ review, taskStatus, onTaskReview, }) => {
|
|
|
1998
2065
|
|
|
1999
2066
|
const QuickStartTasks = ({ tasks, taskNumber, allTaskStatuses, onTaskReview, onTaskSelect, }) => {
|
|
2000
2067
|
const { getResource, alwaysShowTaskReview } = React__namespace.useContext(QuickStartContext);
|
|
2001
|
-
return (React__namespace.createElement("div", { className: "pfext-quick-start-tasks__list" },
|
|
2002
|
-
.
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
React__namespace.createElement(
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2068
|
+
return (React__namespace.createElement("div", { className: "pfext-quick-start-tasks__list" },
|
|
2069
|
+
React__namespace.createElement("ul", null, tasks
|
|
2070
|
+
.filter((_, index) => allTaskStatuses[index] !== exports.QuickStartTaskStatus.INIT)
|
|
2071
|
+
.map((task, index) => {
|
|
2072
|
+
const { title, description, review } = task;
|
|
2073
|
+
const isActiveTask = index === taskNumber;
|
|
2074
|
+
const taskStatus = allTaskStatuses[index];
|
|
2075
|
+
const shouldShowTaskReview = (!QUICKSTART_TASKS_INITIAL_STATES.includes(taskStatus) || alwaysShowTaskReview) &&
|
|
2076
|
+
review;
|
|
2077
|
+
return (React__namespace.createElement(React__namespace.Fragment, { key: title },
|
|
2078
|
+
React__namespace.createElement(QuickStartTaskHeader, { taskIndex: index + 1, title: title, size: "md", subtitle: getResource('{{index, number}} of {{tasks, number}}')
|
|
2079
|
+
.replace('{{index, number}}', index + 1)
|
|
2080
|
+
.replace('{{tasks, number}}', tasks.length), taskStatus: taskStatus, isActiveTask: isActiveTask, onTaskSelect: onTaskSelect }, isActiveTask && (React__namespace.createElement("div", { className: "pfext-quick-start-task__content" },
|
|
2081
|
+
React__namespace.createElement(QuickStartMarkdownView, { content: description }),
|
|
2082
|
+
shouldShowTaskReview && (React__namespace.createElement(QuickStartTaskReview, { review: review, taskStatus: taskStatus, onTaskReview: onTaskReview })))))));
|
|
2083
|
+
}))));
|
|
2017
2084
|
};
|
|
2018
2085
|
|
|
2019
2086
|
const QuickStartContent = React__namespace.forwardRef(({ quickStart, nextQuickStarts = [], taskNumber, allTaskStatuses, onTaskSelect, onTaskReview, onQuickStartChange, }, ref) => {
|
|
@@ -2155,7 +2222,10 @@ const QuickStartPanelContent = (_a) => {
|
|
|
2155
2222
|
React__namespace.createElement(reactCore.Title, { headingLevel: "h1", size: "xl", className: "pfext-quick-start-panel-content__name", style: { marginRight: 'var(--pf-global--spacer--md)' } }, quickStart === null || quickStart === void 0 ? void 0 :
|
|
2156
2223
|
quickStart.spec.displayName,
|
|
2157
2224
|
' ',
|
|
2158
|
-
React__namespace.createElement("small", { className: "pfext-quick-start-panel-content__duration" },
|
|
2225
|
+
React__namespace.createElement("small", { className: "pfext-quick-start-panel-content__duration" }, (quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.durationMinutes) ? getResource('{{type}} • {{duration, number}} minutes', quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.durationMinutes)
|
|
2226
|
+
.replace('{{duration, number}}', quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.durationMinutes)
|
|
2227
|
+
.replace('{{type}}', getResource('Type'))
|
|
2228
|
+
: getResource('Type')))),
|
|
2159
2229
|
showClose && (React__namespace.createElement(reactCore.DrawerActions, null,
|
|
2160
2230
|
React__namespace.createElement(reactCore.DrawerCloseButton, { onClick: handleClose, className: "pfext-quick-start-panel-content__close-button", "data-testid": "qs-drawer-close" }))))),
|
|
2161
2231
|
React__namespace.createElement(reactCore.DrawerPanelBody, { hasNoPadding: true, className: "pfext-quick-start-panel-content__body", "data-test": "content" },
|
|
@@ -2167,7 +2237,7 @@ const QuickStartPanelContent = (_a) => {
|
|
|
2167
2237
|
};
|
|
2168
2238
|
|
|
2169
2239
|
const QuickStartContainer = (_a) => {
|
|
2170
|
-
var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, useLegacyHeaderColors, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview =
|
|
2240
|
+
var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, useLegacyHeaderColors, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview = true } = _a, props = tslib.__rest(_a, ["quickStarts", "children", "activeQuickStartID", "allQuickStartStates", "setActiveQuickStartID", "setAllQuickStartStates", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress", "resourceBundle", "showCardFooters", "useLegacyHeaderColors", "language", "loading", "useQueryParams", "markdown", "contextProps", "alwaysShowTaskReview"]);
|
|
2171
2241
|
const valuesForQuickstartContext = useValuesForQuickStartContext(Object.assign({ allQuickStarts: quickStarts, activeQuickStartID,
|
|
2172
2242
|
setActiveQuickStartID,
|
|
2173
2243
|
allQuickStartStates,
|
|
@@ -2205,7 +2275,7 @@ const QuickStartDrawer = (_a) => {
|
|
|
2205
2275
|
// if there is a quick start param, but the quick start is not active, set it
|
|
2206
2276
|
// this can happen if a new browser session is opened or an incognito window for example
|
|
2207
2277
|
const quickStartIdFromParam = params.get(QUICKSTART_ID_FILTER_KEY) || '';
|
|
2208
|
-
if (quickStartIdFromParam &&
|
|
2278
|
+
if (quickStartIdFromParam && activeQuickStartID !== quickStartIdFromParam) {
|
|
2209
2279
|
const activeQuickStart = getQuickStartByName(quickStartIdFromParam, combinedQuickStarts);
|
|
2210
2280
|
// don't try to load a quick start that is actually just an external resource (spec.link)
|
|
2211
2281
|
if (combinedQuickStarts.length > 0 && activeQuickStart && !activeQuickStart.spec.link) {
|