Merge branch 'master' into colouring-core
This commit is contained in:
commit
a1c69fdc13
@ -3,6 +3,7 @@ import React, { Fragment } from 'react';
|
|||||||
import InfoBox from '../../components/info-box';
|
import InfoBox from '../../components/info-box';
|
||||||
import { dataFields } from '../../config/data-fields-config';
|
import { dataFields } from '../../config/data-fields-config';
|
||||||
import CheckboxDataEntry from '../data-components/checkbox-data-entry';
|
import CheckboxDataEntry from '../data-components/checkbox-data-entry';
|
||||||
|
import { LogicalDataEntry } from '../data-components/logical-data-entry/logical-data-entry';
|
||||||
import NumericDataEntryWithFormattedLink from '../data-components/numeric-data-entry-with-formatted-link';import DataEntry from '../data-components/data-entry';
|
import NumericDataEntryWithFormattedLink from '../data-components/numeric-data-entry-with-formatted-link';import DataEntry from '../data-components/data-entry';
|
||||||
import { DataEntryGroup } from '../data-components/data-entry-group';
|
import { DataEntryGroup } from '../data-components/data-entry-group';
|
||||||
import SelectDataEntry from '../data-components/select-data-entry';
|
import SelectDataEntry from '../data-components/select-data-entry';
|
||||||
@ -71,246 +72,66 @@ const PlanningView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
|||||||
/>
|
/>
|
||||||
*/}
|
*/}
|
||||||
</DataEntryGroup>
|
</DataEntryGroup>
|
||||||
<DataEntryGroup name="Planning contraints and building protection" collapsed={false} >
|
<DataEntryGroup name="Planning zones" collapsed={true} >
|
||||||
<DataEntryGroup name="Building protection" collapsed={false} >
|
<InfoBox type='success'>
|
||||||
<NumericDataEntryWithFormattedLink
|
Data in this section comes from the Greater London Authority's Planning London Datahub. Please check the original GLA source when using for planning purposes.
|
||||||
title={dataFields.planning_list_id.title}
|
</InfoBox>
|
||||||
slug="planning_list_id"
|
<LogicalDataEntry
|
||||||
value={props.building.planning_list_id}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
placeholder="If yes, add ID"
|
|
||||||
linkTargetFunction={(id: String) => { return "https://historicengland.org.uk/listing/the-list/list-entry/" + id + "?section=official-list-entry" } }
|
|
||||||
linkDescriptionFunction={(id: String) => { return "ID Link" } }
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_list_id"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_list_id !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_list_id")}
|
|
||||||
user_verified_as={props.user_verified.planning_list_id}
|
|
||||||
verified_count={props.building.verified.planning_list_id}
|
|
||||||
/>
|
|
||||||
<SelectDataEntry
|
|
||||||
title={dataFields.planning_list_grade.title}
|
|
||||||
slug="planning_list_grade"
|
|
||||||
value={props.building.planning_list_grade}
|
|
||||||
mode={props.mode}
|
|
||||||
disabled={false}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
options={[
|
|
||||||
"I",
|
|
||||||
"II*",
|
|
||||||
"II",
|
|
||||||
"None"
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_list_grade"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_list_grade !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_list_grade")}
|
|
||||||
user_verified_as={props.user_verified.planning_list_grade}
|
|
||||||
verified_count={props.building.verified.planning_list_grade}
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_heritage_at_risk_url.title}
|
|
||||||
slug="planning_heritage_at_risk_url"
|
|
||||||
value={props.building.planning_heritage_at_risk_url}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
placeholder="Please add relevant link here"
|
|
||||||
isUrl={true}
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_heritage_at_risk_url"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_heritage_at_risk_url !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_heritage_at_risk_url")}
|
|
||||||
user_verified_as={props.user_verified.planning_heritage_at_risk_url}
|
|
||||||
verified_count={props.building.verified.planning_heritage_at_risk_url}
|
|
||||||
/>
|
|
||||||
<NumericDataEntryWithFormattedLink
|
|
||||||
title={dataFields.planning_world_list_id.title}
|
|
||||||
slug="planning_world_list_id"
|
|
||||||
value={props.building.planning_world_list_id}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
placeholder="If yes, add ID"
|
|
||||||
linkTargetFunction={(id: String) => { return "https://whc.unesco.org/en/list/" + id } }
|
|
||||||
linkDescriptionFunction={(id: String) => { return "ID Link" } }
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_world_list_id"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_world_list_id !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_world_list_id")}
|
|
||||||
user_verified_as={props.user_verified.planning_world_list_id}
|
|
||||||
verified_count={props.building.verified.planning_world_list_id}
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_local_list_url.title}
|
|
||||||
slug="planning_local_list_url"
|
|
||||||
value={props.building.planning_local_list_url}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
isUrl={true}
|
|
||||||
placeholder="Please add relevant link here"
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_local_list_url"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_local_list_url !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_local_list_url")}
|
|
||||||
user_verified_as={props.user_verified.planning_local_list_url}
|
|
||||||
verified_count={props.building.verified.planning_local_list_url}
|
|
||||||
/>
|
|
||||||
<InfoBox msg="Designation data is currently incomplete. We are aiming for 100% coverage by April 2023." />
|
|
||||||
</DataEntryGroup>
|
|
||||||
<DataEntryGroup name="Area protection" collapsed={false} >
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_in_conservation_area_id.title}
|
|
||||||
slug="planning_in_conservation_area_id"
|
|
||||||
value={props.building.planning_in_conservation_area_id}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
placeholder="Please add Conservation Area identifier"
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_in_conservation_area_url"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_in_conservation_area_url !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_in_conservation_area_url")}
|
|
||||||
user_verified_as={props.user_verified.planning_in_conservation_area_url}
|
|
||||||
verified_count={props.building.verified.planning_in_conservation_area_url}
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_in_conservation_area_url.title}
|
|
||||||
slug="planning_in_conservation_area_url"
|
|
||||||
value={props.building.planning_in_conservation_area_url}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
isUrl={true}
|
|
||||||
placeholder="Please add CA appraisal link here"
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_conservation_area_name.title}
|
|
||||||
slug="planning_conservation_area_name"
|
|
||||||
value={props.building.planning_conservation_area_name}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_conservation_area_name"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_conservation_area_name !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_conservation_area_name")}
|
|
||||||
user_verified_as={props.user_verified.planning_conservation_area_name}
|
|
||||||
verified_count={props.building.verified.planning_conservation_area_name}
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_historic_area_assessment_url.title}
|
|
||||||
slug="planning_historic_area_assessment_url"
|
|
||||||
value={props.building.planning_historic_area_assessment_url}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
isUrl={true}
|
|
||||||
placeholder="Please add relevant link here"
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_historic_area_assessment_url"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_historic_area_assessment_url !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_historic_area_assessment_url")}
|
|
||||||
user_verified_as={props.user_verified.planning_historic_area_assessment_url}
|
|
||||||
verified_count={props.building.verified.planning_historic_area_assessment_url}
|
|
||||||
/>
|
|
||||||
<DataEntry
|
|
||||||
title={dataFields.planning_in_apa_url.title}
|
|
||||||
slug="planning_in_apa_url"
|
|
||||||
value={props.building.planning_in_apa_url}
|
|
||||||
mode={props.mode}
|
|
||||||
copy={props.copy}
|
|
||||||
onChange={props.onChange}
|
|
||||||
isUrl={true}
|
|
||||||
placeholder="Please add relevant link here"
|
|
||||||
/>
|
|
||||||
<Verification
|
|
||||||
slug="planning_in_apa_url"
|
|
||||||
allow_verify={props.user !== undefined && props.building.planning_in_apa_url !== null && !props.edited}
|
|
||||||
onVerify={props.onVerify}
|
|
||||||
user_verified={props.user_verified.hasOwnProperty("planning_in_apa_url")}
|
|
||||||
user_verified_as={props.user_verified.planning_in_apa_url}
|
|
||||||
verified_count={props.building.verified.planning_in_apa_url}
|
|
||||||
/>
|
|
||||||
</DataEntryGroup>
|
|
||||||
</DataEntryGroup>
|
|
||||||
<DataEntryGroup name="Other types of zoning" collapsed={false} >
|
|
||||||
<CheckboxDataEntry
|
|
||||||
title="Is the building inside a flood zone?"
|
title="Is the building inside a flood zone?"
|
||||||
slug="planning_live_application"
|
slug="planning_live_application"
|
||||||
value={null}
|
value={null}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
/>
|
/>
|
||||||
<Verification
|
{/*
|
||||||
slug="dummy"
|
<form className={`layer-switcher-inline`}>
|
||||||
allow_verify={false}
|
<button className="btn btn-outline btn-outline-dark"
|
||||||
onVerify={props.onVerify}
|
type="submit">
|
||||||
user_verified={props.user_verified.hasOwnProperty("dummy")}
|
Click to see the data mapped
|
||||||
user_verified_as={props.user_verified.planning_in_apa_url}
|
</button>
|
||||||
verified_count={props.building.verified.planning_in_apa_url}
|
</form>
|
||||||
/>
|
*/}
|
||||||
<CheckboxDataEntry
|
<LogicalDataEntry
|
||||||
title="Is the building in a strategic development zone for housing?"
|
title="Is the building in a strategic development zone for housing?"
|
||||||
slug="planning_live_application"
|
slug="planning_live_application"
|
||||||
value={null}
|
value={null}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
/>
|
/>
|
||||||
<Verification
|
{/*
|
||||||
slug="dummy"
|
<form className={`layer-switcher-inline`}>
|
||||||
allow_verify={false}
|
<button className="btn btn-outline btn-outline-dark"
|
||||||
onVerify={props.onVerify}
|
type="submit">
|
||||||
user_verified={props.user_verified.hasOwnProperty("dummy")}
|
Click to see the data mapped
|
||||||
user_verified_as={props.user_verified.planning_in_apa_url}
|
</button>
|
||||||
verified_count={props.building.verified.planning_in_apa_url}
|
</form>
|
||||||
/>
|
*/}
|
||||||
<CheckboxDataEntry
|
<LogicalDataEntry
|
||||||
title="Is the building in a strategic development zone for commerce or industry?"
|
title="Is the building in a strategic development zone for commerce or industry?"
|
||||||
slug="planning_live_application"
|
slug="planning_live_application"
|
||||||
value={null}
|
value={null}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
/>
|
/>
|
||||||
<Verification
|
{/*
|
||||||
slug="dummy"
|
<form className={`layer-switcher-inline`}>
|
||||||
allow_verify={false}
|
<button className="btn btn-outline btn-outline-dark"
|
||||||
onVerify={props.onVerify}
|
type="submit">
|
||||||
user_verified={props.user_verified.hasOwnProperty("dummy")}
|
Click to see the data mapped
|
||||||
user_verified_as={props.user_verified.planning_in_apa_url}
|
</button>
|
||||||
verified_count={props.building.verified.planning_in_apa_url}
|
</form>
|
||||||
/>
|
*/}
|
||||||
<CheckboxDataEntry
|
<LogicalDataEntry
|
||||||
title="Is the building within a protected sightline?"
|
title="Is the building within a protected sightline?"
|
||||||
slug="planning_live_application"
|
slug="planning_live_application"
|
||||||
value={null}
|
value={null}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
/>
|
/>
|
||||||
<Verification
|
{/*
|
||||||
slug="dummy"
|
<form className={`layer-switcher-inline`}>
|
||||||
allow_verify={false}
|
<button className="btn btn-outline btn-outline-dark"
|
||||||
onVerify={props.onVerify}
|
type="submit">
|
||||||
user_verified={props.user_verified.hasOwnProperty("dummy")}
|
Click to see the data mapped
|
||||||
user_verified_as={props.user_verified.planning_in_apa_url}
|
</button>
|
||||||
verified_count={props.building.verified.planning_in_apa_url}
|
</form>
|
||||||
/>
|
*/}
|
||||||
{/*
|
{/*
|
||||||
<DataEntry
|
<DataEntry
|
||||||
title={dataFields.planning_glher_url.title}
|
title={dataFields.planning_glher_url.title}
|
||||||
@ -332,7 +153,196 @@ const PlanningView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
|||||||
/>
|
/>
|
||||||
*/}
|
*/}
|
||||||
</DataEntryGroup>
|
</DataEntryGroup>
|
||||||
<DataEntryGroup name="Land parcel ownership" collapsed={false} >
|
<DataEntryGroup name="Building protection" collapsed={true} >
|
||||||
|
<InfoBox type='success'>
|
||||||
|
This section provides information on heritage assets and building protection. To produce the most accurate spatial map possible we need to combine official data with crowdsourced data. Help us create this map together by checking, verifying and adding information.
|
||||||
|
</InfoBox>
|
||||||
|
<NumericDataEntryWithFormattedLink
|
||||||
|
title={dataFields.planning_list_id.title}
|
||||||
|
slug="planning_list_id"
|
||||||
|
value={props.building.planning_list_id}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
placeholder="If yes, add ID here"
|
||||||
|
linkTargetFunction={(id: String) => { return "https://historicengland.org.uk/listing/the-list/list-entry/" + id + "?section=official-list-entry" } }
|
||||||
|
linkDescriptionFunction={(id: String) => { return "ID Link" } }
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_list_id"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_list_id !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_list_id")}
|
||||||
|
user_verified_as={props.user_verified.planning_list_id}
|
||||||
|
verified_count={props.building.verified.planning_list_id}
|
||||||
|
/>
|
||||||
|
<SelectDataEntry
|
||||||
|
title={dataFields.planning_list_grade.title}
|
||||||
|
slug="planning_list_grade"
|
||||||
|
value={props.building.planning_list_grade}
|
||||||
|
mode={props.mode}
|
||||||
|
disabled={false}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
options={[
|
||||||
|
"I",
|
||||||
|
"II*",
|
||||||
|
"II",
|
||||||
|
"None"
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_list_grade"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_list_grade !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_list_grade")}
|
||||||
|
user_verified_as={props.user_verified.planning_list_grade}
|
||||||
|
verified_count={props.building.verified.planning_list_grade}
|
||||||
|
/>
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_heritage_at_risk_url.title}
|
||||||
|
slug="planning_heritage_at_risk_url"
|
||||||
|
value={props.building.planning_heritage_at_risk_url}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
placeholder="Please add relevant link here"
|
||||||
|
isUrl={true}
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_heritage_at_risk_url"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_heritage_at_risk_url !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_heritage_at_risk_url")}
|
||||||
|
user_verified_as={props.user_verified.planning_heritage_at_risk_url}
|
||||||
|
verified_count={props.building.verified.planning_heritage_at_risk_url}
|
||||||
|
/>
|
||||||
|
<NumericDataEntryWithFormattedLink
|
||||||
|
title={dataFields.planning_world_list_id.title}
|
||||||
|
slug="planning_world_list_id"
|
||||||
|
value={props.building.planning_world_list_id}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
placeholder="If yes, add ID here"
|
||||||
|
linkTargetFunction={(id: String) => { return "https://whc.unesco.org/en/list/" + id } }
|
||||||
|
linkDescriptionFunction={(id: String) => { return "ID Link" } }
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_world_list_id"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_world_list_id !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_world_list_id")}
|
||||||
|
user_verified_as={props.user_verified.planning_world_list_id}
|
||||||
|
verified_count={props.building.verified.planning_world_list_id}
|
||||||
|
/>
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_local_list_url.title}
|
||||||
|
slug="planning_local_list_url"
|
||||||
|
value={props.building.planning_local_list_url}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
isUrl={true}
|
||||||
|
placeholder="Please add relevant link here"
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_local_list_url"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_local_list_url !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_local_list_url")}
|
||||||
|
user_verified_as={props.user_verified.planning_local_list_url}
|
||||||
|
verified_count={props.building.verified.planning_local_list_url}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/*
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_in_conservation_area_id.title}
|
||||||
|
slug="planning_in_conservation_area_id"
|
||||||
|
value={props.building.planning_in_conservation_area_id}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
placeholder="Please add Conservation Area identifier"
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_in_conservation_area_url"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_in_conservation_area_url !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_in_conservation_area_url")}
|
||||||
|
user_verified_as={props.user_verified.planning_in_conservation_area_url}
|
||||||
|
verified_count={props.building.verified.planning_in_conservation_area_url}
|
||||||
|
/>
|
||||||
|
*/}
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_in_conservation_area_url.title}
|
||||||
|
slug="planning_in_conservation_area_url"
|
||||||
|
value={props.building.planning_in_conservation_area_url}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
isUrl={true}
|
||||||
|
placeholder="Please add CA appraisal link here"
|
||||||
|
/>
|
||||||
|
{/*
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_conservation_area_name.title}
|
||||||
|
slug="planning_conservation_area_name"
|
||||||
|
value={props.building.planning_conservation_area_name}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_conservation_area_name"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_conservation_area_name !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_conservation_area_name")}
|
||||||
|
user_verified_as={props.user_verified.planning_conservation_area_name}
|
||||||
|
verified_count={props.building.verified.planning_conservation_area_name}
|
||||||
|
/>
|
||||||
|
*/}
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_historic_area_assessment_url.title}
|
||||||
|
slug="planning_historic_area_assessment_url"
|
||||||
|
value={props.building.planning_historic_area_assessment_url}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
isUrl={true}
|
||||||
|
placeholder="Please add relevant link here"
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_historic_area_assessment_url"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_historic_area_assessment_url !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_historic_area_assessment_url")}
|
||||||
|
user_verified_as={props.user_verified.planning_historic_area_assessment_url}
|
||||||
|
verified_count={props.building.verified.planning_historic_area_assessment_url}
|
||||||
|
/>
|
||||||
|
<DataEntry
|
||||||
|
title={dataFields.planning_in_apa_url.title}
|
||||||
|
slug="planning_in_apa_url"
|
||||||
|
value={props.building.planning_in_apa_url}
|
||||||
|
mode={props.mode}
|
||||||
|
copy={props.copy}
|
||||||
|
onChange={props.onChange}
|
||||||
|
isUrl={true}
|
||||||
|
placeholder="Please add relevant link here"
|
||||||
|
/>
|
||||||
|
<Verification
|
||||||
|
slug="planning_in_apa_url"
|
||||||
|
allow_verify={props.user !== undefined && props.building.planning_in_apa_url !== null && !props.edited}
|
||||||
|
onVerify={props.onVerify}
|
||||||
|
user_verified={props.user_verified.hasOwnProperty("planning_in_apa_url")}
|
||||||
|
user_verified_as={props.user_verified.planning_in_apa_url}
|
||||||
|
verified_count={props.building.verified.planning_in_apa_url}
|
||||||
|
/>
|
||||||
|
</DataEntryGroup>
|
||||||
|
<DataEntryGroup name="Land ownership type" collapsed={true} >
|
||||||
|
<InfoBox type='success'>
|
||||||
|
This section is designed to provide information on land parcels and their ownership type. Can you help us to crowdsource this information?
|
||||||
|
</InfoBox>
|
||||||
<SelectDataEntry
|
<SelectDataEntry
|
||||||
slug='community_public_ownership'
|
slug='community_public_ownership'
|
||||||
title={"What type of owner owns this land parcel? "}
|
title={"What type of owner owns this land parcel? "}
|
||||||
|
@ -2,7 +2,7 @@ import React from 'react';
|
|||||||
|
|
||||||
interface InfoBoxProps {
|
interface InfoBoxProps {
|
||||||
msg?: string;
|
msg?: string;
|
||||||
type?: 'info' | 'warning'
|
type?: 'info' | 'warning' | 'success'
|
||||||
}
|
}
|
||||||
|
|
||||||
const InfoBox: React.FC<InfoBoxProps> = ({msg, children, type = 'info'}) => (
|
const InfoBox: React.FC<InfoBoxProps> = ({msg, children, type = 'info'}) => (
|
||||||
|
@ -143,7 +143,7 @@ export const categoryMapsConfig: {[key in Category]: CategoryMapDefinition[]} =
|
|||||||
mapStyle: 'community_expected_planning_application_total',
|
mapStyle: 'community_expected_planning_application_total',
|
||||||
legend: {
|
legend: {
|
||||||
title: 'Expected planning application',
|
title: 'Expected planning application',
|
||||||
description: 'People who think the building will be affected by a planning application in the near future',
|
description: 'Sites identified by users as likely to be subject to planning application over the next six months',
|
||||||
elements: [
|
elements: [
|
||||||
{ color: '#bd0026', text: '100+' },
|
{ color: '#bd0026', text: '100+' },
|
||||||
{ color: '#e31a1c', text: '50–99' },
|
{ color: '#e31a1c', text: '50–99' },
|
||||||
@ -171,7 +171,7 @@ export const categoryMapsConfig: {[key in Category]: CategoryMapDefinition[]} =
|
|||||||
mapStyle: 'planning_combined',
|
mapStyle: 'planning_combined',
|
||||||
legend: {
|
legend: {
|
||||||
title: 'Designation/protection',
|
title: 'Designation/protection',
|
||||||
disclaimer: 'All data relating to designated buildings should be checked on the National Heritage List for England or local authority websites where used for planning or development purposes',
|
disclaimer: 'All data relating to designated buildings should be checked against the National Heritage List for England and local authority websites. Designation data is currently incomplete. We are aiming for 100% coverage by April 2023.',
|
||||||
elements: [
|
elements: [
|
||||||
{ color: '#95beba', text: 'In Conservation Area'},
|
{ color: '#95beba', text: 'In Conservation Area'},
|
||||||
{ color: '#c72e08', text: 'Grade I Listed'},
|
{ color: '#c72e08', text: 'Grade I Listed'},
|
||||||
|
@ -109,7 +109,7 @@ export const buildingUserFields = {
|
|||||||
community_expected_planning_application: {
|
community_expected_planning_application: {
|
||||||
perUser: true,
|
perUser: true,
|
||||||
category: Category.Community,
|
category: Category.Community,
|
||||||
title: "Do you expect this site to be affected by a planning application in the near future?",
|
title: "Select any building that you think may be subject to a planning application over the next six months and tick the box below to colour it.",
|
||||||
example: true
|
example: true
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -508,7 +508,7 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
|||||||
},
|
},
|
||||||
planning_historic_area_assessment_url: {
|
planning_historic_area_assessment_url: {
|
||||||
category: Category.Planning,
|
category: Category.Planning,
|
||||||
title: "Does it have any other type of <a href=\"https://historicengland.org.uk/images-books/publications/understanding-place-historic-area-assessments/\" target=\"_blank\">Historic Area Assessment</a>?",
|
title: "Does it have an <a href=\"https://historicengland.org.uk/images-books/publications/understanding-place-historic-area-assessments/\" target=\"_blank\">Historic Area Assessment</a>?",
|
||||||
example: "",
|
example: "",
|
||||||
//tooltip: ,
|
//tooltip: ,
|
||||||
},
|
},
|
||||||
|
@ -38,16 +38,16 @@ router.get('/:tileset/:z/:x/:y(\\d+):scale(@\\dx)?.png', handleTileRequest);
|
|||||||
function parseTileParams(params: any): TileParams {
|
function parseTileParams(params: any): TileParams {
|
||||||
const { tileset, z, x, y, scale } = params;
|
const { tileset, z, x, y, scale } = params;
|
||||||
|
|
||||||
if (!allTilesets.includes(tileset)) throw new Error('Invalid value for tileset');
|
if (!allTilesets.includes(tileset)) throw new Error('Invalid value for tileset: ' + tileset);
|
||||||
|
|
||||||
const intZ = strictParseInt(z);
|
const intZ = strictParseInt(z);
|
||||||
if (isNaN(intZ)) throw new Error('Invalid value for z');
|
if (isNaN(intZ)) throw new Error('Invalid value for z: ' + intZ);
|
||||||
|
|
||||||
const intX = strictParseInt(x);
|
const intX = strictParseInt(x);
|
||||||
if (isNaN(intX)) throw new Error('Invalid value for x');
|
if (isNaN(intX)) throw new Error('Invalid value for x: ' + intX);
|
||||||
|
|
||||||
const intY = strictParseInt(y);
|
const intY = strictParseInt(y);
|
||||||
if (isNaN(intY)) throw new Error('Invalid value for y');
|
if (isNaN(intY)) throw new Error('Invalid value for y: ' + intY);
|
||||||
|
|
||||||
let intScale: number;
|
let intScale: number;
|
||||||
if (scale === '@2x') {
|
if (scale === '@2x') {
|
||||||
|
Loading…
Reference in New Issue
Block a user