parent
8abd47eb18
commit
5f4ecf7bcf
2 changed files with 95 additions and 41 deletions
@ -1,53 +1,104 @@ |
|||||||
import { FC } from 'react'; |
import { ReactElement } from 'react'; |
||||||
|
|
||||||
import Grid from '../Grid'; |
import Grid from '../Grid'; |
||||||
import InputWithRef from '../InputWithRef'; |
import InputWithRef from '../InputWithRef'; |
||||||
import OutlinedInputWithLabel from '../OutlinedInputWithLabel'; |
import OutlinedInputWithLabel from '../OutlinedInputWithLabel'; |
||||||
|
import { |
||||||
|
buildIPAddressTestBatch, |
||||||
|
buildPeacefulStringTestBatch, |
||||||
|
} from '../../lib/test_input'; |
||||||
|
|
||||||
const INPUT_ID_UPS_IP = 'common-ups-input-ip-address'; |
const INPUT_ID_UPS_IP = 'common-ups-input-ip-address'; |
||||||
const INPUT_ID_UPS_NAME = 'common-ups-input-host-name'; |
const INPUT_ID_UPS_NAME = 'common-ups-input-host-name'; |
||||||
|
|
||||||
const CommonUpsInputGroup: FC<CommonUpsInputGroupProps> = ({ |
const INPUT_LABEL_UPS_IP = 'IP address'; |
||||||
|
const INPUT_LABEL_UPS_NAME = 'Host name'; |
||||||
|
|
||||||
|
const CommonUpsInputGroup = < |
||||||
|
M extends { |
||||||
|
[K in typeof INPUT_ID_UPS_IP | typeof INPUT_ID_UPS_NAME]: string; |
||||||
|
}, |
||||||
|
>({ |
||||||
|
formUtils: { |
||||||
|
buildFinishInputTestBatchFunction, |
||||||
|
buildInputFirstRenderFunction, |
||||||
|
msgSetters, |
||||||
|
}, |
||||||
previous: { upsIPAddress: previousIpAddress, upsName: previousUpsName } = {}, |
previous: { upsIPAddress: previousIpAddress, upsName: previousUpsName } = {}, |
||||||
}) => ( |
}: CommonUpsInputGroupProps<M>): ReactElement => ( |
||||||
<> |
<Grid |
||||||
<Grid |
columns={{ xs: 1, sm: 2 }} |
||||||
columns={{ xs: 1, sm: 2 }} |
layout={{ |
||||||
layout={{ |
'common-ups-input-cell-host-name': { |
||||||
'common-ups-input-cell-host-name': { |
children: ( |
||||||
children: ( |
<InputWithRef |
||||||
<InputWithRef |
input={ |
||||||
input={ |
<OutlinedInputWithLabel |
||||||
<OutlinedInputWithLabel |
id={INPUT_ID_UPS_NAME} |
||||||
id={INPUT_ID_UPS_NAME} |
label={INPUT_LABEL_UPS_NAME} |
||||||
label="Host name" |
value={previousUpsName} |
||||||
value={previousUpsName} |
/> |
||||||
/> |
} |
||||||
} |
inputTestBatch={buildPeacefulStringTestBatch( |
||||||
required |
INPUT_LABEL_UPS_NAME, |
||||||
/> |
() => { |
||||||
), |
msgSetters[INPUT_ID_UPS_NAME](); |
||||||
}, |
}, |
||||||
'common-ups-input-cell-ip-address': { |
{ |
||||||
children: ( |
onFinishBatch: |
||||||
<InputWithRef |
buildFinishInputTestBatchFunction(INPUT_ID_UPS_NAME), |
||||||
input={ |
}, |
||||||
<OutlinedInputWithLabel |
(message) => { |
||||||
id={INPUT_ID_UPS_IP} |
msgSetters[INPUT_ID_UPS_NAME]({ |
||||||
label="IP address" |
children: message, |
||||||
value={previousIpAddress} |
}); |
||||||
/> |
}, |
||||||
} |
)} |
||||||
required |
onFirstRender={buildInputFirstRenderFunction(INPUT_ID_UPS_NAME)} |
||||||
/> |
required |
||||||
), |
/> |
||||||
}, |
), |
||||||
}} |
}, |
||||||
spacing="1em" |
'common-ups-input-cell-ip-address': { |
||||||
/> |
children: ( |
||||||
</> |
<InputWithRef |
||||||
|
input={ |
||||||
|
<OutlinedInputWithLabel |
||||||
|
id={INPUT_ID_UPS_IP} |
||||||
|
label={INPUT_LABEL_UPS_IP} |
||||||
|
value={previousIpAddress} |
||||||
|
/> |
||||||
|
} |
||||||
|
inputTestBatch={buildIPAddressTestBatch( |
||||||
|
INPUT_LABEL_UPS_IP, |
||||||
|
() => { |
||||||
|
msgSetters[INPUT_ID_UPS_IP](); |
||||||
|
}, |
||||||
|
{ |
||||||
|
onFinishBatch: |
||||||
|
buildFinishInputTestBatchFunction(INPUT_ID_UPS_IP), |
||||||
|
}, |
||||||
|
(message) => { |
||||||
|
msgSetters[INPUT_ID_UPS_IP]({ |
||||||
|
children: message, |
||||||
|
}); |
||||||
|
}, |
||||||
|
)} |
||||||
|
onFirstRender={buildInputFirstRenderFunction(INPUT_ID_UPS_IP)} |
||||||
|
required |
||||||
|
/> |
||||||
|
), |
||||||
|
}, |
||||||
|
}} |
||||||
|
spacing="1em" |
||||||
|
/> |
||||||
); |
); |
||||||
|
|
||||||
export { INPUT_ID_UPS_IP, INPUT_ID_UPS_NAME }; |
export { |
||||||
|
INPUT_ID_UPS_IP, |
||||||
|
INPUT_ID_UPS_NAME, |
||||||
|
INPUT_LABEL_UPS_IP, |
||||||
|
INPUT_LABEL_UPS_NAME, |
||||||
|
}; |
||||||
|
|
||||||
export default CommonUpsInputGroup; |
export default CommonUpsInputGroup; |
||||||
|
Loading…
Reference in new issue