From 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 19 May 2021 15:44:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-12-stable-ee --- app/assets/javascripts/actioncable_link.js | 40 ++ .../admin/users/components/actions/delete.vue | 12 +- .../actions/delete_with_contributions.vue | 12 +- .../actions/shared/shared_delete_action.vue | 5 + .../admin/users/components/actions/unblock.vue | 4 +- .../admin/users/components/usage_ping_disabled.vue | 48 -- .../admin/users/components/user_actions.vue | 5 +- .../admin/users/components/users_table.vue | 66 ++- .../queries/get_users_group_counts.query.graphql | 8 + app/assets/javascripts/admin/users/index.js | 30 +- app/assets/javascripts/admin/users/tabs.js | 32 -- .../components/alert_management_table.vue | 4 + app/assets/javascripts/alert_management/list.js | 2 + .../components/alert_mapping_builder.vue | 25 +- .../components/alerts_integrations_list.vue | 2 +- .../components/alerts_settings_wrapper.vue | 84 ++- ...current_prometheus_integration.mutation.graphql | 2 - .../queries/get_http_integration.query.graphql | 11 + .../queries/get_http_integrations.query.graphql | 12 - .../alerts_settings/utils/cache_updates.js | 33 -- .../utils/mapping_transformations.js | 22 + .../devops_report/components/devops_score.vue | 110 ++++ .../analytics/devops_report/devops_score.js | 22 + .../devops_score_disabled_usage_ping.js | 27 + .../devops_report/devops_score_empty_state.js | 27 - .../two_factor_auth/components/recovery_codes.vue | 11 +- app/assets/javascripts/awards_handler.js | 1 - .../javascripts/badges/components/badge_list.vue | 5 +- .../batch_comments/components/drafts_count.vue | 2 +- .../batch_comments/components/preview_dropdown.vue | 16 +- .../batch_comments/components/publish_button.vue | 2 +- app/assets/javascripts/behaviors/date_picker.js | 33 ++ .../javascripts/behaviors/markdown/render_math.js | 6 + .../behaviors/markdown/render_mermaid.js | 19 +- .../javascripts/behaviors/shortcuts/keybindings.js | 2 +- .../javascripts/behaviors/shortcuts/shortcut.vue | 80 +++ .../behaviors/shortcuts/shortcuts_help.vue | 574 +++---------------- .../behaviors/shortcuts/shortcuts_toggle.vue | 6 +- .../javascripts/blob/components/blob_content.vue | 1 + .../javascripts/blob/file_template_mediator.js | 2 - .../template_selectors/ci_syntax_yaml_selector.js | 29 - app/assets/javascripts/blob/viewer/index.js | 18 + app/assets/javascripts/blob_edit/blob_bundle.js | 9 + app/assets/javascripts/boards/boards_util.js | 31 +- .../javascripts/boards/components/board_card.vue | 5 +- .../boards/components/board_card_inner.vue | 1 + .../boards/components/board_content.vue | 11 +- .../boards/components/board_content_sidebar.vue | 44 +- .../boards/components/board_filtered_search.vue | 154 +++++ .../boards/components/board_list_header.vue | 2 +- .../boards/components/board_settings_sidebar.vue | 8 +- .../sidebar/board_sidebar_labels_select.vue | 46 +- app/assets/javascripts/boards/constants.js | 42 +- .../javascripts/boards/filtered_search_boards.js | 4 + .../boards/graphql/group_projects.query.graphql | 2 +- .../boards/graphql/issue.fragment.graphql | 1 - app/assets/javascripts/boards/index.js | 24 +- app/assets/javascripts/boards/stores/actions.js | 113 ++-- app/assets/javascripts/boards/stores/getters.js | 2 +- .../javascripts/boards/stores/mutation_types.js | 10 - app/assets/javascripts/boards/stores/mutations.js | 48 +- .../components/ci_variable_table.vue | 23 +- .../code_quality_walkthrough/components/step.vue | 150 +++++ .../code_quality_walkthrough/constants.js | 67 +++ .../javascripts/code_quality_walkthrough/index.js | 14 + .../javascripts/code_quality_walkthrough/utils.js | 38 ++ .../commit/pipelines/pipelines_bundle.js | 4 + app/assets/javascripts/compare_autocomplete.js | 82 --- .../content_editor/components/content_editor.vue | 22 +- .../content_editor/components/divider.vue | 3 + .../content_editor/components/toolbar_button.vue | 65 +++ .../content_editor/components/top_toolbar.vue | 94 ++++ app/assets/javascripts/content_editor/constants.js | 5 + .../content_editor/extensions/blockquote.js | 5 + .../javascripts/content_editor/extensions/bold.js | 5 + .../content_editor/extensions/bullet_list.js | 5 + .../javascripts/content_editor/extensions/code.js | 5 + .../extensions/code_block_highlight.js | 53 +- .../content_editor/extensions/document.js | 3 + .../content_editor/extensions/dropcursor.js | 3 + .../content_editor/extensions/gapcursor.js | 3 + .../content_editor/extensions/hard_break.js | 5 + .../content_editor/extensions/heading.js | 5 + .../content_editor/extensions/history.js | 3 + .../content_editor/extensions/horizontal_rule.js | 5 + .../javascripts/content_editor/extensions/image.js | 9 + .../content_editor/extensions/italic.js | 4 + .../javascripts/content_editor/extensions/link.js | 5 + .../content_editor/extensions/list_item.js | 5 + .../content_editor/extensions/ordered_list.js | 5 + .../content_editor/extensions/paragraph.js | 5 + .../javascripts/content_editor/extensions/text.js | 5 + app/assets/javascripts/content_editor/index.js | 2 +- .../services/build_serializer_config.js | 22 + .../content_editor/services/content_editor.js | 25 + .../services/create_content_editor.js | 76 +++ .../content_editor/services/create_editor.js | 60 -- .../content_editor/services/markdown_serializer.js | 101 ++-- .../services/track_input_rules_and_shortcuts.js | 61 ++ .../javascripts/create_merge_request_dropdown.js | 2 +- .../cycle_analytics/components/base.vue | 134 ++--- .../javascripts/cycle_analytics/constants.js | 1 + .../cycle_analytics/cycle_analytics_service.js | 35 -- .../cycle_analytics/cycle_analytics_store.js | 112 ---- app/assets/javascripts/cycle_analytics/index.js | 18 +- .../javascripts/cycle_analytics/store/actions.js | 51 ++ .../javascripts/cycle_analytics/store/index.js | 21 + .../cycle_analytics/store/mutation_types.js | 12 + .../javascripts/cycle_analytics/store/mutations.js | 52 ++ .../javascripts/cycle_analytics/store/state.js | 17 + app/assets/javascripts/cycle_analytics/utils.js | 63 +++ .../javascripts/deploy_freeze/store/mutations.js | 2 +- .../deploy_keys/components/action_btn.vue | 29 +- .../javascripts/deploy_keys/components/app.vue | 43 +- .../deploy_keys/components/confirm_modal.vue | 46 ++ .../javascripts/deploy_keys/components/key.vue | 52 +- .../components/design_notes/design_reply_form.vue | 16 +- .../javascripts/design_management/pages/index.vue | 2 +- app/assets/javascripts/diffs/components/app.vue | 96 +++- .../javascripts/diffs/components/commit_item.vue | 4 +- .../diffs/components/compare_dropdown_layout.vue | 65 ++- .../diffs/components/compare_versions.vue | 2 +- .../javascripts/diffs/components/diff_content.vue | 4 +- .../javascripts/diffs/components/diff_file.vue | 27 +- .../diffs/components/diff_file_header.vue | 13 +- .../diffs/components/diff_line_note_form.vue | 4 +- .../javascripts/diffs/components/diff_row.vue | 51 +- .../diffs/components/inline_diff_table_row.vue | 1 - .../diffs/components/parallel_diff_table_row.vue | 4 +- app/assets/javascripts/diffs/constants.js | 17 + app/assets/javascripts/diffs/store/actions.js | 53 ++ app/assets/javascripts/diffs/store/getters.js | 3 + .../diffs/store/getters_versions_dropdowns.js | 20 +- app/assets/javascripts/diffs/utils/diff_file.js | 2 +- app/assets/javascripts/diffs/utils/uuids.js | 76 --- app/assets/javascripts/due_date_select.js | 33 +- app/assets/javascripts/editor/editor_lite.js | 2 +- .../extensions/editor_lite_extension_base.js | 8 + app/assets/javascripts/emoji/components/picker.vue | 1 + app/assets/javascripts/ensure_data.js | 4 +- .../environments/components/environments_table.vue | 40 +- .../environments/stores/environments_store.js | 2 + .../javascripts/environments/stores/helpers.js | 2 +- .../error_tracking_settings/components/app.vue | 32 +- .../components/error_tracking_form.vue | 2 +- .../experimentation/components/experiment.vue | 15 - .../components/gitlab_experiment.vue | 15 + app/assets/javascripts/experimentation/utils.js | 11 +- .../feature_flags/components/feature_flags.vue | 5 +- app/assets/javascripts/feature_flags/index.js | 4 +- .../filtered_search/dropdown_operator.js | 2 +- app/assets/javascripts/flash.js | 12 +- .../javascripts/frequent_items/components/app.vue | 29 +- .../components/frequent_items_list.vue | 6 +- .../components/frequent_items_list_item.vue | 5 +- .../components/frequent_items_search_input.vue | 7 +- app/assets/javascripts/frequent_items/constants.js | 14 + app/assets/javascripts/frequent_items/index.js | 46 +- .../javascripts/frequent_items/store/index.js | 29 +- app/assets/javascripts/gfm_auto_complete.js | 19 +- .../fragments/alert.fragment.graphql | 1 + .../fragments/issuable_timelogs.fragment.graphql | 10 + .../dismiss_user_callout.mutation.graphql | 9 + .../groups/components/invite_members_banner.vue | 26 +- app/assets/javascripts/header.js | 4 - app/assets/javascripts/help/help.js | 11 - .../javascripts/ide/components/branches/item.vue | 2 +- .../ide/components/commit_sidebar/actions.vue | 3 +- .../ide/components/commit_sidebar/radio_group.vue | 1 + .../javascripts/ide/components/file_alert.vue | 26 + .../javascripts/ide/components/repo_editor.vue | 37 +- app/assets/javascripts/ide/index.js | 5 +- .../javascripts/ide/lib/alerts/environments.vue | 32 ++ app/assets/javascripts/ide/lib/alerts/index.js | 20 + app/assets/javascripts/ide/messages.js | 6 +- app/assets/javascripts/ide/services/gql.js | 1 + app/assets/javascripts/ide/services/index.js | 16 +- app/assets/javascripts/ide/stores/actions.js | 3 +- app/assets/javascripts/ide/stores/actions/alert.js | 18 + app/assets/javascripts/ide/stores/getters.js | 2 + app/assets/javascripts/ide/stores/getters/alert.js | 3 + .../javascripts/ide/stores/mutation_types.js | 5 + app/assets/javascripts/ide/stores/mutations.js | 2 + .../javascripts/ide/stores/mutations/alert.js | 21 + app/assets/javascripts/ide/stores/state.js | 2 + .../import_groups/components/import_table.vue | 80 ++- .../import_groups/components/import_table_row.vue | 54 +- .../import_groups/graphql/client_factory.js | 244 ++++++-- .../bulk_import_source_group_item.fragment.graphql | 15 +- ...k_import_source_group_progress.fragment.graphql | 4 + .../add_validation_error.mutation.graphql | 9 + .../mutations/import_group.mutation.graphql | 3 - .../mutations/import_groups.mutation.graphql | 9 + .../remove_validation_error.mutation.graphql | 9 + .../mutations/set_import_progress.mutation.graphql | 9 + .../mutations/set_new_name.mutation.graphql | 7 +- .../set_target_namespace.mutation.graphql | 7 +- .../update_import_status.mutation.graphql | 6 + .../queries/bulk_import_source_group.query.graphql | 7 + .../graphql/services/source_groups_manager.js | 111 ++-- .../graphql/services/status_poller.js | 14 +- .../import_groups/graphql/typedefs.graphql | 65 +++ .../incidents/components/incidents_list.vue | 34 +- .../javascripts/incidents_settings/constants.js | 4 +- app/assets/javascripts/init_issuable_sidebar.js | 2 - .../edit/components/active_checkbox.vue | 1 - .../edit/components/jira_issues_fields.vue | 4 +- .../edit/components/jira_trigger_fields.vue | 6 +- .../components/invite_member_modal.vue | 67 --- .../components/invite_member_trigger.vue | 43 -- app/assets/javascripts/invite_member/constants.js | 2 - app/assets/javascripts/invite_member/event_hub.js | 3 - .../invite_member/init_invite_member_modal.js | 27 - .../invite_member/init_invite_member_trigger.js | 18 - .../issuable/components/csv_export_modal.vue | 6 +- .../javascripts/issuable/components/status_box.vue | 103 ++++ app/assets/javascripts/issuable_form.js | 16 +- .../issuable_list/components/issuable_item.vue | 17 +- .../components/issuable_list_root.vue | 77 +-- .../issuable_list/components/issuable_tabs.vue | 5 +- .../javascripts/issue_show/components/app.vue | 1 + .../components/fields/description_template.vue | 1 + .../javascripts/issue_show/components/form.vue | 64 ++- .../issues_list/components/issues_list_app.vue | 622 ++++++++++++++------- app/assets/javascripts/issues_list/constants.js | 366 +++++++++--- app/assets/javascripts/issues_list/index.js | 42 +- app/assets/javascripts/issues_list/utils.js | 195 +++++++ .../jira_connect/components/groups_list.vue | 32 +- app/assets/javascripts/jira_connect/constants.js | 3 +- app/assets/javascripts/jobs/components/job_app.vue | 26 +- .../jobs/components/job_container_item.vue | 27 +- .../jobs/components/job_log_controllers.vue | 7 +- .../jobs/components/table/cells/actions_cell.vue | 14 + .../jobs/components/table/cells/duration_cell.vue | 49 ++ .../jobs/components/table/cells/job_cell.vue | 163 ++++++ .../jobs/components/table/cells/pipeline_cell.vue | 50 ++ .../table/graphql/queries/get_jobs.query.graphql | 17 + .../javascripts/jobs/components/table/index.js | 10 +- .../jobs/components/table/jobs_table.vue | 85 ++- .../jobs/components/table/jobs_table_app.vue | 14 +- .../components/table/jobs_table_empty_state.vue | 35 ++ .../jobs/components/table/jobs_table_tabs.vue | 2 +- app/assets/javascripts/jobs/constants.js | 2 + app/assets/javascripts/jobs/index.js | 2 + .../javascripts/learn_gitlab/track_learn_gitlab.js | 10 + app/assets/javascripts/lib/graphql.js | 47 +- app/assets/javascripts/lib/utils/common_utils.js | 3 - .../javascripts/lib/utils/datetime_utility.js | 2 + app/assets/javascripts/lib/utils/keys.js | 1 + app/assets/javascripts/lib/utils/number_utils.js | 10 + app/assets/javascripts/lib/utils/recurrence.js | 154 +++++ app/assets/javascripts/lib/utils/text_markdown.js | 2 +- app/assets/javascripts/lib/utils/uuids.js | 76 +++ .../javascripts/lib/utils/vuex_module_mappers.js | 91 +++ .../logs/components/log_advanced_filters.vue | 5 +- app/assets/javascripts/logs/stores/actions.js | 2 +- app/assets/javascripts/main.js | 2 + .../filter_sort/members_filtered_search_bar.vue | 16 +- .../members/components/members_tabs.vue | 124 ++++ .../members/components/table/members_table.vue | 32 +- app/assets/javascripts/members/index.js | 2 +- app/assets/javascripts/members/store/state.js | 2 + app/assets/javascripts/members/utils.js | 18 +- .../components/diff_file_editor.vue | 34 +- .../components/inline_conflict_lines.vue | 2 +- .../components/parallel_conflict_lines.vue | 2 +- .../merge_conflict_resolver_app.vue | 111 ++-- .../merge_request/components/status_box.vue | 71 --- app/assets/javascripts/merge_request/eventhub.js | 3 - app/assets/javascripts/merge_request_tabs.js | 2 + .../monitoring/components/dashboard.vue | 4 + .../javascripts/monitoring/monitoring_app.js | 6 +- app/assets/javascripts/monitoring/utils.js | 1 + .../javascripts/nav/components/top_nav_app.vue | 59 ++ .../nav/components/top_nav_container_view.vue | 74 +++ .../nav/components/top_nav_dropdown_menu.vue | 144 +++++ .../nav/components/top_nav_menu_item.vue | 31 + app/assets/javascripts/nav/index.js | 12 + app/assets/javascripts/nav/mount.js | 23 + app/assets/javascripts/nav/stores/index.js | 4 + app/assets/javascripts/notebook/cells/markdown.vue | 35 ++ app/assets/javascripts/notes.js | 2 +- .../javascripts/notes/components/comment_form.vue | 4 +- .../javascripts/notes/components/note_actions.vue | 11 +- .../notes/components/note_actions/reply_button.vue | 1 - .../javascripts/notes/components/note_form.vue | 26 +- app/assets/javascripts/notes/stores/actions.js | 13 +- app/assets/javascripts/notes/stores/getters.js | 5 +- .../details/components/maven_installation.vue | 30 +- .../details/components/npm_installation.vue | 27 +- .../packages/details/components/package_files.vue | 1 + .../javascripts/packages/details/constants.js | 3 + .../javascripts/packages/details/store/getters.js | 11 + .../packages/list/components/package_search.vue | 5 +- app/assets/javascripts/packages/list/constants.js | 2 + .../javascripts/packages/list/stores/actions.js | 6 +- .../javascripts/packages/list/stores/mutations.js | 3 +- .../shared/components/package_list_row.vue | 35 +- .../packages/shared/components/package_path.vue | 19 +- .../javascripts/packages/shared/constants.js | 5 + .../infrastructure_registry/list_app_bundle.js | 2 +- .../group/components/duplicates_settings.vue | 118 ++++ .../settings/group/components/generic_settings.vue | 26 + .../group/components/group_settings_app.vue | 38 +- .../settings/group/components/maven_settings.vue | 114 +--- .../settings/group/components/settings_titles.vue | 25 + .../settings/group/constants.js | 12 +- ...update_group_packages_settings.mutation.graphql | 2 + .../get_group_packages_settings.query.graphql | 2 + .../project/components/expiration_dropdown.vue | 50 ++ .../project/components/expiration_input.vue | 113 ++++ .../project/components/expiration_run_text.vue | 49 ++ .../project/components/expiration_toggle.vue | 65 +++ .../project/components/registry_settings_app.vue | 106 ++++ .../settings/project/components/settings_form.vue | 313 +++++++++++ .../settings/project/constants.js | 91 +++ .../container_expiration_policy.fragment.graphql | 9 + .../settings/project/graphql/index.js | 14 + ...te_container_expiration_policy.mutation.graphql | 10 + .../queries/get_expiration_policy.query.graphql | 9 + .../settings/project/graphql/utils/cache_update.js | 21 + .../settings/project/registry_settings_bundle.js | 40 ++ .../settings/project/utils.js | 26 + .../pages/admin/dev_ops_report/index.js | 6 +- .../javascripts/pages/admin/labels/index/index.js | 22 +- .../admin/users/components/delete_user_modal.vue | 18 + app/assets/javascripts/pages/admin/users/index.js | 5 +- .../javascripts/pages/groups/issues/index.js | 8 +- .../pages/groups/milestones/edit/index.js | 4 +- .../pages/groups/milestones/new/index.js | 4 +- .../settings/packages_and_registries/index.js | 3 - .../settings/packages_and_registries/show/index.js | 3 + .../pages/groups/settings/repository/show/index.js | 5 +- .../pages/groups/shared/group_details.js | 2 + app/assets/javascripts/pages/help/show/index.js | 3 - .../javascripts/pages/projects/blob/show/index.js | 12 +- .../pages/projects/commit/show/index.js | 2 +- .../javascripts/pages/projects/compare/index.js | 3 - .../projects/forks/new/components/fork_form.vue | 126 ++++- .../pages/projects/issues/index/index.js | 42 +- .../pages/projects/issues/service_desk/index.js | 4 +- .../javascripts/pages/projects/issues/show.js | 4 - .../learn_gitlab/components/learn_gitlab_a.vue | 17 +- .../components/learn_gitlab_info_card.vue | 10 +- .../components/learn_gitlab_section_card.vue | 12 +- .../components/learn_gitlab_section_link.vue | 10 +- .../pages/projects/learn_gitlab/index/index.js | 8 +- .../merge_requests/creations/new/compare.js | 2 +- .../creations/new/compare_autocomplete.js | 82 +++ .../merge_requests/init_merge_request_show.js | 16 +- .../merge_requests/queries/get_state.query.graphql | 7 + .../pages/projects/milestones/new/index.js | 2 +- .../pages/projects/new/components/app.vue | 148 +++++ .../components/new_project_push_tip_popover.vue | 66 +++ app/assets/javascripts/pages/projects/new/index.js | 54 +- .../pages/projects/pipelines/new/index.js | 18 +- .../pages/projects/settings/ci_cd/show/index.js | 8 +- .../settings/packages_and_registries/show/index.js | 5 + .../pages/projects/settings/repository/form.js | 4 +- .../pages/projects/snippets/show/index.js | 8 + .../pages/shared/wikis/components/wiki_form.vue | 298 ++++++++-- .../javascripts/pages/users/activity_calendar.js | 2 +- app/assets/javascripts/pages/users/user_tabs.js | 4 +- app/assets/javascripts/performance/constants.js | 12 + .../components/commit/commit_section.vue | 6 + .../drawer/cards/first_pipeline_card.vue | 67 +++ .../drawer/cards/getting_started_card.vue | 35 ++ .../cards/pipeline_config_reference_card.vue | 75 +++ .../drawer/cards/visualize_and_lint_card.vue | 24 + .../components/drawer/pipeline_editor_drawer.vue | 105 ++++ .../components/drawer/ui/demo_job_pill.vue | 17 + .../drawer/ui/pipeline_visual_reference.vue | 43 ++ .../components/file_nav/branch_switcher.vue | 154 ++++- .../components/header/pipeline_editor_header.vue | 4 +- .../components/header/pipeline_status.vue | 12 +- .../components/pipeline_editor_tabs.vue | 2 - .../components/ui/pipeline_editor_empty_state.vue | 44 +- .../components/ui/pipeline_editor_messages.vue | 155 +++++ .../javascripts/pipeline_editor/constants.js | 6 + .../mutations/commit_ci_file.mutation.graphql | 1 + .../graphql/queries/available_branches.graphql | 13 +- .../graphql/queries/client/pipeline_etag.graphql | 3 + .../pipeline_editor/graphql/resolvers.js | 17 - app/assets/javascripts/pipeline_editor/index.js | 27 +- .../pipeline_editor/pipeline_editor_app.vue | 146 ++--- .../pipeline_editor/pipeline_editor_home.vue | 10 +- .../pipeline_new/components/pipeline_new_form.vue | 26 +- .../pipeline_new/components/refs_dropdown.vue | 3 +- app/assets/javascripts/pipeline_new/constants.js | 3 + .../pipeline_new/utils/filter_variables.js | 13 + .../pipelines/components/graph/graph_component.vue | 40 +- .../components/graph/graph_component_wrapper.vue | 63 ++- .../components/graph/graph_view_selector.vue | 159 ++++-- .../components/graph/job_group_dropdown.vue | 1 + .../components/graph/linked_pipelines_column.vue | 12 +- .../components/graph/stage_column_component.vue | 5 +- .../pipelines/components/graph/utils.js | 7 +- .../pipelines/components/graph_shared/api.js | 5 + .../components/graph_shared/drawing_utils.js | 1 + .../components/graph_shared/links_inner.vue | 89 +-- .../components/graph_shared/links_layer.vue | 61 +- .../notification/pipeline_notification.vue | 4 +- .../pipelines/components/parsing_utils.js | 25 +- .../components/pipelines_list/empty_state.vue | 76 ++- .../pipelines_list/pipeline_multi_actions.vue | 115 ++++ .../pipelines_list/pipeline_operations.vue | 21 +- .../components/pipelines_list/pipelines.vue | 6 + .../pipelines_list/pipelines_artifacts.vue | 89 ++- .../pipelines_list/pipelines_filtered_search.vue | 11 +- .../pipelines_list/pipelines_status_badge.vue | 37 +- .../components/test_reports/empty_state.vue | 60 ++ .../components/test_reports/test_case_details.vue | 19 +- .../components/test_reports/test_reports.vue | 10 +- .../dismiss_pipeline_notification.graphql | 2 +- .../pipelines/pipeline_details_bundle.js | 8 +- .../javascripts/pipelines/pipelines_index.js | 6 + app/assets/javascripts/pipelines/utils.js | 9 + app/assets/javascripts/project_select.js | 1 + .../commit/components/commit_options_dropdown.vue | 1 + .../projects/compare/components/app.vue | 57 +- .../projects/compare/components/repo_dropdown.vue | 52 +- .../projects/compare/components/revision_card.vue | 26 +- .../compare/components/revision_dropdown.vue | 15 +- .../components/revision_dropdown_legacy.vue | 2 +- app/assets/javascripts/projects/compare/index.js | 6 +- .../components/app.vue | 201 ------- .../components/legacy_container.vue | 31 - .../components/new_project_push_tip_popover.vue | 66 --- .../components/welcome.vue | 66 --- .../experiment_new_project_creation/constants.js | 1 - .../illustrations/blank-project.svg | 9 - .../illustrations/ci-cd-project.svg | 23 - .../illustrations/create-from-template.svg | 13 - .../illustrations/import-project.svg | 38 -- .../experiment_new_project_creation/index.js | 20 - .../projects/pipelines/charts/components/app.vue | 11 +- .../components/ci_cd_analytics_area_chart.vue | 45 -- .../charts/components/ci_cd_analytics_charts.vue | 54 -- .../charts/components/pipeline_charts.vue | 4 +- .../components/details_page/details_header.vue | 60 +- .../explorer/components/details_page/tags_list.vue | 155 ++++- .../components/details_page/tags_list_row.vue | 30 +- .../components/list_page/image_list_row.vue | 4 + .../registry/explorer/constants/details.js | 2 +- .../get_container_repository_details.query.graphql | 27 +- .../get_container_repository_tags.query.graphql | 29 + ...t_container_repository_tags_count.query.graphql | 6 + .../registry/explorer/pages/details.vue | 105 +--- .../settings/components/expiration_dropdown.vue | 50 -- .../settings/components/expiration_input.vue | 110 ---- .../settings/components/expiration_run_text.vue | 46 -- .../settings/components/expiration_toggle.vue | 62 -- .../settings/components/registry_settings_app.vue | 106 ---- .../registry/settings/components/settings_form.vue | 313 ----------- .../javascripts/registry/settings/constants.js | 91 --- .../container_expiration_policy.fragment.graphql | 9 - .../javascripts/registry/settings/graphql/index.js | 14 - ...te_container_expiration_policy.mutation.graphql | 10 - .../queries/get_expiration_policy.query.graphql | 9 - .../settings/graphql/utils/cache_update.js | 21 - .../registry/settings/registry_settings_bundle.js | 40 -- app/assets/javascripts/registry/settings/utils.js | 26 - .../javascripts/releases/components/app_index.vue | 12 +- .../javascripts/releases/components/app_show.vue | 2 +- .../releases/components/releases_pagination.vue | 35 +- .../components/releases_pagination_graphql.vue | 35 -- .../components/releases_pagination_rest.vue | 24 - .../releases/components/tag_field_new.vue | 17 +- .../graphql/fragments/release.fragment.graphql | 66 +++ .../fragments/release_for_editing.fragment.graphql | 23 + .../mutations/create_release.mutation.graphql | 10 + .../mutations/create_release_link.mutation.graphql | 5 + .../mutations/delete_release_link.mutation.graphql | 5 + .../mutations/update_release.mutation.graphql | 5 + .../graphql/queries/all_releases.query.graphql | 24 + .../graphql/queries/one_release.query.graphql | 9 + .../queries/one_release_for_editing.query.graphql | 9 + app/assets/javascripts/releases/mount_index.js | 5 - .../releases/queries/all_releases.query.graphql | 24 - .../releases/queries/one_release.query.graphql | 9 - .../releases/queries/release.fragment.graphql | 66 --- app/assets/javascripts/releases/stores/getters.js | 11 - app/assets/javascripts/releases/stores/index.js | 2 - .../releases/stores/modules/edit_new/actions.js | 252 +++++---- .../releases/stores/modules/edit_new/getters.js | 36 ++ .../releases/stores/modules/index/actions.js | 66 +-- .../releases/stores/modules/index/mutations.js | 8 +- .../releases/stores/modules/index/state.js | 3 +- app/assets/javascripts/releases/util.js | 87 +-- .../components/codequality_issue_body.vue | 5 +- .../grouped_codequality_reports_app.vue | 18 - .../reports/codequality_report/store/actions.js | 31 +- .../reports/codequality_report/store/mutations.js | 3 - .../store/utils/codequality_comparison.js | 43 -- .../store/utils/codequality_parser.js | 27 + .../workers/codequality_comparison_worker.js | 28 - .../reports/components/report_section.vue | 10 +- .../repository/components/blob_content_viewer.vue | 111 ++-- .../repository/components/blob_header_edit.vue | 25 + .../repository/components/upload_blob_modal.vue | 2 +- app/assets/javascripts/repository/index.js | 5 + app/assets/javascripts/repository/pages/blob.vue | 6 +- .../repository/queries/blob_info.query.graphql | 48 +- app/assets/javascripts/repository/router.js | 1 + .../runner/components/runner_type_badge.vue | 45 ++ app/assets/javascripts/runner/constants.js | 11 + .../runner/graphql/get_runner.query.graphql | 6 + .../javascripts/runner/runner_details/constants.js | 3 - .../javascripts/runner/runner_details/index.js | 16 +- .../runner/runner_details/runner_details_app.vue | 29 +- .../components/configuration_table.vue | 15 +- .../security_configuration/components/constants.js | 152 +++++ .../components/feature_card.vue | 150 +++++ .../components/manage_sast.vue | 59 -- .../components/scanners_constants.js | 136 ----- .../security_configuration/components/upgrade.vue | 2 +- .../set_status_modal/set_status_modal_wrapper.vue | 7 +- app/assets/javascripts/shared/milestones/form.js | 5 +- .../components/assignees/assignees_realtime.vue | 79 +-- .../components/assignees/issuable_assignees.vue | 2 +- .../components/assignees/sidebar_assignees.vue | 14 +- .../assignees/sidebar_assignees_widget.vue | 287 ++-------- .../assignees/sidebar_invite_members.vue | 44 +- .../components/date/sidebar_date_widget.vue | 296 ++++++++++ .../components/date/sidebar_formatted_date.vue | 56 ++ .../components/date/sidebar_inherit_date.vue | 110 ++++ .../due_date/sidebar_due_date_widget.vue | 203 ------- .../components/participants/participants.vue | 6 +- .../participants/sidebar_participants_widget.vue | 68 +++ .../sidebar/components/sidebar_editable_item.vue | 12 +- .../subscriptions/sidebar_subscriptions.vue | 42 -- .../subscriptions/sidebar_subscriptions_widget.vue | 202 +++++++ .../sidebar/components/time_tracking/report.vue | 112 ++++ .../components/time_tracking/time_tracker.vue | 24 +- app/assets/javascripts/sidebar/constants.js | 98 +++- app/assets/javascripts/sidebar/fragmentTypes.json | 1 + app/assets/javascripts/sidebar/graphql.js | 16 +- app/assets/javascripts/sidebar/mount_sidebar.js | 47 +- .../sidebar/queries/epic_due_date.query.graphql | 13 + .../queries/epic_participants.query.graphql | 18 + .../sidebar/queries/epic_start_date.query.graphql | 13 + .../sidebar/queries/epic_subscribed.query.graphql | 11 + .../issuable_assignees.subscription.graphql | 16 + .../sidebar/queries/issue_subscribed.query.graphql | 11 + .../queries/merge_request_subscribed.query.graphql | 10 + .../queries/update_epic_due_date.mutation.graphql | 11 + .../update_epic_start_date.mutation.graphql | 11 + .../update_epic_subscription.mutation.graphql | 9 +- .../queries/update_issue_due_date.mutation.graphql | 2 +- .../update_issue_subscription.mutation.graphql | 11 + ...ate_merge_request_subscription.mutation.graphql | 11 + .../javascripts/static_site_editor/constants.js | 1 - .../graphql/resolvers/submit_content_changes.js | 2 + .../javascripts/static_site_editor/pages/home.vue | 1 + .../services/generate_branch_name.js | 4 +- .../services/submit_content_changes.js | 26 +- app/assets/javascripts/task_list.js | 21 +- app/assets/javascripts/tracking.js | 15 + .../deployment/deployment_view_button.vue | 19 +- .../components/mr_widget_pipeline.vue | 9 +- .../states/mr_widget_auto_merge_enabled.vue | 3 +- .../components/states/mr_widget_merging.vue | 13 +- .../components/states/mr_widget_rebase.vue | 2 +- .../components/states/unresolved_discussions.vue | 2 +- .../vue_merge_request_widget/constants.js | 27 + .../javascripts/vue_merge_request_widget/index.js | 4 + .../vue_merge_request_widget/mixins/auto_merge.js | 2 +- .../vue_merge_request_widget/mr_widget_options.vue | 3 - .../stores/mr_widget_store.js | 23 +- .../alert_details/components/alert_sidebar.vue | 3 + .../components/sidebar/sidebar_assignees.vue | 46 +- .../components/sidebar/sidebar_header.vue | 2 +- .../components/sidebar/sidebar_status.vue | 56 +- .../components/sidebar/sidebar_todo.vue | 7 +- .../mutations/alert_issue_create.mutation.graphql | 1 + .../components/alerts_deprecation_warning.vue | 41 ++ .../components/blob_viewers/simple_viewer.vue | 1 + .../ci_cd_analytics/ci_cd_analytics_area_chart.vue | 45 ++ .../ci_cd_analytics/ci_cd_analytics_charts.vue | 54 ++ .../components/ci_cd_analytics/constants.js | 1 + .../components/dropdown/dropdown_button.vue | 1 + .../components/file_icon/file_icon_map.js | 3 + .../components/filtered_search_bar/constants.js | 48 +- .../filtered_search_bar_root.vue | 10 +- .../filtered_search_bar/filtered_search_utils.js | 40 +- .../filtered_search_bar/tokens/base_token.vue | 167 ++++++ .../filtered_search_bar/tokens/emoji_token.vue | 14 +- .../filtered_search_bar/tokens/epic_token.vue | 84 ++- .../filtered_search_bar/tokens/iteration_token.vue | 110 ++++ .../filtered_search_bar/tokens/weight_token.vue | 58 ++ .../components/issue/related_issuable_item.vue | 1 + .../vue_shared/components/keep_alive_slots.vue | 51 ++ .../components/markdown/apply_suggestion.vue | 4 +- .../vue_shared/components/markdown/header.vue | 10 + .../components/markdown/suggestion_diff.vue | 2 +- .../paginated_table_with_search_and_tabs.vue | 5 +- .../vue_shared/components/registry/list_item.vue | 2 +- .../vue_shared/components/remove_member_modal.vue | 5 +- .../runner_instructions_modal.vue | 41 +- .../sidebar/labels_select/dropdown_button.vue | 1 + .../labels_select_vue/dropdown_contents.vue | 12 +- .../dropdown_contents_labels_view.vue | 15 +- .../sidebar/labels_select_vue/label_item.vue | 12 +- .../labels_select_vue/labels_select_root.vue | 6 +- .../queries/get_issue_assignees.query.graphql | 18 + .../queries/get_issue_participants.query.graphql | 6 - .../queries/get_issue_timelogs.query.graphql | 14 + .../sidebar/queries/get_mr_assignees.query.graphql | 16 + .../queries/get_mr_participants.query.graphql | 6 - .../sidebar/queries/get_mr_timelogs.query.graphql | 14 + .../update_issue_assignees.mutation.graphql | 6 - .../vue_shared/components/time_ago_tooltip.vue | 2 +- .../components/user_popover/user_popover.vue | 4 +- .../components/user_select/user_select.vue | 302 ++++++++++ .../vue_shared/components/vuex_module_provider.vue | 21 + .../vue_shared/directives/validation.js | 66 ++- .../javascripts/vue_shared/mixins/timeago.js | 20 + .../new_namespace/components/legacy_container.vue | 31 + .../new_namespace/components/welcome.vue | 71 +++ .../new_namespace/new_namespace_page.vue | 135 +++++ .../components/manage_via_mr.vue | 83 +++ .../vue_shared/security_configuration/provider.js | 9 + .../security_report_download_paths.query.graphql | 24 - ...port_merge_request_download_paths.query.graphql | 24 + ...ty_report_pipeline_download_paths.query.graphql | 18 + .../security_reports/security_reports_app.vue | 8 +- .../vue_shared/security_reports/utils.js | 14 +- .../javascripts/whats_new/components/app.vue | 13 +- .../javascripts/whats_new/components/feature.vue | 60 +- app/assets/javascripts/whats_new/store/actions.js | 4 +- 630 files changed, 14350 insertions(+), 6998 deletions(-) create mode 100644 app/assets/javascripts/actioncable_link.js delete mode 100644 app/assets/javascripts/admin/users/components/usage_ping_disabled.vue create mode 100644 app/assets/javascripts/admin/users/graphql/queries/get_users_group_counts.query.graphql delete mode 100644 app/assets/javascripts/admin/users/tabs.js create mode 100644 app/assets/javascripts/alerts_settings/graphql/queries/get_http_integration.query.graphql delete mode 100644 app/assets/javascripts/alerts_settings/graphql/queries/get_http_integrations.query.graphql create mode 100644 app/assets/javascripts/analytics/devops_report/components/devops_score.vue create mode 100644 app/assets/javascripts/analytics/devops_report/devops_score.js create mode 100644 app/assets/javascripts/analytics/devops_report/devops_score_disabled_usage_ping.js delete mode 100644 app/assets/javascripts/analytics/devops_report/devops_score_empty_state.js create mode 100644 app/assets/javascripts/behaviors/date_picker.js create mode 100644 app/assets/javascripts/behaviors/shortcuts/shortcut.vue delete mode 100644 app/assets/javascripts/blob/template_selectors/ci_syntax_yaml_selector.js create mode 100644 app/assets/javascripts/boards/components/board_filtered_search.vue create mode 100644 app/assets/javascripts/code_quality_walkthrough/components/step.vue create mode 100644 app/assets/javascripts/code_quality_walkthrough/constants.js create mode 100644 app/assets/javascripts/code_quality_walkthrough/index.js create mode 100644 app/assets/javascripts/code_quality_walkthrough/utils.js delete mode 100644 app/assets/javascripts/compare_autocomplete.js create mode 100644 app/assets/javascripts/content_editor/components/divider.vue create mode 100644 app/assets/javascripts/content_editor/components/toolbar_button.vue create mode 100644 app/assets/javascripts/content_editor/components/top_toolbar.vue create mode 100644 app/assets/javascripts/content_editor/extensions/blockquote.js create mode 100644 app/assets/javascripts/content_editor/extensions/bold.js create mode 100644 app/assets/javascripts/content_editor/extensions/bullet_list.js create mode 100644 app/assets/javascripts/content_editor/extensions/code.js create mode 100644 app/assets/javascripts/content_editor/extensions/document.js create mode 100644 app/assets/javascripts/content_editor/extensions/dropcursor.js create mode 100644 app/assets/javascripts/content_editor/extensions/gapcursor.js create mode 100644 app/assets/javascripts/content_editor/extensions/hard_break.js create mode 100644 app/assets/javascripts/content_editor/extensions/heading.js create mode 100644 app/assets/javascripts/content_editor/extensions/history.js create mode 100644 app/assets/javascripts/content_editor/extensions/horizontal_rule.js create mode 100644 app/assets/javascripts/content_editor/extensions/image.js create mode 100644 app/assets/javascripts/content_editor/extensions/italic.js create mode 100644 app/assets/javascripts/content_editor/extensions/link.js create mode 100644 app/assets/javascripts/content_editor/extensions/list_item.js create mode 100644 app/assets/javascripts/content_editor/extensions/ordered_list.js create mode 100644 app/assets/javascripts/content_editor/extensions/paragraph.js create mode 100644 app/assets/javascripts/content_editor/extensions/text.js create mode 100644 app/assets/javascripts/content_editor/services/build_serializer_config.js create mode 100644 app/assets/javascripts/content_editor/services/content_editor.js create mode 100644 app/assets/javascripts/content_editor/services/create_content_editor.js delete mode 100644 app/assets/javascripts/content_editor/services/create_editor.js create mode 100644 app/assets/javascripts/content_editor/services/track_input_rules_and_shortcuts.js create mode 100644 app/assets/javascripts/cycle_analytics/constants.js delete mode 100644 app/assets/javascripts/cycle_analytics/cycle_analytics_service.js delete mode 100644 app/assets/javascripts/cycle_analytics/cycle_analytics_store.js create mode 100644 app/assets/javascripts/cycle_analytics/store/actions.js create mode 100644 app/assets/javascripts/cycle_analytics/store/index.js create mode 100644 app/assets/javascripts/cycle_analytics/store/mutation_types.js create mode 100644 app/assets/javascripts/cycle_analytics/store/mutations.js create mode 100644 app/assets/javascripts/cycle_analytics/store/state.js create mode 100644 app/assets/javascripts/cycle_analytics/utils.js create mode 100644 app/assets/javascripts/deploy_keys/components/confirm_modal.vue delete mode 100644 app/assets/javascripts/diffs/utils/uuids.js delete mode 100644 app/assets/javascripts/experimentation/components/experiment.vue create mode 100644 app/assets/javascripts/experimentation/components/gitlab_experiment.vue create mode 100644 app/assets/javascripts/graphql_shared/fragments/issuable_timelogs.fragment.graphql create mode 100644 app/assets/javascripts/graphql_shared/mutations/dismiss_user_callout.mutation.graphql delete mode 100644 app/assets/javascripts/help/help.js create mode 100644 app/assets/javascripts/ide/components/file_alert.vue create mode 100644 app/assets/javascripts/ide/lib/alerts/environments.vue create mode 100644 app/assets/javascripts/ide/lib/alerts/index.js create mode 100644 app/assets/javascripts/ide/stores/actions/alert.js create mode 100644 app/assets/javascripts/ide/stores/getters/alert.js create mode 100644 app/assets/javascripts/ide/stores/mutations/alert.js create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/fragments/bulk_import_source_group_progress.fragment.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/add_validation_error.mutation.graphql delete mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/import_group.mutation.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/import_groups.mutation.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/remove_validation_error.mutation.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/set_import_progress.mutation.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/update_import_status.mutation.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/queries/bulk_import_source_group.query.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/typedefs.graphql delete mode 100644 app/assets/javascripts/invite_member/components/invite_member_modal.vue delete mode 100644 app/assets/javascripts/invite_member/components/invite_member_trigger.vue delete mode 100644 app/assets/javascripts/invite_member/constants.js delete mode 100644 app/assets/javascripts/invite_member/event_hub.js delete mode 100644 app/assets/javascripts/invite_member/init_invite_member_modal.js delete mode 100644 app/assets/javascripts/invite_member/init_invite_member_trigger.js create mode 100644 app/assets/javascripts/issuable/components/status_box.vue create mode 100644 app/assets/javascripts/issues_list/utils.js create mode 100644 app/assets/javascripts/jobs/components/table/cells/actions_cell.vue create mode 100644 app/assets/javascripts/jobs/components/table/cells/duration_cell.vue create mode 100644 app/assets/javascripts/jobs/components/table/cells/job_cell.vue create mode 100644 app/assets/javascripts/jobs/components/table/cells/pipeline_cell.vue create mode 100644 app/assets/javascripts/jobs/components/table/jobs_table_empty_state.vue create mode 100644 app/assets/javascripts/learn_gitlab/track_learn_gitlab.js create mode 100644 app/assets/javascripts/lib/utils/recurrence.js create mode 100644 app/assets/javascripts/lib/utils/uuids.js create mode 100644 app/assets/javascripts/lib/utils/vuex_module_mappers.js create mode 100644 app/assets/javascripts/members/components/members_tabs.vue delete mode 100644 app/assets/javascripts/merge_request/components/status_box.vue delete mode 100644 app/assets/javascripts/merge_request/eventhub.js create mode 100644 app/assets/javascripts/nav/components/top_nav_app.vue create mode 100644 app/assets/javascripts/nav/components/top_nav_container_view.vue create mode 100644 app/assets/javascripts/nav/components/top_nav_dropdown_menu.vue create mode 100644 app/assets/javascripts/nav/components/top_nav_menu_item.vue create mode 100644 app/assets/javascripts/nav/index.js create mode 100644 app/assets/javascripts/nav/mount.js create mode 100644 app/assets/javascripts/nav/stores/index.js create mode 100644 app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/group/components/generic_settings.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/group/components/settings_titles.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/expiration_dropdown.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/expiration_input.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/expiration_run_text.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/expiration_toggle.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/registry_settings_app.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/settings_form.vue create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/constants.js create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/graphql/fragments/container_expiration_policy.fragment.graphql create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/graphql/index.js create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/graphql/mutations/update_container_expiration_policy.mutation.graphql create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/graphql/queries/get_expiration_policy.query.graphql create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/graphql/utils/cache_update.js create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/registry_settings_bundle.js create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/utils.js delete mode 100644 app/assets/javascripts/pages/groups/settings/packages_and_registries/index.js create mode 100644 app/assets/javascripts/pages/groups/settings/packages_and_registries/show/index.js delete mode 100644 app/assets/javascripts/pages/help/show/index.js delete mode 100644 app/assets/javascripts/pages/projects/compare/index.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/queries/get_state.query.graphql create mode 100644 app/assets/javascripts/pages/projects/new/components/app.vue create mode 100644 app/assets/javascripts/pages/projects/new/components/new_project_push_tip_popover.vue create mode 100644 app/assets/javascripts/pages/projects/settings/packages_and_registries/show/index.js create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/cards/first_pipeline_card.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/cards/getting_started_card.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/cards/pipeline_config_reference_card.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/cards/visualize_and_lint_card.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/pipeline_editor_drawer.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/ui/demo_job_pill.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/drawer/ui/pipeline_visual_reference.vue create mode 100644 app/assets/javascripts/pipeline_editor/components/ui/pipeline_editor_messages.vue create mode 100644 app/assets/javascripts/pipeline_editor/graphql/queries/client/pipeline_etag.graphql create mode 100644 app/assets/javascripts/pipeline_new/utils/filter_variables.js create mode 100644 app/assets/javascripts/pipelines/components/pipelines_list/pipeline_multi_actions.vue create mode 100644 app/assets/javascripts/pipelines/components/test_reports/empty_state.vue delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/components/app.vue delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/components/legacy_container.vue delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/components/new_project_push_tip_popover.vue delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/components/welcome.vue delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/constants.js delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/illustrations/blank-project.svg delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/illustrations/ci-cd-project.svg delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/illustrations/create-from-template.svg delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/illustrations/import-project.svg delete mode 100644 app/assets/javascripts/projects/experiment_new_project_creation/index.js delete mode 100644 app/assets/javascripts/projects/pipelines/charts/components/ci_cd_analytics_area_chart.vue delete mode 100644 app/assets/javascripts/projects/pipelines/charts/components/ci_cd_analytics_charts.vue create mode 100644 app/assets/javascripts/registry/explorer/graphql/queries/get_container_repository_tags.query.graphql create mode 100644 app/assets/javascripts/registry/explorer/graphql/queries/get_container_repository_tags_count.query.graphql delete mode 100644 app/assets/javascripts/registry/settings/components/expiration_dropdown.vue delete mode 100644 app/assets/javascripts/registry/settings/components/expiration_input.vue delete mode 100644 app/assets/javascripts/registry/settings/components/expiration_run_text.vue delete mode 100644 app/assets/javascripts/registry/settings/components/expiration_toggle.vue delete mode 100644 app/assets/javascripts/registry/settings/components/registry_settings_app.vue delete mode 100644 app/assets/javascripts/registry/settings/components/settings_form.vue delete mode 100644 app/assets/javascripts/registry/settings/constants.js delete mode 100644 app/assets/javascripts/registry/settings/graphql/fragments/container_expiration_policy.fragment.graphql delete mode 100644 app/assets/javascripts/registry/settings/graphql/index.js delete mode 100644 app/assets/javascripts/registry/settings/graphql/mutations/update_container_expiration_policy.mutation.graphql delete mode 100644 app/assets/javascripts/registry/settings/graphql/queries/get_expiration_policy.query.graphql delete mode 100644 app/assets/javascripts/registry/settings/graphql/utils/cache_update.js delete mode 100644 app/assets/javascripts/registry/settings/registry_settings_bundle.js delete mode 100644 app/assets/javascripts/registry/settings/utils.js delete mode 100644 app/assets/javascripts/releases/components/releases_pagination_graphql.vue delete mode 100644 app/assets/javascripts/releases/components/releases_pagination_rest.vue create mode 100644 app/assets/javascripts/releases/graphql/fragments/release.fragment.graphql create mode 100644 app/assets/javascripts/releases/graphql/fragments/release_for_editing.fragment.graphql create mode 100644 app/assets/javascripts/releases/graphql/mutations/create_release.mutation.graphql create mode 100644 app/assets/javascripts/releases/graphql/mutations/create_release_link.mutation.graphql create mode 100644 app/assets/javascripts/releases/graphql/mutations/delete_release_link.mutation.graphql create mode 100644 app/assets/javascripts/releases/graphql/mutations/update_release.mutation.graphql create mode 100644 app/assets/javascripts/releases/graphql/queries/all_releases.query.graphql create mode 100644 app/assets/javascripts/releases/graphql/queries/one_release.query.graphql create mode 100644 app/assets/javascripts/releases/graphql/queries/one_release_for_editing.query.graphql delete mode 100644 app/assets/javascripts/releases/queries/all_releases.query.graphql delete mode 100644 app/assets/javascripts/releases/queries/one_release.query.graphql delete mode 100644 app/assets/javascripts/releases/queries/release.fragment.graphql delete mode 100644 app/assets/javascripts/releases/stores/getters.js delete mode 100644 app/assets/javascripts/reports/codequality_report/store/utils/codequality_comparison.js create mode 100644 app/assets/javascripts/reports/codequality_report/store/utils/codequality_parser.js delete mode 100644 app/assets/javascripts/reports/codequality_report/workers/codequality_comparison_worker.js create mode 100644 app/assets/javascripts/repository/components/blob_header_edit.vue create mode 100644 app/assets/javascripts/runner/components/runner_type_badge.vue create mode 100644 app/assets/javascripts/runner/constants.js create mode 100644 app/assets/javascripts/runner/graphql/get_runner.query.graphql delete mode 100644 app/assets/javascripts/runner/runner_details/constants.js create mode 100644 app/assets/javascripts/security_configuration/components/constants.js create mode 100644 app/assets/javascripts/security_configuration/components/feature_card.vue delete mode 100644 app/assets/javascripts/security_configuration/components/manage_sast.vue delete mode 100644 app/assets/javascripts/security_configuration/components/scanners_constants.js create mode 100644 app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue create mode 100644 app/assets/javascripts/sidebar/components/date/sidebar_formatted_date.vue create mode 100644 app/assets/javascripts/sidebar/components/date/sidebar_inherit_date.vue delete mode 100644 app/assets/javascripts/sidebar/components/due_date/sidebar_due_date_widget.vue create mode 100644 app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue delete mode 100644 app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions.vue create mode 100644 app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue create mode 100644 app/assets/javascripts/sidebar/components/time_tracking/report.vue create mode 100644 app/assets/javascripts/sidebar/fragmentTypes.json create mode 100644 app/assets/javascripts/sidebar/queries/epic_due_date.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/epic_participants.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/epic_start_date.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/epic_subscribed.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/issuable_assignees.subscription.graphql create mode 100644 app/assets/javascripts/sidebar/queries/issue_subscribed.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/merge_request_subscribed.query.graphql create mode 100644 app/assets/javascripts/sidebar/queries/update_epic_due_date.mutation.graphql create mode 100644 app/assets/javascripts/sidebar/queries/update_epic_start_date.mutation.graphql create mode 100644 app/assets/javascripts/sidebar/queries/update_issue_subscription.mutation.graphql create mode 100644 app/assets/javascripts/sidebar/queries/update_merge_request_subscription.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/components/alerts_deprecation_warning.vue create mode 100644 app/assets/javascripts/vue_shared/components/ci_cd_analytics/ci_cd_analytics_area_chart.vue create mode 100644 app/assets/javascripts/vue_shared/components/ci_cd_analytics/ci_cd_analytics_charts.vue create mode 100644 app/assets/javascripts/vue_shared/components/ci_cd_analytics/constants.js create mode 100644 app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/base_token.vue create mode 100644 app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/iteration_token.vue create mode 100644 app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/weight_token.vue create mode 100644 app/assets/javascripts/vue_shared/components/keep_alive_slots.vue create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_issue_assignees.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_issue_timelogs.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_mr_assignees.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/queries/get_mr_timelogs.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/user_select/user_select.vue create mode 100644 app/assets/javascripts/vue_shared/components/vuex_module_provider.vue create mode 100644 app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue create mode 100644 app/assets/javascripts/vue_shared/new_namespace/components/welcome.vue create mode 100644 app/assets/javascripts/vue_shared/new_namespace/new_namespace_page.vue create mode 100644 app/assets/javascripts/vue_shared/security_configuration/components/manage_via_mr.vue create mode 100644 app/assets/javascripts/vue_shared/security_configuration/provider.js delete mode 100644 app/assets/javascripts/vue_shared/security_reports/queries/security_report_download_paths.query.graphql create mode 100644 app/assets/javascripts/vue_shared/security_reports/queries/security_report_merge_request_download_paths.query.graphql create mode 100644 app/assets/javascripts/vue_shared/security_reports/queries/security_report_pipeline_download_paths.query.graphql (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/actioncable_link.js b/app/assets/javascripts/actioncable_link.js new file mode 100644 index 00000000000..895a34ba157 --- /dev/null +++ b/app/assets/javascripts/actioncable_link.js @@ -0,0 +1,40 @@ +import { ApolloLink, Observable } from 'apollo-link'; +import { print } from 'graphql'; +import cable from '~/actioncable_consumer'; +import { uuids } from '~/lib/utils/uuids'; + +export default class ActionCableLink extends ApolloLink { + // eslint-disable-next-line class-methods-use-this + request(operation) { + return new Observable((observer) => { + const subscription = cable.subscriptions.create( + { + channel: 'GraphqlChannel', + query: operation.query ? print(operation.query) : null, + variables: operation.variables, + operationName: operation.operationName, + nonce: uuids()[0], + }, + { + received(data) { + if (data.errors) { + observer.error(data.errors); + } else if (data.result) { + observer.next(data.result); + } + + if (!data.more) { + observer.complete(); + } + }, + }, + ); + + return { + unsubscribe() { + subscription.unsubscribe(); + }, + }; + }); + } +} diff --git a/app/assets/javascripts/admin/users/components/actions/delete.vue b/app/assets/javascripts/admin/users/components/actions/delete.vue index 725d3dbf388..6f4f272154a 100644 --- a/app/assets/javascripts/admin/users/components/actions/delete.vue +++ b/app/assets/javascripts/admin/users/components/actions/delete.vue @@ -14,12 +14,22 @@ export default { type: Object, required: true, }, + oncallSchedules: { + type: Array, + required: false, + default: () => [], + }, }, }; diff --git a/app/assets/javascripts/admin/users/components/actions/delete_with_contributions.vue b/app/assets/javascripts/admin/users/components/actions/delete_with_contributions.vue index 0ae15bfbebb..82b09c04ab2 100644 --- a/app/assets/javascripts/admin/users/components/actions/delete_with_contributions.vue +++ b/app/assets/javascripts/admin/users/components/actions/delete_with_contributions.vue @@ -14,12 +14,22 @@ export default { type: Object, required: true, }, + oncallSchedules: { + type: Array, + required: false, + default: () => [], + }, }, }; diff --git a/app/assets/javascripts/admin/users/components/actions/shared/shared_delete_action.vue b/app/assets/javascripts/admin/users/components/actions/shared/shared_delete_action.vue index 9107d9ccdd9..b3b68442e80 100644 --- a/app/assets/javascripts/admin/users/components/actions/shared/shared_delete_action.vue +++ b/app/assets/javascripts/admin/users/components/actions/shared/shared_delete_action.vue @@ -18,6 +18,10 @@ export default { type: String, required: true, }, + oncallSchedules: { + type: Array, + required: true, + }, }, computed: { modalAttributes() { @@ -26,6 +30,7 @@ export default { 'data-delete-user-url': this.paths.delete, 'data-gl-modal-action': this.modalType, 'data-username': this.username, + 'data-oncall-schedules': JSON.stringify(this.oncallSchedules), }; }, }, diff --git a/app/assets/javascripts/admin/users/components/actions/unblock.vue b/app/assets/javascripts/admin/users/components/actions/unblock.vue index f2b501caf09..d4c0f900c94 100644 --- a/app/assets/javascripts/admin/users/components/actions/unblock.vue +++ b/app/assets/javascripts/admin/users/components/actions/unblock.vue @@ -23,9 +23,7 @@ export default { 'data-method': 'put', 'data-modal-attributes': JSON.stringify({ title: sprintf(s__('AdminUsers|Unblock user %{username}?'), { username: this.username }), - message: s__( - 'AdminUsers|You can always unblock their account, their data will remain intact.', - ), + message: s__('AdminUsers|You can always block their account again if needed.'), okVariant: 'confirm', okTitle: s__('AdminUsers|Unblock'), }), diff --git a/app/assets/javascripts/admin/users/components/usage_ping_disabled.vue b/app/assets/javascripts/admin/users/components/usage_ping_disabled.vue deleted file mode 100644 index 5da38495010..00000000000 --- a/app/assets/javascripts/admin/users/components/usage_ping_disabled.vue +++ /dev/null @@ -1,48 +0,0 @@ - - diff --git a/app/assets/javascripts/admin/users/components/user_actions.vue b/app/assets/javascripts/admin/users/components/user_actions.vue index e92c97b54a3..b782526e6be 100644 --- a/app/assets/javascripts/admin/users/components/user_actions.vue +++ b/app/assets/javascripts/admin/users/components/user_actions.vue @@ -70,14 +70,14 @@ export default {