From eaecf736d541186af69d917d1a8468129e4e8f89 Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 13:39:22 -0400 Subject: [PATCH 1/9] Minor content edits --- src/app/development/permits/Permit.js | 2 +- src/app/development/permits/PermitsIndex.js | 1 + src/app/development/trc/textContent.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/development/permits/Permit.js b/src/app/development/permits/Permit.js index fe32726a..1e0429f6 100644 --- a/src/app/development/permits/Permit.js +++ b/src/app/development/permits/Permit.js @@ -143,7 +143,7 @@ const Permit = props => (

{formattedPermit.application_name}

{formattedPermit.permit_description}

-

{`City staff accepted this application on ${dateFormatter(formattedPermit.applied_date)}. ${currentStatusItem ? currentStatusItem.statusText : ''}`}

+

{`City staff began processing this application on ${dateFormatter(formattedPermit.applied_date)}. ${currentStatusItem ? currentStatusItem.statusText : ''}`}

{formattedPermit.trcType && formattedPermit.orderedDates.length > 0 &&
diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index b47cd5f8..f8816b7a 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -96,7 +96,7 @@ export const devDashSections = [ body: (

Developers planning to submit applications for development that must go through the Technical Review Committee must hold a public meeting before submitting the application.

Currently, developers are not required by law to notify the City of Asheville when those meetings take place. Thus, the first record the city has of a proposed development is when the application is submitted, after the meeting.

-

However, in order to help ensure that residents can find out about neighborhood meetings in advance, the city has asked developers to voluntarily notify the city. After those developers fill out an online form, those meeting dates are automatically added to a calendar that shows all neighborhood meetings about which the city has been notified.

+

However, in order to help ensure that residents can find out about developer-neighborhood meetings in advance, the city has asked developers to voluntarily notify the city. After those developers fill out an online form, those meeting dates are automatically added to a calendar that shows all developer-neighborhood meetings about which the city has been notified.

) }, { From 5a422f0464a88869521cab28271c6c5a563114ad Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 13:52:55 -0400 Subject: [PATCH 2/9] Start to make get involved section --- src/app/development/trc/textContent.js | 25 +++++++++++++++---- .../components/MajorDevelopmentDashboard.scss | 19 ++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index f8816b7a..fb8d20ea 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -91,12 +91,27 @@ export const devDashSections = [ }, { linkId: 'calendar', - linkName: 'Neighborhood Meetings', - header: 'Upcoming neighborhood meetings', + linkName: 'Get Involved', + header: 'How to get involved', body: ( -

Developers planning to submit applications for development that must go through the Technical Review Committee must hold a public meeting before submitting the application.

-

Currently, developers are not required by law to notify the City of Asheville when those meetings take place. Thus, the first record the city has of a proposed development is when the application is submitted, after the meeting.

-

However, in order to help ensure that residents can find out about developer-neighborhood meetings in advance, the city has asked developers to voluntarily notify the city. After those developers fill out an online form, those meeting dates are automatically added to a calendar that shows all developer-neighborhood meetings about which the city has been notified.

+

Depending on the type of project, there are a few different ways for community members to get involved in the development process.

+
    +
  • +

    Neighborhood meetings

    +

    Developers planning to submit applications for development that must go through the Technical Review Committee must hold a public meeting before submitting the application.

    +

    Currently, developers are not required by law to notify the City of Asheville when those meetings take place. Thus, the first record the city has of a proposed development is when the application is submitted, after the meeting.

    +

    However, in order to help ensure that residents can find out about developer-neighborhood meetings in advance, the city has asked developers to voluntarily notify the city. After those developers fill out an online form, those meeting dates are automatically added to a calendar that shows all developer-neighborhood meetings about which the city has been notified.

    +
  • +
  • +

    Committee and commission meetings

    +

    They happen sometimes

    +

    Also join one

    +
  • +
  • +

    Council meetings

    +

    These also happen sometimes

    +
  • +
) }, { diff --git a/src/styles/components/MajorDevelopmentDashboard.scss b/src/styles/components/MajorDevelopmentDashboard.scss index 988b912c..e9327175 100644 --- a/src/styles/components/MajorDevelopmentDashboard.scss +++ b/src/styles/components/MajorDevelopmentDashboard.scss @@ -71,6 +71,25 @@ ul.sectionNav li { margin: 0 auto; } +.paragraphy-list { + list-style: none; +} + +.paragraphy-list h3 { + display: inline-block; +} + +.paragraphy-list li::before { + content: "\2022"; /* Add content: \2022 is the CSS Code/unicode for a bullet */ + color: #4077a5; /* Change the color */ + font-weight: bolder; /* If you want it to be bold */ + font-size: 1.5rem; + display: inline-block; /* Needed to add space between the bullet and the text */ + width: 1em; /* Also needed for space (tweak if needed) */ + margin-left: -1em; /* Also needed for space (tweak if needed) */ +} + + @media(max-width: 767px){ #majorDevDash p, #majorDevDash p ~ ul { width: 90%; From 839ce863c33a95457b5771dfe4c95269417e96ec Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 13:57:37 -0400 Subject: [PATCH 3/9] More accurate design review --- src/app/development/trc/textContent.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index fb8d20ea..74d930c5 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -448,6 +448,8 @@ export const dagreNodes = [ typeIds: [ 'Level II', 'Major Subdivision', + 'Conditional Zoning', + 'Conditional Use Permit', ], }, { @@ -550,6 +552,8 @@ export const dagreLinks = [ target: 'Planning and Zoning Commission', parallelEdges: [ { id: 'Level II' }, + { id: 'Conditional Zoning' }, + { id: 'Conditional Use Permit' }, ], }, { @@ -565,12 +569,6 @@ export const dagreLinks = [ parallelEdges: [ { id: 'Level II' }, { id: 'Major Subdivision' }, - ], - }, - { - source: 'Technical Review Committee', - target: 'Planning and Zoning Commission', - parallelEdges: [ { id: 'Conditional Zoning' }, { id: 'Conditional Use Permit' }, ], From 4d1819f780447b3c3985e646e897d9d0a05f5b36 Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 14:16:35 -0400 Subject: [PATCH 4/9] Make space for design review --- src/app/development/trc/utils.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/app/development/trc/utils.js b/src/app/development/trc/utils.js index 4f25135b..bb6a998a 100644 --- a/src/app/development/trc/utils.js +++ b/src/app/development/trc/utils.js @@ -51,17 +51,29 @@ export function getNodes(dagreGraph, visWidth, nodeHeight, nodePadding) { const midpointX = visWidth / 2; // totalYOffsetValue has to be added to if there is a multi-row set of nodes - // let totalYOffsetValue = 0; + let totalYOffsetValue = 0; - return Object.values(dagreGraph._nodes).map((d) => { + const returnNodes = Object.values(dagreGraph._nodes).map((d) => { const returnNode = Object.assign({}, d); returnNode.coincidents = [].concat(Object.values(dagreGraph._nodes)) .filter(val => val.y === d.y); returnNode.indexInCoincidents = returnNode.coincidents.findIndex(c => c.id === returnNode.id); - returnNode.numPerRow = returnNode.coincidents.length <= 3 ? - returnNode.coincidents.length : Math.ceil(returnNode.coincidents.length / 2); + // This logic allows for wrapping, but is unnecessary right now + // returnNode.numPerRow = returnNode.coincidents.length <= 3 ? + // returnNode.coincidents.length : Math.ceil(returnNode.coincidents.length / 2); + returnNode.numPerRow = returnNode.coincidents.length; + + // Basically, lower the nodes after design review if the larger nodes are being used + returnNode.y += totalYOffsetValue; + if (returnNode.numPerRow > 2 + && returnNode.indexInCoincidents === returnNode.coincidents.length - 1 + && visWidth > 767 + ) { + totalYOffsetValue += 125; + } + // Wrap is just the width-- this is an artefact of using the React Annotations library for an earlier draft returnNode.wrap = (visWidth - (nodePadding + (nodePadding * returnNode.numPerRow)) ) / returnNode.numPerRow; @@ -94,6 +106,8 @@ export function getNodes(dagreGraph, visWidth, nodeHeight, nodePadding) { // d.yOffset = thisYOffset; }); + return returnNodes; + // Reiterate and update y values // return nodeValues; // .map((d) => { From 73e74683fc587b43e35c1d2d30c51d19a900314a Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 14:21:16 -0400 Subject: [PATCH 5/9] Add HRC dagre content --- src/app/development/trc/textContent.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index 74d930c5..494a6a5f 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -434,15 +434,17 @@ export const dagreNodes = [ { id: 'Design review', steps: { - what:
Projects located Downtown or in the River District must be reviewed for architectural design elements by a special design review sub-committee of either the Asheville Downtown Commission or the Asheville Area Riverfront Redevelopment Commission prior to approval.
, + what:
Projects located Downtown, in the River District, or involving a historic landmark or site must be reviewed for architectural design elements by a special design review sub-committee of the Asheville Downtown Commission, the Asheville Area Riverfront Redevelopment Commission, or the Historic Resources Commission, respectively, prior to approval.
, who: ['dev', 'staff', 'neighbors'], when: (
  • Downtown Commission: second Friday of each month
  • Riverfront Commission: second Thursday of each month
  • +
  • Historic Resources Commission: second Wednesday of each month
), where: (), }, typeIds: [ From 8ff150c84a9b6426514fb7776f4e30a842bd9abd Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 14:36:08 -0400 Subject: [PATCH 6/9] Add links to cards --- src/app/development/trc/textContent.js | 47 +++++++++++++++++++------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index 494a6a5f..ec76b5f7 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -90,7 +90,7 @@ export const devDashSections = [ ), }, { - linkId: 'calendar', + linkId: 'participate', linkName: 'Get Involved', header: 'How to get involved', body: ( @@ -223,7 +223,12 @@ trcProjectTypes['Major Subdivision'] = {
  • Creation or extension of a road
  • Usually creates new residential lots
  • ), - participationOpp: (
    • Neighborhood meeting
    ), + participationOpp: ( + + ), examples: (
    • A new neighborhood with a new road created
    ), @@ -242,14 +247,17 @@ trcProjectTypes['Level II'] = {
  • Not located downtown and contains 20 to 49 residential units or is 35,000 to 99,999 square feet
  • Located downtown and is 20,000 to 99,999 square feet
  • ), - participationOpp: (
      -
    • Downtown: -
      • Neighborhood meeting
      • Design review
      • Planning and Zoning Commission
      -
    • -
    • Not downtown: -
      • Neighborhood meeting
      • Design review (if on the river)
      -
    • -
    ), + participationOpp: ( + + ), examples: (
    • A new grocery store
    • A big box specialty retailer
    • @@ -272,7 +280,14 @@ trcProjectTypes['Conditional Zoning'] = {
    • 99,999 square feet or larger
    • Includes all projects previously designated as Level III
    ), - participationOpp: (
    • Neighborhood meeting
    • Design review (if downtown or on the river)
    • Planning and Zoning Commission
    • City Council hearing
    ), + participationOpp: ( + ), examples: (
    • A large apartment complex
    • A large office building
    • @@ -290,7 +305,15 @@ trcProjectTypes['Conditional Use Permit'] = { short: 'CUP', descriptors: { whyLevel: This is highly specialized permit process for land uses with potential public impacts that require individual consideration of their location, design, configuration and operation. These uses are defined by Section 7-16-2 of the Unified Development Ordinance., - participationOpp: (
      • Neighborhood meeting
      • Design review (if downtown or on the river)
      • Planning and Zoning Commission
      • City Council hearing
      ), + participationOpp: ( + + ), examples: (
      • Cell phone towers
      • Jails
      • From 9603bc03eae2b34d332d86faaf0e0b9cf64b6d33 Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 14:38:44 -0400 Subject: [PATCH 7/9] Outline content --- src/app/development/trc/textContent.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index ec76b5f7..9e31858e 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -104,12 +104,14 @@ export const devDashSections = [
      • Committee and commission meetings

        -

        They happen sometimes

        -

        Also join one

        +

        TRC

        +

        Riverfront, Historic, Downtown

        +

        Join a comittee or commission

      • Council meetings

        -

        These also happen sometimes

        +

        Schedule and agenda are on the website

        +

        Three minutes to speak, etc

      ) From 38ff87e1724d940506e1e6edf46beb1906c37c77 Mon Sep 17 00:00:00 2001 From: Melanie Mazanec Date: Mon, 5 Aug 2019 15:48:03 -0400 Subject: [PATCH 8/9] Add content about committees --- src/app/development/trc/textContent.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/app/development/trc/textContent.js b/src/app/development/trc/textContent.js index 9e31858e..1a667572 100644 --- a/src/app/development/trc/textContent.js +++ b/src/app/development/trc/textContent.js @@ -98,15 +98,14 @@ export const devDashSections = [ )