Merged PR 1153: updated file name prefixes
updated file name prefixes Related work items: #11219
This commit is contained in:
+75
-3
@@ -164,6 +164,45 @@ export const getContainers = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
const getDocumentTypeFromFilename = (filename) => {
|
||||
var doctypeCode = "000000";
|
||||
|
||||
if (filename.indexOf("_-_Statement_of_Case") > 0) doctypeCode = "000000";
|
||||
else if (filename.indexOf("_-_Application_Form") > 0)
|
||||
doctypeCode = "000001";
|
||||
else if (filename.indexOf("_-_Site_Ownership_Certificate") > 0)
|
||||
doctypeCode = "000002";
|
||||
else if (filename.indexOf("_-_Decision_Notice") > 0) doctypeCode = "000003";
|
||||
else if (filename.indexOf("_-_Site_Location_Plan") > 0)
|
||||
doctypeCode = "000004";
|
||||
else if (filename.indexOf("_-_Plans_Drawing_Documents") > 0)
|
||||
doctypeCode = "000005";
|
||||
else if (filename.indexOf("_-_Additional_Plans_Drawings_Documents") > 0)
|
||||
doctypeCode = "000006";
|
||||
else if (filename.indexOf("_-_Design_and_Access_Statement") > 0)
|
||||
doctypeCode = "000007";
|
||||
else if (filename.indexOf("_-_Green_Infrastructure_Statement") > 0)
|
||||
doctypeCode = "000008";
|
||||
else if (filename.indexOf("_-_LPA_Correspondence") > 0)
|
||||
doctypeCode = "000009";
|
||||
else if (filename.indexOf("_-_LPA_Original_Permission") > 0)
|
||||
doctypeCode = "000010";
|
||||
else if (filename.indexOf("_-_LPA's_Registration_Letter") > 0)
|
||||
doctypeCode = "000010";
|
||||
else if (filename.indexOf(+"_-_Environmental_Statement") > 0)
|
||||
doctypeCode = "000012";
|
||||
else if (filename.indexOf("_-_Cost_of_Application") > 0)
|
||||
doctypeCode = "000013";
|
||||
else if (filename.indexOf("_-_Other_Relevant_Material") > 0)
|
||||
doctypeCode = "000014";
|
||||
else if (
|
||||
filename.indexOf("_-_S106_Agreement_or_Unilateral_Undertaking") > 0
|
||||
)
|
||||
doctypeCode = "000015";
|
||||
|
||||
return doctypeCode;
|
||||
};
|
||||
|
||||
export const getBlobs = async (containerName, casefolderID) => {
|
||||
const containerToken = await createContainerSas(containerName);
|
||||
const sasUrl = `${STORAGE_PATH}/${containerName}?${containerToken}`;
|
||||
@@ -182,7 +221,9 @@ export const getBlobs = async (containerName, casefolderID) => {
|
||||
blobObj.push({
|
||||
"name": blob.name.split("/")[2],
|
||||
"path": blob.name,
|
||||
"documentType": blobDocumentType,
|
||||
"documentType": getDocumentTypeFromFilename(
|
||||
blob.name.split("/")[2]
|
||||
),
|
||||
"versionId": blob.versionId,
|
||||
"caseObj": casefolderID + "/" + casefolderID + "_case.json",
|
||||
"isCurrentVersion": blob.isCurrentVersion,
|
||||
@@ -195,7 +236,7 @@ export const getBlobs = async (containerName, casefolderID) => {
|
||||
"&casefolderID=" +
|
||||
casefolderID +
|
||||
"&blobname=" +
|
||||
blob.name.split("/")[2],
|
||||
blob.name,
|
||||
"hashedfilepath": hashAPIPath(
|
||||
"/api/file/downloadblob?container=" +
|
||||
containerName +
|
||||
@@ -479,7 +520,38 @@ export const uploadFile = async (formContent, containerName, foldername) => {
|
||||
);
|
||||
|
||||
let whichLocation =
|
||||
files[prop][0].fieldName.indexOf("_IP_") > 0
|
||||
files[prop][0].fieldName.indexOf("_Statement_of_Case") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Statement_of_Case") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Application_Form") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Site_Ownership_Certificate") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Decision_Notice") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Site_Location_Plan") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Plans_Drawing_Documents") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Additional_Plans_Drawings_Documents"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Design_and_Access_Statement") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Green_Infrastructure_Statement"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_LPA_Correspondence") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_LPA_Original_Permission") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_LPA's_Registration_Letter") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(+"_-_Environmental_Statement") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Cost_of_Application") > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Other_Relevant_Material") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_S106_Agreement_or_Unilateral_Undertaking" > 0
|
||||
)
|
||||
? "Main Party Submission"
|
||||
: files[prop][0].fieldName.indexOf("_IP_") > 0
|
||||
? "Interested Party Representations"
|
||||
: files[prop][0].fieldName.indexOf("_Statement_") > 0
|
||||
? "Main Party Statements"
|
||||
|
||||
@@ -343,6 +343,7 @@ let MakeRepresentation = (props) => {
|
||||
setQuestionnaireCount={setQuestionnaireCount}
|
||||
questionnaireCount={questionnaireCount}
|
||||
setRepFileName={setRepFileName}
|
||||
updateRepresentation={updateRepresentation}
|
||||
/>
|
||||
);
|
||||
break;
|
||||
@@ -632,6 +633,7 @@ let MakeRepresentation = (props) => {
|
||||
};
|
||||
|
||||
const onHandleSubmit = (values) => {
|
||||
window.scrollTo({ top: 0, behavior: "smooth" });
|
||||
values = setRepFileName(values);
|
||||
|
||||
console.log("onHandleSubmit form values - ", JSON.stringify(values));
|
||||
|
||||
@@ -534,22 +534,30 @@ export const RenderTextfield = ({
|
||||
|
||||
return (
|
||||
<>
|
||||
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
|
||||
{label}
|
||||
</label>
|
||||
{touched && error && (
|
||||
<span id={id + "-error"} className="govuk-error-message">
|
||||
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||
{errorMsg}
|
||||
</span>
|
||||
)}
|
||||
<input
|
||||
{...input}
|
||||
className={className}
|
||||
name={name}
|
||||
id={id}
|
||||
type={type}
|
||||
/>
|
||||
<div
|
||||
className={
|
||||
touched && error
|
||||
? "govuk-form-group govuk-form-group--error"
|
||||
: "govuk-form-group "
|
||||
}
|
||||
>
|
||||
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
|
||||
{label}
|
||||
</label>
|
||||
{touched && error && (
|
||||
<span id={id + "-error"} className="govuk-error-message">
|
||||
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||
{errorMsg}
|
||||
</span>
|
||||
)}
|
||||
<input
|
||||
{...input}
|
||||
className={className}
|
||||
name={name}
|
||||
id={id}
|
||||
type={type}
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
@@ -953,10 +961,30 @@ export const RenderFileUpload = (field) => {
|
||||
|
||||
const filelistObj = field.fileList || {};
|
||||
|
||||
const blobList = jsonpath(
|
||||
"$..[?(@.documentType=='" + field.documentTypeCode + "')]",
|
||||
filelistObj
|
||||
);
|
||||
// const blobList = jsonpath(
|
||||
// "$..[?(@.documentType=='" + field.documentTypeCode + "')]",
|
||||
// filelistObj
|
||||
// );
|
||||
|
||||
let blobList = filelistObj;
|
||||
|
||||
// let buildAppealFilesArray = [];
|
||||
|
||||
// let filesUploadObj = field.input.value;
|
||||
|
||||
// for (let key in filesUploadObj) {
|
||||
// for (let j in filesUploadObj[key]) {
|
||||
// typeof filesUploadObj[key][j].name != "undefined" &&
|
||||
// buildAppealFilesArray.push({
|
||||
// "name": filesUploadObj[key][j].name,
|
||||
// "size": filesUploadObj[key][j].size,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// buildAppealFilesArray = buildAppealFilesArray.concat(blobList);
|
||||
|
||||
// blobList = buildAppealFilesArray;
|
||||
|
||||
const deleteThisBlob = async (
|
||||
containerName,
|
||||
@@ -1082,7 +1110,8 @@ export const RenderFileUpload = (field) => {
|
||||
}
|
||||
className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5 govuk-link"
|
||||
>
|
||||
{blob.name}({bytesToSize(blob.contentLength)})
|
||||
{blob.name} (
|
||||
{bytesToSize(blob.contentLength || blob.size)}) ww
|
||||
</Link>
|
||||
</div>
|
||||
))}{" "}
|
||||
|
||||
@@ -50,6 +50,7 @@ let RepLPA = (props) => {
|
||||
questionnaireCount,
|
||||
setQuestionnaireCount,
|
||||
setRepFileName,
|
||||
updateRepresentation,
|
||||
} = props;
|
||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||
const files = acceptedFiles.map((file) => (
|
||||
@@ -384,7 +385,11 @@ let RepLPA = (props) => {
|
||||
props.props.caseReference
|
||||
}
|
||||
hint={"sdsd"}
|
||||
fileList={[]}
|
||||
fileList={
|
||||
props.props.props.form[
|
||||
"representationForm"
|
||||
].values.filesList || []
|
||||
}
|
||||
setFilesForRepresentation={[]}
|
||||
containerID={
|
||||
props.props.props.accountDetails
|
||||
@@ -406,17 +411,14 @@ let RepLPA = (props) => {
|
||||
_.has(formObj, "values", "representationType")) &&
|
||||
props.representationType == "Questionnaire" && (
|
||||
<>
|
||||
{showQuestionnaireSection}
|
||||
{showQuestionnaireSection <=
|
||||
{showQuestionnaireSection <
|
||||
questionnaireCount && (
|
||||
<button
|
||||
// type="submit"
|
||||
type="submit"
|
||||
className="govuk-button"
|
||||
data-module="govuk-button"
|
||||
>
|
||||
{t("common:continue-button")} www
|
||||
{showQuestionnaireSection} -{" "}
|
||||
{questionnaireCount}
|
||||
{t("common:continue-button")}
|
||||
</button>
|
||||
// <a
|
||||
// href="#"
|
||||
@@ -437,16 +439,24 @@ let RepLPA = (props) => {
|
||||
className="govuk-button"
|
||||
data-module="govuk-button"
|
||||
>
|
||||
{t("common:continue-button")} -{" "}
|
||||
{showQuestionnaireSection}
|
||||
{t("common:continue-button")}
|
||||
</button>
|
||||
)}
|
||||
{showQuestionnaireSection > 1 && (
|
||||
<a
|
||||
onClick={() => {
|
||||
setShowQuestionnaireSection(
|
||||
showQuestionnaireSection - 1
|
||||
);
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
setRepFileName(
|
||||
props.formObj[
|
||||
"representationForm"
|
||||
].values
|
||||
),
|
||||
setShowQuestionnaireSection(
|
||||
showQuestionnaireSection - 1
|
||||
);
|
||||
}}
|
||||
className="govuk-link"
|
||||
>
|
||||
@@ -464,7 +474,7 @@ let RepLPA = (props) => {
|
||||
className="govuk-button"
|
||||
data-module="govuk-button"
|
||||
>
|
||||
{t("common:continue-button")} ==
|
||||
{t("common:continue-button")}
|
||||
</button>
|
||||
<a
|
||||
onClick={() => {
|
||||
|
||||
+2
-1
@@ -1120,6 +1120,7 @@ let Enforcement_Questionnaire = (props) => {
|
||||
fileList={[]}
|
||||
setFilesForRepresentation={[]}
|
||||
containerID={props.containerID}
|
||||
filenamePrefix={props}
|
||||
/>
|
||||
</div>
|
||||
</fieldset>
|
||||
@@ -1153,7 +1154,7 @@ let Enforcement_Questionnaire = (props) => {
|
||||
className="govuk-input govuk-!-width-one-half"
|
||||
id="onBehalfOfLPA"
|
||||
name="onBehalfOfLPA"
|
||||
data-aria-controls="caseOfficer"
|
||||
data-aria-controls="onBehalfOfLPA"
|
||||
type="text"
|
||||
component={RenderTextfield}
|
||||
label={t(
|
||||
|
||||
+12
-6
@@ -381,7 +381,7 @@ let S78_Questionnaire = (props) => {
|
||||
<Field
|
||||
label={
|
||||
"14. " +
|
||||
t("myrepresentations:s78-section-question-13")
|
||||
t("myrepresentations:s78-section-question-14")
|
||||
}
|
||||
name="LPAintentionToSubmitFullStatement"
|
||||
id="LPAintentionToSubmitFullStatement"
|
||||
@@ -945,9 +945,14 @@ let S78_Questionnaire = (props) => {
|
||||
label={t("myrepresentations:add-files-label")}
|
||||
ticketnumber={props.props.caseReference}
|
||||
hint={"sdsd"}
|
||||
fileList={[]}
|
||||
fileList={
|
||||
props.props.props.props.form[
|
||||
"representationForm"
|
||||
].values.filesList || []
|
||||
}
|
||||
setFilesForRepresentation={[]}
|
||||
containerID={props.containerID}
|
||||
filenamePrefix={props.props}
|
||||
/>
|
||||
</div>
|
||||
</fieldset>
|
||||
@@ -970,6 +975,7 @@ let S78_Questionnaire = (props) => {
|
||||
"myrepresentations:s78-section-question-signed"
|
||||
)}
|
||||
validate={[required]}
|
||||
errorMsg="Is required"
|
||||
/>
|
||||
</div>
|
||||
<div className="govuk-form-group">
|
||||
@@ -978,13 +984,13 @@ let S78_Questionnaire = (props) => {
|
||||
className="govuk-input govuk-!-width-one-half"
|
||||
id="onBehalfOfLPA"
|
||||
name="onBehalfOfLPA"
|
||||
data-aria-controls="caseOfficer"
|
||||
data-aria-controls="onBehalfOfLPA"
|
||||
type="text"
|
||||
component={RenderTextfield}
|
||||
label={t(
|
||||
"myrepresentations:s78-section-question-onbehalf"
|
||||
)}
|
||||
validate={[required]}
|
||||
errorMsg="Is required"
|
||||
/>
|
||||
</div>
|
||||
<Field
|
||||
@@ -992,10 +998,10 @@ let S78_Questionnaire = (props) => {
|
||||
id="signedDate"
|
||||
label={t("myrepresentations:s78-section-question-date")}
|
||||
component={RenderDatePicker}
|
||||
//validate={[required]}
|
||||
errorMsg="Select a date"
|
||||
validate={[required]}
|
||||
dateStart="0"
|
||||
dateEnd="1-y"
|
||||
errorMsg="Is required"
|
||||
locale={locale}
|
||||
/>
|
||||
</fieldset>
|
||||
|
||||
+138
-41
@@ -141,9 +141,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.enterNeighbouringLandToViewSiteEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.enterNeighbouringLandToViewSiteEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -207,9 +210,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.enterNeighbouringLandAccessRequired
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.enterNeighbouringLandAccessRequired,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -271,7 +277,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.healthAndSafetyIssuesEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.healthAndSafetyIssuesEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -335,7 +346,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.LPAcaseFileAndReps}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAcaseFileAndReps,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -367,7 +383,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.LPAldpAndMap}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAldpAndMap,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -490,7 +511,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.ROWEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.ROWEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -551,7 +577,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.conservationAreaEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.conservationAreaEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -613,7 +644,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.affectListedBuildingEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.affectListedBuildingEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -674,7 +710,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.TPOEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.TPOEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -736,7 +777,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.natureConservationSiteEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.natureConservationSiteEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -797,7 +843,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.protectedSpeciesEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.protectedSpeciesEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -893,9 +944,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.governmentDepartmentCommentsEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.governmentDepartmentCommentsEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -992,9 +1046,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.developmentCarriedOutInAccordanceEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentCarriedOutInAccordanceEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1098,9 +1155,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.developmentNotTakePlaceBroadbandEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentNotTakePlaceBroadbandEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1162,9 +1222,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.developmentAnyOtherConditionsEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentAnyOtherConditionsEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1226,9 +1289,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.copyOfApplicantsCertificateEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.copyOfApplicantsCertificateEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1290,7 +1356,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.advertismentGivenEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.advertismentGivenEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1352,9 +1423,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.copyOfLetterOfAppealNotificationEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.copyOfLetterOfAppealNotificationEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1415,7 +1489,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.lpaEIAOSEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.lpaEIAOSEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1479,9 +1558,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
repFormData.advertismentConsentDiscontinuanceNoticeEvidence
|
||||
}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.advertismentConsentDiscontinuanceNoticeEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1544,7 +1626,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.detailsOfOtherAppeals}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.detailsOfOtherAppeals,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1606,7 +1693,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.detailsOfPreviousAppealsEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.detailsOfPreviousAppealsEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -1667,7 +1759,12 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{repFormData.otherRelevantInformationEvidence}
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.otherRelevantInformationEvidence,
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
|
||||
@@ -1379,7 +1379,6 @@ export function DecimalField(props) {
|
||||
{parentField != false ? (
|
||||
showIfHasParentShowValue && (
|
||||
<div className="govuk-form-group">
|
||||
wwww
|
||||
<Field
|
||||
name={props.name}
|
||||
id={props.name}
|
||||
@@ -1591,55 +1590,73 @@ const RenderFileUpload = (field) => {
|
||||
};
|
||||
|
||||
const getDocumentType = (docCode) => {
|
||||
const repDate = new Date();
|
||||
|
||||
let day = repDate.getDate();
|
||||
let month = repDate.getMonth() + 1;
|
||||
let year = repDate.getFullYear();
|
||||
|
||||
const pdfFileNameDateStamp = year + "-" + month + "-" + day;
|
||||
|
||||
switch (docCode) {
|
||||
case "000000":
|
||||
return pdfFileNameDateStamp + "_-_Statement_of_Case";
|
||||
case "000001":
|
||||
return "000001";
|
||||
return pdfFileNameDateStamp + "_-_Application_Form";
|
||||
break;
|
||||
case "000002":
|
||||
return "000002";
|
||||
return pdfFileNameDateStamp + "_-_Site_Ownership_Certificate";
|
||||
break;
|
||||
case "000003":
|
||||
return "000003";
|
||||
return pdfFileNameDateStamp + "_-_Decision_Notice";
|
||||
break;
|
||||
case "000004":
|
||||
return "000004";
|
||||
return pdfFileNameDateStamp + "_-_Site_Location_Plan";
|
||||
break;
|
||||
case "000005":
|
||||
return "000005";
|
||||
return pdfFileNameDateStamp + "_-_Plans_Drawing_Documents";
|
||||
break;
|
||||
case "000006":
|
||||
return "000006";
|
||||
return (
|
||||
pdfFileNameDateStamp +
|
||||
"_-_Additional_Plans_Drawings_Documents"
|
||||
);
|
||||
break;
|
||||
case "000007":
|
||||
return "000007";
|
||||
return pdfFileNameDateStamp + "_-_Design_and_Access_Statement";
|
||||
break;
|
||||
case "000008":
|
||||
return "000008";
|
||||
return (
|
||||
pdfFileNameDateStamp + "_-_Green_Infrastructure_Statement"
|
||||
);
|
||||
break;
|
||||
case "000009":
|
||||
return "000009";
|
||||
return pdfFileNameDateStamp + "_-_LPA_Correspondence";
|
||||
break;
|
||||
case "000010":
|
||||
return "000010";
|
||||
return pdfFileNameDateStamp + "_-_LPA_Original_Permission";
|
||||
break;
|
||||
case "000011":
|
||||
return "000011";
|
||||
return pdfFileNameDateStamp + "_-_LPA's_Registration_Letter";
|
||||
break;
|
||||
case "000012":
|
||||
return "000012";
|
||||
return pdfFileNameDateStamp + +"_-_Environmental_Statement";
|
||||
break;
|
||||
case "000013":
|
||||
return "000013";
|
||||
return pdfFileNameDateStamp + "_-_Cost_of_Application";
|
||||
break;
|
||||
case "000014":
|
||||
return "000014";
|
||||
return pdfFileNameDateStamp + "_-_Other_Relevant_Material";
|
||||
break;
|
||||
case "000015":
|
||||
return "000015";
|
||||
return (
|
||||
pdfFileNameDateStamp +
|
||||
"_-_S106_Agreement_or_Unilateral_Undertaking"
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
return "000000";
|
||||
return pdfFileNameDateStamp + "_-_000000_-_";
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1649,6 +1666,7 @@ const RenderFileUpload = (field) => {
|
||||
"$..[?(@.documentType=='" + field.documentTypeCode + "')]",
|
||||
filelistObj
|
||||
);
|
||||
//const blobList = filelistObj;
|
||||
|
||||
const deleteThisBlob = async (
|
||||
containerName,
|
||||
@@ -1688,7 +1706,7 @@ const RenderFileUpload = (field) => {
|
||||
(file) =>
|
||||
new File(
|
||||
[file],
|
||||
`${getDocumentType(field.documentTypeCode)}_${
|
||||
`${getDocumentType(field.documentTypeCode)}_-_${
|
||||
file.name
|
||||
}`,
|
||||
{
|
||||
@@ -1755,53 +1773,55 @@ const RenderFileUpload = (field) => {
|
||||
)}
|
||||
</ul>
|
||||
)}
|
||||
{blobList.map((blob, i) => (
|
||||
<div
|
||||
key={blob.name + "_" + i}
|
||||
className="govuk-!-margin-bottom-5 fileThumb govuk-!-margin-top-5"
|
||||
>
|
||||
<div key={"deleteLnk" + i} className="">
|
||||
<span
|
||||
className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left"
|
||||
onClick={() => {
|
||||
deleteThisBlob(
|
||||
field.containerID,
|
||||
blob.name,
|
||||
blob.hasheddeletepath,
|
||||
blob.hashgetblobs,
|
||||
field.ticketnumber
|
||||
);
|
||||
}}
|
||||
title="Remove this file"
|
||||
{blobList.map(
|
||||
(blob, i) =>
|
||||
blob.documentType == field.documentTypeCode && (
|
||||
<div
|
||||
key={blob.name + "_" + i}
|
||||
className="govuk-!-margin-bottom-5 fileThumb govuk-!-margin-top-5"
|
||||
>
|
||||
−
|
||||
</span>
|
||||
</div>
|
||||
<img
|
||||
src={getThumbnailIconByExtension(blob.name)}
|
||||
alt={blob.name}
|
||||
width="50"
|
||||
/>
|
||||
<div key={"deleteLnk" + i} className="">
|
||||
<span
|
||||
className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left"
|
||||
onClick={() => {
|
||||
deleteThisBlob(
|
||||
field.containerID,
|
||||
blob.name,
|
||||
blob.hasheddeletepath,
|
||||
blob.hashgetblobs,
|
||||
field.ticketnumber
|
||||
);
|
||||
}}
|
||||
title="Remove this file "
|
||||
>
|
||||
−
|
||||
</span>
|
||||
</div>
|
||||
<img
|
||||
src={getThumbnailIconByExtension(blob.name)}
|
||||
alt={blob.name}
|
||||
width="50"
|
||||
/>
|
||||
|
||||
<Link
|
||||
key={"lnk" + i}
|
||||
scroll={false}
|
||||
href={
|
||||
"/api/file/downloadblob?container=" +
|
||||
field.containerID +
|
||||
"&casefolderID=" +
|
||||
field.ticketnumber +
|
||||
"&blobname=" +
|
||||
blob.name +
|
||||
blob.hashedfilepath
|
||||
}
|
||||
className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5 govuk-link"
|
||||
>
|
||||
{blob.name.slice(blob.name.indexOf("_") + 1)}(
|
||||
{bytesToSize(blob.contentLength)})
|
||||
</Link>
|
||||
</div>
|
||||
))}{" "}
|
||||
<Link
|
||||
key={"lnk" + i}
|
||||
scroll={false}
|
||||
href={
|
||||
"/api/file/downloadblob?container=" +
|
||||
field.containerID +
|
||||
"&casefolderID=" +
|
||||
field.ticketnumber +
|
||||
"&blobname=" +
|
||||
blob.name +
|
||||
blob.hashedfilepath
|
||||
}
|
||||
className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5 govuk-link"
|
||||
>
|
||||
{blob.name} ({bytesToSize(blob.contentLength)})
|
||||
</Link>
|
||||
</div>
|
||||
)
|
||||
)}{" "}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -62,7 +62,19 @@ export default function BuildField(props) {
|
||||
return <>{fieldValue}</>;
|
||||
break;
|
||||
case "{16D63FD6-119B-4353-BDCA-18358721C3FE}":
|
||||
return <> docs {fieldValue}</>;
|
||||
return <> {fieldValue}</>;
|
||||
break;
|
||||
case "{E0DECE4B-6666-4a8f-A065-082708572369}":
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: fieldValue,
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -169,7 +169,14 @@ let BuildCheckRow = (props) => {
|
||||
)
|
||||
: fieldtype[0].value ==
|
||||
"{16D63FD6-119B-4353-BDCA-18358721C3FE}"
|
||||
? "ssss"
|
||||
? (console.log(
|
||||
props.props.form[
|
||||
"appealForm"
|
||||
].values[
|
||||
datafieldname[0].value
|
||||
]
|
||||
),
|
||||
(<div>sdfsd eeefsdfs</div>))
|
||||
: fieldtype[0].value ==
|
||||
"{0273EDBD-AC1D-40d3-9FB2-095C621B552D}"
|
||||
? props.props.form[
|
||||
|
||||
@@ -95,6 +95,14 @@ let BuildCheckSection = (props) => {
|
||||
}
|
||||
}
|
||||
|
||||
props.props.form.appealForm.values.filesList.hasOwnProperty("value")
|
||||
? (buildAppealFilesArray = buildAppealFilesArray.concat(
|
||||
props.props.form.appealForm.values.filesList.value[0]
|
||||
))
|
||||
: (buildAppealFilesArray = buildAppealFilesArray.filesList);
|
||||
|
||||
console.log(buildAppealFilesArray);
|
||||
|
||||
let pdfObj = props.props.form.appealForm.values;
|
||||
|
||||
Object.assign(pdfObj, {
|
||||
@@ -169,58 +177,58 @@ let BuildCheckSection = (props) => {
|
||||
))}
|
||||
</dl>
|
||||
<dl className="govuk-summary-list govuk-!-margin-bottom-9 at-summary-list">
|
||||
<div className="govuk-summary-list__row" key={"9999"}>
|
||||
<dt className="govuk-summary-list__key">
|
||||
{buildAppealFilesArray.length > 0
|
||||
? buildAppealFilesArray.map((blob, i) => {
|
||||
console.log(
|
||||
"thetre blbo:",
|
||||
buildAppealFilesArray,
|
||||
blob
|
||||
);
|
||||
return (
|
||||
<div
|
||||
key={blob.name + "_" + i}
|
||||
className="govuk-!-margin-bottom-5 fileThumb "
|
||||
>
|
||||
<img
|
||||
src={getThumbnailIconByExtension(
|
||||
blob.name
|
||||
{buildAppealFilesArray.length > 0
|
||||
? buildAppealFilesArray.map((blob, i) => {
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className="govuk-summary-list__row"
|
||||
key={"9999"}
|
||||
>
|
||||
<dt className="govuk-summary-list__key govuk-!-padding-left-5">
|
||||
<div
|
||||
key={blob.name + "_" + i}
|
||||
className="govuk-!-margin-bottom-5 fileThumb "
|
||||
>
|
||||
<img
|
||||
src={getThumbnailIconByExtension(
|
||||
blob.name
|
||||
)}
|
||||
alt={blob.name}
|
||||
width="50"
|
||||
/>
|
||||
</div>
|
||||
</dt>
|
||||
<dt className="govuk-summary-list__value">
|
||||
<span className="govuk-body govuk-!-font-size-14">
|
||||
{blob.name} (
|
||||
{bytesToSize(
|
||||
blob.size ||
|
||||
blob.contentLength
|
||||
)}
|
||||
alt={blob.name.slice(
|
||||
blob.name.indexOf(
|
||||
"_"
|
||||
) + 1
|
||||
)}
|
||||
width="50"
|
||||
/>
|
||||
|
||||
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
|
||||
{blob.name.slice(
|
||||
blob.name.indexOf(
|
||||
"_"
|
||||
) + 1
|
||||
)}
|
||||
({bytesToSize(blob?.size)}
|
||||
)
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
})
|
||||
: ""}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__actions">
|
||||
<a
|
||||
className="govuk-link"
|
||||
href="#"
|
||||
onClick={() => {
|
||||
updateCurrentSection(sectionCount);
|
||||
}}
|
||||
>
|
||||
{t("newappeal:change-link-label")}
|
||||
</a>
|
||||
</dd>
|
||||
</div>
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__actions">
|
||||
<a
|
||||
className="govuk-link"
|
||||
href="#"
|
||||
onClick={() => {
|
||||
updateCurrentSection(
|
||||
sectionCount
|
||||
);
|
||||
}}
|
||||
>
|
||||
{t(
|
||||
"newappeal:change-link-label"
|
||||
)}
|
||||
</a>
|
||||
</dd>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
})
|
||||
: ""}
|
||||
</dl>
|
||||
</div>
|
||||
{finaliseAppealProcess ? (
|
||||
|
||||
@@ -177,6 +177,21 @@ let BuildSection = (props) => {
|
||||
"\n////////////////////////\n"
|
||||
);
|
||||
|
||||
// let pdfObj = values;
|
||||
|
||||
// Object.assign(pdfObj, {
|
||||
// "containerID": props.props.accountDetails.containerID,
|
||||
// "casefolderID": props.appealType.caseReference.ticketnumber,
|
||||
// });
|
||||
|
||||
// generateAppealPDF(
|
||||
// pdfObj,
|
||||
// props.props.accountDetails.containerID,
|
||||
// props.appealType.caseReference.ticketnumber,
|
||||
// router.query.appealtypes,
|
||||
// props.appealType.fileList
|
||||
// ),
|
||||
|
||||
props.setNewAppealProgress(
|
||||
getProgressObj(formXML, titleList, mandatoryFieldsData, props)
|
||||
);
|
||||
|
||||
@@ -392,7 +392,7 @@
|
||||
</row>
|
||||
<row>
|
||||
<labels>
|
||||
<label description="Additional plans, drawings or documents relating to the application but not previously seen by the LPA." ishareDocumentCode="000008" />
|
||||
<label description="Additional plans, drawings or documents relating to the application but not previously seen by the LPA." ishareDocumentCode="000006" />
|
||||
</labels>
|
||||
<control id="pinswg_fileUpload8" classid="{16D63FD6-119B-4353-BDCA-18358721C3FE}" datafieldname="pinswg_fileUpload8" disabled="false" />
|
||||
</row>
|
||||
@@ -422,7 +422,7 @@
|
||||
</row>
|
||||
<row>
|
||||
<labels>
|
||||
<label description="Any other material you may deem relevant" ishareDocumentCode="000013" />
|
||||
<label description="Any other material you may deem relevant" ishareDocumentCode="000014" />
|
||||
</labels>
|
||||
<control id="pinswg_fileUpload13" classid="{16D63FD6-119B-4353-BDCA-18358721C3FE}" datafieldname="pinswg_fileUpload13" disabled="false" />
|
||||
</row>
|
||||
@@ -434,7 +434,7 @@
|
||||
</row>
|
||||
<row>
|
||||
<labels>
|
||||
<label description="The S106 agreement or unilateral undertaking" ishareDocumentCode="000008" />
|
||||
<label description="The S106 agreement or unilateral undertaking" ishareDocumentCode="000015" />
|
||||
</labels>
|
||||
<control id="pinswg_fileUpload15" classid="{16D63FD6-119B-4353-BDCA-18358721C3FE}" datafieldname="pinswg_fileUpload15" disabled="false" />
|
||||
</row>
|
||||
|
||||
@@ -41,7 +41,7 @@ export default async function ApiProxy(req, res) {
|
||||
incidentID +
|
||||
")?$select=ticketnumber,title,pinswg_appealcasetype";
|
||||
|
||||
console.log(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl));
|
||||
//console.log(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl));
|
||||
|
||||
return axios
|
||||
.get(
|
||||
|
||||
@@ -32,8 +32,7 @@ ApiProxy.get(async (req, res) => {
|
||||
|
||||
res.setHeader(
|
||||
"content-disposition",
|
||||
"attachment; filename=" +
|
||||
decodeURI(blobName.slice(blobName.indexOf("_") + 1))
|
||||
"attachment; filename=" + decodeURI(blobName)
|
||||
);
|
||||
return res.status(200).send(downloaded);
|
||||
} else {
|
||||
|
||||
@@ -158,8 +158,15 @@ export default async function handler(req, res) {
|
||||
}
|
||||
);
|
||||
|
||||
let newFileListArr = blobProgress.filesList.concat(
|
||||
appealBodyObj.filesList[0]
|
||||
let newFileListArr = [];
|
||||
appealBodyObj.filesList.hasOwnProperty("value")
|
||||
? (newFileListArr = blobProgress.filesList.concat(
|
||||
appealBodyObj.filesList.value[0]
|
||||
))
|
||||
: (newFileListArr = blobProgress.filesList);
|
||||
|
||||
newFileListArr = newFileListArr.filter(
|
||||
(value) => Object.keys(value).length !== 0
|
||||
);
|
||||
|
||||
Object.assign(blobProgress, {
|
||||
|
||||
@@ -1030,6 +1030,16 @@ textarea,
|
||||
|
||||
}
|
||||
|
||||
.govuk-summary-list-check-ellipsis {
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 5;
|
||||
/* number of lines to show */
|
||||
line-clamp: 5;
|
||||
-webkit-box-orient: vertical;
|
||||
|
||||
}
|
||||
|
||||
.govuk-summary-list__value {
|
||||
.multiline-elipsis {
|
||||
-webkit-box-orient: vertical;
|
||||
@@ -1197,7 +1207,7 @@ textarea,
|
||||
}
|
||||
|
||||
.govuk-summary-list__key {
|
||||
width: 45%;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.react-datepicker__input-container input {
|
||||
|
||||
Reference in New Issue
Block a user