diff --git a/components/elements/fields/renderCheckBox.js b/components/elements/fields/renderCheckBox.js new file mode 100644 index 00000000..9bd9b17f --- /dev/null +++ b/components/elements/fields/renderCheckBox.js @@ -0,0 +1,89 @@ +import React from "react"; +import { Field } from "redux-form"; +import { useRouter } from "next/router"; +import fieldLookup from "../../../data/crmfieldlookuptranslations.json"; +import { getFieldTranslation } from "../helpers/translationHelpers"; + +export const RenderCheckBox = ({ + datafieldname, + name, + label, + id, + errorMsg, + options, + input: { onChange, value }, + meta: { touched, error }, + ...custom +}) => { + const router = useRouter(); + const { locale } = router; + const { appealtypes } = router.query; + + const translatedLabel = getFieldTranslation({ + label, + locale, + appealtypes, + fieldLookup + }); + + return ( + <> +
+
+ + + + {touched && error && ( + + + Error: + {" "} + {errorMsg} + + )} +
+ {Object.keys(options).map((key, index) => ( +
+ + +
+ ))} +
+
+
+ + ); +}; diff --git a/components/elements/fields/renderDecimalField.js b/components/elements/fields/renderDecimalField.js new file mode 100644 index 00000000..3711d2ed --- /dev/null +++ b/components/elements/fields/renderDecimalField.js @@ -0,0 +1,62 @@ +import React from "react"; +import { useRouter } from "next/router"; +import fieldLookup from "../../../data/crmfieldlookuptranslations.json"; +import { getFieldTranslation } from "../helpers/translationHelpers"; + +export const RenderDecimalField = ({ + name, + id, + label, + datafieldname, + className, + input, + errorMsg, + meta: { touched, error }, + ...custom +}) => { + const router = useRouter(); + const { locale } = router; + const { appealtypes } = router.query; + + const translatedLabel = getFieldTranslation({ + label, + locale, + appealtypes, + fieldLookup + }); + + return ( + <> +
+ + {touched && error && ( + + Error:{" "} + {error} + + )} + +
+ + ); +}; diff --git a/components/elements/fields/renderPickList.js b/components/elements/fields/renderPickList.js new file mode 100644 index 00000000..521b82d9 --- /dev/null +++ b/components/elements/fields/renderPickList.js @@ -0,0 +1,82 @@ +import React from "react"; +import { JSONPath as jsonpath } from "jsonpath-plus"; +import { useRouter } from "next/router"; +import useTranslation from "next-translate/useTranslation"; +import fieldLookup from "../../../data/crmfieldlookuptranslations.json"; +import pickListLookup from "../../../data/picklistLookups.json"; +import { + getFieldTranslation, + getPickListTranslation +} from "../helpers/translationHelpers"; + +export const RenderPickList = ({ + datafieldname, + picklistData, + id, + name, + label, + input, + errorMsg, + meta: { touched, error } +}) => { + let { t } = useTranslation(); + const router = useRouter(); + const { locale } = router; + const { appealtypes } = router.query; + + var dropdownObj = jsonpath({ + path: + "$..value[?(@ && @.LogicalName=='" + datafieldname + "')]..Options", + json: picklistData, + eval: true + }); + dropdownObj = dropdownObj[0]; + + const translatedLabel = getFieldTranslation({ + label, + locale, + appealtypes, + fieldLookup + }); + + return ( + <> +
+ + {touched && error && ( + + Error:{" "} + {error} + + )} + +
+ + ); +}; diff --git a/components/elements/index.js b/components/elements/index.js index 05fba24f..de495dba 100644 --- a/components/elements/index.js +++ b/components/elements/index.js @@ -31,16 +31,16 @@ import { getThumbnailIconByMimeType, validateUploadFilename } from "./helpers/fileUploadHelpers"; -import { - getFieldTranslation, - getPickListTranslation -} from "./helpers/translationHelpers"; +import { getFieldTranslation } from "./helpers/translationHelpers"; import { RenderRichMultiline } from "./fields/renderRichMultiline"; import { RenderTextfield } from "./fields/renderTextfield"; import { RenderMultiline } from "./fields/renderMultiline"; import { RenderDatePicker } from "./fields/renderDatePicker"; import { RenderYesNo } from "./fields/renderYesNo"; import { RenderRadio } from "./fields/renderRadio"; +import { RenderCheckBox } from "./fields/renderCheckBox"; +import { RenderPickList } from "./fields/renderPickList"; +import { RenderDecimalField } from "./fields/renderDecimalField"; export function Textfield(props) { const { @@ -784,79 +784,6 @@ export function Radiofield(props) { ); } -const RenderCheckBox = ({ - datafieldname, - name, - label, - id, - errorMsg, - options, - input: { onChange, value }, - meta: { touched, error }, - ...custom -}) => { - return ( - <> -
-
- - - - {touched && error && ( - - - Error: - {" "} - {errorMsg} - - )} -
- {Object.keys(options).map((key, index) => ( -
- - -
- ))} -
-
-
- - ); -}; - export function CheckBoxfield(props) { const router = useRouter(); @@ -879,70 +806,6 @@ export function CheckBoxfield(props) { ); } -const RenderPickList = ({ - datafieldname, - picklistData, - id, - name, - label, - input, - errorMsg, - meta: { touched, error } -}) => { - let { t } = useTranslation(); - - var dropdownObj = jsonpath({ - path: - "$..value[?(@ && @.LogicalName=='" + datafieldname + "')]..Options", - json: picklistData, - eval: true - }); - dropdownObj = dropdownObj[0]; - - const required = (value) => { - return value || value == 0 - ? undefined - : t("newappeal:is-required-label"); - }; - - return ( - <> -
- - {touched && error && ( - - Error:{" "} - {error} - - )} - -
- - ); -}; - export function PickList(props) { const { name, label, datafieldname, hint } = props; let { t } = useTranslation(); @@ -1207,60 +1070,6 @@ export function DecimalField(props) { ); } -const RenderDecimalField = ({ - name, - id, - label, - datafieldname, - className, - input, - errorMsg, - meta: { touched, error }, - ...custom -}) => { - //
- // - // - // {touched && error && {error}} - //
; - - return ( - <> -
- - {touched && error && ( - - Error:{" "} - {error} - - )} - -
- - ); -}; - const RenderCaseID = {}; export function ReadOnlyfield(props) { @@ -1299,14 +1108,6 @@ export const FieldsTranslations = (label) => { }); }; -const PickListTranslations = (optionValue) => { - const router = useRouter(); - const { locale } = router; - const { appealtypes } = router.query; - - return getPickListTranslation({ optionValue, locale, pickListLookup }); -}; - export function FileUploadField(props) { const uploadCount = typeof props.uploadCount === "number" ? props.uploadCount : 0;