Changes for #1165
This commit is contained in:
parent
79918c7b9f
commit
439e415c6e
@ -214,6 +214,42 @@ export const buildingAttributesConfig = valueType<DataFieldConfig>()({ /* eslint
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_far_ratio: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_far_ratio_source_type: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_far_ratio_source_links: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_plot_area_total: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_plot_area_total_source_type: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_plot_area_total_source_links: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_parcel_geometry: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_parcel_geometry_source_type: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
size_parcel_geometry_source_links: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
},
|
||||
construction_core_material: {
|
||||
edit: true,
|
||||
verify: true,
|
||||
@ -533,6 +569,86 @@ export const buildingAttributesConfig = valueType<DataFieldConfig>()({ /* eslint
|
||||
disaster_end_date : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_front_garden : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_back_garden : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_flats_garden : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_garden_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_garden_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_width : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_width_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_width_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_pavement_width : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_pavement_width_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_pavement_width_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_geometry : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_geometry_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_street_geometry_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_green_space_distance : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_green_space_distance_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_green_space_distance_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_tree_distance : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
context_tree_distance_source_type : {
|
||||
edit: true,
|
||||
verify: true
|
||||
},
|
||||
ccontext_tree_distance_source_links : {
|
||||
edit: true,
|
||||
verify: true
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -43,7 +43,7 @@ const CommunityView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
<DataEntryGroup name="Community views on building types">
|
||||
<div className={`alert alert-dark`} role="alert" style={{ fontSize: 13, backgroundColor: "#f6f8f9" }}>
|
||||
<i>
|
||||
Note: We are not currently collecting data on domestic/privately owned properties, only on public buildings.
|
||||
Note: We are currently only collecting data on non-residential buildings.
|
||||
</i>
|
||||
</div>
|
||||
<div className='community-opinion-pane'>
|
||||
@ -201,14 +201,7 @@ const CommunityView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
slug='community_public_ownership'
|
||||
title={dataFields.community_public_ownership.title}
|
||||
value={props.building.community_public_ownership}
|
||||
options={[
|
||||
'Government-owned',
|
||||
'Charity-owned',
|
||||
'Community-owned/cooperative',
|
||||
'Owned by other non-profit body',
|
||||
'Not in public/community ownership',
|
||||
]}
|
||||
|
||||
options={dataFields.community_public_ownership.items}
|
||||
onChange={props.onChange}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
|
@ -25,10 +25,10 @@ const UseView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
const { darkLightTheme } = useDisplayPreferences();
|
||||
return (
|
||||
<Fragment>
|
||||
<DataEntryGroup name="Domestic/non-domestic use data">
|
||||
<DataEntryGroup name="Residential/non-residential land use data (general)">
|
||||
<div className={`alert alert-dark`} role="alert" style={{ fontSize: 13, backgroundColor: "#f6f8f9" }}>
|
||||
<i>
|
||||
93% of properties in UK are residential dwellings so we have set 'residential' as the default value. Can you help us identify non-residential and mixed use buildings (and verify residential buildings too)?
|
||||
The vast majority of properties are residential (93% in the UK), so we have set 'residential' as the default value. Can you help us identify non-residential and mixed use buildings (and verify residential buildings too)?
|
||||
</i>
|
||||
</div>
|
||||
<button className={`map-switcher-inline ${props.mapColourScale == "is_domestic" ? "enabled-state" : "disabled-state"} btn btn-outline btn-outline-dark ${darkLightTheme}`} onClick={switchToIsDomesticMapStyle}>
|
||||
|
@ -13,262 +13,271 @@ import { MultiDataEntry } from '../data-components/multi-data-entry/multi-data-e
|
||||
|
||||
const locationNumberPattern = "[1-9]\\d*[a-z]?(-([1-9]\\d*))?"; ///[1-9]\d*[a-z]?(-([1-9]\d*))?/;
|
||||
|
||||
const LocationView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
||||
<Fragment>
|
||||
<DataEntryGroup name="Address data">
|
||||
<DataEntry
|
||||
title={dataFields.location_name.title}
|
||||
slug="location_name"
|
||||
value={props.building.location_name}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_name.tooltip}
|
||||
placeholder="https://..."
|
||||
isUrl={true}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_name"
|
||||
allow_verify={props.user !== undefined && props.building.location_name !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_name")}
|
||||
user_verified_as={props.user_verified.location_name}
|
||||
verified_count={props.building.verified.location_name}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Building name (domestic)"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Not yet activated.<br><br>For security reasons, we do not allow the use of free text boxes and are currently looking into alternative ways to collect this data."
|
||||
/>
|
||||
<hr/>
|
||||
<PatternDataEntry
|
||||
title={dataFields.location_number.title}
|
||||
slug="location_number"
|
||||
value={props.building.location_number}
|
||||
pattern={locationNumberPattern}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_number.tooltip}
|
||||
const LocationView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
const osm_url = "https://www.openstreetmap.org/way/"+props.building.ref_osm_id;
|
||||
return (
|
||||
<Fragment>
|
||||
<DataEntryGroup name="Address data">
|
||||
<DataEntry
|
||||
title={dataFields.location_name.title}
|
||||
slug="location_name"
|
||||
value={props.building.location_name}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_name.tooltip}
|
||||
placeholder="https://..."
|
||||
isUrl={true}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_number"
|
||||
allow_verify={props.user !== undefined && props.building.location_number !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_number")}
|
||||
user_verified_as={props.user_verified.location_number}
|
||||
verified_count={props.building.verified.location_number}
|
||||
<Verification
|
||||
slug="location_name"
|
||||
allow_verify={props.user !== undefined && props.building.location_name !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_name")}
|
||||
user_verified_as={props.user_verified.location_name}
|
||||
verified_count={props.building.verified.location_name}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_street.title}
|
||||
slug="location_street"
|
||||
value={props.building.location_street}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={30}
|
||||
<DataEntry
|
||||
title="Building name (domestic)"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Not yet activated.<br><br>For security reasons, we do not allow the use of free text boxes and are currently looking into alternative ways to collect this data."
|
||||
/>
|
||||
<Verification
|
||||
slug="location_street"
|
||||
allow_verify={props.user !== undefined && props.building.location_street !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_street")}
|
||||
user_verified_as={props.user_verified.location_street}
|
||||
verified_count={props.building.verified.location_street}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_line_two.title}
|
||||
slug="location_line_two"
|
||||
value={props.building.location_line_two}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={30}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_line_two"
|
||||
allow_verify={props.user !== undefined && props.building.location_line_two !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_line_two")}
|
||||
user_verified_as={props.user_verified.location_line_two}
|
||||
verified_count={props.building.verified.location_line_two}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_town.title}
|
||||
slug="location_town"
|
||||
value={props.building.location_town}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_town"
|
||||
allow_verify={props.user !== undefined && props.building.location_town !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_town")}
|
||||
user_verified_as={props.user_verified.location_town}
|
||||
verified_count={props.building.verified.location_town}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_postcode.title}
|
||||
slug="location_postcode"
|
||||
value={props.building.location_postcode}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={8}
|
||||
valueTransform={x=>x.toUpperCase()}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_postcode"
|
||||
allow_verify={props.user !== undefined && props.building.location_postcode !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_postcode")}
|
||||
user_verified_as={props.user_verified.location_postcode}
|
||||
verified_count={props.building.verified.location_postcode}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.location_address_source.title}
|
||||
slug="location_address_source"
|
||||
value={props.building.location_address_source}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_address_source.tooltip}
|
||||
placeholder={dataFields.location_address_source.example}
|
||||
options={dataFields.location_address_source.items}
|
||||
/>
|
||||
{(props.building.location_address_source == commonSourceTypes[0] ||
|
||||
props.building.location_address_source == commonSourceTypes[1] ||
|
||||
props.building.location_address_source == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.location_address_links.title}
|
||||
slug="location_address_links"
|
||||
value={props.building.location_address_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_address_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
<hr/>
|
||||
<PatternDataEntry
|
||||
title={dataFields.location_number.title}
|
||||
slug="location_number"
|
||||
value={props.building.location_number}
|
||||
pattern={locationNumberPattern}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_number.tooltip}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Property/footprint IDs and coordinate data">
|
||||
<DataEntry
|
||||
title={dataFields.ref_toid.title}
|
||||
slug="ref_toid"
|
||||
value={props.building.ref_toid}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
tooltip={dataFields.ref_toid.tooltip}
|
||||
onChange={props.onChange}
|
||||
disabled={true}
|
||||
/>
|
||||
<UPRNsDataEntry
|
||||
title={dataFields.uprns.title}
|
||||
slug="ref_uprns"
|
||||
value={props.building.uprns}
|
||||
tooltip={dataFields.uprns.tooltip}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.ref_osm_id.title}
|
||||
slug="ref_osm_id"
|
||||
value={props.building.ref_osm_id}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
tooltip={dataFields.ref_osm_id.tooltip}
|
||||
maxLength={20}
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="ref_osm_id"
|
||||
allow_verify={props.user !== undefined && props.building.ref_osm_id !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("ref_osm_id")}
|
||||
user_verified_as={props.user_verified.ref_osm_id}
|
||||
verified_count={props.building.verified.ref_osm_id}
|
||||
/>
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.location_latitude.title}
|
||||
slug="location_latitude"
|
||||
value={props.building.location_latitude}
|
||||
tooltip={dataFields.location_latitude.tooltip}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
step={0.00001}
|
||||
min={-90}
|
||||
max={90}
|
||||
placeholder="Latitude, e.g. 51.5467"
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_latitude"
|
||||
allow_verify={props.user !== undefined && props.building.location_latitude !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_latitude")}
|
||||
user_verified_as={props.user_verified.location_latitude}
|
||||
verified_count={props.building.verified.location_latitude}
|
||||
/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.location_longitude.title}
|
||||
slug="location_longitude"
|
||||
value={props.building.location_longitude}
|
||||
tooltip={dataFields.location_latitude.tooltip}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
step={0.00001}
|
||||
min={-180}
|
||||
max={180}
|
||||
placeholder="Longitude, e.g. -0.0586"
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_longitude"
|
||||
allow_verify={props.user !== undefined && props.building.location_longitude !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_longitude")}
|
||||
user_verified_as={props.user_verified.location_longitude}
|
||||
verified_count={props.building.verified.location_longitude}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.location_coordinates_source.title}
|
||||
slug="location_coordinates_source"
|
||||
value={props.building.location_coordinates_source}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_coordinates_source.tooltip}
|
||||
placeholder={dataFields.location_coordinates_source.example}
|
||||
options={dataFields.location_coordinates_source.items}
|
||||
/>
|
||||
{(props.building.location_coordinates_source == commonSourceTypes[0] ||
|
||||
props.building.location_coordinates_source == commonSourceTypes[1] ||
|
||||
props.building.location_coordinates_source == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.location_coordinates_links.title}
|
||||
slug="location_coordinates_links"
|
||||
value={props.building.location_coordinates_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_coordinates_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
<Verification
|
||||
slug="location_number"
|
||||
allow_verify={props.user !== undefined && props.building.location_number !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_number")}
|
||||
user_verified_as={props.user_verified.location_number}
|
||||
verified_count={props.building.verified.location_number}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
</Fragment>
|
||||
);
|
||||
<DataEntry
|
||||
title={dataFields.location_street.title}
|
||||
slug="location_street"
|
||||
value={props.building.location_street}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={30}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_street"
|
||||
allow_verify={props.user !== undefined && props.building.location_street !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_street")}
|
||||
user_verified_as={props.user_verified.location_street}
|
||||
verified_count={props.building.verified.location_street}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_line_two.title}
|
||||
slug="location_line_two"
|
||||
value={props.building.location_line_two}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={30}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_line_two"
|
||||
allow_verify={props.user !== undefined && props.building.location_line_two !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_line_two")}
|
||||
user_verified_as={props.user_verified.location_line_two}
|
||||
verified_count={props.building.verified.location_line_two}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_town.title}
|
||||
slug="location_town"
|
||||
value={props.building.location_town}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_town"
|
||||
allow_verify={props.user !== undefined && props.building.location_town !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_town")}
|
||||
user_verified_as={props.user_verified.location_town}
|
||||
verified_count={props.building.verified.location_town}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.location_postcode.title}
|
||||
slug="location_postcode"
|
||||
value={props.building.location_postcode}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
maxLength={8}
|
||||
valueTransform={x=>x.toUpperCase()}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_postcode"
|
||||
allow_verify={props.user !== undefined && props.building.location_postcode !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_postcode")}
|
||||
user_verified_as={props.user_verified.location_postcode}
|
||||
verified_count={props.building.verified.location_postcode}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.location_address_source.title}
|
||||
slug="location_address_source"
|
||||
value={props.building.location_address_source}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_address_source.tooltip}
|
||||
placeholder={dataFields.location_address_source.example}
|
||||
options={dataFields.location_address_source.items}
|
||||
/>
|
||||
{(props.building.location_address_source == commonSourceTypes[0] ||
|
||||
props.building.location_address_source == commonSourceTypes[1] ||
|
||||
props.building.location_address_source == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.location_address_links.title}
|
||||
slug="location_address_links"
|
||||
value={props.building.location_address_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_address_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Property/footprint IDs and coordinate data">
|
||||
<DataEntry
|
||||
title={dataFields.ref_toid.title}
|
||||
slug="ref_toid"
|
||||
value={props.building.ref_toid}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
tooltip={dataFields.ref_toid.tooltip}
|
||||
onChange={props.onChange}
|
||||
disabled={true}
|
||||
/>
|
||||
<UPRNsDataEntry
|
||||
title={dataFields.uprns.title}
|
||||
slug="ref_uprns"
|
||||
value={props.building.uprns}
|
||||
tooltip={dataFields.uprns.tooltip}
|
||||
/>
|
||||
<DataEntry
|
||||
title={dataFields.ref_osm_id.title}
|
||||
slug="ref_osm_id"
|
||||
value={props.building.ref_osm_id}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
tooltip={dataFields.ref_osm_id.tooltip}
|
||||
maxLength={20}
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
{
|
||||
(props.building.ref_osm_id == null) ? <></> :
|
||||
<div className={`alert alert-dark`} role="alert" style={{ fontSize: 14, backgroundColor: "#f6f8f9" }}>
|
||||
<i className="source-url">Source: <a href={osm_url} target={"_blank"}>{osm_url}</a></i>
|
||||
</div>
|
||||
}
|
||||
<Verification
|
||||
slug="ref_osm_id"
|
||||
allow_verify={props.user !== undefined && props.building.ref_osm_id !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("ref_osm_id")}
|
||||
user_verified_as={props.user_verified.ref_osm_id}
|
||||
verified_count={props.building.verified.ref_osm_id}
|
||||
/>
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.location_latitude.title}
|
||||
slug="location_latitude"
|
||||
value={props.building.location_latitude}
|
||||
tooltip={dataFields.location_latitude.tooltip}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
step={0.00001}
|
||||
min={-90}
|
||||
max={90}
|
||||
placeholder="Latitude, e.g. 51.5467"
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_latitude"
|
||||
allow_verify={props.user !== undefined && props.building.location_latitude !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_latitude")}
|
||||
user_verified_as={props.user_verified.location_latitude}
|
||||
verified_count={props.building.verified.location_latitude}
|
||||
/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.location_longitude.title}
|
||||
slug="location_longitude"
|
||||
value={props.building.location_longitude}
|
||||
tooltip={dataFields.location_latitude.tooltip}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
step={0.00001}
|
||||
min={-180}
|
||||
max={180}
|
||||
placeholder="Longitude, e.g. -0.0586"
|
||||
onChange={props.onChange}
|
||||
/>
|
||||
<Verification
|
||||
slug="location_longitude"
|
||||
allow_verify={props.user !== undefined && props.building.location_longitude !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("location_longitude")}
|
||||
user_verified_as={props.user_verified.location_longitude}
|
||||
verified_count={props.building.verified.location_longitude}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.location_coordinates_source.title}
|
||||
slug="location_coordinates_source"
|
||||
value={props.building.location_coordinates_source}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_coordinates_source.tooltip}
|
||||
placeholder={dataFields.location_coordinates_source.example}
|
||||
options={dataFields.location_coordinates_source.items}
|
||||
/>
|
||||
{(props.building.location_coordinates_source == commonSourceTypes[0] ||
|
||||
props.building.location_coordinates_source == commonSourceTypes[1] ||
|
||||
props.building.location_coordinates_source == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.location_coordinates_links.title}
|
||||
slug="location_coordinates_links"
|
||||
value={props.building.location_coordinates_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.location_coordinates_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
</Fragment>
|
||||
);
|
||||
}
|
||||
const LocationContainer = withCopyEdit(LocationView);
|
||||
|
||||
export default LocationContainer;
|
||||
|
@ -23,20 +23,14 @@ const ResilienceView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
const [ endDate, setEndDate ] = useState(null);
|
||||
|
||||
return (<>
|
||||
<DataEntryGroup name="Building damage assessment tool" collapsed={true} >
|
||||
<InfoBox type='warning'>
|
||||
This section is under development.
|
||||
</InfoBox>
|
||||
<DataEntryGroup name="Building damage assessment tool" collapsed={true}>
|
||||
<div className={`alert alert-dark`} role="alert" style={{ fontSize: 13, backgroundColor: "#f6f8f9" }}>
|
||||
<i>
|
||||
This feature is designed as an assessment tool to help communities capture data on the state of buildings following major disasters.
|
||||
It is intended to help support emergency services, to record damage, and to aid reconstruction programmes.
|
||||
</i>
|
||||
</div>
|
||||
<button className={`map-switcher-inline ${historicData}-state btn btn-outline btn-outline-dark ${darkLightTheme}`} onClick={historicDataSwitchOnClick}>
|
||||
{(historicData === 'enabled')?'Click here to hide disaster maps':'Click here to show disaster maps'}
|
||||
</button>
|
||||
<p>Date of disaster</p>
|
||||
<label>Date of disaster</label>
|
||||
<div>
|
||||
<DatePicker
|
||||
showIcon
|
||||
@ -65,37 +59,37 @@ const ResilienceView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
maxDate={new Date()}
|
||||
/>
|
||||
</div>
|
||||
<Verification
|
||||
slug="disaster_end_date"
|
||||
allow_verify={props.user !== undefined && props.building.disaster_end_date !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("disaster_end_date")}
|
||||
user_verified_as={props.user_verified.disaster_end_date}
|
||||
verified_count={props.building.verified.disaster_end_date}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
slug='disaster_type'
|
||||
title={dataFields.disaster_type.title}
|
||||
value={props.building.disaster_type}
|
||||
options={[
|
||||
'Flood',
|
||||
'Earthquake',
|
||||
'Hurricane',
|
||||
'Fire',
|
||||
'Extreme heat',
|
||||
'Political/war damage',
|
||||
'Other human (blast damage/spills etc.)',
|
||||
'Other'
|
||||
]}
|
||||
options={dataFields.disaster_type.items}
|
||||
tooltip={dataFields.disaster_type.tooltip}
|
||||
onChange={props.onChange}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
/>
|
||||
<Verification
|
||||
slug="disaster_type"
|
||||
allow_verify={props.user !== undefined && props.building.disaster_type !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("disaster_type")}
|
||||
user_verified_as={props.user_verified.disaster_type}
|
||||
verified_count={props.building.verified.disaster_type}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
slug='disaster_severity'
|
||||
title={dataFields.disaster_severity.title}
|
||||
value={props.building.disaster_severity}
|
||||
options={[
|
||||
'Building destroyed',
|
||||
'Very severe',
|
||||
'Severe',
|
||||
'Moderate',
|
||||
'Minimal',
|
||||
'No damage visible',
|
||||
]}
|
||||
options={dataFields.disaster_severity.items}
|
||||
tooltip={dataFields.disaster_severity.tooltip}
|
||||
onChange={props.onChange}
|
||||
mode={props.mode}
|
||||
@ -113,37 +107,30 @@ const ResilienceView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
slug='disaster_assessment_method'
|
||||
title={dataFields.disaster_assessment_method.title}
|
||||
value={props.building.disaster_assessment_method}
|
||||
options={[
|
||||
'Citizen/Passerby by eye',
|
||||
'Government assessor',
|
||||
'Specialist emergency group/charity',
|
||||
'Other',
|
||||
]}
|
||||
options={dataFields.disaster_assessment_method.items}
|
||||
tooltip={dataFields.disaster_assessment_method.tooltip}
|
||||
onChange={props.onChange}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
/>
|
||||
<Verification
|
||||
slug="disaster_assessment_method"
|
||||
allow_verify={props.user !== undefined && props.building.disaster_assessment_method !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("disaster_assessment_method")}
|
||||
user_verified_as={props.user_verified.disaster_assessment_method}
|
||||
verified_count={props.building.verified.disaster_assessment_method}
|
||||
/>
|
||||
<MultiDataEntry
|
||||
title={dataFields.disaster_source_link.title}
|
||||
slug="disaster_source_link"
|
||||
value={props.building.disaster_source_link}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.disaster_source_link.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
{(props.building.disaster_assessment_method == dataFields.disaster_assessment_method.items[0] ||
|
||||
props.building.disaster_assessment_method == dataFields.disaster_assessment_method.items[1] ||
|
||||
props.building.disaster_assessment_method == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.disaster_source_link.title}
|
||||
slug="disaster_source_link"
|
||||
value={props.building.disaster_source_link}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.disaster_source_link.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Resilience indicators and risk assessment" collapsed={true} >
|
||||
<InfoBox type='warning'>
|
||||
|
@ -262,93 +262,6 @@ const SizeView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Plot size data">
|
||||
<NumericDataEntry
|
||||
title={dataFields.size_plot_area_total.title}
|
||||
slug="size_plot_area_total"
|
||||
mode='view'
|
||||
step={0.1}
|
||||
min={0}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source type"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.size_far_ratio.title}
|
||||
slug="size_far_ratio"
|
||||
mode='view'
|
||||
step={0.1}
|
||||
min={0}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source type"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<hr/>
|
||||
<DataEntry
|
||||
title="Plot dimensions"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source type"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<hr/>
|
||||
<DataEntry
|
||||
title="Land parcel geometry link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip='INSPIRE Polygons'
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source type"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<DataEntry
|
||||
title="Source link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
tooltip="Coming Soon"
|
||||
/>
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.size_width_frontage.title}
|
||||
slug="size_width_frontage"
|
||||
@ -394,6 +307,146 @@ const SizeView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.size_plot_area_total.title}
|
||||
slug="size_plot_area_total"
|
||||
tooltip={dataFields.size_plot_area_total.tooltip}
|
||||
value={props.building.size_plot_area_total}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={0.1}
|
||||
min={0}
|
||||
/>
|
||||
<Verification
|
||||
slug="size_plot_area_total"
|
||||
allow_verify={props.user !== undefined && props.building.size_plot_area_total !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("size_plot_area_total")}
|
||||
user_verified_as={props.user_verified.size_plot_area_total}
|
||||
verified_count={props.building.verified.size_plot_area_total}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.size_plot_area_total_source_type.title}
|
||||
slug="size_plot_area_total_source_type"
|
||||
value={props.building.size_plot_area_total_source_type}
|
||||
options={dataFields.size_plot_area_total_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_plot_area_total_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.size_plot_area_total_source_type == commonSourceTypes[0] ||
|
||||
props.building.size_plot_area_total_source_type == commonSourceTypes[1] ||
|
||||
props.building.size_far_ratio_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.size_plot_area_total_source_links.title}
|
||||
slug="size_plot_area_total_source_links"
|
||||
value={props.building.size_plot_area_total_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_plot_area_total_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.size_far_ratio.title}
|
||||
value={props.building.size_far_ratio}
|
||||
slug="size_far_ratio"
|
||||
tooltip={dataFields.size_far_ratio.tooltip}
|
||||
//placeholder={dataFields.size_far_ratio.example}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={1}
|
||||
min={0}
|
||||
/>
|
||||
<Verification
|
||||
slug="size_far_ratio"
|
||||
allow_verify={props.user !== undefined && props.building.size_far_ratio !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("size_far_ratio")}
|
||||
user_verified_as={props.user_verified.size_far_ratio}
|
||||
verified_count={props.building.verified.size_far_ratio}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.size_far_ratio_source_type.title}
|
||||
slug="size_far_ratio_source_type"
|
||||
value={props.building.size_far_ratio_source_type}
|
||||
options={dataFields.size_far_ratio_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_far_ratio_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.size_far_ratio_source_type == commonSourceTypes[0] ||
|
||||
props.building.size_far_ratio_source_type == commonSourceTypes[1] ||
|
||||
props.building.size_far_ratio_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.size_far_ratio_source_links.title}
|
||||
slug="size_far_ratio_source_links"
|
||||
value={props.building.size_far_ratio_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_far_ratio_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<DataEntry
|
||||
title={dataFields.size_parcel_geometry.title}
|
||||
slug="size_parcel_geometry"
|
||||
value={props.building.size_parcel_geometry}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_parcel_geometry.tooltip}
|
||||
placeholder="https://..."
|
||||
isUrl={true}
|
||||
/>
|
||||
<Verification
|
||||
slug="size_parcel_geometry"
|
||||
allow_verify={props.user !== undefined && props.building.size_parcel_geometry !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("size_parcel_geometry")}
|
||||
user_verified_as={props.user_verified.size_parcel_geometry}
|
||||
verified_count={props.building.verified.size_parcel_geometry}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.size_parcel_geometry_source_type.title}
|
||||
slug="size_parcel_geometry_source_type"
|
||||
value={props.building.size_parcel_geometry_source_type}
|
||||
options={dataFields.size_parcel_geometry_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_parcel_geometry_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.size_parcel_geometry_source_type == commonSourceTypes[0] ||
|
||||
props.building.size_parcel_geometry_source_type == commonSourceTypes[1] ||
|
||||
props.building.size_parcel_geometry_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.size_parcel_geometry_source_links.title}
|
||||
slug="size_parcel_geometry_source_links"
|
||||
value={props.building.size_parcel_geometry_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.size_parcel_geometry_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
</Fragment>
|
||||
);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import InfoBox from '../../components/info-box';
|
||||
import { dataFields } from '../../config/data-fields-config';
|
||||
import { commonSourceTypes, dataFields } from '../../config/data-fields-config';
|
||||
import DataEntry from '../data-components/data-entry';
|
||||
import NumericDataEntry from '../data-components/numeric-data-entry';
|
||||
|
||||
@ -8,59 +8,339 @@ import withCopyEdit from '../data-container';
|
||||
|
||||
import { CategoryViewProps } from './category-view-props';
|
||||
import { DataEntryGroup } from '../data-components/data-entry-group';
|
||||
import { MultiDataEntry } from '../data-components/multi-data-entry/multi-data-entry';
|
||||
import SelectDataEntry from '../data-components/select-data-entry';
|
||||
import Verification from '../data-components/verification';
|
||||
|
||||
/**
|
||||
* Streetscape view/edit section
|
||||
*/
|
||||
const StreetscapeView: React.FunctionComponent<CategoryViewProps> = (props) => (
|
||||
<Fragment>
|
||||
<DataEntryGroup name="Does the building have a garden(s)?">
|
||||
<DataEntry
|
||||
title="Does the building have a front garden?"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
/>
|
||||
<DataEntry
|
||||
title="Does the building have a back garden?"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
/>
|
||||
<DataEntryGroup name="Does the building have a garden?">
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_front_garden.title}
|
||||
slug="context_front_garden"
|
||||
value={props.building.context_front_garden}
|
||||
options={dataFields.context_front_garden.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_front_garden.tooltip}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_front_garden"
|
||||
allow_verify={props.user !== undefined && props.building.context_front_garden !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_front_garden")}
|
||||
user_verified_as={props.user_verified.context_front_garden}
|
||||
verified_count={props.building.verified.context_front_garden}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_back_garden.title}
|
||||
slug="context_back_garden"
|
||||
value={props.building.context_back_garden}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_back_garden.tooltip}
|
||||
//placeholder={dataFields.context_back_garden.example}
|
||||
options={dataFields.context_back_garden.items}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_back_garden"
|
||||
allow_verify={props.user !== undefined && props.building.context_back_garden !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_back_garden")}
|
||||
user_verified_as={props.user_verified.context_back_garden}
|
||||
verified_count={props.building.verified.context_back_garden}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_flats_garden.title}
|
||||
slug="context_flats_garden"
|
||||
value={props.building.context_flats_garden}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_flats_garden.tooltip}
|
||||
//placeholder={dataFields.context_flats_garden.example}
|
||||
options={dataFields.context_flats_garden.items}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_flats_garden"
|
||||
allow_verify={props.user !== undefined && props.building.context_flats_garden !== null && !props.edited}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_flats_garden")}
|
||||
user_verified_as={props.user_verified.context_flats_garden}
|
||||
verified_count={props.building.verified.context_flats_garden}
|
||||
/>
|
||||
<hr/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_garden_source_type.title}
|
||||
slug="context_garden_source_type"
|
||||
value={props.building.context_garden_source_type}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_garden_source_type.tooltip}
|
||||
placeholder={dataFields.context_garden_source_type.example}
|
||||
options={dataFields.context_garden_source_type.items}
|
||||
/>
|
||||
{(props.building.context_garden_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_garden_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_garden_source_type == null) ? <></> :
|
||||
<>
|
||||
<MultiDataEntry
|
||||
title={dataFields.context_garden_source_links.title}
|
||||
slug="context_garden_source_links"
|
||||
value={props.building.context_garden_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_garden_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Street/pavement properties">
|
||||
<DataEntry
|
||||
title="Street width"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
<NumericDataEntry
|
||||
title={dataFields.context_street_width.title}
|
||||
value={props.building.context_street_width}
|
||||
slug="context_street_width"
|
||||
tooltip={dataFields.context_street_width.tooltip}
|
||||
//placeholder={dataFields.context_street_width.example}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={1}
|
||||
min={0}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Pavement width"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
<Verification
|
||||
slug="context_street_width"
|
||||
allow_verify={props.user !== undefined && props.building.context_street_width !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_street_width")}
|
||||
user_verified_as={props.user_verified.context_street_width}
|
||||
verified_count={props.building.verified.context_street_width}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_street_width_source_type.title}
|
||||
slug="context_street_width_source_type"
|
||||
value={props.building.context_street_width_source_type}
|
||||
options={dataFields.context_street_width_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_street_width_source_type.tooltip}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Street network geometry link"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
{(props.building.context_street_width_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_street_width_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_street_width_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.context_street_width_source_links.title}
|
||||
slug="context_street_width_source_links"
|
||||
value={props.building.context_street_width_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_street_width_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.context_pavement_width.title}
|
||||
value={props.building.context_pavement_width}
|
||||
slug="context_pavement_width"
|
||||
tooltip={dataFields.context_pavement_width.tooltip}
|
||||
//placeholder={dataFields.context_pavement_width.example}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={1}
|
||||
min={0}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_pavement_width"
|
||||
allow_verify={props.user !== undefined && props.building.context_pavement_width !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_pavement_width")}
|
||||
user_verified_as={props.user_verified.context_pavement_width}
|
||||
verified_count={props.building.verified.context_pavement_width}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_pavement_width_source_type.title}
|
||||
slug="context_pavement_width_source_type"
|
||||
value={props.building.context_pavement_width_source_type}
|
||||
options={dataFields.context_pavement_width_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_pavement_width_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.context_pavement_width_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_pavement_width_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_pavement_width_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.context_pavement_width_source_links.title}
|
||||
slug="context_pavement_width_source_links"
|
||||
value={props.building.context_pavement_width_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_pavement_width_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<DataEntry
|
||||
title={dataFields.context_street_geometry.title}
|
||||
slug="context_street_geometry"
|
||||
value={props.building.context_street_geometry}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_street_geometry.tooltip}
|
||||
placeholder="https://..."
|
||||
isUrl={true}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_street_geometry"
|
||||
allow_verify={props.user !== undefined && props.building.context_street_geometry !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_street_geometry")}
|
||||
user_verified_as={props.user_verified.context_street_geometry}
|
||||
verified_count={props.building.verified.context_street_geometry}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_street_geometry_source_type.title}
|
||||
slug="context_street_geometry_source_type"
|
||||
value={props.building.context_street_geometry_source_type}
|
||||
options={dataFields.context_street_geometry_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_street_geometry_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.context_street_geometry_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_street_geometry_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_street_geometry_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.context_street_geometry_source_links.title}
|
||||
slug="context_street_geometry_source_links"
|
||||
value={props.building.context_street_geometry_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_street_geometry_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
<DataEntryGroup name="Access to green space">
|
||||
<DataEntry
|
||||
title="Distance from public green space"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
<NumericDataEntry
|
||||
title={dataFields.context_green_space_distance.title}
|
||||
value={props.building.context_green_space_distance}
|
||||
slug="context_green_space_distance"
|
||||
tooltip={dataFields.context_green_space_distance.tooltip}
|
||||
//placeholder={dataFields.context_green_space_distance.example}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={1}
|
||||
min={0}
|
||||
/>
|
||||
<DataEntry
|
||||
title="Distance from front door to nearest tree"
|
||||
slug=""
|
||||
value=""
|
||||
mode='view'
|
||||
<Verification
|
||||
slug="context_green_space_distance"
|
||||
allow_verify={props.user !== undefined && props.building.context_green_space_distance !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_green_space_distance")}
|
||||
user_verified_as={props.user_verified.context_green_space_distance}
|
||||
verified_count={props.building.verified.context_green_space_distance}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_green_space_distance_source_type.title}
|
||||
slug="context_green_space_distance_source_type"
|
||||
value={props.building.context_green_space_distance_source_type}
|
||||
options={dataFields.context_green_space_distance_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_green_space_distance_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.context_green_space_distance_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_green_space_distance_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_green_space_distance_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.context_green_space_distance_source_links.title}
|
||||
slug="context_green_space_distance_source_links"
|
||||
value={props.building.context_green_space_distance_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_green_space_distance_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
<hr/>
|
||||
<NumericDataEntry
|
||||
title={dataFields.context_tree_distance.title}
|
||||
value={props.building.context_tree_distance}
|
||||
slug="context_tree_distance"
|
||||
tooltip={dataFields.context_tree_distance.tooltip}
|
||||
//placeholder={dataFields.context_tree_distance.example}
|
||||
mode={props.mode}
|
||||
onChange={props.onChange}
|
||||
step={1}
|
||||
min={0}
|
||||
/>
|
||||
<Verification
|
||||
slug="context_tree_distance"
|
||||
allow_verify={props.user !== undefined && props.building.context_tree_distance !== null}
|
||||
onVerify={props.onVerify}
|
||||
user_verified={props.user_verified.hasOwnProperty("context_tree_distance")}
|
||||
user_verified_as={props.user_verified.context_tree_distance}
|
||||
verified_count={props.building.verified.context_tree_distance}
|
||||
/>
|
||||
<SelectDataEntry
|
||||
title={dataFields.context_tree_distance_source_type.title}
|
||||
slug="context_tree_distance_source_type"
|
||||
value={props.building.context_tree_distance_source_type}
|
||||
options={dataFields.context_tree_distance_source_type.items}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_tree_distance_source_type.tooltip}
|
||||
/>
|
||||
{(props.building.context_tree_distance_source_type == commonSourceTypes[0] ||
|
||||
props.building.context_tree_distance_source_type == commonSourceTypes[1] ||
|
||||
props.building.context_tree_distance_source_type == null) ? <></> :
|
||||
<><MultiDataEntry
|
||||
title={dataFields.context_tree_distance_source_links.title}
|
||||
slug="context_tree_distance_source_links"
|
||||
value={props.building.context_tree_distance_source_links}
|
||||
mode={props.mode}
|
||||
copy={props.copy}
|
||||
onChange={props.onChange}
|
||||
tooltip={dataFields.context_tree_distance_source_links.tooltip}
|
||||
placeholder="https://..."
|
||||
editableEntries={true}
|
||||
isUrl={true}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</DataEntryGroup>
|
||||
</Fragment>
|
||||
);
|
||||
|
@ -21,7 +21,7 @@ const TeamView: React.FunctionComponent<CategoryViewProps> = (props) => {
|
||||
const currentBuildingConstructionYear = building.date_year || undefined;
|
||||
return (
|
||||
<form>
|
||||
<DataEntryGroup name="Dates of construction/extension">
|
||||
<DataEntryGroup name="Dates of construction and extension(s)">
|
||||
<NumericDataEntry
|
||||
slug='date_year'
|
||||
title={dataFields.date_year.title}
|
||||
|
@ -178,4 +178,9 @@
|
||||
|
||||
.data-entry-list-button {
|
||||
width: 2.5em;
|
||||
}
|
||||
|
||||
.source-url {
|
||||
padding-top: 0px;
|
||||
padding-bottom: 5px;
|
||||
}
|
@ -107,7 +107,6 @@ export const categoriesConfig: {[key in Category]: CategoryDefinition} = {
|
||||
intro: 'How are buildings used, and how does use change over time?',
|
||||
},
|
||||
[Category.StreetContext]: {
|
||||
inactive: true,
|
||||
slug: 'street-context',
|
||||
name: 'Street Context',
|
||||
aboutUrl: 'https://pages.colouring.london/greenery',
|
||||
|
@ -6,12 +6,15 @@ let ccconfig: CCConfig = require('../../cc-config.json')
|
||||
* Common list of Source Types, used in multiple menus
|
||||
*/
|
||||
export const commonSourceTypes = [
|
||||
"Expert knowledge",
|
||||
"Observed from the street",
|
||||
"Google or other photograph/satellite imagery",
|
||||
"Government/public record/database",
|
||||
"Independently managed record/database",
|
||||
"Other type of record/database"
|
||||
"Assessed by eye",
|
||||
"Assessed using expert knowledge of building or building type",
|
||||
"Assessed using streetview photographs or satellite imagery",
|
||||
"Assessed by specialist emergency group",
|
||||
"Live streamed from a government source",
|
||||
"Current government record/dataset",
|
||||
"Independently managed public database",
|
||||
"Commercial database",
|
||||
"Inferred computationally using existing open attribute data",
|
||||
];
|
||||
|
||||
/**
|
||||
@ -142,7 +145,7 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
location_name: {
|
||||
category: Category.Location,
|
||||
title: "Building name (non-domestic)",
|
||||
tooltip: "Link to a website with the name of the building.<br/><br/>(For security reasons, we currently only collect the names of well-known public buildings.)",
|
||||
tooltip: "Link to a website with the name of the building.<br/><br/>(For security reasons, we currently only collect the names of non-residential buildings).",
|
||||
example: "https://en.wikipedia.org/wiki/Palace_of_Westminster",
|
||||
},
|
||||
location_number: {
|
||||
@ -165,13 +168,13 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
},
|
||||
location_town: {
|
||||
category: Category.Location,
|
||||
title: "Town/city",
|
||||
title: "Town/City",
|
||||
example: "London",
|
||||
//tooltip: ,
|
||||
},
|
||||
location_postcode: {
|
||||
category: Category.Location,
|
||||
title: ccconfig.postcode,
|
||||
title: "Area code/"+ccconfig.postcode,
|
||||
example: "W1W 6TR",
|
||||
//tooltip: ,
|
||||
},
|
||||
@ -503,13 +506,58 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
category: Category.StreetContext,
|
||||
title: "Total area of plot (m²)",
|
||||
example: 123.02,
|
||||
//tooltip: ,
|
||||
tooltip: "Total area of plot (m²)",
|
||||
},
|
||||
size_plot_area_total_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source of plot area data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
size_plot_area_total_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source links",
|
||||
tooltip: "URL(s) for plot area data source(s)",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
size_far_ratio: {
|
||||
category: Category.StreetContext,
|
||||
title: "FAR ratio (percentage of plot covered by building)",
|
||||
example: 0.1,
|
||||
//tooltip: ,
|
||||
example: 1.0,
|
||||
tooltip: "boobs",
|
||||
},
|
||||
size_far_ratio_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source of FAR ratio data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
size_far_ratio_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source links",
|
||||
tooltip: "URL(s) for FAR ratio data source(s)",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
size_parcel_geometry: {
|
||||
category: Category.StreetContext,
|
||||
title: "Land parcel geometry link",
|
||||
example: "https://",
|
||||
tooltip: "INSPIRE Polygons",
|
||||
},
|
||||
size_parcel_geometry_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source of parcel geometry data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
size_parcel_geometry_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source links",
|
||||
tooltip: "URL(s) for parcel geometry data source(s)",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
|
||||
construction_core_material: {
|
||||
@ -784,13 +832,20 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
// title: "When was this building used for community activities?"
|
||||
// },
|
||||
|
||||
|
||||
community_public_ownership: {
|
||||
category: Category.Community,
|
||||
title: "Is the building in public/community ownership?",
|
||||
example: "Not in public/community ownership"
|
||||
example: "Privately owned (non-corporate)",
|
||||
items: [
|
||||
'State-owned',
|
||||
'Charity-owned',
|
||||
'Community-owned',
|
||||
'Owned by other non-profit body',
|
||||
'Privately owned (non-corporate)',
|
||||
'Privately owned (corporate)',
|
||||
'Other'
|
||||
]
|
||||
},
|
||||
|
||||
community_public_ownership_sources: {
|
||||
category: Category.Community,
|
||||
title: "Community ownership source link",
|
||||
@ -991,19 +1046,38 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
category: Category.Resilience,
|
||||
title: "Disaster type",
|
||||
tooltip: "What type of disaster management do you wish to collect data for?",
|
||||
example: "Flood"
|
||||
example: "Flood",
|
||||
items: [
|
||||
'Flood',
|
||||
'Earthquake',
|
||||
'Hurricane',
|
||||
'Fire',
|
||||
'Extreme heat',
|
||||
'Political/war damage',
|
||||
'Other human (blast damage/spills etc.)',
|
||||
'Other'
|
||||
]
|
||||
},
|
||||
disaster_severity: {
|
||||
category: Category.Resilience,
|
||||
title: "How severe do you assess the damage to be?",
|
||||
tooltip: "Best estimate for the severity of damage to the building",
|
||||
example: "Building destroyed"
|
||||
example: "Building destroyed",
|
||||
items: [
|
||||
'Building destroyed',
|
||||
'Very severe',
|
||||
'Severe',
|
||||
'Moderate',
|
||||
'Minimal',
|
||||
'No damage visible',
|
||||
]
|
||||
},
|
||||
disaster_assessment_method: {
|
||||
category: Category.Resilience,
|
||||
title: "Method of assessment",
|
||||
title: "Source Type",
|
||||
tooltip: "Please add a Best estimate for the severity of damage to the building",
|
||||
example: "Citizen/Passerby by eye"
|
||||
example: "Citizen/Passerby by eye",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
disaster_source_link: {
|
||||
category: Category.Resilience,
|
||||
@ -1021,6 +1095,145 @@ export const dataFields = { /* eslint-disable @typescript-eslint/camelcase */
|
||||
title: "What was the end date of the disaster? (if applicable)",
|
||||
example: "03/04/2023"
|
||||
},
|
||||
|
||||
context_front_garden: {
|
||||
category: Category.StreetContext,
|
||||
title: "Does the building have a front garden?",
|
||||
tooltip: "Is the front garden mainly green/planted?",
|
||||
example: "",
|
||||
items: [
|
||||
"Yes",
|
||||
"No"
|
||||
]
|
||||
},
|
||||
context_back_garden: {
|
||||
category: Category.StreetContext,
|
||||
title: "Does the building have a back garden?",
|
||||
tooltip: "Is the back garden mainly green/planted?",
|
||||
example: "",
|
||||
items: [
|
||||
"Yes",
|
||||
"No"
|
||||
]
|
||||
},
|
||||
context_flats_garden: {
|
||||
category: Category.StreetContext,
|
||||
title: "Is the building flats with a dedicated green space?",
|
||||
tooltip: "If the building is a block of flats, does it have a dedicated garden area/green space?",
|
||||
example: "",
|
||||
items: [
|
||||
"Yes",
|
||||
"No"
|
||||
]
|
||||
},
|
||||
context_garden_source_type: {
|
||||
category: Category.StreetContext,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for garden data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_garden_source_links: {
|
||||
category: Category.StreetContext,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for garden data source(s)",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
context_street_width: {
|
||||
category: Category.Team,
|
||||
title: "Street width (m)",
|
||||
tooltip: "Width of the street in metres.",
|
||||
example: 10
|
||||
},
|
||||
context_street_width_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for street width data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_street_width_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for street width data",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
context_pavement_width: {
|
||||
category: Category.Team,
|
||||
title: "Pavement width (m)",
|
||||
tooltip: "Width of the pavement in metres.",
|
||||
example: 10
|
||||
},
|
||||
context_pavement_width_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for pavement width data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_pavement_width_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for pavement width data",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
context_green_space_distance: {
|
||||
category: Category.Team,
|
||||
title: "Distance to nearest green space (m)",
|
||||
tooltip: "Approximate distance from the front door of the building to the nearest public green space.",
|
||||
example: 10
|
||||
},
|
||||
context_green_space_distance_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for green space data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_green_space_distance_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for green space data",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
context_tree_distance: {
|
||||
category: Category.Team,
|
||||
title: "Distance to nearest tree (m)",
|
||||
tooltip: "Approximate distance from the front door of the building to the nearest tree.",
|
||||
example: 10
|
||||
},
|
||||
context_tree_distance_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for tree data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_tree_distance_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for tree data",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
context_street_geometry: {
|
||||
category: Category.Team,
|
||||
title: "Street network geometry link",
|
||||
tooltip: "Link to a website with the name of the building..",
|
||||
example: "https://en.wikipedia.org/",
|
||||
},
|
||||
context_street_geometry_source_type: {
|
||||
category: Category.Team,
|
||||
title: "Source type",
|
||||
tooltip: "Source type for tree data",
|
||||
example: "",
|
||||
items: commonSourceTypes
|
||||
},
|
||||
context_street_geometry_source_links: {
|
||||
category: Category.Team,
|
||||
title: "Source link(s)",
|
||||
tooltip: "Source link(s) for tree data",
|
||||
example: ["", "", ""],
|
||||
},
|
||||
};
|
||||
|
||||
export const allFieldsConfig = { ...dataFields, ...buildingUserFields };
|
@ -19,3 +19,32 @@ ALTER TABLE buildings DROP COLUMN IF EXISTS designers_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS builder_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS extension_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS extension_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_far_ratio;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_far_ratio_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_far_ratio_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_plot_area_total;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_plot_area_total_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_plot_area_total_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_parcel_geometry;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_parcel_geometry_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS size_parcel_geometry_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_front_garden;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_back_garden;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_flats_garden;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_garden_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_garden_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_width;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_width_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_width_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_pavement_width;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_pavement_width_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_pavement_width_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_green_space_distance;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_green_space_distance_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_green_space_distance_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_tree_distance;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_tree_distance_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_tree_distance_source_links;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_geometry;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_geometry_source_type;
|
||||
ALTER TABLE buildings DROP COLUMN IF EXISTS context_street_geometry_source_links;
|
@ -20,4 +20,33 @@ ALTER TABLE buildings ADD COLUMN IF NOT EXISTS landowner_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS designers_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS builder_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS extension_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS extension_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS extension_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_far_ratio text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_far_ratio_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_far_ratio_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_plot_area_total text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_plot_area_total_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_plot_area_total_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_parcel_geometry text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_parcel_geometry_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS size_parcel_geometry_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_front_garden text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_back_garden text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_flats_garden text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_garden_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_garden_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_width text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_width_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_width_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_pavement_width text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_pavement_width_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_pavement_width_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_green_space_distance text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_green_space_distance_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_green_space_distance_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_tree_distance text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_tree_distance_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_tree_distance_source_links text[];
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_geometry text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_geometry_source_type text;
|
||||
ALTER TABLE buildings ADD COLUMN IF NOT EXISTS context_street_geometry_source_links text[];
|
Loading…
Reference in New Issue
Block a user