Browse Source

Add mobile styling

pull/449/head
Kat 3 years ago
parent
commit
cbca18b46b
  1. 16
      app/frontend/controllers/filter_controller.js
  2. 3
      app/frontend/controllers/index.js
  3. 18
      app/frontend/styles/_filter.scss
  4. 14
      app/views/case_logs/_log_filters.erb
  5. 16
      app/views/case_logs/index.html.erb

16
app/frontend/controllers/filter_controller.js

@ -0,0 +1,16 @@
import { Controller } from "@hotwired/stimulus";
export default class extends Controller {
toggleFilter() {
let filter_panel = document.getElementById("filter-panel");
let toggle_filter_button = document.getElementById("toggle-filter-button");
if (filter_panel.style.display === "none" || !filter_panel.style.display) {
filter_panel.style.display = "block";
toggle_filter_button.innerText = "Hide filters";
} else {
filter_panel.style.display = "none";
toggle_filter_button.innerText = "Show filters";
}
}
}

3
app/frontend/controllers/index.js

@ -14,3 +14,6 @@ application.register("govukfrontend", GovukfrontendController)
import NumericQuestionController from "./numeric_question_controller.js"
application.register("numeric-question", NumericQuestionController)
import FilterController from "./filter_controller.js"
application.register("filter", FilterController)

18
app/frontend/styles/_filter.scss

@ -16,7 +16,7 @@
position: static;
}
[class^=govuk-heading-] {
[class^="govuk-heading-"] {
margin-bottom: 0;
}
}
@ -71,11 +71,23 @@
@include govuk-clearfix;
}
.app-filter-toggle__button {
min-width: 128px;
@include govuk-media-query(desktop) {
display: none !important;
}
}
.app-filter-layout__filter {
@include govuk-media-query(desktop) {
float: left;
min-width: govuk-grid-width("one-quarter");
}
display: none;
@include govuk-media-query(desktop) {
display: block;
}
}
.js-enabled .app-filter-layout__filter {
@ -103,7 +115,9 @@
.app-filter-layout__content {
@include govuk-media-query(desktop) {
float: right;
max-width: calc(#{govuk-grid-width("three-quarters")} - #{govuk-spacing(6)});
max-width: calc(
#{govuk-grid-width("three-quarters")} - #{govuk-spacing(6)}
);
width: 100%;
}
}

14
app/views/case_logs/_log_filters.erb

@ -1,10 +1,14 @@
<div class="govuk-grid-column-one-quarter">
<div class="app-filter-layout">
<div class="app-filter-layout__filter">
<div class="app-filter-layout__filter" tabindex="-1" id="filter-panel">
<div class="app-filter" >
<div class="app-filter__header">
<h2 class="govuk-heading-m">Filters</h2>
<button class="app-filter__close" type="button">Close</button>
<button
class="app-filter__close"
type="button"
data-controller="filter"
data-action="click->filter#toggleFilter">
Close
</button>
</div>
<div class="app-filter__content">
<div class="govuk-form-group app-filter__group">
@ -26,5 +30,3 @@
</div>
</div>
</div>
</div>
</div>

16
app/views/case_logs/index.html.erb

@ -3,17 +3,25 @@
<h1 class="govuk-heading-l">
<%= content_for(:title) %>
</h1>
<div class="app-filter-layout" data-module="filter-layout" data-module-started="true">
<div class="govuk-button-group">
<%= govuk_button_link_to 'Hide filters', "", secondary: true %>
<button
aria-expanded="true"
aria-has-popup="true"
class="govuk-button govuk-button--secondary app-filter-toggle__button"
type="button"
id="toggle-filter-button"
data-controller="filter"
data-action="click->filter#toggleFilter"
>Show filters
</button>
<%= govuk_button_to "Create a new lettings log", case_logs_path %>
<%#= govuk_link_to "Upload logs", bulk_upload_case_logs_path %>
</div>
<div class="govuk-grid-row">
<%= render partial: "log_filters"%>
<% if @case_logs.present? %>
<div class="govuk-grid-column-three-quarters">
<div class="app-filter-layout__content">
<%= render partial: "log_list", locals: { case_logs: @case_logs, title: "Logs", pagy: @pagy } %>
<%== render partial: 'pagy/nav', locals: { pagy: @pagy, item_name: "logs" } %>
</div>

Loading…
Cancel
Save