added crm driven form via oauth

This commit is contained in:
robert.bond@test.gov.wales
2021-09-07 12:46:59 +01:00
parent 9e13a9e7c8
commit 8e8797418a
12 changed files with 245 additions and 149 deletions
+9 -26
View File
@@ -5,6 +5,7 @@ import DatePicker from "react-datepicker";
import React, { useState } from "react";
import "react-datepicker/dist/react-datepicker.css";
import moment from "moment";
import jsonpath from "jsonpath";
const RenderTextfield = ({
id,
@@ -356,35 +357,17 @@ export function YesNofield(props) {
const RenderPickList = ({
datafieldname,
picklistData,
name,
label,
input,
meta: { touched, errorStr },
}) => {
const fetcher = (url) => fetch(url).then((res) => res.json());
const { data, error } = useSWR("/api/lookups/" + datafieldname, fetcher);
if (error)
return (
<div className="govuk-form-group">
<label className="govuk-label govuk-body-m" htmlFor={name}>
{label}
</label>
<select className="govuk-select" id={name} name={name}>
<option value="">empty</option>
</select>
</div>
);
if (!data)
return (
<div>
<div className="govuk-form-group">{label} loading...</div>
</div>
);
//console.log(JSON.stringify(data.GlobalOptionSet.Options));
const dropdownObj = data.GlobalOptionSet.Options;
var dropdownObj = jsonpath.query(
picklistData,
"$..value[?(@.LogicalName=='" + datafieldname + "')]..Options"
);
dropdownObj = dropdownObj[0];
return (
<div>
<select {...input} className="govuk-select " id={name} name={name}>
@@ -394,9 +377,8 @@ const RenderPickList = ({
<option
key={key}
value={
dropdownObj[key].Label.LocalizedLabels[0].value
dropdownObj[key].Label.LocalizedLabels[0].Label
}
// value={dropdownObj[key].Label.LocalizedLabels[0].MetadataId}
>
{dropdownObj[key].Label.LocalizedLabels[0].Label}
</option>
@@ -421,6 +403,7 @@ export function PickList(props) {
name={props.name}
component={RenderPickList}
datafieldname={datafieldname}
picklistData={props.picklistData}
/>
</div>
);