diff --git a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue index 8467ea12be1..0bdb45d35c9 100644 --- a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue +++ b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue @@ -101,9 +101,7 @@ export default { return !loading && !availableProjects.length; }, selectedItems() { - return sortByProjectName( - this.availableProjects.filter(({ id }) => this.selectedProjectIds.includes(id)), - ); + return sortByProjectName(this.selectedProjects); }, unselectedItems() { return this.availableProjects.filter(({ id }) => !this.selectedProjectIds.includes(id)); diff --git a/app/assets/javascripts/cycle_analytics/components/base.vue b/app/assets/javascripts/cycle_analytics/components/base.vue index ae78ce33263..1d98a42ce58 100644 --- a/app/assets/javascripts/cycle_analytics/components/base.vue +++ b/app/assets/javascripts/cycle_analytics/components/base.vue @@ -51,6 +51,7 @@ export default { 'features', 'createdBefore', 'createdAfter', + 'pagination', ]), ...mapGetters(['pathNavigationData', 'filterParams']), displayStageEvents() { @@ -99,7 +100,12 @@ export default { }, }, methods: { - ...mapActions(['fetchStageData', 'setSelectedStage', 'setDateRange']), + ...mapActions([ + 'fetchStageData', + 'setSelectedStage', + 'setDateRange', + 'updateStageTablePagination', + ]), onSetDateRange({ startDate, endDate }) { this.setDateRange({ createdAfter: new Date(startDate), @@ -108,6 +114,7 @@ export default { }, onSelectStage(stage) { this.setSelectedStage(stage); + this.updateStageTablePagination({ ...this.pagination, page: 1 }); }, dismissOverviewDialog() { this.isOverviewDialogDismissed = true; @@ -117,6 +124,9 @@ export default { const { permissions } = this; return Boolean(permissions?.[id]); }, + onHandleUpdatePagination(data) { + this.updateStageTablePagination(data); + }, }, dayRangeOptions: [7, 30, 90], i18n: { @@ -163,8 +173,8 @@ export default { :empty-state-title="emptyStageTitle" :empty-state-message="emptyStageText" :no-data-svg-path="noDataSvgPath" - :pagination="null" - :sortable="false" + :pagination="pagination" + @handleUpdatePagination="onHandleUpdatePagination" /> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_table.vue b/app/assets/javascripts/cycle_analytics/components/stage_table.vue index 8a2667a4ab1..fc4dfafb809 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_table.vue +++ b/app/assets/javascripts/cycle_analytics/components/stage_table.vue @@ -194,6 +194,9 @@ export default { > + diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/status_icon.vue b/app/assets/javascripts/vue_merge_request_widget/components/extensions/status_icon.vue index 5e3f7a847c1..12e3c483f98 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/extensions/status_icon.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/extensions/status_icon.vue @@ -45,8 +45,9 @@ export default { :class="[ $options.EXTENSION_ICON_CLASS[iconName], { 'mr-widget-extension-icon': !isLoading && size === 16 }, + { 'gl-p-2': isLoading || size === 16 }, ]" - class="align-self-center gl-rounded-full gl-mr-3 gl-relative gl-p-2" + class="align-self-center gl-rounded-full gl-mr-3 gl-relative" > - import('ee_component/vue_merge_request_widget/components/merge_train_helper_text.vue'), + MergeTrainHelperIcon: () => + import('ee_component/vue_merge_request_widget/components/merge_train_helper_icon.vue'), MergeImmediatelyConfirmationDialog: () => import( 'ee_component/vue_merge_request_widget/components/merge_immediately_confirmation_dialog.vue' @@ -238,7 +238,7 @@ export default { return CONFIRM; }, iconClass() { - if (this.shouldRenderMergeTrainHelperText && !this.mr.preventMerge) { + if (this.shouldRenderMergeTrainHelperIcon && !this.mr.preventMerge) { return PIPELINE_RUNNING_STATE; } @@ -504,7 +504,7 @@ export default {