Commit e2d48b16 authored by Brandon Labuschagne's avatar Brandon Labuschagne Committed by Kushal Pandya

Remove CA refactor cookie flag

This MR removes the feature flag that was used to refactor
the code code into a vue application.
parent c73dc99d
...@@ -131,7 +131,7 @@ export default { ...@@ -131,7 +131,7 @@ export default {
> >
<label class="text-bold mb-0 mr-1">{{ __('Timeframe') }}</label> <label class="text-bold mb-0 mr-1">{{ __('Timeframe') }}</label>
<date-range-dropdown <date-range-dropdown
class="js-timeframe-dropdown" class="js-timeframe-filter"
:available-days-in-past="dateOptions" :available-days-in-past="dateOptions"
:default-selected="dataTimeframe" :default-selected="dataTimeframe"
@selected="onTimeframeSelect" @selected="onTimeframeSelect"
......
import initCycleAnalytics from '~/cycle_analytics/cycle_analytics_bundle';
import initCycleAnalyticsApp from 'ee/analytics/cycle_analytics/index'; import initCycleAnalyticsApp from 'ee/analytics/cycle_analytics/index';
import { parseBoolean } from '~/lib/utils/common_utils';
import Cookies from 'js-cookie';
if (parseBoolean(Cookies.get('cycle_analytics_app'))) { document.addEventListener('DOMContentLoaded', initCycleAnalyticsApp);
document.addEventListener('DOMContentLoaded', initCycleAnalyticsApp);
} else {
document.addEventListener('DOMContentLoaded', initCycleAnalytics);
}
- page_title _("Cycle Analytics") - page_title _("Cycle Analytics")
- customizable_cycle_analytics = Feature.enabled?(:customizable_cycle_analytics)
- if cookies[:cycle_analytics_app] == 'true' #js-cycle-analytics-app{ data: { "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") } }
#js-cycle-analytics-app{ data: { "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") } }
- else
.page-title-holder.d-flex.align-items-center
%h1.page-title
= page_title
#cycle-analytics.m-0.mw-100
.mt-3.py-2.px-3.d-flex.bg-gray-light.border-top.border-bottom.flex-column.flex-md-row.justify-content-between
%groups-dropdown-filter.dropdown-select{ "@selected" => "setSelectedGroup" }
%projects-dropdown-filter.ml-md-1.mt-1.mt-md-0.dropdown-select{ "v-if" => "selectedGroup",
":group-id" => "selectedGroup.id",
":key" => "selectedGroup.id",
"@selected" => "setSelectedProjects",
":multi-select" => 'multiProjectSelect' } }
.ml-0.ml-md-auto.mt-2.mt-md-0.d-flex.flex-column.flex-md-row.align-items-md-center.justify-content-md-end{ "v-if" => "selectedGroup" }
%label.text-bold.mb-0.mr-1
{{ __('Timeframe') }}
%date-range-dropdown.js-timeframe-filter{ "@selected" => "setSelectedDate",
":available-days-in-past" => "dateOptions",
":default-selected" => "startDate" }
%gl-empty-state{ "v-show" => "!selectedGroup",
"title" => _("Cycle Analytics can help you determine your team’s velocity"),
"svg-path" => image_path("illustrations/analytics/cycle-analytics-empty-chart.svg"),
"description" => _("Start by choosing a group to see how your team is spending time. You can then drill down to the project level.") }
.js-cycle-analytics{ "v-show" => "selectedGroup" }
.wrapper.mt-3
.card
.card-header.font-weight-bold
{{ __('Recent Activity') }}
.content-block
.container-fluid
.row
.col-sm-2
.col-sm-4.col-12.column{ "v-for" => "item in state.summary" }
%h3.header {{ item.value }}
%p.text {{ item.title }}
.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') }}
%i.has-tooltip.fa.fa-question-circle{ "data-placement" => "top", title: _("The phase of the development lifecycle."), "aria-hidden" => "true" }
%li.median-header
%span.stage-name.font-weight-bold
{{ __('Median') }}
%i.has-tooltip.fa.fa-question-circle{ "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" }
%li.event-header.pl-3
%span.stage-name.font-weight-bold
{{ currentStage ? __(currentStage.legend) : __('Related Issues') }}
%i.has-tooltip.fa.fa-question-circle{ "data-placement" => "top", title: _("The collection of events added to the data gathered for that stage."), "aria-hidden" => "true" }
%li.total-time-header.pr-5.text-right
%span.stage-name.font-weight-bold
{{ __('Total Time') }}
%i.has-tooltip.fa.fa-question-circle{ "data-placement" => "top", title: _("The time taken by each data entry gathered by that stage."), "aria-hidden" => "true" }
.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" }
- if customizable_cycle_analytics
%add-stage-button{ '@showform' => 'showAddStageForm', ":active" => 'isCustomStageForm' }
.section.stage-events
%template{ "v-if" => "isLoadingStage" }
= icon("spinner spin")
%template{ "v-if" => "currentStage && !currentStage.isUserAllowed" }
= render partial: "projects/cycle_analytics/no_access"
%template{ "v-else" => true }
%template{ "v-if" => "isEmptyStage && !isLoadingStage && !isCustomStageForm" }
= render partial: "projects/cycle_analytics/empty_stage"
%template{ "v-if" => "state.events.length && !isLoadingStage && !isEmptyStage && !isCustomStageForm" }
%component{ ":is" => "currentStage.component", ":stage" => "currentStage", ":items" => "state.events" }
- if customizable_cycle_analytics
%custom-stage-form-container{ "v-if" => "isCustomStageForm && selectedGroup && selectedGroup.full_path", ":namespace" => "selectedGroup.full_path" }
...@@ -49,11 +49,6 @@ describe 'Group Cycle Analytics', :js do ...@@ -49,11 +49,6 @@ describe 'Group Cycle Analytics', :js do
it 'shows the date filter' do it 'shows the date filter' do
expect(page).to have_selector('.js-timeframe-filter', visible: true) expect(page).to have_selector('.js-timeframe-filter', visible: true)
end end
it 'smoke test' do
expect(page).not_to have_selector('.cycle-analytics', visible: true)
expect(page).to have_selector('#cycle-analytics', visible: true)
end
end end
# TODO: Followup should have tests for stub_licensed_features(cycle_analytics_for_groups: false) # TODO: Followup should have tests for stub_licensed_features(cycle_analytics_for_groups: false)
...@@ -72,18 +67,6 @@ describe 'Group Cycle Analytics', :js do ...@@ -72,18 +67,6 @@ describe 'Group Cycle Analytics', :js do
dropdown.click dropdown.click
end end
context 'with cycle_analytics_app cookie set', :js do
before do
set_cookie('cycle_analytics_app', 'true')
group.add_owner(user)
project.add_maintainer(user)
sign_in(user)
visit analytics_cycle_analytics_path
end
it 'displays empty text' do it 'displays empty text' do
[ [
'Cycle Analytics can help you determine your team’s velocity', 'Cycle Analytics can help you determine your team’s velocity',
...@@ -98,11 +81,6 @@ describe 'Group Cycle Analytics', :js do ...@@ -98,11 +81,6 @@ describe 'Group Cycle Analytics', :js do
select_group select_group
end end
it 'smoke test' do
expect(page).to have_selector('.cycle-analytics', visible: true)
expect(page).not_to have_selector('#cycle-analytics', visible: true)
end
context 'summary table', :js do context 'summary table', :js do
it 'will display recent activity' do it 'will display recent activity' do
page.within(find('.js-summary-table')) do page.within(find('.js-summary-table')) do
...@@ -126,8 +104,6 @@ describe 'Group Cycle Analytics', :js do ...@@ -126,8 +104,6 @@ describe 'Group Cycle Analytics', :js do
end end
end end
# These should probably move to more unit / integration type tests
# should have a group set and some data
context 'stage panel' do context 'stage panel' do
it 'displays the stage table headers' do it 'displays the stage table headers' do
expect(page).to have_selector('.stage-header', visible: true) expect(page).to have_selector('.stage-header', visible: true)
...@@ -230,7 +206,6 @@ describe 'Group Cycle Analytics', :js do ...@@ -230,7 +206,6 @@ describe 'Group Cycle Analytics', :js do
end end
end end
end end
end
describe 'Customizable cycle analytics', :js do describe 'Customizable cycle analytics', :js do
let(:button_class) { '.js-add-stage-button' } let(:button_class) { '.js-add-stage-button' }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment