Merge pull request #111 from dod-ccpo/ui/empty-states

Ui/empty states
This commit is contained in:
andrewdds 2018-07-31 12:56:37 -04:00 committed by GitHub
commit a7cc407952
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 193 additions and 156 deletions

View File

@ -46,3 +46,12 @@ class SidenavItem(UIModule):
active=active, active=active,
icon=icon, icon=icon,
subnav=subnav) subnav=subnav)
class EmptyState(UIModule):
def render(self, message, actionLabel, actionHref, icon=None):
return self.render_string(
"components/empty_state.html.to",
message=message,
actionLabel=actionLabel,
actionHref=actionHref,
icon=icon)

View File

@ -1,15 +1,27 @@
.empty-state { .empty-state {
text-align: center; text-align: center;
padding-top: 10rem; padding: 6rem ($gap * 2) 0;
display: flex;
flex-direction: column;
align-items: center;
@include media($medium-screen) {
padding: 8rem ($gap * 4) 0;
}
.icon {
@include icon-size(50);
@include icon-color($color-gray-light);
}
p { p {
font-family: $font-sans; @include h2;
font-weight: 300; line-height: 1.2;
line-height: 10rem; max-width: 15em;
font-size: 44px; color: $color-gray;
line-height: 5rem;
margin: 0 auto; @include media($large-screen) {
padding-bottom: 2rem; @include h1;
max-width: 40%; }
} }
} }

View File

@ -0,0 +1,9 @@
<div class='empty-state'>
<p>{{ message }}</p>
{% if icon %}
{% module Icon(icon) %}
{% end %}
<a href='{{ actionHref }}' class='usa-button usa-button-big'>{{ actionLabel }}</a>
</div>

View File

@ -31,12 +31,22 @@
{% block content %} {% block content %}
{% if not requests %}
{% module Alert('Pending Financial Verification', {% module EmptyState(
'There are currently no active requests for you to see.',
actionLabel='Create a new JEDI Cloud Request',
actionHref='/requests/new',
icon='document'
)%}
{% else %}
{% module Alert('Pending Financial Verification',
message="<p>Your next step is to create a Task Order (T.O.) associated with JEDI Cloud. Please consult a Contracting Officer (KO) or Contracting Officer Representative (COR) to help with this step.</p>" message="<p>Your next step is to create a Task Order (T.O.) associated with JEDI Cloud. Please consult a Contracting Officer (KO) or Contracting Officer Representative (COR) to help with this step.</p>"
) %} ) %}
<div class="col col--grow"> <div class="col col--grow">
<form class='search-bar'> <form class='search-bar'>
<div class='usa-input search-input'> <div class='usa-input search-input'>
@ -91,7 +101,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
{% end %}
{% end %} {% end %}

View File

@ -2,8 +2,19 @@
{% block workspace_content %} {% block workspace_content %}
{% if not members %}
<form class='search-bar'> {% module EmptyState(
'There are currently no members in this Workspace.',
actionLabel='Invite a new Member',
actionHref='/members/new',
icon='avatar'
)%}
{% else %}
<form class='search-bar'>
<div class='usa-input search-input'> <div class='usa-input search-input'>
<label for='members-search'>Search members by name</label> <label for='members-search'>Search members by name</label>
<input type='search' id='members-search' name='members-search' placeholder="Search by name"/> <input type='search' id='members-search' name='members-search' placeholder="Search by name"/>
@ -31,40 +42,10 @@
<option value="">Developer</option> <option value="">Developer</option>
</select> </select>
</div> </div>
</form>
{# <div class='panel panel__actions'>
<div class='row'>
<div class='col col--grow col--pad'>
<form class="usa-search usa-search-small">
<label class="usa-sr-only" for="search-field-small">Search small</label>
<input id="search-field-small" type="search" name="search" placeholder="Search by name">
<button type="submit">
<span class="usa-sr-only">Search</span>
</button>
</form> </form>
</div>
<div class='col col--grow col--pad'>
<select id="filter_status" name="filter_status" required="">
<option value="" selected disabled>Filter by status</option>
<option value="">Active</option>
<option value="">Pending</option>
<option value="">Denied</option>
</select>
</div>
<div class='col col--grow col--pad'>
<select id="filter_role" name="filter_role" required="">
<option value="" selected disabled>Filter by role</option>
<option value="">Admin</option>
<option value="">CCPO</option>
<option value="">Developer</option>
</select>
</div>
</div>
</div> #}
<div class='responsive-table-wrapper'> <div class='responsive-table-wrapper'>
<table> <table>
<thead> <thead>
<tr> <tr>
@ -85,8 +66,9 @@
{% end %} {% end %}
</tbody> </tbody>
</table> </table>
</div> </div>
{% end %}
{% end %} {% end %}

View File

@ -2,7 +2,18 @@
{% block workspace_content %} {% block workspace_content %}
{% for project in projects %} {% if not projects %}
{% module EmptyState(
'There are currently no projects set up for this Workspace.',
actionLabel='Create a new Project',
actionHref='/project/new',
icon='cloud'
)%}
{% else %}
{% for project in projects %}
<div class='block-list project-list-item'> <div class='block-list project-list-item'>
<header class='block-list__header'> <header class='block-list__header'>
<h2 class='block-list__title'>{{ project['name'] }} ({{ len(project['environments'])}} environments)</h2> <h2 class='block-list__title'>{{ project['name'] }} ({{ len(project['environments'])}} environments)</h2>
@ -27,6 +38,8 @@
{% end %} {% end %}
</ul> </ul>
</div> </div>
{% end %}
{% end %} {% end %}
{% end %} {% end %}