diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index a6ef809c1..ff04bfa48 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -4,6 +4,7 @@ $govuk-page-width: 1140px; @import 'govuk_publishing_components/govuk_frontend_support'; @import 'govuk_publishing_components/component_support'; @import 'govuk_publishing_components/components/button'; +@import 'govuk_publishing_components/components/checkboxes'; @import 'govuk_publishing_components/components/date-input'; @import 'govuk_publishing_components/components/document-list'; @import 'govuk_publishing_components/components/error-alert'; @@ -22,6 +23,7 @@ $govuk-page-width: 1140px; @import 'govuk_publishing_components/components/notice'; @import 'govuk_publishing_components/components/previous-and-next-navigation'; @import 'govuk_publishing_components/components/search'; +@import 'govuk_publishing_components/components/select'; @import 'govuk_publishing_components/components/skip-link'; @import 'govuk_publishing_components/components/success-alert'; @import 'govuk_publishing_components/components/summary-list'; @@ -29,6 +31,6 @@ $govuk-page-width: 1140px; @import 'govuk_publishing_components/components/textarea'; @import 'govuk_publishing_components/components/title'; @import "downtimes"; +@import "publications"; @import "summary-card"; @import "popular_links"; -@import "publications-table"; diff --git a/app/assets/stylesheets/publications-table.scss b/app/assets/stylesheets/publications.scss similarity index 91% rename from app/assets/stylesheets/publications-table.scss rename to app/assets/stylesheets/publications.scss index 2685bf66a..7fb7e605f 100644 --- a/app/assets/stylesheets/publications-table.scss +++ b/app/assets/stylesheets/publications.scss @@ -1,5 +1,17 @@ +$width: 40; + .publications-table { - position: relative; + th:first-child { + width: calc($width * 1%); + } + + details { + width: calc(100 / $width * 100%); + } + + table { + table-layout: fixed; + } &--expand-link { float: right; @@ -46,14 +58,6 @@ .govuk-table { border-top: 2px solid $govuk-text-colour; - - .govuk-table__header { - white-space: nowrap; - } - - .govuk-table__cell__updated { - white-space: nowrap; - } } .govuk-details { diff --git a/app/helpers/editions_helper.rb b/app/helpers/editions_helper.rb index 314561349..0fe663a63 100644 --- a/app/helpers/editions_helper.rb +++ b/app/helpers/editions_helper.rb @@ -32,13 +32,4 @@ def legacy_format_filter_selection_options [displayed_format_name, format_name] end end - - def format_filter_selection_options - [%w[All all]] + - Artefact::FORMATS_BY_DEFAULT_OWNING_APP["publisher"].map do |format_name| - displayed_format_name = format_name.humanize - displayed_format_name += " (Retired)" if Artefact::RETIRED_FORMATS.include?(format_name) - [displayed_format_name, format_name] - end - end end diff --git a/app/presenters/filtered_editions_presenter.rb b/app/presenters/filtered_editions_presenter.rb index b0dc99245..fa50fdfaa 100644 --- a/app/presenters/filtered_editions_presenter.rb +++ b/app/presenters/filtered_editions_presenter.rb @@ -11,8 +11,50 @@ def initialize(states_filter: [], assigned_to_filter: nil, format_filter: nil, t @page = page end - def available_users - User.enabled.alphabetized + def title + @title_filter + end + + def content_types + types = [] + + content_type_filter_selection_options.map do | format | + if format[1] == @format_filter + types << {text: format[0], value: format[1], selected: "true"} + else + types << {text: format[0], value: format[1]} + end + end + + types + end + + def edition_states + states = [] + + state_names.map do |scope, status_label| + if @states_filter.include? scope.to_s + states << {label: status_label, value: scope, checked: "true"} + else + states << {label: status_label, value: scope} + end + end + + states + end + + def assignees + users = [{text: "All assignees", value: ""}] + + User.enabled.alphabetized.map do | user | + if user.id.to_s == @assigned_to_filter + users << {text: user.name, value: user.id, selected: "true"} + else + users << {text: user.name, value: user.id} + end + end + + users end def editions @@ -26,6 +68,29 @@ def editions private + def state_names + { + drafts: "Drafts", + in_review: "In review", + amends_needed: "Amends needed", + out_for_fact_check: "Out for fact check", + fact_check_received: "Fact check received", + ready: "Ready", + scheduled_for_publishing: "Scheduled", + published: "Published", + archived: "Archived", + } + end + + def content_type_filter_selection_options + [%w[All all]] + + Artefact::FORMATS_BY_DEFAULT_OWNING_APP["publisher"].map do |format_name| + displayed_format_name = format_name.humanize + displayed_format_name += " (Retired)" if Artefact::RETIRED_FORMATS.include?(format_name) + [displayed_format_name, format_name] + end + end + def editions_by_format return Edition.all unless format_filter && format_filter != "all" diff --git a/app/views/root/_filter.html.erb b/app/views/root/_filter.html.erb new file mode 100644 index 000000000..4d005078b --- /dev/null +++ b/app/views/root/_filter.html.erb @@ -0,0 +1,48 @@ +
+ <%= link_to "Reset all fields", root_path, class: "govuk-link" %> +
+ <% end %> +