2424import * as React from 'react' ;
2525import GeneralSettings from './GeneralSettings' ;
2626
27- import { selectStatus , next , back , selectTab , selectErrors , SaveWizard , selectWizardEror , ResetWizzard } from './DynamicWizzardSlice'
27+ import { selectStatus , next , back , selectTab , selectErrors , SaveWizard , selectWizardEror , ResetWizzard , selectAlarmGroup } from './DynamicWizzardSlice'
2828import { useSelector , useDispatch } from 'react-redux' ;
2929
3030import { ToolTip , ProgressBar , ServerErrorIcon , LoadingIcon } from '@gpa-gemstone/react-interactive' ;
@@ -47,8 +47,12 @@ const WizardHome = (props: IProps) => {
4747 const dispatch = useDispatch ( ) ;
4848 const errors = useSelector ( selectErrors ) ;
4949 const wizardError = useSelector ( selectWizardEror ) ;
50+ const alarmGroup = useSelector ( selectAlarmGroup ) ;
51+
52+ const isEditMode = alarmGroup != null && alarmGroup . ID != null && alarmGroup . ID !== - 1 ;
5053
5154 const [ hover , setHover ] = React . useState < boolean > ( false ) ;
55+ const [ hoverSave , setHoverSave ] = React . useState < boolean > ( false ) ;
5256
5357
5458 // Define Step Numbers
@@ -116,6 +120,13 @@ const WizardHome = (props: IProps) => {
116120 </ div >
117121 </ div >
118122 < div className = "btn-group mr-2 " role = "group" >
123+ { isEditMode && tab !== 'test' ?
124+ < button type = "button" className = { "btn btn-success" + ( errors . some ( item => ( item . complete == 'required' ) ) ? ' disabled' : '' ) }
125+ onClick = { ( ) => { if ( ! errors . some ( item => ( item . complete == 'required' ) ) ) dispatch ( SaveWizard ( ) ) ; } }
126+ data-tooltip = 'quickSaveTip' onMouseEnter = { ( ) => setHoverSave ( true ) } onMouseLeave = { ( ) => setHoverSave ( false ) } >
127+ { status != 'idle' ? < LoadingIcon Show = { true } Size = { 40 } /> : "Save" }
128+ </ button >
129+ : null }
119130 < button type = "button" className = { "btn btn-success" + ( errors . some ( item => ( item . complete == 'required' ) ) ? ' disabled' : '' ) }
120131 onClick = { ( ) => Continue ( ) } data-tooltip = 'registerTip' onMouseEnter = { ( ) => setHover ( true ) } onMouseLeave = { ( ) => setHover ( false ) } >
121132 { status != 'idle' ? < LoadingIcon Show = { true } Size = { 40 } /> : ( tab == "test" ? "Save" : "Continue" ) }
@@ -127,6 +138,11 @@ const WizardHome = (props: IProps) => {
127138 { errors . map ( ( item , index ) => < Requirements { ...item } key = { index } /> ) }
128139 </ ToolTip >
129140 : null }
141+ { isEditMode && tab !== 'test' ?
142+ < ToolTip Show = { hoverSave && errors . length > 0 } Position = { 'left' } Theme = { 'dark' } Target = { "quickSaveTip" } >
143+ { errors . map ( ( item , index ) => < Requirements { ...item } key = { index } /> ) }
144+ </ ToolTip >
145+ : null }
130146 { tab == 'setpoint' ? < FunctionHelp /> : null }
131147 </ div >
132148 ) ;
0 commit comments