Skip to content

Commit

Permalink
add base schemas for CIL
Browse files Browse the repository at this point in the history
  • Loading branch information
augustlindemer committed Dec 15, 2024
1 parent 8607b97 commit f377b91
Show file tree
Hide file tree
Showing 3 changed files with 276 additions and 0 deletions.
2 changes: 2 additions & 0 deletions editor.planx.uk/src/@planx/components/List/Editor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { ICONS } from "../shared/icons";
import { EditorProps } from "../shared/types";
import { List, parseContent, validationSchema } from "./model";
import { ProposedAdvertisements } from "./schemas/Adverts";
import { ExistingBuildingsCIL } from "./schemas/CIL/ExistingCIL";
import { NonResidentialFloorspace } from "./schemas/Floorspace";
import { BuildingDetailsGLA } from "./schemas/GLA/BuildingDetails";
import { CommunalSpaceGLA } from "./schemas/GLA/CommunalSpace";
Expand Down Expand Up @@ -69,6 +70,7 @@ export const SCHEMAS = [
{ name: "Proposed advertisements", schema: ProposedAdvertisements },
{ name: "Parking details", schema: Parking },
{ name: "Parking details (GLA)", schema: ParkingGLA },
{ name: "Existing buildings (CIL)", schema: ExistingBuildingsCIL },
{ name: "Trees", schema: Trees },
{ name: "Trees (Map first)", schema: TreesMapFirst },
];
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import { Schema } from "@planx/components/shared/Schema/model";
import { TextInputType } from "@planx/components/TextInput/model";

export const ExistingBuildingsCIL: Schema = {
type: "Existing building or part of building",
fields: [
{
type: "text",
data: {
title: "Describe the existing building or part",
fn: "descriptionExisting",
type: TextInputType.Short,
},
},
{
type: "number",
data: {
title: "How much of its floorspace will be retained?",
units: "m²",
fn: "areaRetained",
allowNegatives: false,
},
},
{
type: "text",
data: {
title: "What will the retained floorspace be used for?",
description: "This can be identical to its current use.",
fn: "descriptionProposed",
type: TextInputType.Short,
},
},
{
type: "number",
data: {
title: "How much of its floorspace will be lost?",
units: "m²",
fn: "areaDemolished",
allowNegatives: false,
},
},
{
type: "question",
data: {
title:
"Has the building or part been lawfully occupied for 6 continuous months in the past 36 months (excluding temporarily lawful uses)?",
fn: "continuousOccupation",
options: [
{ id: "true", data: { text: "Yes", val: "true" } },
{ id: "false", data: { text: "No", val: "false" } },
],
},
},
{
type: "text",
data: {
title: "When was it last occupied for its lawful use?",
description: "Please enter a date or whether it is still in use.",
fn: "lastOccupation",
type: TextInputType.Short,
},
},
],
min: 1,
} as const;
209 changes: 209 additions & 0 deletions editor.planx.uk/src/@planx/components/List/schemas/CIL/ProposedCIL.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
import { Schema } from "@planx/components/shared/Schema/model";

export const ProposedGrossInternalAreaCIL: Schema = {
type: "New development type",
fields: [
{
type: "question",
data: {
title: "What best describes this development?",
fn: "type",
options: [
{
id: "marketHousing",
data: { text: "Market housing", val: "marketHousing" },
},
{
id: "socialHousing",
data: { text: "Social or shared ownership housing", val: "LW" },
},
{
id: "otherResidential",
data: {
text: "Other residential development",
val: "otherResidential",
},
},
{
id: "nonResidential",
data: {
text: "Non-residential development",
val: "nonResidential",
},
},
],
},
},
{
type: "number",
data: {
title:
"What is the Gross Internal Area (GIA) proposed by this development?",
units: "m²",
fn: "area",
allowNegatives: false,
},
},
{
type: "number",
data: {
title: "How many habitable rooms will this unit have?",
fn: "habitable",
allowNegatives: false,
},
},
{
type: "number",
data: {
title: "How many bedrooms will this unit have?",
fn: "bedrooms",
allowNegatives: false,
},
},
{
type: "question",
data: {
title: "What best describes the tenure of this unit?",
fn: "tenure",
options: [
{ id: "LAR", data: { text: "London Affordable Rent", val: "LAR" } },
{
id: "AR",
data: {
text: "Affordable rent (not at LAR benchmark rents)",
val: "AR",
},
},
{ id: "SR", data: { text: "Social rent", val: "SR" } },
{ id: "LRR", data: { text: "London Living Rent", val: "LRR" } },
{
id: "sharedEquity",
data: { text: "Shared equity", val: "sharedEquity" },
},
{ id: "LSO", data: { text: "London Shared Ownership", val: "LSO" } },
{ id: "DMS", data: { text: "Discount market sale", val: "DMS" } },
{ id: "DMR", data: { text: "Discount market rent", val: "DMR" } },
{
id: "DMRLLR",
data: {
text: "Discount market rent (charged at London Living Rents)",
val: "DMRLLR",
},
},
{
id: "marketForRent",
data: { text: "Market for rent", val: "marketForRent" },
},
{ id: "SH", data: { text: "Starter homes", val: "SH" } },
{
id: "selfCustomBuild",
data: {
text: "Self-build and custom build",
val: "selfCustomBuild",
},
},
{
id: "marketForSale",
data: { text: "Market for sale", val: "marketForSale" },
},
{ id: "other", data: { text: "Other", val: "other" } },
],
},
},
{
type: "question",
data: {
title: "What best describes the provider of this unit?",
fn: "provider",
options: [
{ id: "private", data: { text: "Private", val: "private" } },
{
id: "privateRented",
data: { text: "Private rented sector", val: "privateRented" },
},
{ id: "HA", data: { text: "Housing association", val: "HA" } },
{ id: "LA", data: { text: "Local authority", val: "LA" } },
{
id: "publicAuthority",
data: { text: "Other public authority", val: "publicAuthority" },
},
{
id: "councilDelivery",
data: { text: "Council delivery company", val: "councilDelivery" },
},
{
id: "councilBuildToRent",
data: {
text: "Council delivered build to rent",
val: "councilBuildToRent",
},
},
{
id: "affordableHousing",
data: {
text: "Other affordable housing provider",
val: "affordableHousing",
},
},
{ id: "selfBuild", data: { text: "Self-build", val: "selfBuild" } },
],
},
},
{
type: "checklist",
data: {
title: "Will this unit be compliant with any of the following?",
fn: "compliance",
options: [
{
id: "m42",
data: { text: "Part M4(2) of the Building Regulations 2010" },
},
{
id: "m432a",
data: { text: "Part M4(3)(2a) of the Building Regulations 2010" },
},
{
id: "m432b",
data: { text: "Part M4(3)(2b) of the Building Regulations 2010" },
},
{ id: "none", data: { text: "None of these" } },
],
},
},
{
type: "question",
data: {
title: "Will this unit be built on garden land?",
fn: "garden",
options: [
{ id: "true", data: { text: "Yes", val: "true" } },
{ id: "false", data: { text: "No", val: "false" } },
],
},
},
{
type: "question",
data: {
title: "Will this unit provide sheltered accommodation?",
fn: "sheltered",
options: [
{ id: "true", data: { text: "Yes", val: "true" } },
{ id: "false", data: { text: "No", val: "false" } },
],
},
},
{
type: "question",
data: {
title: "Is this unit specifically designed for older people?",
fn: "olderPersons",
options: [
{ id: "true", data: { text: "Yes", val: "true" } },
{ id: "false", data: { text: "No", val: "false" } },
],
},
},
],
min: 1,
} as const;

0 comments on commit f377b91

Please sign in to comment.