@@ -30,6 +30,8 @@ import SwitchField from "../components/SwitchField";
3030import { dateFromEpoch , displayExpiryDate , futureDate } from "../utils/Date" ;
3131import DOMPurify from "dompurify" ;
3232import WarningIndicator from "../components/WarningIndicator" ;
33+ import DatePicker from "react-datepicker" ;
34+ import { MinimalDateField } from "../components/MinimalDateField" ;
3335
3436const DEFAULT_EXPIRY_DAYS = 365 ;
3537const CUT_OFF_DELETED_USER = 5 ;
@@ -446,18 +448,39 @@ export const RoleForm = () => {
446448 } ) }
447449 last = { customRoleExpiryDate }
448450 />
449- { customRoleExpiryDate && < InputField name = { I18n . t ( "roles.defaultExpiryDays" ) }
450- value = { role . defaultExpiryDays || 0 }
451- isInteger = { true }
452- onChange = { e => {
453- const val = parseInt ( e . target . value ) ;
454- const defaultExpiryDays = Number . isInteger ( val ) && val > 0 ? val : 0 ;
455- setRole (
456- { ...role , defaultExpiryDays : defaultExpiryDays } )
457- } }
458- toolTip = { I18n . t ( "tooltips.defaultExpiryDays" ) }
459- customClassName = "inner-switch"
460- /> }
451+ { customRoleExpiryDate &&
452+ < div className = "role-expiry-date" >
453+ < InputField name = { I18n . t ( "roles.defaultExpiryDays" ) }
454+ value = { role . defaultExpiryDays || 0 }
455+ isInteger = { true }
456+ onChange = { e => {
457+ const val = parseInt ( e . target . value ) ;
458+ const defaultExpiryDays = Number . isInteger ( val ) && val > 0 ? val : 0 ;
459+ setRole (
460+ { ...role , defaultExpiryDays : defaultExpiryDays } )
461+ } }
462+ toolTip = { I18n . t ( "tooltips.defaultExpiryDays" ) }
463+ customClassName = "inner-switch" />
464+ < span className = "separator" > { I18n . t ( "forms.fixed" ) } </ span >
465+ < DatePicker
466+ name = { "custom-expiry-date" }
467+ id = { "custom-expiry-date" }
468+ selected = { null }
469+ dateFormat = { "dd/MM/yyyy" }
470+ onChange = { ( ) => true }
471+ showWeekNumbers
472+ isClearable = { true }
473+ showIcon = { true }
474+ showYearDropdown = { true }
475+ weekLabel = "Week"
476+ disabled = { false }
477+ todayButton = { null }
478+ maxDate = { null }
479+ minDate = { new Date ( ) }
480+ />
481+ </ div >
482+
483+ }
461484
462485 { ( ! initial && ( isEmpty ( role . defaultExpiryDays ) || role . defaultExpiryDays < 1 ) ) &&
463486 < ErrorIndicator msg = { I18n . t ( "forms.required" , {
0 commit comments