@rh-support/manage 2.5.17 → 2.5.19
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/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.d.ts.map +1 -1
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.js +3 -2
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.d.ts.map +1 -1
- package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.js +5 -37
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.d.ts.map +1 -1
- package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.js +3 -37
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredContentSingleItem.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAEH,eAAe,EACf,wBAAwB,EAE3B,MAAM,sCAAsC,CAAC;AAG9C,UAAU,MAAM;IACZ,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ExpiredContentSingleItem.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAEH,eAAe,EACf,wBAAwB,EAE3B,MAAM,sCAAsC,CAAC;AAG9C,UAAU,MAAM;IACZ,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,qBA6G7E"}
|
|
@@ -68,8 +68,9 @@ export default function ExpiredContentSingleItem({ content, category }) {
|
|
|
68
68
|
React.createElement("div", null,
|
|
69
69
|
lastModifiedBy,
|
|
70
70
|
" | ",
|
|
71
|
-
expiredText,
|
|
72
|
-
" |
|
|
71
|
+
React.createElement("span", { className: "pf-v5-u-danger-color-200" }, expiredText),
|
|
72
|
+
" |",
|
|
73
|
+
' ',
|
|
73
74
|
content.product,
|
|
74
75
|
" ", (_a = content.majorVersion) !== null && _a !== void 0 ? _a : '',
|
|
75
76
|
content.minorVersion ? `.${content.minorVersion}` : ''),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredContentSingleItemView.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItemView.tsx"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"ExpiredContentSingleItemView.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageExpiredContents/ExpiredContentSingleItemView.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAIrE,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAIjG,UAAU,MAAM;IACZ,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACjD,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,GACb,EAAE,MAAM,qBA4NR"}
|
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { Button, DatePicker, Flex, FlexItem, FormGroup, TextInput, ValidatedOptions } from '@patternfly/react-core';
|
|
11
11
|
import { TagsSelector, ToastNotification } from '@rh-support/components';
|
|
12
|
-
import { getDrupalResIdIfTypeFromUrl, getText,
|
|
12
|
+
import { getDrupalResIdIfTypeFromUrl, getText, isValidDate, isValidUrl } from '@rh-support/utils';
|
|
13
13
|
import { isEqual } from 'lodash';
|
|
14
14
|
import differenceBy from 'lodash/differenceBy';
|
|
15
15
|
import isEmpty from 'lodash/isEmpty';
|
|
16
|
-
import React, { useContext,
|
|
16
|
+
import React, { useContext, useMemo, useRef, useState } from 'react';
|
|
17
17
|
import { Trans, useTranslation } from 'react-i18next';
|
|
18
18
|
import { TagManagementStateContext } from '../../context/TagManagementContextProvider';
|
|
19
19
|
import { getTopContentUrl } from '../../reducers/TopContentHelpers';
|
|
@@ -29,13 +29,10 @@ export default function ExpiredContentSingleItemView({ category, content, onCanc
|
|
|
29
29
|
const [localContentTitle, setLocalContentTitle] = useState(content.contentTitle);
|
|
30
30
|
const [localSelectedTags, setLocalSelectedTags] = useState(content.tags || []);
|
|
31
31
|
const [localExpiryDate, setLocalExpiryDate] = useState((content === null || content === void 0 ? void 0 : content.expiryDate) || '');
|
|
32
|
-
const [shouldShowExpDateErr, setShouldShowExpDateErr] = useState(false);
|
|
33
|
-
const [datePickerFocused, setDatePickerFocused] = useState(false);
|
|
34
32
|
const [contentTitleIsValid, setContentTitleIsValid] = useState(true);
|
|
35
33
|
const [contentUrlIsValid, setContentUrlIsValid] = useState(true);
|
|
36
34
|
const oldTagsIds = useMemo(() => { var _a; return ((_a = content === null || content === void 0 ? void 0 : content.tags) === null || _a === void 0 ? void 0 : _a.map((t) => t.id)) || []; }, [content === null || content === void 0 ? void 0 : content.tags]);
|
|
37
35
|
const localTagsIds = useMemo(() => localSelectedTags === null || localSelectedTags === void 0 ? void 0 : localSelectedTags.map((t) => t.id), [localSelectedTags]);
|
|
38
|
-
const expiryDateErrMsg = isFutureDate(localExpiryDate) ? '' : t('Invalid expiry date');
|
|
39
36
|
const onSubmit = (e) => e.preventDefault();
|
|
40
37
|
const updateContentTitleFromUrl = (contentUrl) => __awaiter(this, void 0, void 0, function* () {
|
|
41
38
|
var _a, _b;
|
|
@@ -113,50 +110,22 @@ export default function ExpiredContentSingleItemView({ category, content, onCanc
|
|
|
113
110
|
localContentTitle === content.contentTitle &&
|
|
114
111
|
isEqual(localTagsIds, oldTagsIds) &&
|
|
115
112
|
isEqual(localExpiryDate.split('T')[0], ((_b = content.expiryDate) === null || _b === void 0 ? void 0 : _b.split('T')[0]) || ''));
|
|
116
|
-
useEffect(() => {
|
|
117
|
-
var _a, _b;
|
|
118
|
-
const datePickerElement = (_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.querySelector('#content-expiry-date input');
|
|
119
|
-
const tagsSelectorElement = (_b = ref === null || ref === void 0 ? void 0 : ref.current) === null || _b === void 0 ? void 0 : _b.querySelector('#expired-content-tag');
|
|
120
|
-
const handleFocusOnDatePicker = () => {
|
|
121
|
-
setDatePickerFocused(true);
|
|
122
|
-
};
|
|
123
|
-
const handleTagSelectorClick = () => {
|
|
124
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
125
|
-
};
|
|
126
|
-
if (datePickerElement) {
|
|
127
|
-
datePickerElement.addEventListener('focusin', handleFocusOnDatePicker);
|
|
128
|
-
}
|
|
129
|
-
if (tagsSelectorElement) {
|
|
130
|
-
tagsSelectorElement.addEventListener('click', handleTagSelectorClick);
|
|
131
|
-
}
|
|
132
|
-
return () => {
|
|
133
|
-
if (datePickerElement) {
|
|
134
|
-
datePickerElement.removeEventListener('focusin', handleFocusOnDatePicker);
|
|
135
|
-
}
|
|
136
|
-
if (tagsSelectorElement) {
|
|
137
|
-
tagsSelectorElement.removeEventListener('click', handleTagSelectorClick);
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
141
|
-
}, []);
|
|
142
113
|
return (React.createElement("form", { noValidate: true, onSubmit: onSubmit, className: "card card-light push-bottom", ref: ref },
|
|
143
114
|
React.createElement("div", { className: "form-group" },
|
|
144
115
|
React.createElement("label", { htmlFor: localContentTitle },
|
|
145
116
|
"Heading",
|
|
146
117
|
' ',
|
|
147
118
|
React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
|
|
148
|
-
React.createElement(TextInput, { isRequired: true, type: "text", maxLength: 254, required: true, value: localContentTitle, isDisabled: isFetchingSolrSearch, "aria-label": t('Copy and paste the heading for consistency'), placeholder: t('Copy and paste the heading for consistency'),
|
|
119
|
+
React.createElement(TextInput, { isRequired: true, type: "text", maxLength: 254, required: true, value: localContentTitle, isDisabled: isFetchingSolrSearch, "aria-label": t('Copy and paste the heading for consistency'), placeholder: t('Copy and paste the heading for consistency'), onChange: (e, v) => {
|
|
149
120
|
onContentTitleChange(v, e);
|
|
150
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
151
121
|
}, validated: contentTitleIsValid ? ValidatedOptions.default : ValidatedOptions.error })),
|
|
152
122
|
React.createElement("div", { className: "form-group" },
|
|
153
123
|
React.createElement("label", { htmlFor: localContentUrl },
|
|
154
124
|
"Link to content",
|
|
155
125
|
' ',
|
|
156
126
|
React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
|
|
157
|
-
React.createElement(TextInput, { type: "url", maxLength: 254, isRequired: true, pattern: "^(http(s)?:\\/\\/)+[\\w\\-\\._~:\\/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", value: getTopContentUrl(localContentUrl), "aria-label": t('Entering a solution or article link first will automatically generate the heading for you'), placeholder: t('Entering a solution or article link first will automatically generate the heading for you'),
|
|
127
|
+
React.createElement(TextInput, { type: "url", maxLength: 254, isRequired: true, pattern: "^(http(s)?:\\/\\/)+[\\w\\-\\._~:\\/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", value: getTopContentUrl(localContentUrl), "aria-label": t('Entering a solution or article link first will automatically generate the heading for you'), placeholder: t('Entering a solution or article link first will automatically generate the heading for you'), onChange: (evt, val) => {
|
|
158
128
|
onContentUrlChange(val, evt);
|
|
159
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
160
129
|
}, validated: contentUrlIsValid ? ValidatedOptions.default : ValidatedOptions.error })),
|
|
161
130
|
React.createElement(Flex, { className: "pf-v5-u-my-lg" },
|
|
162
131
|
React.createElement(FlexItem, { flex: { default: 'flex_1' } },
|
|
@@ -165,8 +134,7 @@ export default function ExpiredContentSingleItemView({ category, content, onCanc
|
|
|
165
134
|
React.createElement(TagsSelector, { tagOptions: tagOptions, onChange: handleLocalTagChange, selectedTags: localSelectedTags, placeholder: t('Select tags to improve discoverability'), id: "expired-content-tag" })))),
|
|
166
135
|
React.createElement(FlexItem, null,
|
|
167
136
|
React.createElement(FormGroup, { label: t('Expiry date') },
|
|
168
|
-
React.createElement(DatePicker, { onBlur: onExpiryDateChange, onChange: onExpiryDateChange, value: !isEmpty(localExpiryDate) ? localExpiryDate.split('T')[0] : '', validators: [expiryDateValidator], id: "content-expiry-date", invalidFormatText: t('Invalid date format') }),
|
|
169
|
-
shouldShowExpDateErr && !datePickerFocused && (React.createElement("p", { className: "form-instructions form-invalid pf-v5-u-font-size-sm pf-v5-u-danger-color-200 pf-v5-u-my-0" }, expiryDateErrMsg))))),
|
|
137
|
+
React.createElement(DatePicker, { onBlur: onExpiryDateChange, onChange: onExpiryDateChange, value: !isEmpty(localExpiryDate) ? localExpiryDate.split('T')[0] : '', validators: [expiryDateValidator], id: "content-expiry-date", invalidFormatText: t('Invalid date format') })))),
|
|
170
138
|
React.createElement("span", { className: "top-content-single-item-footer" },
|
|
171
139
|
React.createElement("span", null,
|
|
172
140
|
React.createElement(Button, { variant: "primary", onClick: onContentSave, isDisabled: isSaveButtonDisabled || isSaving, isLoading: isSaving },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopContentSingleItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAiB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AA8BtG,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAIH,oBAAoB,EAOvB,MAAM,wCAAwC,CAAC;AAIhD,UAAU,MAAM;IACZ,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,sBAAsB,CAAC,GAAG,KAAA,OASzC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,6CA2B/C;AAED,eAAO,MAAM,oBAAoB,kDAAmD,MAAM,
|
|
1
|
+
{"version":3,"file":"TopContentSingleItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAiB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AA8BtG,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAIH,oBAAoB,EAOvB,MAAM,wCAAwC,CAAC;AAIhD,UAAU,MAAM;IACZ,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,sBAAsB,CAAC,GAAG,KAAA,OASzC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,6CA2B/C;AAED,eAAO,MAAM,oBAAoB,kDAAmD,MAAM,sBAufzF,CAAC"}
|
|
@@ -89,13 +89,10 @@ export const TopContentSingleItem = ({ isArrangingContent, category, snapshot, i
|
|
|
89
89
|
const [showDuplicateError, setShowDuplicateError] = useState(false);
|
|
90
90
|
const [duplicatUrlErrorArray, setDuplicatUrlErrorArray] = useState([]);
|
|
91
91
|
const [isSaving, setIsSaving] = useState(false);
|
|
92
|
-
const [shouldShowExpDateErr, setShouldShowExpDateErr] = useState(false);
|
|
93
|
-
const [datePickerFocused, setDatePickerFocused] = useState(false);
|
|
94
92
|
const duplicateTitleCategoryIndex = findIndex(category.content, (c) => c.contentTitle === localContentTitle.trim());
|
|
95
93
|
const isDuplicateTitle = duplicateTitleCategoryIndex !== -1 && duplicateTitleCategoryIndex !== i && !isEmpty(localContentTitle.trim());
|
|
96
94
|
const oldTagsIds = useMemo(() => { var _a; return ((_a = content === null || content === void 0 ? void 0 : content.tags) === null || _a === void 0 ? void 0 : _a.map((t) => t.id)) || []; }, [content === null || content === void 0 ? void 0 : content.tags]);
|
|
97
95
|
const localTagsIds = useMemo(() => localSelectedTags === null || localSelectedTags === void 0 ? void 0 : localSelectedTags.map((t) => t.id), [localSelectedTags]);
|
|
98
|
-
const expiryDateErrMsg = isEmpty(localExpiryDate) || isFutureDate(localExpiryDate) ? '' : t('Invalid expiry date');
|
|
99
96
|
const onContentTitleChange = (contentTitle, event) => {
|
|
100
97
|
const contentTitleIsValid = event.target.validity.valid;
|
|
101
98
|
setContentTitleIsValid(contentTitleIsValid);
|
|
@@ -296,34 +293,6 @@ export const TopContentSingleItem = ({ isArrangingContent, category, snapshot, i
|
|
|
296
293
|
setLocalSelectedTags(content.tags || []);
|
|
297
294
|
setLocalExpiryDate((_a = content.expiryDate) !== null && _a !== void 0 ? _a : '');
|
|
298
295
|
}, [content]);
|
|
299
|
-
useEffect(() => {
|
|
300
|
-
var _a, _b;
|
|
301
|
-
const datePickerElement = (_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.querySelector('#content-expiry-date input');
|
|
302
|
-
const tagsSelectorElement = (_b = ref === null || ref === void 0 ? void 0 : ref.current) === null || _b === void 0 ? void 0 : _b.querySelector('#top-content-tag');
|
|
303
|
-
const handleFocusOnDatePicker = () => {
|
|
304
|
-
setDatePickerFocused(true);
|
|
305
|
-
};
|
|
306
|
-
const handleTagSelectorClick = () => {
|
|
307
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
308
|
-
};
|
|
309
|
-
if (datePickerElement) {
|
|
310
|
-
datePickerElement.addEventListener('focusin', handleFocusOnDatePicker);
|
|
311
|
-
}
|
|
312
|
-
if (tagsSelectorElement) {
|
|
313
|
-
tagsSelectorElement.addEventListener('click', handleTagSelectorClick);
|
|
314
|
-
}
|
|
315
|
-
return () => {
|
|
316
|
-
if (datePickerElement) {
|
|
317
|
-
datePickerElement.removeEventListener('focusin', handleFocusOnDatePicker);
|
|
318
|
-
}
|
|
319
|
-
if (tagsSelectorElement) {
|
|
320
|
-
tagsSelectorElement.removeEventListener('click', handleTagSelectorClick);
|
|
321
|
-
}
|
|
322
|
-
setDatePickerFocused(false);
|
|
323
|
-
setShouldShowExpDateErr(false);
|
|
324
|
-
};
|
|
325
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
326
|
-
}, [isPreview]);
|
|
327
296
|
// To check if input has spaces
|
|
328
297
|
const doesInputHasSpaces = isEmpty(localContentTitle.trim());
|
|
329
298
|
// To disable save button if empty depending on spaces
|
|
@@ -364,9 +333,8 @@ export const TopContentSingleItem = ({ isArrangingContent, category, snapshot, i
|
|
|
364
333
|
"Heading",
|
|
365
334
|
' ',
|
|
366
335
|
React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
|
|
367
|
-
React.createElement(TextInput, { isRequired: true, type: "text", maxLength: 254, required: true, value: localContentTitle, isDisabled: isFetchingSolrSearch, "aria-label": t('Copy and paste the heading for consistency'), placeholder: t('Copy and paste the heading for consistency'),
|
|
336
|
+
React.createElement(TextInput, { isRequired: true, type: "text", maxLength: 254, required: true, value: localContentTitle, isDisabled: isFetchingSolrSearch, "aria-label": t('Copy and paste the heading for consistency'), placeholder: t('Copy and paste the heading for consistency'), onChange: (e, v) => {
|
|
368
337
|
onContentTitleChange(v, e);
|
|
369
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
370
338
|
}, validated: contentTitleIsValid && !isDuplicateTitle
|
|
371
339
|
? ValidatedOptions.default
|
|
372
340
|
: ValidatedOptions.error }),
|
|
@@ -379,9 +347,8 @@ export const TopContentSingleItem = ({ isArrangingContent, category, snapshot, i
|
|
|
379
347
|
"Link to content",
|
|
380
348
|
' ',
|
|
381
349
|
React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
|
|
382
|
-
React.createElement(TextInput, { type: "url", maxLength: 254, isRequired: true, pattern: "^(http(s)?:\\/\\/)+[\\w\\-\\._~:\\/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", value: getTopContentUrl(localContentUrl), "aria-label": t('Entering a solution or article link first will automatically generate the heading for you'), placeholder: t('Entering a solution or article link first will automatically generate the heading for you'),
|
|
350
|
+
React.createElement(TextInput, { type: "url", maxLength: 254, isRequired: true, pattern: "^(http(s)?:\\/\\/)+[\\w\\-\\._~:\\/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", value: getTopContentUrl(localContentUrl), "aria-label": t('Entering a solution or article link first will automatically generate the heading for you'), placeholder: t('Entering a solution or article link first will automatically generate the heading for you'), onChange: (evt, val) => {
|
|
383
351
|
onContentUrlChange(val, evt);
|
|
384
|
-
!shouldShowExpDateErr && setShouldShowExpDateErr(true);
|
|
385
352
|
}, validated: contentUrlIsValid ? ValidatedOptions.default : ValidatedOptions.error }),
|
|
386
353
|
showDuplicateError && (React.createElement("p", { className: "form-instructions form-invalid" },
|
|
387
354
|
React.createElement(ExclamationCircleIcon, { color: "#c9190b", className: "pf-v5-u-mr-sm" }),
|
|
@@ -395,8 +362,7 @@ export const TopContentSingleItem = ({ isArrangingContent, category, snapshot, i
|
|
|
395
362
|
React.createElement(TagsSelector, { tagOptions: tagOptions, onChange: handleLocalTagChange, selectedTags: localSelectedTags, placeholder: t('Select tags to improve discoverability'), id: "top-content-tag" })))),
|
|
396
363
|
React.createElement(FlexItem, null,
|
|
397
364
|
React.createElement(FormGroup, { label: t('Expiry date') },
|
|
398
|
-
React.createElement(DatePicker, { onBlur: onExpiryDateChange, onChange: onExpiryDateChange, value: !isEmpty(localExpiryDate) ? localExpiryDate.split('T')[0] : '', validators: [expiryDateValidator], id: "content-expiry-date", invalidFormatText: t('Invalid date format') }),
|
|
399
|
-
shouldShowExpDateErr && !datePickerFocused && (React.createElement("p", { className: "form-instructions form-invalid pf-v5-u-font-size-sm pf-v5-u-danger-color-200 pf-v5-u-my-0" }, expiryDateErrMsg))))),
|
|
365
|
+
React.createElement(DatePicker, { onBlur: onExpiryDateChange, onChange: onExpiryDateChange, value: !isEmpty(localExpiryDate) ? localExpiryDate.split('T')[0] : '', validators: [expiryDateValidator], id: "content-expiry-date", invalidFormatText: t('Invalid date format') })))),
|
|
400
366
|
React.createElement("span", { className: "top-content-single-item-footer" },
|
|
401
367
|
React.createElement("span", null,
|
|
402
368
|
React.createElement(Button, { variant: "primary", onClick: onSave, isDisabled: isSaveButtonDisabled || isSaving, isLoading: isSaving },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/manage",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.19",
|
|
4
4
|
"description": "Customer Support Manage App",
|
|
5
5
|
"author": "Jordan Eudy <jeudy100@gmail.com>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -79,11 +79,11 @@
|
|
|
79
79
|
"@patternfly/patternfly": "5.4.2",
|
|
80
80
|
"@patternfly/react-core": "5.4.2",
|
|
81
81
|
"@patternfly/react-table": "5.4.2",
|
|
82
|
-
"@rh-support/components": "2.5.
|
|
82
|
+
"@rh-support/components": "2.5.13",
|
|
83
83
|
"@rh-support/configs": "2.0.21",
|
|
84
|
-
"@rh-support/react-context": "2.5.
|
|
84
|
+
"@rh-support/react-context": "2.5.15",
|
|
85
85
|
"@rh-support/types": "2.0.5",
|
|
86
|
-
"@rh-support/user-permissions": "2.5.
|
|
86
|
+
"@rh-support/user-permissions": "2.5.7",
|
|
87
87
|
"@rh-support/utils": "2.5.6",
|
|
88
88
|
"@types/react-beautiful-dnd": "^13.0.0",
|
|
89
89
|
"i18next": "^23.15.0",
|
|
@@ -103,5 +103,5 @@
|
|
|
103
103
|
"defaults and supports es6-module",
|
|
104
104
|
"maintained node versions"
|
|
105
105
|
],
|
|
106
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "bb66a0d88ad5fc09388220681cfc12e063221838"
|
|
107
107
|
}
|