diff options
Diffstat (limited to 'app/views/projects/cycle_analytics/show.html.haml')
-rw-r--r-- | app/views/projects/cycle_analytics/show.html.haml | 66 |
1 files changed, 3 insertions, 63 deletions
diff --git a/app/views/projects/cycle_analytics/show.html.haml b/app/views/projects/cycle_analytics/show.html.haml index fc3710d3609..71730da0595 100644 --- a/app/views/projects/cycle_analytics/show.html.haml +++ b/app/views/projects/cycle_analytics/show.html.haml @@ -1,66 +1,6 @@ - page_title _("Value Stream Analytics") - add_page_specific_style 'page_bundles/cycle_analytics' +- svgs = { empty_state_svg_path: image_path("illustrations/analytics/cycle-analytics-empty-chart.svg"), no_data_svg_path: image_path("illustrations/analytics/cycle-analytics-empty-chart.svg"), no_access_svg_path: image_path("illustrations/analytics/no-access.svg") } +- initial_data = { request_path: project_cycle_analytics_path(@project) }.merge!(svgs) -#cycle-analytics{ "v-cloak" => "true", data: { request_path: project_cycle_analytics_path(@project) } } - %gl-loading-icon{ "v-show" => "isLoading", "size" => "lg" } - .wrapper{ "v-show" => "!isLoading && !hasError" } - .card - .card-header - {{ __('Recent Project Activity') }} - .d-flex.justify-content-between - .flex-grow.text-center{ "v-for" => "item in state.summary" } - %h3.header {{ item.value }} - %p.text {{ item.title }} - .flex-grow.align-self-center.text-center - .dropdown.inline.js-ca-dropdown - %button.dropdown-menu-toggle{ "data-toggle" => "dropdown", :type => "button" } - %span.dropdown-label {{ n__('Last %d day', 'Last %d days', 30) }} - = sprite_icon("chevron-down", css_class: "dropdown-menu-toggle-icon gl-top-3") - %ul.dropdown-menu.dropdown-menu-right - %li - %a{ "href" => "#", "data-value" => "7" } - {{ n__('Last %d day', 'Last %d days', 7) }} - %li - %a{ "href" => "#", "data-value" => "30" } - {{ n__('Last %d day', 'Last %d days', 30) }} - %li - %a{ "href" => "#", "data-value" => "90" } - {{ n__('Last %d day', 'Last %d days', 90) }} - .stage-panel-container - .card.stage-panel - .card-header.border-bottom-0 - %nav.col-headers - %ul - %li.stage-header.pl-5 - %span.stage-name.font-weight-bold - {{ s__('ProjectLifecycle|Stage') }} - %span.has-tooltip{ "data-placement" => "top", title: _("The phase of the development lifecycle."), "aria-hidden" => "true" } - = sprite_icon('question-o', css_class: 'gl-text-gray-500') - %li.median-header - %span.stage-name.font-weight-bold - {{ __('Median') }} - %span.has-tooltip{ "data-placement" => "top", title: _("The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6."), "aria-hidden" => "true" } - = sprite_icon('question-o', css_class: 'gl-text-gray-500') - %li.event-header.pl-3 - %span.stage-name.font-weight-bold{ "v-if" => "currentStage && currentStage.legend" } - {{ currentStage ? __(currentStage.legend) : __('Related Issues') }} - %span.has-tooltip{ "data-placement" => "top", title: _("The collection of events added to the data gathered for that stage."), "aria-hidden" => "true" } - = sprite_icon('question-o', css_class: 'gl-text-gray-500') - %li.total-time-header.pr-5.text-right - %span.stage-name.font-weight-bold - {{ __('Time') }} - %span.has-tooltip{ "data-placement" => "top", title: _("The time taken by each data entry gathered by that stage."), "aria-hidden" => "true" } - = sprite_icon('question-o', css_class: 'gl-text-gray-500') - .stage-panel-body - %nav.stage-nav - %ul - %stage-nav-item{ "v-for" => "stage in state.stages", ":key" => '`ca-stage-title-${stage.title}`', '@select' => 'selectStage(stage)', ":title" => "stage.title", ":is-user-allowed" => "stage.isUserAllowed", ":value" => "stage.value", ":is-active" => "stage.active" } - .section.stage-events.overflow-auto - %gl-loading-icon{ "v-show" => "isLoadingStage", "size" => "lg" } - %template{ "v-if" => "currentStage && !currentStage.isUserAllowed" } - = render partial: "no_access" - %template{ "v-else" => true } - %template{ "v-if" => "isEmptyStage && !isLoadingStage" } - = render partial: "empty_stage" - %template{ "v-if" => "state.events.length && !isLoadingStage && !isEmptyStage" } - %component{ ":is" => "currentStage.component", ":stage" => "currentStage", ":items" => "state.events" } +#js-cycle-analytics{ data: initial_data } |